From 675bd399fcdb806fa22ede186773bb0b82da0394 Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 20:13:00 +0530 Subject: [PATCH 001/138] feat: add @sqds/multisig package to dependencies --- package.json | 1 + pnpm-lock.yaml | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/package.json b/package.json index 8ff852f..3b3e6f7 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "@raydium-io/raydium-sdk-v2": "0.1.95-alpha", "@solana/spl-token": "^0.4.9", "@solana/web3.js": "^1.95.4", + "@sqds/multisig": "^2.1.3", "@tiplink/api": "^0.3.1", "bn.js": "^5.2.1", "bs58": "^6.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 06e4741..667c97f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,6 +71,9 @@ importers: '@solana/web3.js': specifier: ^1.95.4 version: 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@sqds/multisig': + specifier: ^2.1.3 + version: 2.1.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@tiplink/api': specifier: ^0.3.1 version: 0.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) @@ -264,12 +267,21 @@ packages: '@lightprotocol/stateless.js@0.17.1': resolution: {integrity: sha512-EjId1n33A6dBwpce33Wsa/fs/CDKtMtRrkxbApH0alXrnEXmbW6QhIViXOrKYXjZ4uJQM1xsBtsKe0vqJ4nbtQ==} + '@metaplex-foundation/beet-solana@0.4.0': + resolution: {integrity: sha512-B1L94N3ZGMo53b0uOSoznbuM5GBNJ8LwSeznxBxJ+OThvfHQ4B5oMUqb+0zdLRfkKGS7Q6tpHK9P+QK0j3w2cQ==} + '@metaplex-foundation/beet-solana@0.4.1': resolution: {integrity: sha512-/6o32FNUtwK8tjhotrvU/vorP7umBuRFvBZrC6XCk51aKidBHe5LPVPA5AjGPbV3oftMfRuXPNd9yAGeEqeCDQ==} + '@metaplex-foundation/beet@0.7.1': + resolution: {integrity: sha512-hNCEnS2WyCiYyko82rwuISsBY3KYpe828ubsd2ckeqZr7tl0WVLivGkoyA/qdiaaHEBGdGl71OpfWa2rqL3DiA==} + '@metaplex-foundation/beet@0.7.2': resolution: {integrity: sha512-K+g3WhyFxKPc0xIvcIjNyV1eaTVJTiuaHZpig7Xx0MuYRMoJLLvhLTnUXhFdR5Tu2l2QSyKwfyXDgZlzhULqFg==} + '@metaplex-foundation/cusper@0.0.2': + resolution: {integrity: sha512-S9RulC2fFCFOQraz61bij+5YCHhSO9llJegK8c8Y6731fSi6snUSQJdCUqYS8AIgR0TKbQvdvgSyIIdbDFZbBA==} + '@metaplex-foundation/mpl-core@1.1.1': resolution: {integrity: sha512-h1kLw+cGaV8SiykoHDb1/G01+VYqtJXAt0uGuO5+2Towsdtc6ET4M62iqUnh4EacTVMIW1yYHsKsG/LYWBCKaA==} peerDependencies: @@ -615,6 +627,10 @@ packages: '@solana/web3.js@1.98.0': resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + '@sqds/multisig@2.1.3': + resolution: {integrity: sha512-WOiL7La+RSiJsz7jVO85yhSiiSvNMUthiWuLPeWVOoD6IYa34BEAzanF1RdXRWGglSbRFYCTkyr+Ay1WmXmSRQ==} + engines: {node: '>=14'} + '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} @@ -1327,6 +1343,9 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + ipaddr.js@2.2.0: resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} engines: {node: '>= 10'} @@ -1393,6 +1412,9 @@ packages: js-tiktoken@1.0.16: resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -1511,6 +1533,10 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + loupe@3.1.2: resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} @@ -2300,6 +2326,18 @@ snapshots: - encoding - utf-8-validate + '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bs58: 5.0.0 + debug: 4.4.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 @@ -2312,6 +2350,14 @@ snapshots: - supports-color - utf-8-validate + '@metaplex-foundation/beet@0.7.1': + dependencies: + ansicolors: 0.3.2 + bn.js: 5.2.1 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + '@metaplex-foundation/beet@0.7.2': dependencies: ansicolors: 0.3.2 @@ -2321,6 +2367,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@metaplex-foundation/cusper@0.0.2': {} + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1)': dependencies: '@metaplex-foundation/umi': 0.9.2 @@ -2836,6 +2884,20 @@ snapshots: - typescript - utf-8-validate + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -2929,6 +2991,26 @@ snapshots: - encoding - utf-8-validate + '@sqds/multisig@2.1.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@types/bn.js': 5.1.6 + assert: 2.1.0 + bn.js: 5.2.1 + buffer: 6.0.3 + invariant: 2.2.4 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 @@ -3705,6 +3787,10 @@ snapshots: inherits@2.0.4: {} + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + ipaddr.js@2.2.0: {} is-arguments@1.2.0: @@ -3775,6 +3861,8 @@ snapshots: dependencies: base64-js: 1.5.1 + js-tokens@4.0.0: {} + js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -3865,6 +3953,10 @@ snapshots: lodash@4.17.21: {} + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + loupe@3.1.2: {} lower-case@2.0.2: From 075242bd913201bd44111f0d4c5d20d7824dccc2 Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 20:13:17 +0530 Subject: [PATCH 002/138] feat: implement createSquadsMultisig functionality for multisig wallet creation --- src/tools/squads_multisig/create_multisig.ts | 53 ++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/tools/squads_multisig/create_multisig.ts diff --git a/src/tools/squads_multisig/create_multisig.ts b/src/tools/squads_multisig/create_multisig.ts new file mode 100644 index 0000000..b1f7ae3 --- /dev/null +++ b/src/tools/squads_multisig/create_multisig.ts @@ -0,0 +1,53 @@ +import * as multisig from "@sqds/multisig"; +import { PublicKey } from "@solana/web3.js"; +import { SolanaAgentKit } from "../../index"; + +export async function createSquadsMultisig( + agent: SolanaAgentKit, + creator: PublicKey, +): Promise { + const connection = agent.connection; + const createKey = agent.wallet; // can be any keypair, using the agent wallet as only one multisig is required + console.log("Multisig Create Key:", createKey.publicKey.toBase58()); + + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + + const programConfigPda = multisig.getProgramConfigPda({})[0]; + + const programConfig = + await multisig.accounts.ProgramConfig.fromAccountAddress( + connection, + programConfigPda, + ); + + const configTreasury = programConfig.treasury; + const tx = multisig.transactions.multisigCreateV2({ + blockhash: (await connection.getLatestBlockhash()).blockhash, + treasury: configTreasury, + createKey: createKey.publicKey, + creator: agent.wallet.publicKey, + multisigPda, + configAuthority: null, + timeLock: 0, + threshold: 2, + rentCollector: null, + members: [ + { + key: agent.wallet.publicKey, + permissions: multisig.types.Permissions.all(), + }, + { + key: creator, + permissions: multisig.types.Permissions.all(), + }, + ], + }); + + tx.sign([agent.wallet, createKey]); + + const txId = connection.sendRawTransaction(tx.serialize()); + + return txId; +} From 5ed370a2d30d62df7712c07485c83450021acf2d Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 21:25:57 +0530 Subject: [PATCH 003/138] refactor: rename createSquadsMultisig function to create_squads_multisig for consistency --- src/tools/squads_multisig/create_multisig.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/squads_multisig/create_multisig.ts b/src/tools/squads_multisig/create_multisig.ts index b1f7ae3..1146618 100644 --- a/src/tools/squads_multisig/create_multisig.ts +++ b/src/tools/squads_multisig/create_multisig.ts @@ -2,7 +2,7 @@ import * as multisig from "@sqds/multisig"; import { PublicKey } from "@solana/web3.js"; import { SolanaAgentKit } from "../../index"; -export async function createSquadsMultisig( +export async function create_squads_multisig( agent: SolanaAgentKit, creator: PublicKey, ): Promise { From 629a7917635b999f6f597a5f3634cf2e41fff0eb Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 21:26:06 +0530 Subject: [PATCH 004/138] feat: add deposit_to_multisig function for transferring SOL or SPL tokens --- .../squads_multisig/deposit_to_multisig.ts | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 src/tools/squads_multisig/deposit_to_multisig.ts diff --git a/src/tools/squads_multisig/deposit_to_multisig.ts b/src/tools/squads_multisig/deposit_to_multisig.ts new file mode 100644 index 0000000..4e1d9c2 --- /dev/null +++ b/src/tools/squads_multisig/deposit_to_multisig.ts @@ -0,0 +1,91 @@ +import { SolanaAgentKit } from "../../index"; +import { PublicKey, SystemProgram, Transaction } from "@solana/web3.js"; +import { LAMPORTS_PER_SOL } from "@solana/web3.js"; +import { + getAssociatedTokenAddress, + createTransferInstruction, + getMint, + createAssociatedTokenAccountInstruction, +} from "@solana/spl-token"; +import * as multisig from "@sqds/multisig"; + +/** + * Transfer SOL or SPL tokens to a recipient + * @param agent SolanaAgentKit instance + * @param amount Amount to transfer + * @param vaultIndex Optional vault index, default is 0 + * @param mint Optional mint address for SPL tokens + * @returns Transaction signature + */ +export async function deposit_to_multisig( + agent: SolanaAgentKit, + amount: number, + vaultIndex?: number, + mint?: PublicKey, +): Promise { + try { + let tx: string; + if (!vaultIndex) { + vaultIndex = 0; + } + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const [vaultPda] = multisig.getVaultPda({ + multisigPda, + index: vaultIndex, + }); + const to = vaultPda; + if (!mint) { + // Transfer native SOL + const transaction = new Transaction().add( + SystemProgram.transfer({ + fromPubkey: agent.wallet_address, + toPubkey: to, + lamports: amount * LAMPORTS_PER_SOL, + }), + ); + + tx = await agent.connection.sendTransaction(transaction, [agent.wallet]); + } else { + // Transfer SPL token + const fromAta = await getAssociatedTokenAddress( + mint, + agent.wallet_address, + ); + let transaction = new Transaction(); + const toAta = await getAssociatedTokenAddress(mint, to, true); + const toTokenAccountInfo = await agent.connection.getAccountInfo(toAta); + // Create associated token account if it doesn't exist + if (!toTokenAccountInfo) { + transaction.add( + createAssociatedTokenAccountInstruction( + agent.wallet_address, + toAta, + to, + mint, + ), + ); + } + // Get mint info to determine decimals + const mintInfo = await getMint(agent.connection, mint); + const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); + + transaction.add( + createTransferInstruction( + fromAta, + toAta, + agent.wallet_address, + adjustedAmount, + ), + ); + + tx = await agent.connection.sendTransaction(transaction, [agent.wallet]); + } + + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} From 17eeb202d9e3f005a251c49ff079495275bcb954 Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 21:26:13 +0530 Subject: [PATCH 005/138] feat: add createSquadsMultisig and depositToMultisig methods to SolanaAgentKit --- src/agent/index.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/agent/index.ts b/src/agent/index.ts index bf89861..7360b60 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -48,6 +48,8 @@ import { PumpFunTokenOptions, } from "../types"; import { BN } from "@coral-xyz/anchor"; +import { create_squads_multisig } from "../tools/squads_multisig/create_multisig"; +import { deposit_to_multisig } from "../tools/squads_multisig/deposit_to_multisig"; /** * Main class for interacting with Solana blockchain @@ -349,4 +351,16 @@ export class SolanaAgentKit { async createTiplink(amount: number, splmintAddress?: PublicKey) { return create_TipLink(this, amount, splmintAddress); } + + async createSquadsMultisig(creator: PublicKey): Promise { + return create_squads_multisig(this, creator); + } + + async depositToMultisig( + amount: number, + vaultIndex?: number, + mint?: PublicKey, + ): Promise { + return deposit_to_multisig(this, amount, vaultIndex, mint); + } } From ebad2b84f55f19e0873f64febf47a18d905e0495 Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 21:44:10 +0530 Subject: [PATCH 006/138] feat: add transfer_from_multisig function for transferring SOL or SPL tokens from a multisig vault --- .../squads_multisig/transfer_from_multisig.ts | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 src/tools/squads_multisig/transfer_from_multisig.ts diff --git a/src/tools/squads_multisig/transfer_from_multisig.ts b/src/tools/squads_multisig/transfer_from_multisig.ts new file mode 100644 index 0000000..0953e38 --- /dev/null +++ b/src/tools/squads_multisig/transfer_from_multisig.ts @@ -0,0 +1,98 @@ +import { SolanaAgentKit } from "../../index"; +import { + PublicKey, + SystemProgram, + TransactionInstruction, + TransactionMessage, +} from "@solana/web3.js"; +import { LAMPORTS_PER_SOL } from "@solana/web3.js"; +import { + getAssociatedTokenAddress, + createTransferInstruction, + getMint, +} from "@solana/spl-token"; +import * as multisig from "@sqds/multisig"; +const { Multisig } = multisig.accounts; + +/** + * Transfer SOL or SPL tokens to a recipient from a multisig vault. + * @param agent - SolanaAgentKit instance. + * @param amount - Amount to transfer. + * @param to - Recipient's public key. + * @param vaultIndex - Optional vault index, default is 0. + * @param mint - Optional mint address for SPL tokens. + * @returns Transaction signature. + */ +export async function transfer_from_multisig( + agent: SolanaAgentKit, + amount: number, + to: PublicKey, + vaultIndex: number = 0, + mint?: PublicKey, +): Promise { + try { + let transferInstruction: TransactionInstruction; + + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + const transactionIndex = BigInt(currentTransactionIndex + 1); + const [vaultPda] = multisig.getVaultPda({ + multisigPda, + index: vaultIndex, + }); + + if (!mint) { + // Transfer native SOL + transferInstruction = SystemProgram.transfer({ + fromPubkey: agent.wallet_address, + toPubkey: to, + lamports: amount * LAMPORTS_PER_SOL, + }); + } else { + // Transfer SPL token + const fromAta = await getAssociatedTokenAddress(mint, vaultPda); + const toAta = await getAssociatedTokenAddress(mint, to, true); + const mintInfo = await getMint(agent.connection, mint); + const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); + + transferInstruction = createTransferInstruction( + fromAta, + toAta, + agent.wallet_address, + adjustedAmount, + ); + } + + const transferMessage = new TransactionMessage({ + payerKey: vaultPda, + recentBlockhash: (await agent.connection.getLatestBlockhash()).blockhash, + instructions: [transferInstruction], + }); + + const multisigTx = multisig.transactions.vaultTransactionCreate({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet_address, + multisigPda, + transactionIndex, + creator: agent.wallet_address, + vaultIndex: 0, + ephemeralSigners: 0, + transactionMessage: transferMessage, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} From 777c88f4b4c056a1ba8fefae368002b4e7500b4a Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 21:45:21 +0530 Subject: [PATCH 007/138] feat: add transferFromMultisig method to SolanaAgentKit for transferring tokens from a multisig vault --- src/agent/index.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/agent/index.ts b/src/agent/index.ts index 7360b60..c4e946f 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -50,6 +50,7 @@ import { import { BN } from "@coral-xyz/anchor"; import { create_squads_multisig } from "../tools/squads_multisig/create_multisig"; import { deposit_to_multisig } from "../tools/squads_multisig/deposit_to_multisig"; +import { transfer_from_multisig } from "../tools/squads_multisig/transfer_from_multisig"; /** * Main class for interacting with Solana blockchain @@ -363,4 +364,13 @@ export class SolanaAgentKit { ): Promise { return deposit_to_multisig(this, amount, vaultIndex, mint); } + + async transferFromMultisig( + amount: number, + to: PublicKey, + vaultIndex: number = 0, + mint?: PublicKey, + ): Promise { + return transfer_from_multisig(this, amount, to, vaultIndex, mint); + } } From 9755beb5411255d29779e74f001df841d462bd6f Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 21:57:20 +0530 Subject: [PATCH 008/138] feat: set default vaultIndex to 0 in depositToMultisig method for improved usability --- src/agent/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/agent/index.ts b/src/agent/index.ts index c4e946f..7e5d6e2 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -359,7 +359,7 @@ export class SolanaAgentKit { async depositToMultisig( amount: number, - vaultIndex?: number, + vaultIndex: number = 0, mint?: PublicKey, ): Promise { return deposit_to_multisig(this, amount, vaultIndex, mint); From 5c2eace63350978f193e7e48f0d3a38ea9ec05f9 Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 21:57:26 +0530 Subject: [PATCH 009/138] feat: add create_proposal function for transferring SOL or SPL tokens from a multisig vault --- src/tools/squads_multisig/create_proposal.ts | 62 ++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/tools/squads_multisig/create_proposal.ts diff --git a/src/tools/squads_multisig/create_proposal.ts b/src/tools/squads_multisig/create_proposal.ts new file mode 100644 index 0000000..73d31ea --- /dev/null +++ b/src/tools/squads_multisig/create_proposal.ts @@ -0,0 +1,62 @@ +import { SolanaAgentKit } from "../../index"; +import { + PublicKey, + SystemProgram, + TransactionInstruction, + TransactionMessage, +} from "@solana/web3.js"; +import { LAMPORTS_PER_SOL } from "@solana/web3.js"; +import { + getAssociatedTokenAddress, + createTransferInstruction, + getMint, +} from "@solana/spl-token"; +import * as multisig from "@sqds/multisig"; +const { Multisig } = multisig.accounts; + +/** + * Transfer SOL or SPL tokens to a recipient from a multisig vault. + * @param agent - SolanaAgentKit instance. + * @param amount - Amount to transfer. + * @param to - Recipient's public key. + * @param vaultIndex - Optional vault index, default is 0. + * @param mint - Optional mint address for SPL tokens. + * @returns Transaction signature. + */ +export async function create_proposal( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex - 1); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + + const multisigTx = multisig.transactions.proposalCreate({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet_address, + multisigPda, + transactionIndex, + creator: agent.wallet_address, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} From 19b61d19974fd9015206554f5e970a7fa4680504 Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 22:03:00 +0530 Subject: [PATCH 010/138] feat: update transfer_from_multisig to include isNative parameter for associated token address retrieval --- src/tools/squads_multisig/transfer_from_multisig.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/squads_multisig/transfer_from_multisig.ts b/src/tools/squads_multisig/transfer_from_multisig.ts index 0953e38..6c9c35b 100644 --- a/src/tools/squads_multisig/transfer_from_multisig.ts +++ b/src/tools/squads_multisig/transfer_from_multisig.ts @@ -57,7 +57,7 @@ export async function transfer_from_multisig( }); } else { // Transfer SPL token - const fromAta = await getAssociatedTokenAddress(mint, vaultPda); + const fromAta = await getAssociatedTokenAddress(mint, vaultPda, true); const toAta = await getAssociatedTokenAddress(mint, to, true); const mintInfo = await getMint(agent.connection, mint); const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); From dcdaae1b39cf280136dbf909e600a3f9b5f1b4a0 Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 22:03:50 +0530 Subject: [PATCH 011/138] feat: update create_proposal function to include transactionIndex parameter for improved proposal creation --- src/tools/squads_multisig/create_proposal.ts | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/tools/squads_multisig/create_proposal.ts b/src/tools/squads_multisig/create_proposal.ts index 73d31ea..efd82c0 100644 --- a/src/tools/squads_multisig/create_proposal.ts +++ b/src/tools/squads_multisig/create_proposal.ts @@ -15,13 +15,12 @@ import * as multisig from "@sqds/multisig"; const { Multisig } = multisig.accounts; /** - * Transfer SOL or SPL tokens to a recipient from a multisig vault. - * @param agent - SolanaAgentKit instance. - * @param amount - Amount to transfer. - * @param to - Recipient's public key. - * @param vaultIndex - Optional vault index, default is 0. - * @param mint - Optional mint address for SPL tokens. - * @returns Transaction signature. + * Creates a proposal for a multisig transaction. + * + * @param {SolanaAgentKit} agent - The Solana agent kit instance. + * @param {number | bigint} [transactionIndex] - Optional transaction index. If not provided, the current transaction index will be used. + * @returns {Promise} - The transaction ID of the created proposal. + * @throws {Error} - Throws an error if the proposal creation fails. */ export async function create_proposal( agent: SolanaAgentKit, @@ -38,11 +37,10 @@ export async function create_proposal( ); const currentTransactionIndex = Number(multisigInfo.transactionIndex); if (!transactionIndex) { - transactionIndex = BigInt(currentTransactionIndex - 1); + transactionIndex = BigInt(currentTransactionIndex); } else if (typeof transactionIndex !== "bigint") { transactionIndex = BigInt(transactionIndex); } - const multisigTx = multisig.transactions.proposalCreate({ blockhash: (await agent.connection.getLatestBlockhash()).blockhash, feePayer: agent.wallet_address, From 28d5110fedb1b54ed213b8ac110f545a36f2448c Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 22:03:57 +0530 Subject: [PATCH 012/138] feat: add createMultisigProposal method to SolanaAgentKit for creating proposals --- src/agent/index.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/agent/index.ts b/src/agent/index.ts index 7e5d6e2..b73d63c 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -51,6 +51,7 @@ import { BN } from "@coral-xyz/anchor"; import { create_squads_multisig } from "../tools/squads_multisig/create_multisig"; import { deposit_to_multisig } from "../tools/squads_multisig/deposit_to_multisig"; import { transfer_from_multisig } from "../tools/squads_multisig/transfer_from_multisig"; +import { create_proposal } from "../tools/squads_multisig/create_proposal"; /** * Main class for interacting with Solana blockchain @@ -373,4 +374,10 @@ export class SolanaAgentKit { ): Promise { return transfer_from_multisig(this, amount, to, vaultIndex, mint); } + + async createMultisigProposal( + transactionIndex?: number | bigint, + ): Promise { + return create_proposal(this, transactionIndex); + } } From 08b3d24dad9c3fdf9847c51da51d362e5ffe5bad Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 22:04:23 +0530 Subject: [PATCH 013/138] refactor: remove unused imports in create_proposal.ts for cleaner code --- src/tools/squads_multisig/create_proposal.ts | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/tools/squads_multisig/create_proposal.ts b/src/tools/squads_multisig/create_proposal.ts index efd82c0..4ff47e2 100644 --- a/src/tools/squads_multisig/create_proposal.ts +++ b/src/tools/squads_multisig/create_proposal.ts @@ -1,16 +1,4 @@ import { SolanaAgentKit } from "../../index"; -import { - PublicKey, - SystemProgram, - TransactionInstruction, - TransactionMessage, -} from "@solana/web3.js"; -import { LAMPORTS_PER_SOL } from "@solana/web3.js"; -import { - getAssociatedTokenAddress, - createTransferInstruction, - getMint, -} from "@solana/spl-token"; import * as multisig from "@sqds/multisig"; const { Multisig } = multisig.accounts; From e9922ed39e2eb00ad151b3c41c38be9c3ae369b5 Mon Sep 17 00:00:00 2001 From: A91y Date: Sat, 28 Dec 2024 22:05:14 +0530 Subject: [PATCH 014/138] feat: add create_squads_multisig function and update deposit_to_multisig documentation for clarity --- src/tools/squads_multisig/create_multisig.ts | 9 +++++++++ src/tools/squads_multisig/deposit_to_multisig.ts | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/tools/squads_multisig/create_multisig.ts b/src/tools/squads_multisig/create_multisig.ts index 1146618..3fa76ef 100644 --- a/src/tools/squads_multisig/create_multisig.ts +++ b/src/tools/squads_multisig/create_multisig.ts @@ -2,6 +2,15 @@ import * as multisig from "@sqds/multisig"; import { PublicKey } from "@solana/web3.js"; import { SolanaAgentKit } from "../../index"; +/** + * Creates a new Squads multisig account. + * + * @param agent - The SolanaAgentKit instance containing the connection and wallet information. + * @param creator - The public key of the creator who will be a member of the multisig. + * @returns A promise that resolves to the transaction ID of the multisig creation transaction. + * + * @throws Will throw an error if the transaction fails. + */ export async function create_squads_multisig( agent: SolanaAgentKit, creator: PublicKey, diff --git a/src/tools/squads_multisig/deposit_to_multisig.ts b/src/tools/squads_multisig/deposit_to_multisig.ts index 4e1d9c2..11a2582 100644 --- a/src/tools/squads_multisig/deposit_to_multisig.ts +++ b/src/tools/squads_multisig/deposit_to_multisig.ts @@ -10,7 +10,7 @@ import { import * as multisig from "@sqds/multisig"; /** - * Transfer SOL or SPL tokens to a recipient + * Transfer SOL or SPL tokens to a multisig vault. * @param agent SolanaAgentKit instance * @param amount Amount to transfer * @param vaultIndex Optional vault index, default is 0 From c08ae5bb04a57ed8cf240ea611b039b69a172bc2 Mon Sep 17 00:00:00 2001 From: thrishank Date: Thu, 2 Jan 2025 16:58:56 +0530 Subject: [PATCH 015/138] feat: add close accounts and reclaim rent --- src/agent/index.ts | 26 +++++-- src/langchain/index.ts | 29 ++++++++ src/tools/close_empty_token_accounts.ts | 92 +++++++++++++++++++++++++ src/tools/index.ts | 1 + 4 files changed, 142 insertions(+), 6 deletions(-) create mode 100644 src/tools/close_empty_token_accounts.ts diff --git a/src/agent/index.ts b/src/agent/index.ts index 4acf694..74aa052 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -50,6 +50,7 @@ import { create_TipLink, listNFTForSale, cancelListing, + closeEmptyTokenAccounts, } from "../tools"; import { @@ -83,24 +84,30 @@ export class SolanaAgentKit { * @deprecated Using openai_api_key directly in constructor is deprecated. * Please use the new constructor with Config object instead: * @example - * const agent = new SolanaAgentKit(privateKey, rpcUrl, { + * const agent = new SolanaAgentKit(privateKey, rpcUrl, { * OPENAI_API_KEY: 'your-key' * }); */ - constructor(private_key: string, rpc_url: string, openai_api_key: string | null); + constructor( + private_key: string, + rpc_url: string, + openai_api_key: string | null, + ); constructor(private_key: string, rpc_url: string, config: Config); constructor( private_key: string, rpc_url: string, configOrKey: Config | string | null, ) { - this.connection = new Connection(rpc_url || "https://api.mainnet-beta.solana.com"); + this.connection = new Connection( + rpc_url || "https://api.mainnet-beta.solana.com", + ); this.wallet = Keypair.fromSecretKey(bs58.decode(private_key)); this.wallet_address = this.wallet.publicKey; // Handle both old and new patterns - if (typeof configOrKey === 'string' || configOrKey === null) { - this.config = { OPENAI_API_KEY: configOrKey || '' }; + if (typeof configOrKey === "string" || configOrKey === null) { + this.config = { OPENAI_API_KEY: configOrKey || "" }; } else { this.config = configOrKey; } @@ -463,8 +470,15 @@ export class SolanaAgentKit { async tensorListNFT(nftMint: PublicKey, price: number): Promise { return listNFTForSale(this, nftMint, price); } - + 1; async tensorCancelListing(nftMint: PublicKey): Promise { return cancelListing(this, nftMint); } + + async closeEmptyTokenAccounts(): Promise<{ + signature: string; + size: number; + }> { + return closeEmptyTokenAccounts(this); + } } diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 4605fd3..4d08e0a 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -1825,6 +1825,34 @@ export class SolanaCancelNFTListingTool extends Tool { } } +export class CloseEmptyTokenAccounts extends Tool { + name = "close_empty_token_accounts"; + description = `Close all empty spl-token accounts and reclaim the rent`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(): Promise { + try { + const { signature, size } = + await this.solanaKit.closeEmptyTokenAccounts(); + + return JSON.stringify({ + status: "success", + message: `${size} accounts closed successfully. ${size === 48 ? "48 accounts can be closed in a single transaction try again to close more accounts" : ""}`, + signature, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), @@ -1873,5 +1901,6 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaTipLinkTool(solanaKit), new SolanaListNFTForSaleTool(solanaKit), new SolanaCancelNFTListingTool(solanaKit), + new CloseEmptyTokenAccounts(solanaKit), ]; } diff --git a/src/tools/close_empty_token_accounts.ts b/src/tools/close_empty_token_accounts.ts new file mode 100644 index 0000000..a327261 --- /dev/null +++ b/src/tools/close_empty_token_accounts.ts @@ -0,0 +1,92 @@ +import { + PublicKey, + Transaction, + TransactionInstruction, +} from "@solana/web3.js"; +import { SolanaAgentKit } from "../agent"; +import { + AccountLayout, + createCloseAccountInstruction, + TOKEN_2022_PROGRAM_ID, + TOKEN_PROGRAM_ID, +} from "@solana/spl-token"; + +/** + * Close Empty SPL Token accounts of the agent + * @param agent SolanaAgentKit instance + * @returns transaction signature and total number of accounts closed + */ +export async function closeEmptyTokenAccounts( + agent: SolanaAgentKit, +): Promise<{ signature: string; size: number }> { + try { + const spl_token = await create_close_instruction(agent, TOKEN_PROGRAM_ID); + const token_2022 = await create_close_instruction( + agent, + TOKEN_2022_PROGRAM_ID, + ); + const transaction = new Transaction(); + + spl_token.forEach((instruction) => transaction.add(instruction)); + token_2022.forEach((instruction) => transaction.add(instruction)); + + const signature = await agent.connection.sendTransaction(transaction, [ + agent.wallet, + ]); + const size = spl_token.length + token_2022.length; + return { + signature, + size, + }; + } catch (error) { + throw new Error(`Error closing empty token accounts: ${error}`); + } +} + +/** + * creates the close instuctions of a spl token account + * @param agnet SolanaAgentKit instance + * @param token_program Token Program Id + * @returns close instuction array + */ + +async function create_close_instruction( + agent: SolanaAgentKit, + token_program: PublicKey, +): Promise { + const instructions = []; + + const ata_accounts = await agent.connection.getTokenAccountsByOwner( + agent.wallet_address, + { programId: token_program }, + "confirmed", + ); + + const tokens = ata_accounts.value; + const size = tokens.length > 25 ? 24 : tokens.length; // closing 24 accounts in a single transaction + + const accountExceptions = [ + "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", // USDC + "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", // USDT + ]; + + for (let i = 0; i < size; i++) { + const token_data = AccountLayout.decode(tokens[i].account.data); + if ( + token_data.amount === BigInt(0) && + !accountExceptions.includes(token_data.mint.toString()) + ) { + const closeInstruction = createCloseAccountInstruction( + ata_accounts.value[i].pubkey, + agent.wallet_address, + agent.wallet_address, + [], + token_program, + ); + + instructions.push(closeInstruction); + } + } + + return instructions; +} diff --git a/src/tools/index.ts b/src/tools/index.ts index b9f7542..8273430 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -52,3 +52,4 @@ export * from "./rock_paper_scissor"; export * from "./create_tiplinks"; export * from "./tensor_trade"; +export * from "./close_empty_token_accounts"; From 25ec9592c317b8ef7e96fe2d30511879bba1d0b8 Mon Sep 17 00:00:00 2001 From: zhourunlai Date: Fri, 3 Jan 2025 11:21:03 +0800 Subject: [PATCH 016/138] change jup api to fetch token directly --- src/tools/get_token_data.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/tools/get_token_data.ts b/src/tools/get_token_data.ts index 6e6bc44..434aa9a 100644 --- a/src/tools/get_token_data.ts +++ b/src/tools/get_token_data.ts @@ -9,17 +9,14 @@ export async function getTokenDataByAddress( throw new Error("Mint address is required"); } - const response = await fetch("https://tokens.jup.ag/tokens?tags=verified", { + const response = await fetch(`https://tokens.jup.ag/token/${mint}`, { method: "GET", headers: { "Content-Type": "application/json", }, }); - const data = (await response.json()) as JupiterTokenData[]; - const token = data.find((token: JupiterTokenData) => { - return token.address === mint.toBase58(); - }); + const token = (await response.json()) as JupiterTokenData; return token; } catch (error: any) { throw new Error(`Error fetching token data: ${error.message}`); From a68f26d009c56f30767df3ab432e77aaab9bdc8b Mon Sep 17 00:00:00 2001 From: Orex Date: Wed, 1 Jan 2025 14:57:55 +0400 Subject: [PATCH 017/138] Add Adrena Protocol Open/Close PERP trade support --- README.md | 27 + src/agent/index.ts | 40 + src/constants/index.ts | 2 + src/idls/adrena.ts | 20671 +++++++++++++++++++++++++++++ src/langchain/index.ts | 110 + src/tools/adrena_perp_trading.ts | 506 + src/tools/index.ts | 1 + src/utils/AdrenaClient.ts | 220 + 8 files changed, 21577 insertions(+) create mode 100644 src/idls/adrena.ts create mode 100644 src/tools/adrena_perp_trading.ts create mode 100644 src/utils/AdrenaClient.ts diff --git a/README.md b/README.md index 622a52f..45b0aa1 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ Anyone - whether an SF-based AI researcher or a crypto-native builder - can brin - Jito Bundles - Pyth Price feeds for fetching Asset Prices - Register/resolve Alldomains + - Perpetuals Trading with Adrena Protocol - **Solana Blinks** - Lending by Lulo (Best APR for USDC) @@ -220,6 +221,32 @@ const price = await agent.pythFetchPrice( console.log("Price in BTC/USD:", price); ``` +### Open PERP Trade + +```typescript +import { PublicKey } from "@solana/web3.js"; + +const signature = await agent.openPerpTradeLong({ + price: 300, // $300 SOL Max price + collateralAmount: 10, // 10 jitoSOL in + collateralMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL + leverage: 50000, // x5 + tradeMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL + slippage: 0.3, // 0.3% +}); +``` + +### Close PERP Trade + +```typescript +import { PublicKey } from "@solana/web3.js"; + +const signature = await agent.closePerpTradeLong({ + price: 200, // $200 SOL price + tradeMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL +}); +``` + ## Examples ### LangGraph Multi-Agent System diff --git a/src/agent/index.ts b/src/agent/index.ts index 19a8492..ae0c367 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -26,6 +26,10 @@ import { batchOrder, cancelAllOrders, withdrawAll, + closePerpTradeShort, + closePerpTradeLong, + openPerpTradeShort, + openPerpTradeLong, transfer, getTokenDataByAddress, getTokenDataByTicker, @@ -210,6 +214,42 @@ export class SolanaAgentKit { return withdrawAll(this, marketId); } + async openPerpTradeLong( + args: Omit[0], "agent">, + ): Promise { + return openPerpTradeLong({ + agent: this, + ...args, + }); + } + + async openPerpTradeShort( + args: Omit[0], "agent">, + ): Promise { + return openPerpTradeShort({ + agent: this, + ...args, + }); + } + + async closePerpTradeShort( + args: Omit[0], "agent">, + ): Promise { + return closePerpTradeShort({ + agent: this, + ...args, + }); + } + + async closePerpTradeLong( + args: Omit[0], "agent">, + ): Promise { + return closePerpTradeLong({ + agent: this, + ...args, + }); + } + async lendAssets(amount: number): Promise { return lendAsset(this, amount); } diff --git a/src/constants/index.ts b/src/constants/index.ts index 14eb65b..69965bf 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -18,11 +18,13 @@ export const TOKENS = { * Default configuration options * @property {number} SLIPPAGE_BPS - Default slippage tolerance in basis points (300 = 3%) * @property {number} TOKEN_DECIMALS - Default number of decimals for new tokens + * @property {number} LEVERAGE_BPS - Default leverage for trading PERP */ export const DEFAULT_OPTIONS = { SLIPPAGE_BPS: 300, TOKEN_DECIMALS: 9, RERERRAL_FEE: 200, + LEVERAGE_BPS: 50000, // 10000 = x1, 50000 = x5, 100000 = x10, 1000000 = x100 } as const; /** diff --git a/src/idls/adrena.ts b/src/idls/adrena.ts new file mode 100644 index 0000000..6a41394 --- /dev/null +++ b/src/idls/adrena.ts @@ -0,0 +1,20671 @@ +export type Adrena = { + version: "1.1.5"; + name: "adrena"; + instructions: [ + { + name: "initOneCore"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "protocolFeeRecipient"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "rent"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "InitOneParams"; + }; + }, + ]; + }, + { + name: "initTwoLmTokenMetadata"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "lmTokenMintMetadata"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "mplTokenMetadataProgram"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "rent"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + ]; + args: []; + }, + { + name: "initThreeGovernance"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "governanceTokenMint"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "governanceRealm"; + isMut: false; + isSigner: false; + docs: [ + "#6", + "A realm represent one project within the governance program", + ]; + }, + { + name: "governanceProgram"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "rent"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + ]; + args: []; + }, + { + name: "initFourVesting"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "vestRegistry"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + { + name: "rent"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + ]; + args: []; + }, + { + name: "addVest"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "owner"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#3"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "vestRegistry"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "vest"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "governanceTokenMint"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "governanceRealm"; + isMut: false; + isSigner: false; + docs: [ + "#10", + "A realm represent one project within the governance program", + ]; + }, + { + name: "governanceRealmConfig"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "governanceGoverningTokenHolding"; + isMut: true; + isSigner: false; + docs: [ + "#12", + "Token account owned by governance program holding user's locked tokens", + ]; + }, + { + name: "governanceGoverningTokenOwnerRecord"; + isMut: true; + isSigner: false; + docs: ["#13", "Account owned by governance storing user information"]; + }, + { + name: "governanceProgram"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + { + name: "rent"; + isMut: false; + isSigner: false; + docs: ["#17"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "AddVestParams"; + }; + }, + ]; + returns: "u8"; + }, + { + name: "claimVest"; + accounts: [ + { + name: "caller"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "owner"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "payer"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "receivingAccount"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "vestRegistry"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "vest"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "governanceTokenMint"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "governanceRealm"; + isMut: false; + isSigner: false; + docs: [ + "#11", + "A realm represent one project within the governance program", + ]; + }, + { + name: "governanceRealmConfig"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "governanceGoverningTokenHolding"; + isMut: true; + isSigner: false; + docs: [ + "#13", + "Token account owned by governance program holding user's locked tokens", + ]; + }, + { + name: "governanceGoverningTokenOwnerRecord"; + isMut: true; + isSigner: false; + docs: ["#14", "Account owned by governance storing user information"]; + }, + { + name: "governanceProgram"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#17"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#18"]; + }, + { + name: "rent"; + isMut: false; + isSigner: false; + docs: ["#19"]; + }, + ]; + args: []; + returns: "u64"; + }, + { + name: "addPoolPartOne"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "lpTokenMintMetadata"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "mplTokenMetadataProgram"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "rent"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "AddPoolPartOneParams"; + }; + }, + ]; + returns: "u8"; + }, + { + name: "addPoolPartTwo"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "lpTokenMint"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "rent"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "AddPoolPartTwoParams"; + }; + }, + ]; + returns: "u8"; + }, + { + name: "removePool"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + ]; + args: []; + returns: "u8"; + }, + { + name: "addCustody"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "custodyTokenMint"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "rent"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "AddCustodyParams"; + }; + }, + ]; + returns: "u8"; + }, + { + name: "removeCustody"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "RemoveCustodyParams"; + }; + }, + ]; + returns: "u8"; + }, + { + name: "setCustodyConfig"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetCustodyConfigParams"; + }; + }, + ]; + returns: "u8"; + }, + { + name: "setCustodyAllowSwap"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetCustodyAllowSwapParams"; + }; + }, + ]; + }, + { + name: "setCustodyAllowTrade"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetCustodyAllowTradeParams"; + }; + }, + ]; + }, + { + name: "setPoolAllowSwap"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetPoolAllowSwapParams"; + }; + }, + ]; + }, + { + name: "setPoolAllowTrade"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetPoolAllowTradeParams"; + }; + }, + ]; + }, + { + name: "setPoolAumSoftCapUsd"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetPoolAumSoftCapUsdParams"; + }; + }, + ]; + }, + { + name: "swap"; + accounts: [ + { + name: "caller"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "owner"; + isMut: false; + isSigner: true; + docs: ["#2"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "receivingAccount"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "lmStaking"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "lpStaking"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "stakingRewardTokenCustody"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "stakingRewardTokenCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "stakingRewardTokenCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "receivingCustody"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "receivingCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "receivingCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#15"]; + }, + { + name: "dispensingCustody"; + isMut: true; + isSigner: false; + docs: ["#16"]; + }, + { + name: "dispensingCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#17"]; + }, + { + name: "dispensingCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#18"]; + }, + { + name: "lmStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#19"]; + }, + { + name: "lpStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#20"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#21"]; + }, + { + name: "protocolFeeRecipient"; + isMut: true; + isSigner: false; + docs: ["#22"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + isOptional: true; + docs: ["#23"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#24"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#25"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SwapParams"; + }; + }, + ]; + }, + { + name: "addLiquidity"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "lpTokenAccount"; + isMut: true; + isSigner: false; + docs: [ + "#3 Front end will target the owner account, but not limited to", + ]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmStaking"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "lpStaking"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "stakingRewardTokenCustody"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "stakingRewardTokenCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "stakingRewardTokenCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "lmStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#15"]; + }, + { + name: "lpStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#16"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#17"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#18"]; + }, + { + name: "protocolFeeRecipient"; + isMut: true; + isSigner: false; + docs: ["#19"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#20"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#21"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "AddLiquidityParams"; + }; + }, + ]; + }, + { + name: "addGenesisLiquidity"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "lpUserStaking"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lpStaking"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "lpStakingStakedTokenVault"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "governanceTokenMint"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "governanceRealm"; + isMut: false; + isSigner: false; + docs: [ + "#15", + "A realm represent one project within the governance program", + ]; + }, + { + name: "governanceRealmConfig"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + { + name: "governanceGoverningTokenHolding"; + isMut: true; + isSigner: false; + docs: [ + "#17", + "Token account owned by governance program holding user's locked tokens", + ]; + }, + { + name: "governanceGoverningTokenOwnerRecord"; + isMut: true; + isSigner: false; + docs: ["#18", "Account owned by governance storing user information"]; + }, + { + name: "governanceProgram"; + isMut: false; + isSigner: false; + docs: ["#19"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#20"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#21"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#22"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#23"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "AddGenesisLiquidityParams"; + }; + }, + ]; + }, + { + name: "genesisOtcOut"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "daoReceivingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "custodyUsdc"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custodyUsdcTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + ]; + args: []; + }, + { + name: "genesisOtcIn"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "fundingAccountOne"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "fundingAccountTwo"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "fundingAccountThree"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custodyOne"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "custodyOneTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "custodyTwo"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "custodyTwoTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "custodyThree"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "custodyThreeTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "GenesisOtcInParams"; + }; + }, + ]; + }, + { + name: "removeLiquidity"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "receivingAccount"; + isMut: true; + isSigner: false; + docs: [ + "#2 Front end will target the owner account, but not limited to", + ]; + }, + { + name: "lpTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmStaking"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "lpStaking"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "stakingRewardTokenCustody"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "stakingRewardTokenCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "stakingRewardTokenCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "lmStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#15"]; + }, + { + name: "lpStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#16"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#17"]; + }, + { + name: "protocolFeeRecipient"; + isMut: true; + isSigner: false; + docs: ["#18"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#19"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#20"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "RemoveLiquidityParams"; + }; + }, + ]; + }, + { + name: "openPositionLong"; + accounts: [ + { + name: "owner"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + isOptional: true; + docs: ["#12"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "OpenPositionLongParams"; + }; + }, + ]; + }, + { + name: "openPositionShort"; + accounts: [ + { + name: "owner"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "collateralCustody"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "collateralCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + isOptional: true; + docs: ["#13"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "OpenPositionShortParams"; + }; + }, + ]; + }, + { + name: "openOrIncreasePositionWithSwapLong"; + accounts: [ + { + name: "owner"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "collateralAccount"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "receivingCustody"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "receivingCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "receivingCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "principalCustody"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "principalCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "principalCustodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "principalCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "lmStaking"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "lpStaking"; + isMut: true; + isSigner: false; + docs: ["#15"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#16"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#17"]; + }, + { + name: "stakingRewardTokenCustody"; + isMut: true; + isSigner: false; + docs: ["#18"]; + }, + { + name: "stakingRewardTokenCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#19"]; + }, + { + name: "stakingRewardTokenCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#20"]; + }, + { + name: "lmStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#21"]; + }, + { + name: "lpStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#22"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#23"]; + }, + { + name: "protocolFeeRecipient"; + isMut: true; + isSigner: false; + docs: ["#24"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + isOptional: true; + docs: ["#25"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#26"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#27"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#28"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "OpenPositionWithSwapParams"; + }; + }, + ]; + }, + { + name: "openOrIncreasePositionWithSwapShort"; + accounts: [ + { + name: "owner"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "collateralAccount"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "receivingCustody"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "receivingCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "receivingCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "collateralCustody"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "collateralCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "principalCustody"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "principalCustodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "principalCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#15"]; + }, + { + name: "lmStaking"; + isMut: true; + isSigner: false; + docs: ["#16"]; + }, + { + name: "lpStaking"; + isMut: true; + isSigner: false; + docs: ["#17"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#18"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#19"]; + }, + { + name: "stakingRewardTokenCustody"; + isMut: true; + isSigner: false; + docs: ["#20"]; + }, + { + name: "stakingRewardTokenCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#21"]; + }, + { + name: "stakingRewardTokenCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#22"]; + }, + { + name: "lmStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#23"]; + }, + { + name: "lpStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#24"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#25"]; + }, + { + name: "protocolFeeRecipient"; + isMut: true; + isSigner: false; + docs: ["#26"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + isOptional: true; + docs: ["#27"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#28"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#29"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#30"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "OpenPositionWithSwapParams"; + }; + }, + ]; + }, + { + name: "addCollateralLong"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "AddCollateralLongParams"; + }; + }, + ]; + }, + { + name: "addCollateralShort"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "collateralCustody"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "collateralCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "AddCollateralShortParams"; + }; + }, + ]; + }, + { + name: "removeCollateralLong"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "receivingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "RemoveCollateralLongParams"; + }; + }, + ]; + }, + { + name: "removeCollateralShort"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "receivingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "collateralCustody"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "collateralCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "RemoveCollateralShortParams"; + }; + }, + ]; + }, + { + name: "closePositionLong"; + accounts: [ + { + name: "caller"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "owner"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "receivingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmStaking"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "lpStaking"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "stakingRewardTokenCustody"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "stakingRewardTokenCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "stakingRewardTokenCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#16"]; + }, + { + name: "lmStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#17"]; + }, + { + name: "lpStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#18"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#19"]; + }, + { + name: "protocolFeeRecipient"; + isMut: true; + isSigner: false; + docs: ["#20"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + isOptional: true; + docs: ["#21"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#22"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#23"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "ClosePositionLongParams"; + }; + }, + ]; + }, + { + name: "closePositionShort"; + accounts: [ + { + name: "caller"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "owner"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "receivingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmStaking"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "lpStaking"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "stakingRewardTokenCustody"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "stakingRewardTokenCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "stakingRewardTokenCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "collateralCustody"; + isMut: true; + isSigner: false; + docs: ["#15"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + { + name: "collateralCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#17"]; + }, + { + name: "lmStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#18"]; + }, + { + name: "lpStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#19"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#20"]; + }, + { + name: "protocolFeeRecipient"; + isMut: true; + isSigner: false; + docs: ["#21"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + isOptional: true; + docs: ["#22"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#23"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#24"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "ClosePositionShortParams"; + }; + }, + ]; + }, + { + name: "liquidateLong"; + accounts: [ + { + name: "signer"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "receivingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "lmStaking"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lpStaking"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "stakingRewardTokenCustody"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "stakingRewardTokenCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "stakingRewardTokenCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#15"]; + }, + { + name: "lmStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#16"]; + }, + { + name: "lpStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#17"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#18"]; + }, + { + name: "protocolFeeRecipient"; + isMut: true; + isSigner: false; + docs: ["#19"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + isOptional: true; + docs: ["#20"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#21"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#22"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "LiquidateLongParams"; + }; + }, + ]; + }, + { + name: "liquidateShort"; + accounts: [ + { + name: "signer"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "receivingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "lmStaking"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lpStaking"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "stakingRewardTokenCustody"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "stakingRewardTokenCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "stakingRewardTokenCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "collateralCustody"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "collateralCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#16"]; + }, + { + name: "lmStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#17"]; + }, + { + name: "lpStakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#18"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#19"]; + }, + { + name: "protocolFeeRecipient"; + isMut: true; + isSigner: false; + docs: ["#20"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + isOptional: true; + docs: ["#21"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#22"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#23"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "LiquidateShortParams"; + }; + }, + ]; + }, + { + name: "updatePoolAum"; + accounts: [ + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + ]; + args: []; + returns: "u128"; + }, + { + name: "getAddLiquidityAmountAndFee"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lpTokenMint"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "GetAddLiquidityAmountAndFeeParams"; + }; + }, + ]; + returns: { + defined: "AmountAndFee"; + }; + }, + { + name: "getRemoveLiquidityAmountAndFee"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lpTokenMint"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "GetRemoveLiquidityAmountAndFeeParams"; + }; + }, + ]; + returns: { + defined: "AmountAndFee"; + }; + }, + { + name: "getEntryPriceAndFee"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "collateralCustody"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "GetEntryPriceAndFeeParams"; + }; + }, + ]; + returns: { + defined: "NewPositionPricesAndFee"; + }; + }, + { + name: "disableTokensFreezeCapabilities"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "lpTokenMint"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + ]; + args: []; + }, + { + name: "genesisStakePatch"; + accounts: [ + { + name: "caller"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "owner"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "rewardTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "userStaking"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "genesisLock"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#17"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#18"]; + }, + ]; + args: []; + }, + { + name: "getOpenPositionWithSwapAmountAndFees"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "receivingCustody"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "receivingCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "collateralCustody"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "principalCustody"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + { + name: "principalCustodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "GetOpenPositionWithSwapAmountAndFeesParams"; + }; + }, + ]; + returns: { + defined: "OpenPositionWithSwapAmountAndFees"; + }; + }, + { + name: "getExitPriceAndFee"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "position"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "collateralCustody"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + ]; + args: []; + returns: { + defined: "ExitPriceAndFee"; + }; + }, + { + name: "getPnl"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "position"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "collateralCustody"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + ]; + args: []; + returns: { + defined: "ProfitAndLoss"; + }; + }, + { + name: "getLiquidationPrice"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "position"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "collateralCustody"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "GetLiquidationPriceParams"; + }; + }, + ]; + returns: "u64"; + }, + { + name: "getLiquidationState"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "position"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "collateralCustody"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + ]; + args: []; + returns: "u8"; + }, + { + name: "getOraclePrice"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + ]; + args: []; + returns: "u64"; + }, + { + name: "getSwapAmountAndFees"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "receivingCustody"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "receivingCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "dispensingCustody"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "dispensingCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "GetSwapAmountAndFeesParams"; + }; + }, + ]; + returns: { + defined: "SwapAmountAndFees"; + }; + }, + { + name: "getAssetsUnderManagement"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + ]; + args: []; + returns: "u128"; + }, + { + name: "initUserStaking"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "rewardTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "lmTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "userStaking"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + { + name: "staking"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "lmTokenMint"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + ]; + args: []; + }, + { + name: "initUserProfile"; + accounts: [ + { + name: "user"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "InitUserProfileParams"; + }; + }, + ]; + }, + { + name: "editUserProfile"; + accounts: [ + { + name: "user"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "EditUserProfileParams"; + }; + }, + ]; + }, + { + name: "deleteUserProfile"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "user"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#3"]; + }, + { + name: "userProfile"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + ]; + args: []; + }, + { + name: "initStakingOne"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "stakingStakedTokenVault"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "stakingStakedTokenMint"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "rent"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "InitStakingOneParams"; + }; + }, + ]; + returns: "u8"; + }, + { + name: "initStakingTwo"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + ]; + args: []; + returns: "u8"; + }, + { + name: "initStakingThree"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + ]; + args: []; + returns: "u8"; + }, + { + name: "initStakingFour"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "stakingStakedTokenVault"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "stakingStakedTokenMint"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + ]; + args: []; + returns: "u8"; + }, + { + name: "addLiquidStake"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "rewardTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "lmTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "stakingStakedTokenVault"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "userStaking"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#15"]; + }, + { + name: "governanceTokenMint"; + isMut: true; + isSigner: false; + docs: ["#16"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#17"]; + }, + { + name: "governanceRealm"; + isMut: false; + isSigner: false; + docs: [ + "#18", + "A realm represent one project within the governance program", + ]; + }, + { + name: "governanceRealmConfig"; + isMut: false; + isSigner: false; + docs: ["#19"]; + }, + { + name: "governanceGoverningTokenHolding"; + isMut: true; + isSigner: false; + docs: [ + "#20", + "Token account owned by governance program holding user's locked tokens", + ]; + }, + { + name: "governanceGoverningTokenOwnerRecord"; + isMut: true; + isSigner: false; + docs: ["#21", "Account owned by governance storing user information"]; + }, + { + name: "governanceProgram"; + isMut: false; + isSigner: false; + docs: ["#22"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#23"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#24"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#25"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "AddLiquidStakeParams"; + }; + }, + ]; + }, + { + name: "addLockedStake"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "rewardTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "stakingStakedTokenVault"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "userStaking"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "governanceTokenMint"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "governanceRealm"; + isMut: false; + isSigner: false; + docs: [ + "#13", + "A realm represent one project within the governance program", + ]; + }, + { + name: "governanceRealmConfig"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "governanceGoverningTokenHolding"; + isMut: true; + isSigner: false; + docs: [ + "#15", + "Token account owned by governance program holding user's locked tokens", + ]; + }, + { + name: "governanceGoverningTokenOwnerRecord"; + isMut: true; + isSigner: false; + docs: ["#16", "Account owned by governance storing user information"]; + }, + { + name: "governanceProgram"; + isMut: false; + isSigner: false; + docs: ["#17"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#18"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#19"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#20"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "AddLockedStakeParams"; + }; + }, + ]; + }, + { + name: "upgradeLockedStake"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "rewardTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "lmTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "stakingStakedTokenVault"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + { + name: "userStaking"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "governanceTokenMint"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "governanceRealm"; + isMut: false; + isSigner: false; + docs: [ + "#16", + "A realm represent one project within the governance program", + ]; + }, + { + name: "governanceRealmConfig"; + isMut: false; + isSigner: false; + docs: ["#17"]; + }, + { + name: "governanceGoverningTokenHolding"; + isMut: true; + isSigner: false; + docs: [ + "#18", + "Token account owned by governance program holding user's locked tokens", + ]; + }, + { + name: "governanceGoverningTokenOwnerRecord"; + isMut: true; + isSigner: false; + docs: ["#19", "Account owned by governance storing user information"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#20"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#21"]; + }, + { + name: "governanceProgram"; + isMut: false; + isSigner: false; + docs: ["#22"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#23"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#24"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "UpgradeLockedStakeParams"; + }; + }, + ]; + }, + { + name: "removeLiquidStake"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "stakedTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "lmTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "rewardTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "stakingStakedTokenVault"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "userStaking"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "governanceTokenMint"; + isMut: true; + isSigner: false; + docs: ["#15"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + { + name: "governanceRealm"; + isMut: false; + isSigner: false; + docs: [ + "#17", + "A realm represent one project within the governance program", + ]; + }, + { + name: "governanceRealmConfig"; + isMut: false; + isSigner: false; + docs: ["#18"]; + }, + { + name: "governanceGoverningTokenHolding"; + isMut: true; + isSigner: false; + docs: [ + "#19", + "Token account owned by governance program holding user's locked tokens", + ]; + }, + { + name: "governanceGoverningTokenOwnerRecord"; + isMut: true; + isSigner: false; + docs: ["#20", "Account owned by governance storing user information"]; + }, + { + name: "governanceProgram"; + isMut: false; + isSigner: false; + docs: ["#21"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#22"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#23"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#24"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "RemoveLiquidStakeParams"; + }; + }, + ]; + }, + { + name: "removeLockedStake"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "lmTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "stakedTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "rewardTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "stakingStakedTokenVault"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "userStaking"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "stakedTokenMint"; + isMut: true; + isSigner: false; + docs: ["#15"]; + }, + { + name: "governanceTokenMint"; + isMut: true; + isSigner: false; + docs: ["#16"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#17"]; + }, + { + name: "governanceRealm"; + isMut: false; + isSigner: false; + docs: [ + "#18", + "A realm represent one project within the governance program", + ]; + }, + { + name: "governanceRealmConfig"; + isMut: false; + isSigner: false; + docs: ["#19"]; + }, + { + name: "governanceGoverningTokenHolding"; + isMut: true; + isSigner: false; + docs: [ + "#20", + "Token account owned by governance program holding user's locked tokens", + ]; + }, + { + name: "governanceGoverningTokenOwnerRecord"; + isMut: true; + isSigner: false; + docs: ["#21", "Account owned by governance storing user information"]; + }, + { + name: "governanceProgram"; + isMut: false; + isSigner: false; + docs: ["#22"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#23"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#24"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#25"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "RemoveLockedStakeParams"; + }; + }, + ]; + }, + { + name: "claimStakes"; + accounts: [ + { + name: "caller"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "owner"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "rewardTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#8"]; + }, + { + name: "userStaking"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#11"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#13"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#14"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#17"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#18"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "ClaimStakesParams"; + }; + }, + ]; + }, + { + name: "finalizeGenesisLockCampaign"; + accounts: [ + { + name: "caller"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "genesisLock"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#7"]; + }, + ]; + args: []; + }, + { + name: "setPoolLiquidityState"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetPoolLiquidityStateParams"; + }; + }, + ]; + }, + { + name: "finalizeLockedStake"; + accounts: [ + { + name: "caller"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "owner"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "userStaking"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "governanceTokenMint"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "governanceRealm"; + isMut: false; + isSigner: false; + docs: [ + "#9", + "A realm represent one project within the governance program", + ]; + }, + { + name: "governanceRealmConfig"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "governanceGoverningTokenHolding"; + isMut: true; + isSigner: false; + docs: [ + "#11", + "Token account owned by governance program holding user's locked tokens", + ]; + }, + { + name: "governanceGoverningTokenOwnerRecord"; + isMut: true; + isSigner: false; + docs: ["#12", "Account owned by governance storing user information"]; + }, + { + name: "governanceProgram"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#16"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "FinalizeLockedStakeParams"; + }; + }, + ]; + }, + { + name: "resolveStakingRound"; + accounts: [ + { + name: "caller"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "stakingStakedTokenVault"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + ]; + args: []; + }, + { + name: "getLpTokenPrice"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "lpTokenMint"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + ]; + args: []; + returns: "u64"; + }, + { + name: "getPoolInfoSnapshot"; + accounts: [ + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "lpTokenMint"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + ]; + args: []; + returns: { + defined: "PoolInfoSnapshot"; + }; + }, + { + name: "mintLmTokensFromBucket"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "receivingAccount"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "MintLmTokensFromBucketParams"; + }; + }, + ]; + returns: "u8"; + }, + { + name: "increasePositionLong"; + accounts: [ + { + name: "owner"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "custodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "custodyOracle"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "IncreasePositionLongParams"; + }; + }, + ]; + }, + { + name: "patchCustodyLockedAmount"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "usdcCustody"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "bonkCustody"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "wbtcCustody"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "jitoCustody"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + ]; + args: []; + }, + { + name: "increasePositionShort"; + accounts: [ + { + name: "owner"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#6"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "custodyTradeOracle"; + isMut: false; + isSigner: false; + docs: ["#9"]; + }, + { + name: "collateralCustody"; + isMut: true; + isSigner: false; + docs: ["#10"]; + }, + { + name: "collateralCustodyOracle"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "collateralCustodyTokenAccount"; + isMut: true; + isSigner: false; + docs: ["#12"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#14"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#15"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "IncreasePositionShortParams"; + }; + }, + ]; + }, + { + name: "setStakingLmEmissionPotentiometers"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetStakingLmEmissionPotentiometersParams"; + }; + }, + ]; + }, + { + name: "setAdmin"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetAdminParams"; + }; + }, + ]; + }, + { + name: "setProtocolFeeRecipient"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "protocolFeeRecipient"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + ]; + args: []; + }, + { + name: "setCustodyMaxCumulativeShortPositionSizeUsd"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetCustodyMaxCumulativeShortPositionSizeUsdParams"; + }; + }, + ]; + }, + { + name: "setTakeProfitLong"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetTakeProfitLongParams"; + }; + }, + ]; + }, + { + name: "setStopLossLong"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetStopLossLongParams"; + }; + }, + ]; + }, + { + name: "setTakeProfitShort"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "custody"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetTakeProfitShortParams"; + }; + }, + ]; + }, + { + name: "setStopLossShort"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + ]; + args: [ + { + name: "params"; + type: { + defined: "SetStopLossShortParams"; + }; + }, + ]; + }, + { + name: "cancelTakeProfit"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + ]; + args: []; + }, + { + name: "cancelStopLoss"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: false; + isSigner: false; + docs: ["#3"]; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "custody"; + isMut: false; + isSigner: false; + docs: ["#5"]; + }, + ]; + args: []; + }, + { + name: "patchStakingRound"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + docs: ["#2"]; + }, + { + name: "fundingAccount"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "stakingRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#4"]; + }, + { + name: "stakingLmRewardTokenVault"; + isMut: true; + isSigner: false; + docs: ["#5"]; + }, + { + name: "transferAuthority"; + isMut: false; + isSigner: false; + docs: ["#6"]; + }, + { + name: "staking"; + isMut: true; + isSigner: false; + docs: ["#7"]; + }, + { + name: "cortex"; + isMut: true; + isSigner: false; + docs: ["#8"]; + }, + { + name: "lmTokenMint"; + isMut: true; + isSigner: false; + docs: ["#9"]; + }, + { + name: "feeRedistributionMint"; + isMut: false; + isSigner: false; + docs: ["#10"]; + }, + { + name: "adrenaProgram"; + isMut: false; + isSigner: false; + docs: ["#11"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + docs: ["#12"]; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + docs: ["#13"]; + }, + ]; + args: []; + }, + { + name: "setPoolWhitelistedSwapper"; + accounts: [ + { + name: "admin"; + isMut: false; + isSigner: true; + docs: ["#1"]; + }, + { + name: "cortex"; + isMut: false; + isSigner: false; + docs: ["#2"]; + }, + { + name: "pool"; + isMut: true; + isSigner: false; + docs: ["#3"]; + }, + { + name: "whitelistedSwapper"; + isMut: false; + isSigner: false; + docs: ["#4"]; + }, + ]; + args: []; + }, + ]; + accounts: [ + { + name: "cortex"; + type: { + kind: "struct"; + fields: [ + { + name: "bump"; + type: "u8"; + }, + { + name: "transferAuthorityBump"; + type: "u8"; + }, + { + name: "lmTokenBump"; + type: "u8"; + }, + { + name: "governanceTokenBump"; + type: "u8"; + }, + { + name: "initialized"; + type: "u8"; + }, + { + name: "feeConversionDecimals"; + type: "u8"; + }, + { + name: "padding"; + type: { + array: ["u8", 2]; + }; + }, + { + name: "lmTokenMint"; + type: "publicKey"; + }, + { + name: "inceptionTime"; + type: "i64"; + }, + { + name: "admin"; + type: "publicKey"; + }, + { + name: "feeRedistributionMint"; + type: "publicKey"; + }, + { + name: "protocolFeeRecipient"; + type: "publicKey"; + }, + { + name: "pools"; + type: { + array: ["publicKey", 4]; + }; + }, + { + name: "userProfilesCount"; + type: "u64"; + }, + { + name: "governanceProgram"; + type: "publicKey"; + }, + { + name: "governanceRealm"; + type: "publicKey"; + }, + { + name: "coreContributorBucketAllocation"; + type: "u64"; + }, + { + name: "foundationBucketAllocation"; + type: "u64"; + }, + { + name: "ecosystemBucketAllocation"; + type: "u64"; + }, + { + name: "coreContributorBucketVestedAmount"; + type: "u64"; + }, + { + name: "coreContributorBucketMintedAmount"; + type: "u64"; + }, + { + name: "foundationBucketVestedAmount"; + type: "u64"; + }, + { + name: "foundationBucketMintedAmount"; + type: "u64"; + }, + { + name: "ecosystemBucketVestedAmount"; + type: "u64"; + }, + { + name: "ecosystemBucketMintedAmount"; + type: "u64"; + }, + { + name: "genesisLiquidityAlpAmount"; + type: "u64"; + }, + { + name: "uniquePositionIdCounter"; + type: "u64"; + }, + ]; + }; + }, + { + name: "custody"; + type: { + kind: "struct"; + fields: [ + { + name: "bump"; + type: "u8"; + }, + { + name: "tokenAccountBump"; + type: "u8"; + }, + { + name: "allowTrade"; + type: "u8"; + }, + { + name: "allowSwap"; + type: "u8"; + }, + { + name: "decimals"; + type: "u8"; + }, + { + name: "isStable"; + type: "u8"; + }, + { + name: "padding"; + type: { + array: ["u8", 2]; + }; + }, + { + name: "pool"; + type: "publicKey"; + }, + { + name: "mint"; + type: "publicKey"; + }, + { + name: "tokenAccount"; + type: "publicKey"; + }, + { + name: "oracle"; + type: "publicKey"; + }, + { + name: "tradeOracle"; + type: "publicKey"; + }, + { + name: "pricing"; + type: { + defined: "PricingParams"; + }; + }, + { + name: "fees"; + type: { + defined: "Fees"; + }; + }, + { + name: "borrowRate"; + type: { + defined: "BorrowRateParams"; + }; + }, + { + name: "collectedFees"; + type: { + defined: "FeesStats"; + }; + }, + { + name: "volumeStats"; + type: { + defined: "VolumeStats"; + }; + }, + { + name: "tradeStats"; + type: { + defined: "TradeStats"; + }; + }, + { + name: "assets"; + type: { + defined: "Assets"; + }; + }, + { + name: "longPositions"; + type: { + defined: "PositionsAccounting"; + }; + }, + { + name: "shortPositions"; + type: { + defined: "PositionsAccounting"; + }; + }, + { + name: "borrowRateState"; + type: { + defined: "BorrowRateState"; + }; + }, + ]; + }; + }, + { + name: "genesisLock"; + type: { + kind: "struct"; + fields: [ + { + name: "bump"; + type: "u8"; + }, + { + name: "hasTransitionedToFullyPublic"; + type: "u8"; + }, + { + name: "hasCompletedOtcIn"; + type: "u8"; + }, + { + name: "hasCompletedOtcOut"; + type: "u8"; + }, + { + name: "padding"; + type: { + array: ["u8", 4]; + }; + }, + { + name: "campaignDuration"; + type: "i64"; + }, + { + name: "reservedGrantDuration"; + type: "i64"; + }, + { + name: "campaignStartDate"; + type: "i64"; + }, + { + name: "publicAmount"; + type: "u64"; + }, + { + name: "reservedAmount"; + type: "u64"; + }, + { + name: "publicAmountClaimed"; + type: "u64"; + }, + { + name: "reservedAmountClaimed"; + type: "u64"; + }, + { + name: "reservedGrantOwners"; + type: { + array: ["publicKey", 43]; + }; + }, + { + name: "reservedGrantAmounts"; + type: { + array: ["u64", 43]; + }; + }, + { + name: "paddingUnsafe"; + type: { + array: ["u8", 8]; + }; + }, + ]; + }; + }, + { + name: "pool"; + type: { + kind: "struct"; + fields: [ + { + name: "bump"; + type: "u8"; + }, + { + name: "lpTokenBump"; + type: "u8"; + }, + { + name: "nbStableCustody"; + type: "u8"; + }, + { + name: "initialized"; + type: "u8"; + }, + { + name: "allowTrade"; + type: "u8"; + }, + { + name: "allowSwap"; + type: "u8"; + }, + { + name: "liquidityState"; + type: "u8"; + }, + { + name: "registeredCustodyCount"; + type: "u8"; + }, + { + name: "name"; + type: { + defined: "LimitedString"; + }; + }, + { + name: "custodies"; + type: { + array: ["publicKey", 8]; + }; + }, + { + name: "padding1"; + type: { + array: ["u8", 32]; + }; + }, + { + name: "whitelistedSwapper"; + type: "publicKey"; + }, + { + name: "ratios"; + type: { + array: [ + { + defined: "TokenRatios"; + }, + 8, + ]; + }; + }, + { + name: "padding2"; + type: { + array: ["u8", 16]; + }; + }, + { + name: "aumUsd"; + type: { + defined: "U128Split"; + }; + }, + { + name: "inceptionTime"; + type: "i64"; + }, + { + name: "aumSoftCapUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "position"; + type: { + kind: "struct"; + fields: [ + { + name: "bump"; + type: "u8"; + }, + { + name: "side"; + type: "u8"; + }, + { + name: "takeProfitIsSet"; + type: "u8"; + }, + { + name: "stopLossIsSet"; + type: "u8"; + }, + { + name: "paddingUnsafe"; + type: { + array: ["u8", 1]; + }; + }, + { + name: "padding"; + type: { + array: ["u8", 3]; + }; + }, + { + name: "owner"; + type: "publicKey"; + }, + { + name: "pool"; + type: "publicKey"; + }, + { + name: "custody"; + type: "publicKey"; + }, + { + name: "collateralCustody"; + type: "publicKey"; + }, + { + name: "openTime"; + type: "i64"; + }, + { + name: "updateTime"; + type: "i64"; + }, + { + name: "price"; + type: "u64"; + }, + { + name: "sizeUsd"; + type: "u64"; + }, + { + name: "borrowSizeUsd"; + type: "u64"; + }, + { + name: "collateralUsd"; + type: "u64"; + }, + { + name: "unrealizedInterestUsd"; + type: "u64"; + }, + { + name: "cumulativeInterestSnapshot"; + type: { + defined: "U128Split"; + }; + }, + { + name: "lockedAmount"; + type: "u64"; + }, + { + name: "collateralAmount"; + type: "u64"; + }, + { + name: "exitFeeUsd"; + type: "u64"; + }, + { + name: "liquidationFeeUsd"; + type: "u64"; + }, + { + name: "id"; + type: "u64"; + }, + { + name: "takeProfitLimitPrice"; + type: "u64"; + }, + { + name: "paddingUnsafe3"; + type: { + array: ["u8", 8]; + }; + }, + { + name: "stopLossLimitPrice"; + type: "u64"; + }, + { + name: "stopLossClosePositionPrice"; + type: "u64"; + }, + ]; + }; + }, + { + name: "staking"; + type: { + kind: "struct"; + fields: [ + { + name: "stakingType"; + type: "u8"; + }, + { + name: "bump"; + type: "u8"; + }, + { + name: "stakedTokenVaultBump"; + type: "u8"; + }, + { + name: "rewardTokenVaultBump"; + type: "u8"; + }, + { + name: "lmRewardTokenVaultBump"; + type: "u8"; + }, + { + name: "rewardTokenDecimals"; + type: "u8"; + }, + { + name: "stakedTokenDecimals"; + type: "u8"; + }, + { + name: "initialized"; + type: "u8"; + }, + { + name: "nbLockedTokens"; + type: "u64"; + }, + { + name: "nbLiquidTokens"; + type: "u64"; + }, + { + name: "stakedTokenMint"; + type: "publicKey"; + }, + { + name: "resolvedRewardTokenAmount"; + type: "u64"; + }, + { + name: "resolvedStakedTokenAmount"; + type: "u64"; + }, + { + name: "resolvedLmRewardTokenAmount"; + type: "u64"; + }, + { + name: "resolvedLmStakedTokenAmount"; + type: "u64"; + }, + { + name: "currentStakingRound"; + type: { + defined: "StakingRound"; + }; + }, + { + name: "nextStakingRound"; + type: { + defined: "StakingRound"; + }; + }, + { + name: "resolvedStakingRounds"; + type: { + array: [ + { + defined: "StakingRound"; + }, + 32, + ]; + }; + }, + { + name: "registeredResolvedStakingRoundCount"; + type: "u8"; + }, + { + name: "padding"; + type: { + array: ["u8", 3]; + }; + }, + { + name: "lmEmissionPotentiometerBps"; + type: "u16"; + }, + { + name: "monthsElapsedSinceInception"; + type: "u16"; + }, + { + name: "paddingUnsafe"; + type: { + array: ["u8", 8]; + }; + }, + { + name: "emissionAmountPerRoundLastUpdate"; + type: "i64"; + }, + { + name: "currentMonthEmissionAmountPerRound"; + type: "u64"; + }, + ]; + }; + }, + { + name: "userProfile"; + type: { + kind: "struct"; + fields: [ + { + name: "bump"; + type: "u8"; + }, + { + name: "padding"; + type: { + array: ["u8", 7]; + }; + }, + { + name: "nickname"; + type: { + defined: "LimitedString"; + }; + }, + { + name: "createdAt"; + type: "i64"; + }, + { + name: "owner"; + type: "publicKey"; + }, + { + name: "swapCount"; + type: "u64"; + }, + { + name: "swapVolumeUsd"; + type: "u64"; + }, + { + name: "swapFeePaidUsd"; + type: "u64"; + }, + { + name: "shortStats"; + type: { + defined: "TradingStats"; + }; + }, + { + name: "longStats"; + type: { + defined: "TradingStats"; + }; + }, + ]; + }; + }, + { + name: "userStaking"; + type: { + kind: "struct"; + fields: [ + { + name: "bump"; + type: "u8"; + }, + { + name: "unusedUnsafe"; + type: { + array: ["u8", 1]; + }; + }, + { + name: "stakingType"; + type: "u8"; + }, + { + name: "padding"; + type: { + array: ["u8", 5]; + }; + }, + { + name: "lockedStakeIdCounter"; + type: "u64"; + }, + { + name: "liquidStake"; + type: { + defined: "LiquidStake"; + }; + }, + { + name: "lockedStakes"; + type: { + array: [ + { + defined: "LockedStake"; + }, + 32, + ]; + }; + }, + ]; + }; + }, + { + name: "vestRegistry"; + type: { + kind: "struct"; + fields: [ + { + name: "bump"; + type: "u8"; + }, + { + name: "vests"; + type: { + vec: "publicKey"; + }; + }, + { + name: "vestingTokenAmount"; + type: "u64"; + }, + { + name: "vestedTokenAmount"; + type: "u64"; + }, + ]; + }; + }, + { + name: "vest"; + type: { + kind: "struct"; + fields: [ + { + name: "bump"; + type: "u8"; + }, + { + name: "originBucket"; + type: "u8"; + }, + { + name: "cancelled"; + type: "u8"; + }, + { + name: "padding"; + type: { + array: ["u8", 1]; + }; + }, + { + name: "voteMultiplier"; + type: "u32"; + }, + { + name: "amount"; + type: "u64"; + }, + { + name: "unlockStartTimestamp"; + type: "i64"; + }, + { + name: "unlockEndTimestamp"; + type: "i64"; + }, + { + name: "claimedAmount"; + type: "u64"; + }, + { + name: "lastClaimTimestamp"; + type: "i64"; + }, + { + name: "owner"; + type: "publicKey"; + }, + ]; + }; + }, + ]; + types: [ + { + name: "MintLmTokensFromBucketParams"; + type: { + kind: "struct"; + fields: [ + { + name: "bucketName"; + type: "u8"; + }, + { + name: "amount"; + type: "u64"; + }, + { + name: "reason"; + type: "string"; + }, + ]; + }; + }, + { + name: "SetAdminParams"; + type: { + kind: "struct"; + fields: [ + { + name: "newAdmin"; + type: "publicKey"; + }, + ]; + }; + }, + { + name: "AddCustodyParams"; + type: { + kind: "struct"; + fields: [ + { + name: "isStable"; + type: "bool"; + }, + { + name: "pricing"; + type: { + defined: "PricingParams"; + }; + }, + { + name: "allowSwap"; + type: "bool"; + }, + { + name: "allowTrade"; + type: "bool"; + }, + { + name: "fees"; + type: { + defined: "Fees"; + }; + }, + { + name: "borrowRate"; + type: { + defined: "BorrowRateParams"; + }; + }, + { + name: "ratios"; + type: { + array: [ + { + defined: "TokenRatios"; + }, + 8, + ]; + }; + }, + ]; + }; + }, + { + name: "RemoveCustodyParams"; + type: { + kind: "struct"; + fields: [ + { + name: "ratios"; + type: { + array: [ + { + defined: "TokenRatios"; + }, + 8, + ]; + }; + }, + ]; + }; + }, + { + name: "SetCustodyAllowSwapParams"; + type: { + kind: "struct"; + fields: [ + { + name: "allowSwap"; + type: "bool"; + }, + ]; + }; + }, + { + name: "SetCustodyAllowTradeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "allowTrade"; + type: "bool"; + }, + ]; + }; + }, + { + name: "SetCustodyConfigParams"; + type: { + kind: "struct"; + fields: [ + { + name: "isStable"; + type: "bool"; + }, + { + name: "oracle"; + type: "publicKey"; + }, + { + name: "tradeOracle"; + type: "publicKey"; + }, + { + name: "pricing"; + type: { + defined: "PricingParams"; + }; + }, + { + name: "fees"; + type: { + defined: "Fees"; + }; + }, + { + name: "borrowRate"; + type: { + defined: "BorrowRateParams"; + }; + }, + { + name: "ratios"; + type: { + array: [ + { + defined: "TokenRatios"; + }, + 8, + ]; + }; + }, + ]; + }; + }, + { + name: "SetCustodyMaxCumulativeShortPositionSizeUsdParams"; + type: { + kind: "struct"; + fields: [ + { + name: "maxCumulativeShortPositionSizeUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "InitOneParams"; + type: { + kind: "struct"; + fields: [ + { + name: "coreContributorBucketAllocation"; + type: "u64"; + }, + { + name: "foundationBucketAllocation"; + type: "u64"; + }, + { + name: "ecosystemBucketAllocation"; + type: "u64"; + }, + ]; + }; + }, + { + name: "AddPoolPartOneParams"; + type: { + kind: "struct"; + fields: [ + { + name: "name"; + type: "string"; + }, + { + name: "aumSoftCapUsd"; + type: "u64"; + }, + { + name: "lpTokenName"; + type: "string"; + }, + { + name: "lpTokenSymbol"; + type: "string"; + }, + { + name: "lpTokenUri"; + type: "string"; + }, + ]; + }; + }, + { + name: "AddPoolPartTwoParams"; + type: { + kind: "struct"; + fields: [ + { + name: "genesisLockCampaignDuration"; + type: "i64"; + }, + { + name: "genesisReservedGrantDuration"; + type: "i64"; + }, + { + name: "genesisLockCampaignStartDate"; + type: "i64"; + }, + { + name: "reservedSpots"; + type: { + defined: "ReservedSpots"; + }; + }, + ]; + }; + }, + { + name: "GenesisOtcInParams"; + type: { + kind: "struct"; + fields: [ + { + name: "custodyOneAmount"; + type: "u64"; + }, + { + name: "custodyTwoAmount"; + type: "u64"; + }, + { + name: "custodyThreeAmount"; + type: "u64"; + }, + ]; + }; + }, + { + name: "SetPoolAllowSwapParams"; + type: { + kind: "struct"; + fields: [ + { + name: "allowSwap"; + type: "bool"; + }, + ]; + }; + }, + { + name: "SetPoolAllowTradeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "allowTrade"; + type: "bool"; + }, + ]; + }; + }, + { + name: "SetPoolAumSoftCapUsdParams"; + type: { + kind: "struct"; + fields: [ + { + name: "aumSoftCapUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "SetPoolLiquidityStateParams"; + type: { + kind: "struct"; + fields: [ + { + name: "liquidityState"; + type: "u8"; + }, + ]; + }; + }, + { + name: "InitStakingOneParams"; + type: { + kind: "struct"; + fields: [ + { + name: "stakingType"; + type: "u8"; + }, + ]; + }; + }, + { + name: "SetStakingLmEmissionPotentiometersParams"; + type: { + kind: "struct"; + fields: [ + { + name: "lmEmissionPotentiometerBps"; + type: "u16"; + }, + ]; + }; + }, + { + name: "AddVestParams"; + type: { + kind: "struct"; + fields: [ + { + name: "amount"; + type: "u64"; + }, + { + name: "originBucket"; + type: "u8"; + }, + { + name: "unlockStartTimestamp"; + type: "i64"; + }, + { + name: "unlockEndTimestamp"; + type: "i64"; + }, + { + name: "voteMultiplier"; + type: "u32"; + }, + ]; + }; + }, + { + name: "AddGenesisLiquidityParams"; + type: { + kind: "struct"; + fields: [ + { + name: "amountIn"; + type: "u64"; + }, + { + name: "minLpAmountOut"; + type: "u64"; + }, + ]; + }; + }, + { + name: "AddLiquidityParams"; + type: { + kind: "struct"; + fields: [ + { + name: "amountIn"; + type: "u64"; + }, + { + name: "minLpAmountOut"; + type: "u64"; + }, + ]; + }; + }, + { + name: "RemoveLiquidityParams"; + type: { + kind: "struct"; + fields: [ + { + name: "lpAmountIn"; + type: "u64"; + }, + { + name: "minAmountOut"; + type: "u64"; + }, + ]; + }; + }, + { + name: "SwapParams"; + type: { + kind: "struct"; + fields: [ + { + name: "amountIn"; + type: "u64"; + }, + { + name: "minAmountOut"; + type: "u64"; + }, + ]; + }; + }, + { + name: "AddCollateralLongParams"; + type: { + kind: "struct"; + fields: [ + { + name: "collateral"; + type: "u64"; + }, + ]; + }; + }, + { + name: "AddCollateralShortParams"; + type: { + kind: "struct"; + fields: [ + { + name: "collateral"; + type: "u64"; + }, + ]; + }; + }, + { + name: "SetStopLossLongParams"; + type: { + kind: "struct"; + fields: [ + { + name: "stopLossLimitPrice"; + type: "u64"; + }, + { + name: "closePositionPrice"; + type: { + option: "u64"; + }; + }, + ]; + }; + }, + { + name: "SetStopLossShortParams"; + type: { + kind: "struct"; + fields: [ + { + name: "stopLossLimitPrice"; + type: "u64"; + }, + { + name: "closePositionPrice"; + type: { + option: "u64"; + }; + }, + ]; + }; + }, + { + name: "SetTakeProfitLongParams"; + type: { + kind: "struct"; + fields: [ + { + name: "takeProfitLimitPrice"; + type: "u64"; + }, + ]; + }; + }, + { + name: "SetTakeProfitShortParams"; + type: { + kind: "struct"; + fields: [ + { + name: "takeProfitLimitPrice"; + type: "u64"; + }, + ]; + }; + }, + { + name: "ClosePositionLongParams"; + type: { + kind: "struct"; + fields: [ + { + name: "price"; + type: { + option: "u64"; + }; + }, + ]; + }; + }, + { + name: "ClosePositionShortParams"; + type: { + kind: "struct"; + fields: [ + { + name: "price"; + type: { + option: "u64"; + }; + }, + ]; + }; + }, + { + name: "IncreasePositionLongParams"; + type: { + kind: "struct"; + fields: [ + { + name: "price"; + type: "u64"; + }, + { + name: "collateral"; + type: "u64"; + }, + { + name: "leverage"; + type: "u32"; + }, + ]; + }; + }, + { + name: "IncreasePositionShortParams"; + type: { + kind: "struct"; + fields: [ + { + name: "price"; + type: "u64"; + }, + { + name: "collateral"; + type: "u64"; + }, + { + name: "leverage"; + type: "u32"; + }, + ]; + }; + }, + { + name: "LiquidateLongParams"; + type: { + kind: "struct"; + fields: []; + }; + }, + { + name: "LiquidateShortParams"; + type: { + kind: "struct"; + fields: []; + }; + }, + { + name: "OpenPositionWithSwapParams"; + type: { + kind: "struct"; + fields: [ + { + name: "price"; + type: "u64"; + }, + { + name: "collateral"; + type: "u64"; + }, + { + name: "leverage"; + type: "u32"; + }, + { + name: "referrer"; + type: { + option: "publicKey"; + }; + }, + ]; + }; + }, + { + name: "OpenPositionLongParams"; + type: { + kind: "struct"; + fields: [ + { + name: "price"; + type: "u64"; + }, + { + name: "collateral"; + type: "u64"; + }, + { + name: "leverage"; + type: "u32"; + }, + { + name: "referrer"; + type: { + option: "publicKey"; + }; + }, + ]; + }; + }, + { + name: "OpenPositionShortParams"; + type: { + kind: "struct"; + fields: [ + { + name: "price"; + type: "u64"; + }, + { + name: "collateral"; + type: "u64"; + }, + { + name: "leverage"; + type: "u32"; + }, + { + name: "referrer"; + type: { + option: "publicKey"; + }; + }, + ]; + }; + }, + { + name: "RemoveCollateralLongParams"; + type: { + kind: "struct"; + fields: [ + { + name: "collateralUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "RemoveCollateralShortParams"; + type: { + kind: "struct"; + fields: [ + { + name: "collateralUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "AddLiquidStakeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "amount"; + type: "u64"; + }, + ]; + }; + }, + { + name: "AddLockedStakeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "amount"; + type: "u64"; + }, + { + name: "lockedDays"; + type: "u32"; + }, + ]; + }; + }, + { + name: "ClaimStakesParams"; + type: { + kind: "struct"; + fields: [ + { + name: "lockedStakeIndexes"; + type: { + option: "bytes"; + }; + }, + ]; + }; + }, + { + name: "FinalizeLockedStakeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "lockedStakeId"; + type: "u64"; + }, + { + name: "earlyExit"; + type: "bool"; + }, + ]; + }; + }, + { + name: "RemoveLiquidStakeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "amount"; + type: "u64"; + }, + ]; + }; + }, + { + name: "RemoveLockedStakeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "lockedStakeIndex"; + type: "u64"; + }, + ]; + }; + }, + { + name: "UpgradeLockedStakeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "lockedStakeId"; + type: "u64"; + }, + { + name: "amount"; + type: { + option: "u64"; + }; + }, + { + name: "lockedDays"; + type: { + option: "u32"; + }; + }, + ]; + }; + }, + { + name: "EditUserProfileParams"; + type: { + kind: "struct"; + fields: [ + { + name: "nickname"; + type: "string"; + }, + ]; + }; + }, + { + name: "InitUserProfileParams"; + type: { + kind: "struct"; + fields: [ + { + name: "nickname"; + type: "string"; + }, + ]; + }; + }, + { + name: "GetAddLiquidityAmountAndFeeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "amountIn"; + type: "u64"; + }, + ]; + }; + }, + { + name: "GetEntryPriceAndFeeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "collateral"; + type: "u64"; + }, + { + name: "leverage"; + type: "u32"; + }, + { + name: "side"; + type: "u8"; + }, + ]; + }; + }, + { + name: "GetLiquidationPriceParams"; + type: { + kind: "struct"; + fields: [ + { + name: "addCollateral"; + type: "u64"; + }, + { + name: "removeCollateral"; + type: "u64"; + }, + ]; + }; + }, + { + name: "GetOpenPositionWithSwapAmountAndFeesParams"; + type: { + kind: "struct"; + fields: [ + { + name: "collateralAmount"; + type: "u64"; + }, + { + name: "leverage"; + type: "u32"; + }, + { + name: "side"; + type: "u8"; + }, + ]; + }; + }, + { + name: "CustodyInfoSnapshot"; + type: { + kind: "struct"; + fields: [ + { + name: "assetsValueUsd"; + type: "u64"; + }, + { + name: "owned"; + type: "u64"; + }, + { + name: "locked"; + type: "u64"; + }, + { + name: "price"; + type: "u64"; + }, + { + name: "priceConfidence"; + type: "u64"; + }, + { + name: "tradePrice"; + type: "u64"; + }, + { + name: "tradePriceConfidence"; + type: "u64"; + }, + { + name: "shortPnl"; + type: "i64"; + }, + { + name: "longPnl"; + type: "i64"; + }, + { + name: "openInterestLongUsd"; + type: "u64"; + }, + { + name: "openInterestShortUsd"; + type: "u64"; + }, + { + name: "cumulativeProfitUsd"; + type: "u64"; + }, + { + name: "cumulativeLossUsd"; + type: "u64"; + }, + { + name: "cumulativeSwapFeeUsd"; + type: "u64"; + }, + { + name: "cumulativeLiquidityFeeUsd"; + type: "u64"; + }, + { + name: "cumulativeClosePositionFeeUsd"; + type: "u64"; + }, + { + name: "cumulativeLiquidationFeeUsd"; + type: "u64"; + }, + { + name: "cumulativeBorrowFeeUsd"; + type: "u64"; + }, + { + name: "cumulativeTradingVolumeUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "PoolInfoSnapshot"; + type: { + kind: "struct"; + fields: [ + { + name: "currentTime"; + type: "u64"; + }, + { + name: "aumUsd"; + type: "u64"; + }, + { + name: "lpTokenPrice"; + type: "u64"; + }, + { + name: "custodiesInfoSnapshot"; + type: { + vec: { + defined: "CustodyInfoSnapshot"; + }; + }; + }, + { + name: "lpCirculatingSupply"; + type: "u64"; + }, + ]; + }; + }, + { + name: "GetRemoveLiquidityAmountAndFeeParams"; + type: { + kind: "struct"; + fields: [ + { + name: "lpAmountIn"; + type: "u64"; + }, + ]; + }; + }, + { + name: "GetSwapAmountAndFeesParams"; + type: { + kind: "struct"; + fields: [ + { + name: "amountIn"; + type: "u64"; + }, + ]; + }; + }, + { + name: "ExitPriceAndFee"; + type: { + kind: "struct"; + fields: [ + { + name: "price"; + type: "u64"; + }, + { + name: "fee"; + type: "u64"; + }, + { + name: "amountOut"; + type: "u64"; + }, + { + name: "profitUsd"; + type: "u64"; + }, + { + name: "lossUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "AmountAndFee"; + type: { + kind: "struct"; + fields: [ + { + name: "amount"; + type: "u64"; + }, + { + name: "fee"; + type: "u64"; + }, + ]; + }; + }, + { + name: "NewPositionPricesAndFee"; + type: { + kind: "struct"; + fields: [ + { + name: "entryPrice"; + type: "u64"; + }, + { + name: "liquidationPrice"; + type: "u64"; + }, + { + name: "exitFee"; + type: "u64"; + }, + { + name: "liquidationFee"; + type: "u64"; + }, + { + name: "size"; + type: "u64"; + }, + ]; + }; + }, + { + name: "OpenPositionWithSwapAmountAndFees"; + type: { + kind: "struct"; + fields: [ + { + name: "entryPrice"; + type: "u64"; + }, + { + name: "liquidationPrice"; + type: "u64"; + }, + { + name: "swapFeeIn"; + type: "u64"; + }, + { + name: "swapFeeOut"; + type: "u64"; + }, + { + name: "exitFee"; + type: "u64"; + }, + { + name: "liquidationFee"; + type: "u64"; + }, + { + name: "size"; + type: "u64"; + }, + ]; + }; + }, + { + name: "SwapAmountAndFees"; + type: { + kind: "struct"; + fields: [ + { + name: "amountOut"; + type: "u64"; + }, + { + name: "feeIn"; + type: "u64"; + }, + { + name: "feeOut"; + type: "u64"; + }, + ]; + }; + }, + { + name: "ProfitAndLoss"; + docs: [ + "Specific to the codebase, this struct is used to store the profit and loss of a position.", + ]; + type: { + kind: "struct"; + fields: [ + { + name: "profitUsd"; + type: "u64"; + }, + { + name: "lossUsd"; + type: "u64"; + }, + { + name: "exitFee"; + type: "u64"; + }, + { + name: "exitFeeUsd"; + type: "u64"; + }, + { + name: "borrowFeeUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "Fees"; + type: { + kind: "struct"; + fields: [ + { + name: "swapIn"; + type: "u16"; + }, + { + name: "swapOut"; + type: "u16"; + }, + { + name: "stableSwapIn"; + type: "u16"; + }, + { + name: "stableSwapOut"; + type: "u16"; + }, + { + name: "addLiquidity"; + type: "u16"; + }, + { + name: "removeLiquidity"; + type: "u16"; + }, + { + name: "closePosition"; + type: "u16"; + }, + { + name: "liquidation"; + type: "u16"; + }, + { + name: "feeMax"; + type: "u16"; + }, + { + name: "padding"; + type: { + array: ["u8", 6]; + }; + }, + { + name: "padding2"; + type: "u64"; + }, + ]; + }; + }, + { + name: "FeesStats"; + type: { + kind: "struct"; + fields: [ + { + name: "swapUsd"; + type: "u64"; + }, + { + name: "addLiquidityUsd"; + type: "u64"; + }, + { + name: "removeLiquidityUsd"; + type: "u64"; + }, + { + name: "closePositionUsd"; + type: "u64"; + }, + { + name: "liquidationUsd"; + type: "u64"; + }, + { + name: "borrowUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "VolumeStats"; + type: { + kind: "struct"; + fields: [ + { + name: "swapUsd"; + type: "u64"; + }, + { + name: "addLiquidityUsd"; + type: "u64"; + }, + { + name: "removeLiquidityUsd"; + type: "u64"; + }, + { + name: "openPositionUsd"; + type: "u64"; + }, + { + name: "closePositionUsd"; + type: "u64"; + }, + { + name: "liquidationUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "TradeStats"; + type: { + kind: "struct"; + fields: [ + { + name: "profitUsd"; + type: "u64"; + }, + { + name: "lossUsd"; + type: "u64"; + }, + { + name: "oiLongUsd"; + type: "u64"; + }, + { + name: "oiShortUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "Assets"; + type: { + kind: "struct"; + fields: [ + { + name: "collateral"; + type: "u64"; + }, + { + name: "owned"; + type: "u64"; + }, + { + name: "locked"; + type: "u64"; + }, + ]; + }; + }, + { + name: "PricingParams"; + type: { + kind: "struct"; + fields: [ + { + name: "maxInitialLeverage"; + type: "u32"; + }, + { + name: "maxLeverage"; + type: "u32"; + }, + { + name: "maxPositionLockedUsd"; + type: "u64"; + }, + { + name: "maxCumulativeShortPositionSizeUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "BorrowRateParams"; + type: { + kind: "struct"; + fields: [ + { + name: "maxHourlyBorrowInterestRate"; + type: "u64"; + }, + ]; + }; + }, + { + name: "BorrowRateState"; + type: { + kind: "struct"; + fields: [ + { + name: "currentRate"; + type: "u64"; + }, + { + name: "lastUpdate"; + type: "i64"; + }, + { + name: "cumulativeInterest"; + type: { + defined: "U128Split"; + }; + }, + ]; + }; + }, + { + name: "PositionsAccounting"; + type: { + kind: "struct"; + fields: [ + { + name: "openPositions"; + type: "u64"; + }, + { + name: "sizeUsd"; + type: "u64"; + }, + { + name: "borrowSizeUsd"; + type: "u64"; + }, + { + name: "lockedAmount"; + type: "u64"; + }, + { + name: "weightedPrice"; + type: { + defined: "U128Split"; + }; + }, + { + name: "totalQuantity"; + type: { + defined: "U128Split"; + }; + }, + { + name: "cumulativeInterestUsd"; + type: "u64"; + }, + { + name: "padding"; + type: { + array: ["u8", 8]; + }; + }, + { + name: "cumulativeInterestSnapshot"; + type: { + defined: "U128Split"; + }; + }, + { + name: "exitFeeUsd"; + type: "u64"; + }, + { + name: "stableLockedAmount"; + type: { + array: [ + { + defined: "StableLockedAmountStat"; + }, + 2, + ]; + }; + }, + ]; + }; + }, + { + name: "StableLockedAmountStat"; + type: { + kind: "struct"; + fields: [ + { + name: "custody"; + type: "publicKey"; + }, + { + name: "lockedAmount"; + type: "u64"; + }, + { + name: "padding"; + type: { + array: ["u8", 8]; + }; + }, + ]; + }; + }, + { + name: "OraclePrice"; + type: { + kind: "struct"; + fields: [ + { + name: "price"; + type: "u64"; + }, + { + name: "exponent"; + type: "i32"; + }, + { + name: "confidence"; + type: "u64"; + }, + ]; + }; + }, + { + name: "TokenRatios"; + type: { + kind: "struct"; + fields: [ + { + name: "target"; + type: "u16"; + }, + { + name: "min"; + type: "u16"; + }, + { + name: "max"; + type: "u16"; + }, + { + name: "padding"; + type: { + array: ["u8", 2]; + }; + }, + ]; + }; + }, + { + name: "StakingRound"; + type: { + kind: "struct"; + fields: [ + { + name: "startTime"; + type: "i64"; + }, + { + name: "endTime"; + type: "i64"; + }, + { + name: "rate"; + type: "u64"; + }, + { + name: "totalStake"; + type: "u64"; + }, + { + name: "totalClaim"; + type: "u64"; + }, + { + name: "lmRate"; + type: "u64"; + }, + { + name: "lmTotalStake"; + type: "u64"; + }, + { + name: "lmTotalClaim"; + type: "u64"; + }, + ]; + }; + }, + { + name: "TradingStats"; + type: { + kind: "struct"; + fields: [ + { + name: "openedPositionCount"; + type: "u64"; + }, + { + name: "liquidatedPositionCount"; + type: "u64"; + }, + { + name: "openingAverageLeverage"; + type: "u64"; + }, + { + name: "openingSizeUsd"; + type: "u64"; + }, + { + name: "profitsUsd"; + type: "u64"; + }, + { + name: "lossesUsd"; + type: "u64"; + }, + { + name: "feePaidUsd"; + type: "u64"; + }, + ]; + }; + }, + { + name: "LiquidStake"; + type: { + kind: "struct"; + fields: [ + { + name: "amount"; + type: "u64"; + }, + { + name: "stakeTime"; + type: "i64"; + }, + { + name: "claimTime"; + type: "i64"; + }, + { + name: "overlapTime"; + type: "i64"; + }, + { + name: "overlapAmount"; + type: "u64"; + }, + ]; + }; + }, + { + name: "LockedStake"; + type: { + kind: "struct"; + fields: [ + { + name: "amount"; + type: "u64"; + }, + { + name: "stakeTime"; + type: "i64"; + }, + { + name: "claimTime"; + type: "i64"; + }, + { + name: "endTime"; + type: "i64"; + }, + { + name: "lockDuration"; + type: "u64"; + }, + { + name: "rewardMultiplier"; + type: "u32"; + }, + { + name: "lmRewardMultiplier"; + type: "u32"; + }, + { + name: "voteMultiplier"; + type: "u32"; + }, + { + name: "qualifiedForRewardsInResolvedRoundCount"; + type: "u32"; + }, + { + name: "amountWithRewardMultiplier"; + type: "u64"; + }, + { + name: "amountWithLmRewardMultiplier"; + type: "u64"; + }, + { + name: "resolved"; + type: "u8"; + }, + { + name: "padding2"; + type: { + array: ["u8", 7]; + }; + }, + { + name: "id"; + type: "u64"; + }, + { + name: "earlyExit"; + type: "u8"; + }, + { + name: "padding3"; + type: { + array: ["u8", 7]; + }; + }, + { + name: "earlyExitFee"; + type: "u64"; + }, + { + name: "isGenesis"; + type: "u8"; + }, + { + name: "padding4"; + type: { + array: ["u8", 7]; + }; + }, + { + name: "genesisClaimTime"; + type: "i64"; + }, + ]; + }; + }, + { + name: "LimitedString"; + type: { + kind: "struct"; + fields: [ + { + name: "value"; + type: { + array: ["u8", 31]; + }; + }, + { + name: "length"; + type: "u8"; + }, + ]; + }; + }, + { + name: "U128Split"; + type: { + kind: "struct"; + fields: [ + { + name: "high"; + type: "u64"; + }, + { + name: "low"; + type: "u64"; + }, + ]; + }; + }, + { + name: "BucketName"; + type: { + kind: "enum"; + variants: [ + { + name: "CoreContributor"; + }, + { + name: "Foundation"; + }, + { + name: "Ecosystem"; + }, + ]; + }; + }, + { + name: "ReservedSpots"; + type: { + kind: "enum"; + variants: [ + { + name: "None"; + }, + { + name: "Test"; + fields: [ + { + name: "firstReservedSpot"; + type: "publicKey"; + }, + { + name: "secondReservedSpot"; + type: "publicKey"; + }, + ]; + }, + ]; + }; + }, + { + name: "CortexInitializationStep"; + type: { + kind: "enum"; + variants: [ + { + name: "NotCreated"; + }, + { + name: "Step1"; + }, + { + name: "Step2"; + }, + { + name: "Step3"; + }, + { + name: "Initialized"; + }, + ]; + }; + }, + { + name: "PoolLiquidityState"; + type: { + kind: "enum"; + variants: [ + { + name: "GenesisLiquidity"; + }, + { + name: "Idle"; + }, + { + name: "Active"; + }, + ]; + }; + }, + { + name: "LeverageCheckType"; + type: { + kind: "enum"; + variants: [ + { + name: "Initial"; + }, + { + name: "AddCollateral"; + }, + { + name: "RemoveCollateral"; + }, + { + name: "IncreasePosition"; + }, + { + name: "Liquidate"; + }, + ]; + }; + }, + { + name: "Side"; + type: { + kind: "enum"; + variants: [ + { + name: "None"; + }, + { + name: "Long"; + }, + { + name: "Short"; + }, + ]; + }; + }, + { + name: "StakingType"; + type: { + kind: "enum"; + variants: [ + { + name: "LM"; + }, + { + name: "LP"; + }, + ]; + }; + }, + { + name: "StakingInitializationStep"; + type: { + kind: "enum"; + variants: [ + { + name: "NotCreated"; + }, + { + name: "Step1"; + }, + { + name: "Step2"; + }, + { + name: "Step3"; + }, + { + name: "Initialized"; + }, + ]; + }; + }, + ]; + events: [ + { + name: "OpenPositionEvent"; + fields: [ + { + name: "owner"; + type: "publicKey"; + index: false; + }, + { + name: "position"; + type: "publicKey"; + index: false; + }, + { + name: "custodyMint"; + type: "publicKey"; + index: false; + }, + { + name: "side"; + type: "u8"; + index: false; + }, + { + name: "sizeUsd"; + type: "u64"; + index: false; + }, + { + name: "price"; + type: "u64"; + index: false; + }, + { + name: "collateralAmountUsd"; + type: "u64"; + index: false; + }, + { + name: "leverage"; + type: "u32"; + index: false; + }, + { + name: "positionId"; + type: "u64"; + index: false; + }, + ]; + }, + { + name: "IncreasePositionEvent"; + fields: [ + { + name: "owner"; + type: "publicKey"; + index: false; + }, + { + name: "position"; + type: "publicKey"; + index: false; + }, + { + name: "custodyMint"; + type: "publicKey"; + index: false; + }, + { + name: "side"; + type: "u8"; + index: false; + }, + { + name: "sizeUsd"; + type: "u64"; + index: false; + }, + { + name: "price"; + type: "u64"; + index: false; + }, + { + name: "collateralAmountUsd"; + type: "u64"; + index: false; + }, + { + name: "leverage"; + type: "u32"; + index: false; + }, + { + name: "positionId"; + type: "u64"; + index: false; + }, + ]; + }, + { + name: "ClosePositionEvent"; + fields: [ + { + name: "owner"; + type: "publicKey"; + index: false; + }, + { + name: "position"; + type: "publicKey"; + index: false; + }, + { + name: "custodyMint"; + type: "publicKey"; + index: false; + }, + { + name: "side"; + type: "u8"; + index: false; + }, + { + name: "sizeUsd"; + type: "u64"; + index: false; + }, + { + name: "price"; + type: "u64"; + index: false; + }, + { + name: "collateralAmountUsd"; + type: "u64"; + index: false; + }, + { + name: "profitUsd"; + type: "u64"; + index: false; + }, + { + name: "lossUsd"; + type: "u64"; + index: false; + }, + { + name: "borrowFeeUsd"; + type: "u64"; + index: false; + }, + { + name: "exitFeeUsd"; + type: "u64"; + index: false; + }, + { + name: "positionId"; + type: "u64"; + index: false; + }, + ]; + }, + { + name: "AddCollateralEvent"; + fields: [ + { + name: "owner"; + type: "publicKey"; + index: false; + }, + { + name: "position"; + type: "publicKey"; + index: false; + }, + { + name: "custodyMint"; + type: "publicKey"; + index: false; + }, + { + name: "side"; + type: "u8"; + index: false; + }, + { + name: "addAmountUsd"; + type: "u64"; + index: false; + }, + { + name: "newCollateralAmountUsd"; + type: "u64"; + index: false; + }, + { + name: "leverage"; + type: "u32"; + index: false; + }, + { + name: "positionId"; + type: "u64"; + index: false; + }, + ]; + }, + { + name: "RemoveCollateralEvent"; + fields: [ + { + name: "owner"; + type: "publicKey"; + index: false; + }, + { + name: "position"; + type: "publicKey"; + index: false; + }, + { + name: "custodyMint"; + type: "publicKey"; + index: false; + }, + { + name: "side"; + type: "u8"; + index: false; + }, + { + name: "removeAmountUsd"; + type: "u64"; + index: false; + }, + { + name: "newCollateralAmountUsd"; + type: "u64"; + index: false; + }, + { + name: "leverage"; + type: "u32"; + index: false; + }, + { + name: "positionId"; + type: "u64"; + index: false; + }, + ]; + }, + { + name: "LiquidateEvent"; + fields: [ + { + name: "owner"; + type: "publicKey"; + index: false; + }, + { + name: "position"; + type: "publicKey"; + index: false; + }, + { + name: "custodyMint"; + type: "publicKey"; + index: false; + }, + { + name: "side"; + type: "u8"; + index: false; + }, + { + name: "sizeUsd"; + type: "u64"; + index: false; + }, + { + name: "price"; + type: "u64"; + index: false; + }, + { + name: "collateralAmountUsd"; + type: "u64"; + index: false; + }, + { + name: "lossUsd"; + type: "u64"; + index: false; + }, + { + name: "borrowFeeUsd"; + type: "u64"; + index: false; + }, + { + name: "exitFeeUsd"; + type: "u64"; + index: false; + }, + { + name: "positionId"; + type: "u64"; + index: false; + }, + ]; + }, + { + name: "AddLockedStakeEvent"; + fields: [ + { + name: "owner"; + type: "publicKey"; + index: false; + }, + { + name: "staking"; + type: "publicKey"; + index: false; + }, + { + name: "lockedStakeId"; + type: "u64"; + index: false; + }, + { + name: "amount"; + type: "u64"; + index: false; + }, + { + name: "lockedDays"; + type: "u32"; + index: false; + }, + ]; + }, + { + name: "UpgradeLockedStakeEvent"; + fields: [ + { + name: "owner"; + type: "publicKey"; + index: false; + }, + { + name: "staking"; + type: "publicKey"; + index: false; + }, + { + name: "lockedStakeId"; + type: "u64"; + index: false; + }, + { + name: "amount"; + type: { + option: "u64"; + }; + index: false; + }, + { + name: "lockedDays"; + type: { + option: "u32"; + }; + index: false; + }, + ]; + }, + { + name: "FinalizeLockedStakeEvent"; + fields: [ + { + name: "owner"; + type: "publicKey"; + index: false; + }, + { + name: "staking"; + type: "publicKey"; + index: false; + }, + { + name: "lockedStakeId"; + type: "u64"; + index: false; + }, + { + name: "earlyExit"; + type: "bool"; + index: false; + }, + ]; + }, + { + name: "RemoveLockedStakeEvent"; + fields: [ + { + name: "owner"; + type: "publicKey"; + index: false; + }, + { + name: "staking"; + type: "publicKey"; + index: false; + }, + { + name: "lockedStakeId"; + type: "u64"; + index: false; + }, + ]; + }, + { + name: "SetStopLossEvent"; + fields: [ + { + name: "positionId"; + type: "u64"; + index: false; + }, + { + name: "stopLossLimitPrice"; + type: "u64"; + index: false; + }, + { + name: "closePositionPrice"; + type: { + option: "u64"; + }; + index: false; + }, + { + name: "positionSide"; + type: "u8"; + index: false; + }, + ]; + }, + { + name: "SetTakeProfitEvent"; + fields: [ + { + name: "positionId"; + type: "u64"; + index: false; + }, + { + name: "takeProfitLimitPrice"; + type: "u64"; + index: false; + }, + { + name: "positionSide"; + type: "u8"; + index: false; + }, + ]; + }, + { + name: "CancelStopLossEvent"; + fields: [ + { + name: "positionId"; + type: "u64"; + index: false; + }, + { + name: "positionSide"; + type: "u8"; + index: false; + }, + ]; + }, + { + name: "CancelTakeProfitEvent"; + fields: [ + { + name: "positionId"; + type: "u64"; + index: false; + }, + { + name: "positionSide"; + type: "u8"; + index: false; + }, + ]; + }, + ]; + errors: [ + { + code: 6000; + name: "MathOverflow"; + msg: "Overflow in arithmetic operation"; + }, + { + code: 6001; + name: "UnsupportedOracle"; + msg: "Unsupported price oracle"; + }, + { + code: 6002; + name: "InvalidOracleAccount"; + msg: "Invalid oracle account"; + }, + { + code: 6003; + name: "InvalidOracleState"; + msg: "Invalid oracle state"; + }, + { + code: 6004; + name: "StaleOraclePrice"; + msg: "Stale oracle price"; + }, + { + code: 6005; + name: "InvalidOraclePrice"; + msg: "Invalid oracle price"; + }, + { + code: 6006; + name: "InvalidEnvironment"; + msg: "Instruction is not allowed in production"; + }, + { + code: 6007; + name: "InvalidPoolLiquidityState"; + msg: "Invalid pool liquidity state"; + }, + { + code: 6008; + name: "InvalidCortexState"; + msg: "Invalid cortex state"; + }, + { + code: 6009; + name: "InvalidStakingState"; + msg: "Invalid staking state"; + }, + { + code: 6010; + name: "InvalidPoolState"; + msg: "Invalid pool state"; + }, + { + code: 6011; + name: "InvalidVestState"; + msg: "Invalid vest state"; + }, + { + code: 6012; + name: "InvalidStakeState"; + msg: "Invalid stake state"; + }, + { + code: 6013; + name: "InvalidCustody"; + msg: "Invalid custody"; + }, + { + code: 6014; + name: "InvalidCustodyAccount"; + msg: "Invalid custody account"; + }, + { + code: 6015; + name: "InvalidCustodyState"; + msg: "Invalid custody state"; + }, + { + code: 6016; + name: "InvalidCollateralCustody"; + msg: "Invalid collateral custody"; + }, + { + code: 6017; + name: "InvalidPositionState"; + msg: "Invalid position state"; + }, + { + code: 6018; + name: "PositionNotInLiquidationRange"; + msg: "The position is not in liquidation range"; + }, + { + code: 6019; + name: "InvalidStakingRoundState"; + msg: "Invalid staking round state"; + }, + { + code: 6020; + name: "InvalidAdrenaConfig"; + msg: "Invalid adrena config"; + }, + { + code: 6021; + name: "InvalidPoolConfig"; + msg: "Invalid pool config"; + }, + { + code: 6022; + name: "InvalidCustodyConfig"; + msg: "Invalid custody config"; + }, + { + code: 6023; + name: "InsufficientAmountReturned"; + msg: "Insufficient token amount returned"; + }, + { + code: 6024; + name: "MaxPriceSlippage"; + msg: "Price slippage limit exceeded"; + }, + { + code: 6025; + name: "MaxLeverage"; + msg: "Position leverage limit exceeded"; + }, + { + code: 6026; + name: "MinLeverage"; + msg: "Position leverage under minimum"; + }, + { + code: 6027; + name: "CustodyAmountLimit"; + msg: "Custody amount limit exceeded"; + }, + { + code: 6028; + name: "PositionAmountLimit"; + msg: "Position amount limit exceeded"; + }, + { + code: 6029; + name: "TokenRatioOutOfRange"; + msg: "Token ratio out of range"; + }, + { + code: 6030; + name: "UnsupportedToken"; + msg: "Token is not supported"; + }, + { + code: 6031; + name: "InstructionNotAllowed"; + msg: "Instruction is not allowed at this time"; + }, + { + code: 6032; + name: "MaxUtilization"; + msg: "Token utilization limit exceeded"; + }, + { + code: 6033; + name: "MaxRegisteredResolvedStakingRoundReached"; + msg: "Max registered resolved staking round reached"; + }, + { + code: 6034; + name: "InvalidGovernanceProgram"; + msg: "Governance program do not match Cortex's one"; + }, + { + code: 6035; + name: "InvalidGovernanceRealm"; + msg: "Governance realm do not match Cortex's one"; + }, + { + code: 6036; + name: "InvalidVestingUnlockTime"; + msg: "Vesting unlock time is too close or passed"; + }, + { + code: 6037; + name: "InvalidStakingLockingTime"; + msg: "Invalid staking locking time"; + }, + { + code: 6038; + name: "UserStakeNotFound"; + msg: "The user stake account specified could not be found"; + }, + { + code: 6039; + name: "InvalidAccountData"; + msg: "Invalid account data"; + }, + { + code: 6040; + name: "UnresolvedStake"; + msg: "Stake is not resolved"; + }, + { + code: 6041; + name: "BucketMintLimit"; + msg: "Reached bucket mint limit"; + }, + { + code: 6042; + name: "GenesisAlpLimitReached"; + msg: "Genesis ALP add liquidity limit reached"; + }, + { + code: 6043; + name: "PermissionlessOracleMissingSignature"; + msg: "Permissionless oracle update must be preceded by Ed25519 signature verification instruction"; + }, + { + code: 6044; + name: "PermissionlessOracleMalformedEd25519Data"; + msg: "Ed25519 signature verification data does not match expected format"; + }, + { + code: 6045; + name: "PermissionlessOracleSignerMismatch"; + msg: "Ed25519 signature was not signed by the oracle authority"; + }, + { + code: 6046; + name: "PermissionlessOracleMessageMismatch"; + msg: "Signed message does not match instruction params"; + }, + { + code: 6047; + name: "CustodyStableLockedAmountNotFound"; + msg: "Cannot find custody stable locked amount"; + }, + { + code: 6048; + name: "CustodyNotFound"; + msg: "Cannot find custody"; + }, + { + code: 6049; + name: "InsufficientBucketReserve"; + msg: "The bucket does not contain enough token for reserving this allocation"; + }, + { + code: 6050; + name: "UserNicknameTooLong"; + msg: "User nickname exceed 24 characters"; + }, + { + code: 6051; + name: "UserNicknameTooShort"; + msg: "User nickname is less than 3 characters"; + }, + { + code: 6052; + name: "InvalidGenesisLockState"; + msg: "Invalid genesis lock state"; + }, + { + code: 6053; + name: "GenesisLockCampaignFullySubscribed"; + msg: "The campaign is fully subscribed"; + }, + { + code: 6054; + name: "PoolAumSoftCapUsdReached"; + msg: "The pool is fully subscribed"; + }, + { + code: 6055; + name: "MaxRegisteredPool"; + msg: "The number of registered pool reached max amount"; + }, + { + code: 6056; + name: "MaxRegisteredCustodies"; + msg: "The number of registered custody reached max amount"; + }, + { + code: 6057; + name: "MaxCumulativeShortPositionSizeLimit"; + msg: "The short limit for this asset has been reached"; + }, + { + code: 6058; + name: "LockedStakeArrayFull"; + msg: "The max number of LockedStaking has been reached"; + }, + { + code: 6059; + name: "IndexOutOfBounds"; + msg: "Requested index is out of bounds"; + }, + { + code: 6060; + name: "InvalidCaller"; + msg: "The instruction must be call with a specific account as caller"; + }, + { + code: 6061; + name: "InvalidBucketName"; + msg: "Invalid bucket name"; + }, + { + code: 6062; + name: "InvalidThreadId"; + msg: "(deprecated)The provided Sablier thread does not have the expected ID"; + }, + { + code: 6063; + name: "PythPriceExponentTooLargeIncurringPrecisionLoss"; + msg: "The exponent used for pyth price lead to high precision loss"; + }, + { + code: 6064; + name: "MissingClosePositionPrice"; + msg: "The close position price is mandatory"; + }, + { + code: 6065; + name: "InvalidVoteMultiplier"; + msg: "Invalid vote multiplier"; + }, + { + code: 6066; + name: "PositionTooYoung"; + msg: "A position cannot be close right after open, a slight delay is enforced"; + }, + { + code: 6067; + name: "InsufficientCollateral"; + msg: "The minimum amount of collateral posted to open a position is not met"; + }, + { + code: 6068; + name: "InvalidLockDuration"; + msg: "The provided lock duration isn't valid"; + }, + { + code: 6069; + name: "StakeNotEstablished"; + msg: "The stake isn't established yet"; + }, + { + code: 6070; + name: "PositionAlreadyClosed"; + msg: "The position is already pending cleanup and close"; + }, + ]; +}; + +export const IDL: Adrena = { + version: "1.1.5", + name: "adrena", + instructions: [ + { + name: "initOneCore", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "protocolFeeRecipient", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "rent", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "InitOneParams", + }, + }, + ], + }, + { + name: "initTwoLmTokenMetadata", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "lmTokenMintMetadata", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "mplTokenMetadataProgram", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "rent", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + ], + args: [], + }, + { + name: "initThreeGovernance", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "governanceTokenMint", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "governanceRealm", + isMut: false, + isSigner: false, + docs: [ + "#6", + "A realm represent one project within the governance program", + ], + }, + { + name: "governanceProgram", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "rent", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + ], + args: [], + }, + { + name: "initFourVesting", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "vestRegistry", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + { + name: "rent", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + ], + args: [], + }, + { + name: "addVest", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "owner", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#3"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "vestRegistry", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "vest", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "governanceTokenMint", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "governanceRealm", + isMut: false, + isSigner: false, + docs: [ + "#10", + "A realm represent one project within the governance program", + ], + }, + { + name: "governanceRealmConfig", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "governanceGoverningTokenHolding", + isMut: true, + isSigner: false, + docs: [ + "#12", + "Token account owned by governance program holding user's locked tokens", + ], + }, + { + name: "governanceGoverningTokenOwnerRecord", + isMut: true, + isSigner: false, + docs: ["#13", "Account owned by governance storing user information"], + }, + { + name: "governanceProgram", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + { + name: "rent", + isMut: false, + isSigner: false, + docs: ["#17"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "AddVestParams", + }, + }, + ], + returns: "u8", + }, + { + name: "claimVest", + accounts: [ + { + name: "caller", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "owner", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "payer", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "receivingAccount", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "vestRegistry", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "vest", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "governanceTokenMint", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "governanceRealm", + isMut: false, + isSigner: false, + docs: [ + "#11", + "A realm represent one project within the governance program", + ], + }, + { + name: "governanceRealmConfig", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "governanceGoverningTokenHolding", + isMut: true, + isSigner: false, + docs: [ + "#13", + "Token account owned by governance program holding user's locked tokens", + ], + }, + { + name: "governanceGoverningTokenOwnerRecord", + isMut: true, + isSigner: false, + docs: ["#14", "Account owned by governance storing user information"], + }, + { + name: "governanceProgram", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#17"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#18"], + }, + { + name: "rent", + isMut: false, + isSigner: false, + docs: ["#19"], + }, + ], + args: [], + returns: "u64", + }, + { + name: "addPoolPartOne", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "lpTokenMintMetadata", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "mplTokenMetadataProgram", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "rent", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "AddPoolPartOneParams", + }, + }, + ], + returns: "u8", + }, + { + name: "addPoolPartTwo", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "lpTokenMint", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "rent", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "AddPoolPartTwoParams", + }, + }, + ], + returns: "u8", + }, + { + name: "removePool", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + ], + args: [], + returns: "u8", + }, + { + name: "addCustody", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "custodyTokenMint", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "rent", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "AddCustodyParams", + }, + }, + ], + returns: "u8", + }, + { + name: "removeCustody", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "RemoveCustodyParams", + }, + }, + ], + returns: "u8", + }, + { + name: "setCustodyConfig", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetCustodyConfigParams", + }, + }, + ], + returns: "u8", + }, + { + name: "setCustodyAllowSwap", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetCustodyAllowSwapParams", + }, + }, + ], + }, + { + name: "setCustodyAllowTrade", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetCustodyAllowTradeParams", + }, + }, + ], + }, + { + name: "setPoolAllowSwap", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetPoolAllowSwapParams", + }, + }, + ], + }, + { + name: "setPoolAllowTrade", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetPoolAllowTradeParams", + }, + }, + ], + }, + { + name: "setPoolAumSoftCapUsd", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetPoolAumSoftCapUsdParams", + }, + }, + ], + }, + { + name: "swap", + accounts: [ + { + name: "caller", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "owner", + isMut: false, + isSigner: true, + docs: ["#2"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "receivingAccount", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "lmStaking", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "lpStaking", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "stakingRewardTokenCustody", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "stakingRewardTokenCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "stakingRewardTokenCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "receivingCustody", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "receivingCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "receivingCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#15"], + }, + { + name: "dispensingCustody", + isMut: true, + isSigner: false, + docs: ["#16"], + }, + { + name: "dispensingCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#17"], + }, + { + name: "dispensingCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#18"], + }, + { + name: "lmStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#19"], + }, + { + name: "lpStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#20"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#21"], + }, + { + name: "protocolFeeRecipient", + isMut: true, + isSigner: false, + docs: ["#22"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + isOptional: true, + docs: ["#23"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#24"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#25"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SwapParams", + }, + }, + ], + }, + { + name: "addLiquidity", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "lpTokenAccount", + isMut: true, + isSigner: false, + docs: [ + "#3 Front end will target the owner account, but not limited to", + ], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmStaking", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "lpStaking", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "stakingRewardTokenCustody", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "stakingRewardTokenCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "stakingRewardTokenCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "lmStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#15"], + }, + { + name: "lpStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#16"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#17"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#18"], + }, + { + name: "protocolFeeRecipient", + isMut: true, + isSigner: false, + docs: ["#19"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#20"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#21"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "AddLiquidityParams", + }, + }, + ], + }, + { + name: "addGenesisLiquidity", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "lpUserStaking", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "lpStaking", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "lpStakingStakedTokenVault", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "governanceTokenMint", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "governanceRealm", + isMut: false, + isSigner: false, + docs: [ + "#15", + "A realm represent one project within the governance program", + ], + }, + { + name: "governanceRealmConfig", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + { + name: "governanceGoverningTokenHolding", + isMut: true, + isSigner: false, + docs: [ + "#17", + "Token account owned by governance program holding user's locked tokens", + ], + }, + { + name: "governanceGoverningTokenOwnerRecord", + isMut: true, + isSigner: false, + docs: ["#18", "Account owned by governance storing user information"], + }, + { + name: "governanceProgram", + isMut: false, + isSigner: false, + docs: ["#19"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#20"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#21"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#22"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#23"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "AddGenesisLiquidityParams", + }, + }, + ], + }, + { + name: "genesisOtcOut", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "daoReceivingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "custodyUsdc", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "custodyUsdcTokenAccount", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + ], + args: [], + }, + { + name: "genesisOtcIn", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "fundingAccountOne", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "fundingAccountTwo", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "fundingAccountThree", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + { + name: "custodyOne", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "custodyOneTokenAccount", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "custodyTwo", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "custodyTwoTokenAccount", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "custodyThree", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "custodyThreeTokenAccount", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "GenesisOtcInParams", + }, + }, + ], + }, + { + name: "removeLiquidity", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "receivingAccount", + isMut: true, + isSigner: false, + docs: [ + "#2 Front end will target the owner account, but not limited to", + ], + }, + { + name: "lpTokenAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmStaking", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "lpStaking", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "stakingRewardTokenCustody", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "stakingRewardTokenCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "stakingRewardTokenCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "lmStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#15"], + }, + { + name: "lpStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#16"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#17"], + }, + { + name: "protocolFeeRecipient", + isMut: true, + isSigner: false, + docs: ["#18"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#19"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#20"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "RemoveLiquidityParams", + }, + }, + ], + }, + { + name: "openPositionLong", + accounts: [ + { + name: "owner", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + isOptional: true, + docs: ["#12"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "OpenPositionLongParams", + }, + }, + ], + }, + { + name: "openPositionShort", + accounts: [ + { + name: "owner", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "collateralCustody", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "collateralCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + isOptional: true, + docs: ["#13"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "OpenPositionShortParams", + }, + }, + ], + }, + { + name: "openOrIncreasePositionWithSwapLong", + accounts: [ + { + name: "owner", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "collateralAccount", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "receivingCustody", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "receivingCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "receivingCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "principalCustody", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "principalCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "principalCustodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "principalCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "lmStaking", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "lpStaking", + isMut: true, + isSigner: false, + docs: ["#15"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#16"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#17"], + }, + { + name: "stakingRewardTokenCustody", + isMut: true, + isSigner: false, + docs: ["#18"], + }, + { + name: "stakingRewardTokenCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#19"], + }, + { + name: "stakingRewardTokenCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#20"], + }, + { + name: "lmStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#21"], + }, + { + name: "lpStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#22"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#23"], + }, + { + name: "protocolFeeRecipient", + isMut: true, + isSigner: false, + docs: ["#24"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + isOptional: true, + docs: ["#25"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#26"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#27"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#28"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "OpenPositionWithSwapParams", + }, + }, + ], + }, + { + name: "openOrIncreasePositionWithSwapShort", + accounts: [ + { + name: "owner", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "collateralAccount", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "receivingCustody", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "receivingCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "receivingCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "collateralCustody", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "collateralCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "principalCustody", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "principalCustodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "principalCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#15"], + }, + { + name: "lmStaking", + isMut: true, + isSigner: false, + docs: ["#16"], + }, + { + name: "lpStaking", + isMut: true, + isSigner: false, + docs: ["#17"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#18"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#19"], + }, + { + name: "stakingRewardTokenCustody", + isMut: true, + isSigner: false, + docs: ["#20"], + }, + { + name: "stakingRewardTokenCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#21"], + }, + { + name: "stakingRewardTokenCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#22"], + }, + { + name: "lmStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#23"], + }, + { + name: "lpStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#24"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#25"], + }, + { + name: "protocolFeeRecipient", + isMut: true, + isSigner: false, + docs: ["#26"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + isOptional: true, + docs: ["#27"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#28"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#29"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#30"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "OpenPositionWithSwapParams", + }, + }, + ], + }, + { + name: "addCollateralLong", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "AddCollateralLongParams", + }, + }, + ], + }, + { + name: "addCollateralShort", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "collateralCustody", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "collateralCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "AddCollateralShortParams", + }, + }, + ], + }, + { + name: "removeCollateralLong", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "receivingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "RemoveCollateralLongParams", + }, + }, + ], + }, + { + name: "removeCollateralShort", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "receivingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "collateralCustody", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "collateralCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "RemoveCollateralShortParams", + }, + }, + ], + }, + { + name: "closePositionLong", + accounts: [ + { + name: "caller", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "owner", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "receivingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmStaking", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "lpStaking", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "stakingRewardTokenCustody", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "stakingRewardTokenCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "stakingRewardTokenCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#16"], + }, + { + name: "lmStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#17"], + }, + { + name: "lpStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#18"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#19"], + }, + { + name: "protocolFeeRecipient", + isMut: true, + isSigner: false, + docs: ["#20"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + isOptional: true, + docs: ["#21"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#22"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#23"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "ClosePositionLongParams", + }, + }, + ], + }, + { + name: "closePositionShort", + accounts: [ + { + name: "caller", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "owner", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "receivingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmStaking", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "lpStaking", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "stakingRewardTokenCustody", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "stakingRewardTokenCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "stakingRewardTokenCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "collateralCustody", + isMut: true, + isSigner: false, + docs: ["#15"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + { + name: "collateralCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#17"], + }, + { + name: "lmStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#18"], + }, + { + name: "lpStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#19"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#20"], + }, + { + name: "protocolFeeRecipient", + isMut: true, + isSigner: false, + docs: ["#21"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + isOptional: true, + docs: ["#22"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#23"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#24"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "ClosePositionShortParams", + }, + }, + ], + }, + { + name: "liquidateLong", + accounts: [ + { + name: "signer", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "receivingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "lmStaking", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "lpStaking", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "stakingRewardTokenCustody", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "stakingRewardTokenCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "stakingRewardTokenCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#15"], + }, + { + name: "lmStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#16"], + }, + { + name: "lpStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#17"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#18"], + }, + { + name: "protocolFeeRecipient", + isMut: true, + isSigner: false, + docs: ["#19"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + isOptional: true, + docs: ["#20"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#21"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#22"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "LiquidateLongParams", + }, + }, + ], + }, + { + name: "liquidateShort", + accounts: [ + { + name: "signer", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "receivingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "lmStaking", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "lpStaking", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "stakingRewardTokenCustody", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "stakingRewardTokenCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "stakingRewardTokenCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "collateralCustody", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "collateralCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#16"], + }, + { + name: "lmStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#17"], + }, + { + name: "lpStakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#18"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#19"], + }, + { + name: "protocolFeeRecipient", + isMut: true, + isSigner: false, + docs: ["#20"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + isOptional: true, + docs: ["#21"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#22"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#23"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "LiquidateShortParams", + }, + }, + ], + }, + { + name: "updatePoolAum", + accounts: [ + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + ], + args: [], + returns: "u128", + }, + { + name: "getAddLiquidityAmountAndFee", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "lpTokenMint", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "GetAddLiquidityAmountAndFeeParams", + }, + }, + ], + returns: { + defined: "AmountAndFee", + }, + }, + { + name: "getRemoveLiquidityAmountAndFee", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "lpTokenMint", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "GetRemoveLiquidityAmountAndFeeParams", + }, + }, + ], + returns: { + defined: "AmountAndFee", + }, + }, + { + name: "getEntryPriceAndFee", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "collateralCustody", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "GetEntryPriceAndFeeParams", + }, + }, + ], + returns: { + defined: "NewPositionPricesAndFee", + }, + }, + { + name: "disableTokensFreezeCapabilities", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "lpTokenMint", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + ], + args: [], + }, + { + name: "genesisStakePatch", + accounts: [ + { + name: "caller", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "owner", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "rewardTokenAccount", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmTokenAccount", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "userStaking", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "genesisLock", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#17"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#18"], + }, + ], + args: [], + }, + { + name: "getOpenPositionWithSwapAmountAndFees", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "receivingCustody", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "receivingCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "collateralCustody", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "principalCustody", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + { + name: "principalCustodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "GetOpenPositionWithSwapAmountAndFeesParams", + }, + }, + ], + returns: { + defined: "OpenPositionWithSwapAmountAndFees", + }, + }, + { + name: "getExitPriceAndFee", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "position", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "collateralCustody", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + ], + args: [], + returns: { + defined: "ExitPriceAndFee", + }, + }, + { + name: "getPnl", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "position", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "collateralCustody", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + ], + args: [], + returns: { + defined: "ProfitAndLoss", + }, + }, + { + name: "getLiquidationPrice", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "position", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "collateralCustody", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "GetLiquidationPriceParams", + }, + }, + ], + returns: "u64", + }, + { + name: "getLiquidationState", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "position", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "collateralCustody", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + ], + args: [], + returns: "u8", + }, + { + name: "getOraclePrice", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + ], + args: [], + returns: "u64", + }, + { + name: "getSwapAmountAndFees", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "receivingCustody", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "receivingCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "dispensingCustody", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "dispensingCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "GetSwapAmountAndFeesParams", + }, + }, + ], + returns: { + defined: "SwapAmountAndFees", + }, + }, + { + name: "getAssetsUnderManagement", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + ], + args: [], + returns: "u128", + }, + { + name: "initUserStaking", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "rewardTokenAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "lmTokenAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "userStaking", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + { + name: "staking", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "lmTokenMint", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + ], + args: [], + }, + { + name: "initUserProfile", + accounts: [ + { + name: "user", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "InitUserProfileParams", + }, + }, + ], + }, + { + name: "editUserProfile", + accounts: [ + { + name: "user", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "EditUserProfileParams", + }, + }, + ], + }, + { + name: "deleteUserProfile", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "user", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#3"], + }, + { + name: "userProfile", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + ], + args: [], + }, + { + name: "initStakingOne", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "stakingStakedTokenVault", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "stakingStakedTokenMint", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "rent", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "InitStakingOneParams", + }, + }, + ], + returns: "u8", + }, + { + name: "initStakingTwo", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + ], + args: [], + returns: "u8", + }, + { + name: "initStakingThree", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + ], + args: [], + returns: "u8", + }, + { + name: "initStakingFour", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "stakingStakedTokenVault", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "stakingStakedTokenMint", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + ], + args: [], + returns: "u8", + }, + { + name: "addLiquidStake", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "rewardTokenAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "lmTokenAccount", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "stakingStakedTokenVault", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "userStaking", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#15"], + }, + { + name: "governanceTokenMint", + isMut: true, + isSigner: false, + docs: ["#16"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#17"], + }, + { + name: "governanceRealm", + isMut: false, + isSigner: false, + docs: [ + "#18", + "A realm represent one project within the governance program", + ], + }, + { + name: "governanceRealmConfig", + isMut: false, + isSigner: false, + docs: ["#19"], + }, + { + name: "governanceGoverningTokenHolding", + isMut: true, + isSigner: false, + docs: [ + "#20", + "Token account owned by governance program holding user's locked tokens", + ], + }, + { + name: "governanceGoverningTokenOwnerRecord", + isMut: true, + isSigner: false, + docs: ["#21", "Account owned by governance storing user information"], + }, + { + name: "governanceProgram", + isMut: false, + isSigner: false, + docs: ["#22"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#23"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#24"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#25"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "AddLiquidStakeParams", + }, + }, + ], + }, + { + name: "addLockedStake", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "rewardTokenAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "stakingStakedTokenVault", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "userStaking", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "governanceTokenMint", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "governanceRealm", + isMut: false, + isSigner: false, + docs: [ + "#13", + "A realm represent one project within the governance program", + ], + }, + { + name: "governanceRealmConfig", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "governanceGoverningTokenHolding", + isMut: true, + isSigner: false, + docs: [ + "#15", + "Token account owned by governance program holding user's locked tokens", + ], + }, + { + name: "governanceGoverningTokenOwnerRecord", + isMut: true, + isSigner: false, + docs: ["#16", "Account owned by governance storing user information"], + }, + { + name: "governanceProgram", + isMut: false, + isSigner: false, + docs: ["#17"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#18"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#19"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#20"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "AddLockedStakeParams", + }, + }, + ], + }, + { + name: "upgradeLockedStake", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "rewardTokenAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "lmTokenAccount", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "stakingStakedTokenVault", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + { + name: "userStaking", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "governanceTokenMint", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "governanceRealm", + isMut: false, + isSigner: false, + docs: [ + "#16", + "A realm represent one project within the governance program", + ], + }, + { + name: "governanceRealmConfig", + isMut: false, + isSigner: false, + docs: ["#17"], + }, + { + name: "governanceGoverningTokenHolding", + isMut: true, + isSigner: false, + docs: [ + "#18", + "Token account owned by governance program holding user's locked tokens", + ], + }, + { + name: "governanceGoverningTokenOwnerRecord", + isMut: true, + isSigner: false, + docs: ["#19", "Account owned by governance storing user information"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#20"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#21"], + }, + { + name: "governanceProgram", + isMut: false, + isSigner: false, + docs: ["#22"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#23"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#24"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "UpgradeLockedStakeParams", + }, + }, + ], + }, + { + name: "removeLiquidStake", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "stakedTokenAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "lmTokenAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "rewardTokenAccount", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "stakingStakedTokenVault", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "userStaking", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "governanceTokenMint", + isMut: true, + isSigner: false, + docs: ["#15"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + { + name: "governanceRealm", + isMut: false, + isSigner: false, + docs: [ + "#17", + "A realm represent one project within the governance program", + ], + }, + { + name: "governanceRealmConfig", + isMut: false, + isSigner: false, + docs: ["#18"], + }, + { + name: "governanceGoverningTokenHolding", + isMut: true, + isSigner: false, + docs: [ + "#19", + "Token account owned by governance program holding user's locked tokens", + ], + }, + { + name: "governanceGoverningTokenOwnerRecord", + isMut: true, + isSigner: false, + docs: ["#20", "Account owned by governance storing user information"], + }, + { + name: "governanceProgram", + isMut: false, + isSigner: false, + docs: ["#21"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#22"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#23"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#24"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "RemoveLiquidStakeParams", + }, + }, + ], + }, + { + name: "removeLockedStake", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "lmTokenAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "stakedTokenAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "rewardTokenAccount", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "stakingStakedTokenVault", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "userStaking", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "stakedTokenMint", + isMut: true, + isSigner: false, + docs: ["#15"], + }, + { + name: "governanceTokenMint", + isMut: true, + isSigner: false, + docs: ["#16"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#17"], + }, + { + name: "governanceRealm", + isMut: false, + isSigner: false, + docs: [ + "#18", + "A realm represent one project within the governance program", + ], + }, + { + name: "governanceRealmConfig", + isMut: false, + isSigner: false, + docs: ["#19"], + }, + { + name: "governanceGoverningTokenHolding", + isMut: true, + isSigner: false, + docs: [ + "#20", + "Token account owned by governance program holding user's locked tokens", + ], + }, + { + name: "governanceGoverningTokenOwnerRecord", + isMut: true, + isSigner: false, + docs: ["#21", "Account owned by governance storing user information"], + }, + { + name: "governanceProgram", + isMut: false, + isSigner: false, + docs: ["#22"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#23"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#24"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#25"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "RemoveLockedStakeParams", + }, + }, + ], + }, + { + name: "claimStakes", + accounts: [ + { + name: "caller", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "owner", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "rewardTokenAccount", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmTokenAccount", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#8"], + }, + { + name: "userStaking", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#11"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#13"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#14"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#17"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#18"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "ClaimStakesParams", + }, + }, + ], + }, + { + name: "finalizeGenesisLockCampaign", + accounts: [ + { + name: "caller", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "genesisLock", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#7"], + }, + ], + args: [], + }, + { + name: "setPoolLiquidityState", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetPoolLiquidityStateParams", + }, + }, + ], + }, + { + name: "finalizeLockedStake", + accounts: [ + { + name: "caller", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "owner", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "userStaking", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "governanceTokenMint", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "governanceRealm", + isMut: false, + isSigner: false, + docs: [ + "#9", + "A realm represent one project within the governance program", + ], + }, + { + name: "governanceRealmConfig", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "governanceGoverningTokenHolding", + isMut: true, + isSigner: false, + docs: [ + "#11", + "Token account owned by governance program holding user's locked tokens", + ], + }, + { + name: "governanceGoverningTokenOwnerRecord", + isMut: true, + isSigner: false, + docs: ["#12", "Account owned by governance storing user information"], + }, + { + name: "governanceProgram", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#16"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "FinalizeLockedStakeParams", + }, + }, + ], + }, + { + name: "resolveStakingRound", + accounts: [ + { + name: "caller", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "stakingStakedTokenVault", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + ], + args: [], + }, + { + name: "getLpTokenPrice", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "lpTokenMint", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + ], + args: [], + returns: "u64", + }, + { + name: "getPoolInfoSnapshot", + accounts: [ + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "lpTokenMint", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + ], + args: [], + returns: { + defined: "PoolInfoSnapshot", + }, + }, + { + name: "mintLmTokensFromBucket", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "receivingAccount", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "MintLmTokensFromBucketParams", + }, + }, + ], + returns: "u8", + }, + { + name: "increasePositionLong", + accounts: [ + { + name: "owner", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "custodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "custodyOracle", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "IncreasePositionLongParams", + }, + }, + ], + }, + { + name: "patchCustodyLockedAmount", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "usdcCustody", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "bonkCustody", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "wbtcCustody", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "jitoCustody", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + ], + args: [], + }, + { + name: "increasePositionShort", + accounts: [ + { + name: "owner", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#6"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "custodyTradeOracle", + isMut: false, + isSigner: false, + docs: ["#9"], + }, + { + name: "collateralCustody", + isMut: true, + isSigner: false, + docs: ["#10"], + }, + { + name: "collateralCustodyOracle", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "collateralCustodyTokenAccount", + isMut: true, + isSigner: false, + docs: ["#12"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#14"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#15"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "IncreasePositionShortParams", + }, + }, + ], + }, + { + name: "setStakingLmEmissionPotentiometers", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetStakingLmEmissionPotentiometersParams", + }, + }, + ], + }, + { + name: "setAdmin", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetAdminParams", + }, + }, + ], + }, + { + name: "setProtocolFeeRecipient", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "protocolFeeRecipient", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + ], + args: [], + }, + { + name: "setCustodyMaxCumulativeShortPositionSizeUsd", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetCustodyMaxCumulativeShortPositionSizeUsdParams", + }, + }, + ], + }, + { + name: "setTakeProfitLong", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetTakeProfitLongParams", + }, + }, + ], + }, + { + name: "setStopLossLong", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetStopLossLongParams", + }, + }, + ], + }, + { + name: "setTakeProfitShort", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "custody", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetTakeProfitShortParams", + }, + }, + ], + }, + { + name: "setStopLossShort", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + ], + args: [ + { + name: "params", + type: { + defined: "SetStopLossShortParams", + }, + }, + ], + }, + { + name: "cancelTakeProfit", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + ], + args: [], + }, + { + name: "cancelStopLoss", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: false, + isSigner: false, + docs: ["#3"], + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "custody", + isMut: false, + isSigner: false, + docs: ["#5"], + }, + ], + args: [], + }, + { + name: "patchStakingRound", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "payer", + isMut: true, + isSigner: true, + docs: ["#2"], + }, + { + name: "fundingAccount", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "stakingRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#4"], + }, + { + name: "stakingLmRewardTokenVault", + isMut: true, + isSigner: false, + docs: ["#5"], + }, + { + name: "transferAuthority", + isMut: false, + isSigner: false, + docs: ["#6"], + }, + { + name: "staking", + isMut: true, + isSigner: false, + docs: ["#7"], + }, + { + name: "cortex", + isMut: true, + isSigner: false, + docs: ["#8"], + }, + { + name: "lmTokenMint", + isMut: true, + isSigner: false, + docs: ["#9"], + }, + { + name: "feeRedistributionMint", + isMut: false, + isSigner: false, + docs: ["#10"], + }, + { + name: "adrenaProgram", + isMut: false, + isSigner: false, + docs: ["#11"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + docs: ["#12"], + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + docs: ["#13"], + }, + ], + args: [], + }, + { + name: "setPoolWhitelistedSwapper", + accounts: [ + { + name: "admin", + isMut: false, + isSigner: true, + docs: ["#1"], + }, + { + name: "cortex", + isMut: false, + isSigner: false, + docs: ["#2"], + }, + { + name: "pool", + isMut: true, + isSigner: false, + docs: ["#3"], + }, + { + name: "whitelistedSwapper", + isMut: false, + isSigner: false, + docs: ["#4"], + }, + ], + args: [], + }, + ], + accounts: [ + { + name: "cortex", + type: { + kind: "struct", + fields: [ + { + name: "bump", + type: "u8", + }, + { + name: "transferAuthorityBump", + type: "u8", + }, + { + name: "lmTokenBump", + type: "u8", + }, + { + name: "governanceTokenBump", + type: "u8", + }, + { + name: "initialized", + type: "u8", + }, + { + name: "feeConversionDecimals", + type: "u8", + }, + { + name: "padding", + type: { + array: ["u8", 2], + }, + }, + { + name: "lmTokenMint", + type: "publicKey", + }, + { + name: "inceptionTime", + type: "i64", + }, + { + name: "admin", + type: "publicKey", + }, + { + name: "feeRedistributionMint", + type: "publicKey", + }, + { + name: "protocolFeeRecipient", + type: "publicKey", + }, + { + name: "pools", + type: { + array: ["publicKey", 4], + }, + }, + { + name: "userProfilesCount", + type: "u64", + }, + { + name: "governanceProgram", + type: "publicKey", + }, + { + name: "governanceRealm", + type: "publicKey", + }, + { + name: "coreContributorBucketAllocation", + type: "u64", + }, + { + name: "foundationBucketAllocation", + type: "u64", + }, + { + name: "ecosystemBucketAllocation", + type: "u64", + }, + { + name: "coreContributorBucketVestedAmount", + type: "u64", + }, + { + name: "coreContributorBucketMintedAmount", + type: "u64", + }, + { + name: "foundationBucketVestedAmount", + type: "u64", + }, + { + name: "foundationBucketMintedAmount", + type: "u64", + }, + { + name: "ecosystemBucketVestedAmount", + type: "u64", + }, + { + name: "ecosystemBucketMintedAmount", + type: "u64", + }, + { + name: "genesisLiquidityAlpAmount", + type: "u64", + }, + { + name: "uniquePositionIdCounter", + type: "u64", + }, + ], + }, + }, + { + name: "custody", + type: { + kind: "struct", + fields: [ + { + name: "bump", + type: "u8", + }, + { + name: "tokenAccountBump", + type: "u8", + }, + { + name: "allowTrade", + type: "u8", + }, + { + name: "allowSwap", + type: "u8", + }, + { + name: "decimals", + type: "u8", + }, + { + name: "isStable", + type: "u8", + }, + { + name: "padding", + type: { + array: ["u8", 2], + }, + }, + { + name: "pool", + type: "publicKey", + }, + { + name: "mint", + type: "publicKey", + }, + { + name: "tokenAccount", + type: "publicKey", + }, + { + name: "oracle", + type: "publicKey", + }, + { + name: "tradeOracle", + type: "publicKey", + }, + { + name: "pricing", + type: { + defined: "PricingParams", + }, + }, + { + name: "fees", + type: { + defined: "Fees", + }, + }, + { + name: "borrowRate", + type: { + defined: "BorrowRateParams", + }, + }, + { + name: "collectedFees", + type: { + defined: "FeesStats", + }, + }, + { + name: "volumeStats", + type: { + defined: "VolumeStats", + }, + }, + { + name: "tradeStats", + type: { + defined: "TradeStats", + }, + }, + { + name: "assets", + type: { + defined: "Assets", + }, + }, + { + name: "longPositions", + type: { + defined: "PositionsAccounting", + }, + }, + { + name: "shortPositions", + type: { + defined: "PositionsAccounting", + }, + }, + { + name: "borrowRateState", + type: { + defined: "BorrowRateState", + }, + }, + ], + }, + }, + { + name: "genesisLock", + type: { + kind: "struct", + fields: [ + { + name: "bump", + type: "u8", + }, + { + name: "hasTransitionedToFullyPublic", + type: "u8", + }, + { + name: "hasCompletedOtcIn", + type: "u8", + }, + { + name: "hasCompletedOtcOut", + type: "u8", + }, + { + name: "padding", + type: { + array: ["u8", 4], + }, + }, + { + name: "campaignDuration", + type: "i64", + }, + { + name: "reservedGrantDuration", + type: "i64", + }, + { + name: "campaignStartDate", + type: "i64", + }, + { + name: "publicAmount", + type: "u64", + }, + { + name: "reservedAmount", + type: "u64", + }, + { + name: "publicAmountClaimed", + type: "u64", + }, + { + name: "reservedAmountClaimed", + type: "u64", + }, + { + name: "reservedGrantOwners", + type: { + array: ["publicKey", 43], + }, + }, + { + name: "reservedGrantAmounts", + type: { + array: ["u64", 43], + }, + }, + { + name: "paddingUnsafe", + type: { + array: ["u8", 8], + }, + }, + ], + }, + }, + { + name: "pool", + type: { + kind: "struct", + fields: [ + { + name: "bump", + type: "u8", + }, + { + name: "lpTokenBump", + type: "u8", + }, + { + name: "nbStableCustody", + type: "u8", + }, + { + name: "initialized", + type: "u8", + }, + { + name: "allowTrade", + type: "u8", + }, + { + name: "allowSwap", + type: "u8", + }, + { + name: "liquidityState", + type: "u8", + }, + { + name: "registeredCustodyCount", + type: "u8", + }, + { + name: "name", + type: { + defined: "LimitedString", + }, + }, + { + name: "custodies", + type: { + array: ["publicKey", 8], + }, + }, + { + name: "padding1", + type: { + array: ["u8", 32], + }, + }, + { + name: "whitelistedSwapper", + type: "publicKey", + }, + { + name: "ratios", + type: { + array: [ + { + defined: "TokenRatios", + }, + 8, + ], + }, + }, + { + name: "padding2", + type: { + array: ["u8", 16], + }, + }, + { + name: "aumUsd", + type: { + defined: "U128Split", + }, + }, + { + name: "inceptionTime", + type: "i64", + }, + { + name: "aumSoftCapUsd", + type: "u64", + }, + ], + }, + }, + { + name: "position", + type: { + kind: "struct", + fields: [ + { + name: "bump", + type: "u8", + }, + { + name: "side", + type: "u8", + }, + { + name: "takeProfitIsSet", + type: "u8", + }, + { + name: "stopLossIsSet", + type: "u8", + }, + { + name: "paddingUnsafe", + type: { + array: ["u8", 1], + }, + }, + { + name: "padding", + type: { + array: ["u8", 3], + }, + }, + { + name: "owner", + type: "publicKey", + }, + { + name: "pool", + type: "publicKey", + }, + { + name: "custody", + type: "publicKey", + }, + { + name: "collateralCustody", + type: "publicKey", + }, + { + name: "openTime", + type: "i64", + }, + { + name: "updateTime", + type: "i64", + }, + { + name: "price", + type: "u64", + }, + { + name: "sizeUsd", + type: "u64", + }, + { + name: "borrowSizeUsd", + type: "u64", + }, + { + name: "collateralUsd", + type: "u64", + }, + { + name: "unrealizedInterestUsd", + type: "u64", + }, + { + name: "cumulativeInterestSnapshot", + type: { + defined: "U128Split", + }, + }, + { + name: "lockedAmount", + type: "u64", + }, + { + name: "collateralAmount", + type: "u64", + }, + { + name: "exitFeeUsd", + type: "u64", + }, + { + name: "liquidationFeeUsd", + type: "u64", + }, + { + name: "id", + type: "u64", + }, + { + name: "takeProfitLimitPrice", + type: "u64", + }, + { + name: "paddingUnsafe3", + type: { + array: ["u8", 8], + }, + }, + { + name: "stopLossLimitPrice", + type: "u64", + }, + { + name: "stopLossClosePositionPrice", + type: "u64", + }, + ], + }, + }, + { + name: "staking", + type: { + kind: "struct", + fields: [ + { + name: "stakingType", + type: "u8", + }, + { + name: "bump", + type: "u8", + }, + { + name: "stakedTokenVaultBump", + type: "u8", + }, + { + name: "rewardTokenVaultBump", + type: "u8", + }, + { + name: "lmRewardTokenVaultBump", + type: "u8", + }, + { + name: "rewardTokenDecimals", + type: "u8", + }, + { + name: "stakedTokenDecimals", + type: "u8", + }, + { + name: "initialized", + type: "u8", + }, + { + name: "nbLockedTokens", + type: "u64", + }, + { + name: "nbLiquidTokens", + type: "u64", + }, + { + name: "stakedTokenMint", + type: "publicKey", + }, + { + name: "resolvedRewardTokenAmount", + type: "u64", + }, + { + name: "resolvedStakedTokenAmount", + type: "u64", + }, + { + name: "resolvedLmRewardTokenAmount", + type: "u64", + }, + { + name: "resolvedLmStakedTokenAmount", + type: "u64", + }, + { + name: "currentStakingRound", + type: { + defined: "StakingRound", + }, + }, + { + name: "nextStakingRound", + type: { + defined: "StakingRound", + }, + }, + { + name: "resolvedStakingRounds", + type: { + array: [ + { + defined: "StakingRound", + }, + 32, + ], + }, + }, + { + name: "registeredResolvedStakingRoundCount", + type: "u8", + }, + { + name: "padding", + type: { + array: ["u8", 3], + }, + }, + { + name: "lmEmissionPotentiometerBps", + type: "u16", + }, + { + name: "monthsElapsedSinceInception", + type: "u16", + }, + { + name: "paddingUnsafe", + type: { + array: ["u8", 8], + }, + }, + { + name: "emissionAmountPerRoundLastUpdate", + type: "i64", + }, + { + name: "currentMonthEmissionAmountPerRound", + type: "u64", + }, + ], + }, + }, + { + name: "userProfile", + type: { + kind: "struct", + fields: [ + { + name: "bump", + type: "u8", + }, + { + name: "padding", + type: { + array: ["u8", 7], + }, + }, + { + name: "nickname", + type: { + defined: "LimitedString", + }, + }, + { + name: "createdAt", + type: "i64", + }, + { + name: "owner", + type: "publicKey", + }, + { + name: "swapCount", + type: "u64", + }, + { + name: "swapVolumeUsd", + type: "u64", + }, + { + name: "swapFeePaidUsd", + type: "u64", + }, + { + name: "shortStats", + type: { + defined: "TradingStats", + }, + }, + { + name: "longStats", + type: { + defined: "TradingStats", + }, + }, + ], + }, + }, + { + name: "userStaking", + type: { + kind: "struct", + fields: [ + { + name: "bump", + type: "u8", + }, + { + name: "unusedUnsafe", + type: { + array: ["u8", 1], + }, + }, + { + name: "stakingType", + type: "u8", + }, + { + name: "padding", + type: { + array: ["u8", 5], + }, + }, + { + name: "lockedStakeIdCounter", + type: "u64", + }, + { + name: "liquidStake", + type: { + defined: "LiquidStake", + }, + }, + { + name: "lockedStakes", + type: { + array: [ + { + defined: "LockedStake", + }, + 32, + ], + }, + }, + ], + }, + }, + { + name: "vestRegistry", + type: { + kind: "struct", + fields: [ + { + name: "bump", + type: "u8", + }, + { + name: "vests", + type: { + vec: "publicKey", + }, + }, + { + name: "vestingTokenAmount", + type: "u64", + }, + { + name: "vestedTokenAmount", + type: "u64", + }, + ], + }, + }, + { + name: "vest", + type: { + kind: "struct", + fields: [ + { + name: "bump", + type: "u8", + }, + { + name: "originBucket", + type: "u8", + }, + { + name: "cancelled", + type: "u8", + }, + { + name: "padding", + type: { + array: ["u8", 1], + }, + }, + { + name: "voteMultiplier", + type: "u32", + }, + { + name: "amount", + type: "u64", + }, + { + name: "unlockStartTimestamp", + type: "i64", + }, + { + name: "unlockEndTimestamp", + type: "i64", + }, + { + name: "claimedAmount", + type: "u64", + }, + { + name: "lastClaimTimestamp", + type: "i64", + }, + { + name: "owner", + type: "publicKey", + }, + ], + }, + }, + ], + types: [ + { + name: "MintLmTokensFromBucketParams", + type: { + kind: "struct", + fields: [ + { + name: "bucketName", + type: "u8", + }, + { + name: "amount", + type: "u64", + }, + { + name: "reason", + type: "string", + }, + ], + }, + }, + { + name: "SetAdminParams", + type: { + kind: "struct", + fields: [ + { + name: "newAdmin", + type: "publicKey", + }, + ], + }, + }, + { + name: "AddCustodyParams", + type: { + kind: "struct", + fields: [ + { + name: "isStable", + type: "bool", + }, + { + name: "pricing", + type: { + defined: "PricingParams", + }, + }, + { + name: "allowSwap", + type: "bool", + }, + { + name: "allowTrade", + type: "bool", + }, + { + name: "fees", + type: { + defined: "Fees", + }, + }, + { + name: "borrowRate", + type: { + defined: "BorrowRateParams", + }, + }, + { + name: "ratios", + type: { + array: [ + { + defined: "TokenRatios", + }, + 8, + ], + }, + }, + ], + }, + }, + { + name: "RemoveCustodyParams", + type: { + kind: "struct", + fields: [ + { + name: "ratios", + type: { + array: [ + { + defined: "TokenRatios", + }, + 8, + ], + }, + }, + ], + }, + }, + { + name: "SetCustodyAllowSwapParams", + type: { + kind: "struct", + fields: [ + { + name: "allowSwap", + type: "bool", + }, + ], + }, + }, + { + name: "SetCustodyAllowTradeParams", + type: { + kind: "struct", + fields: [ + { + name: "allowTrade", + type: "bool", + }, + ], + }, + }, + { + name: "SetCustodyConfigParams", + type: { + kind: "struct", + fields: [ + { + name: "isStable", + type: "bool", + }, + { + name: "oracle", + type: "publicKey", + }, + { + name: "tradeOracle", + type: "publicKey", + }, + { + name: "pricing", + type: { + defined: "PricingParams", + }, + }, + { + name: "fees", + type: { + defined: "Fees", + }, + }, + { + name: "borrowRate", + type: { + defined: "BorrowRateParams", + }, + }, + { + name: "ratios", + type: { + array: [ + { + defined: "TokenRatios", + }, + 8, + ], + }, + }, + ], + }, + }, + { + name: "SetCustodyMaxCumulativeShortPositionSizeUsdParams", + type: { + kind: "struct", + fields: [ + { + name: "maxCumulativeShortPositionSizeUsd", + type: "u64", + }, + ], + }, + }, + { + name: "InitOneParams", + type: { + kind: "struct", + fields: [ + { + name: "coreContributorBucketAllocation", + type: "u64", + }, + { + name: "foundationBucketAllocation", + type: "u64", + }, + { + name: "ecosystemBucketAllocation", + type: "u64", + }, + ], + }, + }, + { + name: "AddPoolPartOneParams", + type: { + kind: "struct", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "aumSoftCapUsd", + type: "u64", + }, + { + name: "lpTokenName", + type: "string", + }, + { + name: "lpTokenSymbol", + type: "string", + }, + { + name: "lpTokenUri", + type: "string", + }, + ], + }, + }, + { + name: "AddPoolPartTwoParams", + type: { + kind: "struct", + fields: [ + { + name: "genesisLockCampaignDuration", + type: "i64", + }, + { + name: "genesisReservedGrantDuration", + type: "i64", + }, + { + name: "genesisLockCampaignStartDate", + type: "i64", + }, + { + name: "reservedSpots", + type: { + defined: "ReservedSpots", + }, + }, + ], + }, + }, + { + name: "GenesisOtcInParams", + type: { + kind: "struct", + fields: [ + { + name: "custodyOneAmount", + type: "u64", + }, + { + name: "custodyTwoAmount", + type: "u64", + }, + { + name: "custodyThreeAmount", + type: "u64", + }, + ], + }, + }, + { + name: "SetPoolAllowSwapParams", + type: { + kind: "struct", + fields: [ + { + name: "allowSwap", + type: "bool", + }, + ], + }, + }, + { + name: "SetPoolAllowTradeParams", + type: { + kind: "struct", + fields: [ + { + name: "allowTrade", + type: "bool", + }, + ], + }, + }, + { + name: "SetPoolAumSoftCapUsdParams", + type: { + kind: "struct", + fields: [ + { + name: "aumSoftCapUsd", + type: "u64", + }, + ], + }, + }, + { + name: "SetPoolLiquidityStateParams", + type: { + kind: "struct", + fields: [ + { + name: "liquidityState", + type: "u8", + }, + ], + }, + }, + { + name: "InitStakingOneParams", + type: { + kind: "struct", + fields: [ + { + name: "stakingType", + type: "u8", + }, + ], + }, + }, + { + name: "SetStakingLmEmissionPotentiometersParams", + type: { + kind: "struct", + fields: [ + { + name: "lmEmissionPotentiometerBps", + type: "u16", + }, + ], + }, + }, + { + name: "AddVestParams", + type: { + kind: "struct", + fields: [ + { + name: "amount", + type: "u64", + }, + { + name: "originBucket", + type: "u8", + }, + { + name: "unlockStartTimestamp", + type: "i64", + }, + { + name: "unlockEndTimestamp", + type: "i64", + }, + { + name: "voteMultiplier", + type: "u32", + }, + ], + }, + }, + { + name: "AddGenesisLiquidityParams", + type: { + kind: "struct", + fields: [ + { + name: "amountIn", + type: "u64", + }, + { + name: "minLpAmountOut", + type: "u64", + }, + ], + }, + }, + { + name: "AddLiquidityParams", + type: { + kind: "struct", + fields: [ + { + name: "amountIn", + type: "u64", + }, + { + name: "minLpAmountOut", + type: "u64", + }, + ], + }, + }, + { + name: "RemoveLiquidityParams", + type: { + kind: "struct", + fields: [ + { + name: "lpAmountIn", + type: "u64", + }, + { + name: "minAmountOut", + type: "u64", + }, + ], + }, + }, + { + name: "SwapParams", + type: { + kind: "struct", + fields: [ + { + name: "amountIn", + type: "u64", + }, + { + name: "minAmountOut", + type: "u64", + }, + ], + }, + }, + { + name: "AddCollateralLongParams", + type: { + kind: "struct", + fields: [ + { + name: "collateral", + type: "u64", + }, + ], + }, + }, + { + name: "AddCollateralShortParams", + type: { + kind: "struct", + fields: [ + { + name: "collateral", + type: "u64", + }, + ], + }, + }, + { + name: "SetStopLossLongParams", + type: { + kind: "struct", + fields: [ + { + name: "stopLossLimitPrice", + type: "u64", + }, + { + name: "closePositionPrice", + type: { + option: "u64", + }, + }, + ], + }, + }, + { + name: "SetStopLossShortParams", + type: { + kind: "struct", + fields: [ + { + name: "stopLossLimitPrice", + type: "u64", + }, + { + name: "closePositionPrice", + type: { + option: "u64", + }, + }, + ], + }, + }, + { + name: "SetTakeProfitLongParams", + type: { + kind: "struct", + fields: [ + { + name: "takeProfitLimitPrice", + type: "u64", + }, + ], + }, + }, + { + name: "SetTakeProfitShortParams", + type: { + kind: "struct", + fields: [ + { + name: "takeProfitLimitPrice", + type: "u64", + }, + ], + }, + }, + { + name: "ClosePositionLongParams", + type: { + kind: "struct", + fields: [ + { + name: "price", + type: { + option: "u64", + }, + }, + ], + }, + }, + { + name: "ClosePositionShortParams", + type: { + kind: "struct", + fields: [ + { + name: "price", + type: { + option: "u64", + }, + }, + ], + }, + }, + { + name: "IncreasePositionLongParams", + type: { + kind: "struct", + fields: [ + { + name: "price", + type: "u64", + }, + { + name: "collateral", + type: "u64", + }, + { + name: "leverage", + type: "u32", + }, + ], + }, + }, + { + name: "IncreasePositionShortParams", + type: { + kind: "struct", + fields: [ + { + name: "price", + type: "u64", + }, + { + name: "collateral", + type: "u64", + }, + { + name: "leverage", + type: "u32", + }, + ], + }, + }, + { + name: "LiquidateLongParams", + type: { + kind: "struct", + fields: [], + }, + }, + { + name: "LiquidateShortParams", + type: { + kind: "struct", + fields: [], + }, + }, + { + name: "OpenPositionWithSwapParams", + type: { + kind: "struct", + fields: [ + { + name: "price", + type: "u64", + }, + { + name: "collateral", + type: "u64", + }, + { + name: "leverage", + type: "u32", + }, + { + name: "referrer", + type: { + option: "publicKey", + }, + }, + ], + }, + }, + { + name: "OpenPositionLongParams", + type: { + kind: "struct", + fields: [ + { + name: "price", + type: "u64", + }, + { + name: "collateral", + type: "u64", + }, + { + name: "leverage", + type: "u32", + }, + { + name: "referrer", + type: { + option: "publicKey", + }, + }, + ], + }, + }, + { + name: "OpenPositionShortParams", + type: { + kind: "struct", + fields: [ + { + name: "price", + type: "u64", + }, + { + name: "collateral", + type: "u64", + }, + { + name: "leverage", + type: "u32", + }, + { + name: "referrer", + type: { + option: "publicKey", + }, + }, + ], + }, + }, + { + name: "RemoveCollateralLongParams", + type: { + kind: "struct", + fields: [ + { + name: "collateralUsd", + type: "u64", + }, + ], + }, + }, + { + name: "RemoveCollateralShortParams", + type: { + kind: "struct", + fields: [ + { + name: "collateralUsd", + type: "u64", + }, + ], + }, + }, + { + name: "AddLiquidStakeParams", + type: { + kind: "struct", + fields: [ + { + name: "amount", + type: "u64", + }, + ], + }, + }, + { + name: "AddLockedStakeParams", + type: { + kind: "struct", + fields: [ + { + name: "amount", + type: "u64", + }, + { + name: "lockedDays", + type: "u32", + }, + ], + }, + }, + { + name: "ClaimStakesParams", + type: { + kind: "struct", + fields: [ + { + name: "lockedStakeIndexes", + type: { + option: "bytes", + }, + }, + ], + }, + }, + { + name: "FinalizeLockedStakeParams", + type: { + kind: "struct", + fields: [ + { + name: "lockedStakeId", + type: "u64", + }, + { + name: "earlyExit", + type: "bool", + }, + ], + }, + }, + { + name: "RemoveLiquidStakeParams", + type: { + kind: "struct", + fields: [ + { + name: "amount", + type: "u64", + }, + ], + }, + }, + { + name: "RemoveLockedStakeParams", + type: { + kind: "struct", + fields: [ + { + name: "lockedStakeIndex", + type: "u64", + }, + ], + }, + }, + { + name: "UpgradeLockedStakeParams", + type: { + kind: "struct", + fields: [ + { + name: "lockedStakeId", + type: "u64", + }, + { + name: "amount", + type: { + option: "u64", + }, + }, + { + name: "lockedDays", + type: { + option: "u32", + }, + }, + ], + }, + }, + { + name: "EditUserProfileParams", + type: { + kind: "struct", + fields: [ + { + name: "nickname", + type: "string", + }, + ], + }, + }, + { + name: "InitUserProfileParams", + type: { + kind: "struct", + fields: [ + { + name: "nickname", + type: "string", + }, + ], + }, + }, + { + name: "GetAddLiquidityAmountAndFeeParams", + type: { + kind: "struct", + fields: [ + { + name: "amountIn", + type: "u64", + }, + ], + }, + }, + { + name: "GetEntryPriceAndFeeParams", + type: { + kind: "struct", + fields: [ + { + name: "collateral", + type: "u64", + }, + { + name: "leverage", + type: "u32", + }, + { + name: "side", + type: "u8", + }, + ], + }, + }, + { + name: "GetLiquidationPriceParams", + type: { + kind: "struct", + fields: [ + { + name: "addCollateral", + type: "u64", + }, + { + name: "removeCollateral", + type: "u64", + }, + ], + }, + }, + { + name: "GetOpenPositionWithSwapAmountAndFeesParams", + type: { + kind: "struct", + fields: [ + { + name: "collateralAmount", + type: "u64", + }, + { + name: "leverage", + type: "u32", + }, + { + name: "side", + type: "u8", + }, + ], + }, + }, + { + name: "CustodyInfoSnapshot", + type: { + kind: "struct", + fields: [ + { + name: "assetsValueUsd", + type: "u64", + }, + { + name: "owned", + type: "u64", + }, + { + name: "locked", + type: "u64", + }, + { + name: "price", + type: "u64", + }, + { + name: "priceConfidence", + type: "u64", + }, + { + name: "tradePrice", + type: "u64", + }, + { + name: "tradePriceConfidence", + type: "u64", + }, + { + name: "shortPnl", + type: "i64", + }, + { + name: "longPnl", + type: "i64", + }, + { + name: "openInterestLongUsd", + type: "u64", + }, + { + name: "openInterestShortUsd", + type: "u64", + }, + { + name: "cumulativeProfitUsd", + type: "u64", + }, + { + name: "cumulativeLossUsd", + type: "u64", + }, + { + name: "cumulativeSwapFeeUsd", + type: "u64", + }, + { + name: "cumulativeLiquidityFeeUsd", + type: "u64", + }, + { + name: "cumulativeClosePositionFeeUsd", + type: "u64", + }, + { + name: "cumulativeLiquidationFeeUsd", + type: "u64", + }, + { + name: "cumulativeBorrowFeeUsd", + type: "u64", + }, + { + name: "cumulativeTradingVolumeUsd", + type: "u64", + }, + ], + }, + }, + { + name: "PoolInfoSnapshot", + type: { + kind: "struct", + fields: [ + { + name: "currentTime", + type: "u64", + }, + { + name: "aumUsd", + type: "u64", + }, + { + name: "lpTokenPrice", + type: "u64", + }, + { + name: "custodiesInfoSnapshot", + type: { + vec: { + defined: "CustodyInfoSnapshot", + }, + }, + }, + { + name: "lpCirculatingSupply", + type: "u64", + }, + ], + }, + }, + { + name: "GetRemoveLiquidityAmountAndFeeParams", + type: { + kind: "struct", + fields: [ + { + name: "lpAmountIn", + type: "u64", + }, + ], + }, + }, + { + name: "GetSwapAmountAndFeesParams", + type: { + kind: "struct", + fields: [ + { + name: "amountIn", + type: "u64", + }, + ], + }, + }, + { + name: "ExitPriceAndFee", + type: { + kind: "struct", + fields: [ + { + name: "price", + type: "u64", + }, + { + name: "fee", + type: "u64", + }, + { + name: "amountOut", + type: "u64", + }, + { + name: "profitUsd", + type: "u64", + }, + { + name: "lossUsd", + type: "u64", + }, + ], + }, + }, + { + name: "AmountAndFee", + type: { + kind: "struct", + fields: [ + { + name: "amount", + type: "u64", + }, + { + name: "fee", + type: "u64", + }, + ], + }, + }, + { + name: "NewPositionPricesAndFee", + type: { + kind: "struct", + fields: [ + { + name: "entryPrice", + type: "u64", + }, + { + name: "liquidationPrice", + type: "u64", + }, + { + name: "exitFee", + type: "u64", + }, + { + name: "liquidationFee", + type: "u64", + }, + { + name: "size", + type: "u64", + }, + ], + }, + }, + { + name: "OpenPositionWithSwapAmountAndFees", + type: { + kind: "struct", + fields: [ + { + name: "entryPrice", + type: "u64", + }, + { + name: "liquidationPrice", + type: "u64", + }, + { + name: "swapFeeIn", + type: "u64", + }, + { + name: "swapFeeOut", + type: "u64", + }, + { + name: "exitFee", + type: "u64", + }, + { + name: "liquidationFee", + type: "u64", + }, + { + name: "size", + type: "u64", + }, + ], + }, + }, + { + name: "SwapAmountAndFees", + type: { + kind: "struct", + fields: [ + { + name: "amountOut", + type: "u64", + }, + { + name: "feeIn", + type: "u64", + }, + { + name: "feeOut", + type: "u64", + }, + ], + }, + }, + { + name: "ProfitAndLoss", + docs: [ + "Specific to the codebase, this struct is used to store the profit and loss of a position.", + ], + type: { + kind: "struct", + fields: [ + { + name: "profitUsd", + type: "u64", + }, + { + name: "lossUsd", + type: "u64", + }, + { + name: "exitFee", + type: "u64", + }, + { + name: "exitFeeUsd", + type: "u64", + }, + { + name: "borrowFeeUsd", + type: "u64", + }, + ], + }, + }, + { + name: "Fees", + type: { + kind: "struct", + fields: [ + { + name: "swapIn", + type: "u16", + }, + { + name: "swapOut", + type: "u16", + }, + { + name: "stableSwapIn", + type: "u16", + }, + { + name: "stableSwapOut", + type: "u16", + }, + { + name: "addLiquidity", + type: "u16", + }, + { + name: "removeLiquidity", + type: "u16", + }, + { + name: "closePosition", + type: "u16", + }, + { + name: "liquidation", + type: "u16", + }, + { + name: "feeMax", + type: "u16", + }, + { + name: "padding", + type: { + array: ["u8", 6], + }, + }, + { + name: "padding2", + type: "u64", + }, + ], + }, + }, + { + name: "FeesStats", + type: { + kind: "struct", + fields: [ + { + name: "swapUsd", + type: "u64", + }, + { + name: "addLiquidityUsd", + type: "u64", + }, + { + name: "removeLiquidityUsd", + type: "u64", + }, + { + name: "closePositionUsd", + type: "u64", + }, + { + name: "liquidationUsd", + type: "u64", + }, + { + name: "borrowUsd", + type: "u64", + }, + ], + }, + }, + { + name: "VolumeStats", + type: { + kind: "struct", + fields: [ + { + name: "swapUsd", + type: "u64", + }, + { + name: "addLiquidityUsd", + type: "u64", + }, + { + name: "removeLiquidityUsd", + type: "u64", + }, + { + name: "openPositionUsd", + type: "u64", + }, + { + name: "closePositionUsd", + type: "u64", + }, + { + name: "liquidationUsd", + type: "u64", + }, + ], + }, + }, + { + name: "TradeStats", + type: { + kind: "struct", + fields: [ + { + name: "profitUsd", + type: "u64", + }, + { + name: "lossUsd", + type: "u64", + }, + { + name: "oiLongUsd", + type: "u64", + }, + { + name: "oiShortUsd", + type: "u64", + }, + ], + }, + }, + { + name: "Assets", + type: { + kind: "struct", + fields: [ + { + name: "collateral", + type: "u64", + }, + { + name: "owned", + type: "u64", + }, + { + name: "locked", + type: "u64", + }, + ], + }, + }, + { + name: "PricingParams", + type: { + kind: "struct", + fields: [ + { + name: "maxInitialLeverage", + type: "u32", + }, + { + name: "maxLeverage", + type: "u32", + }, + { + name: "maxPositionLockedUsd", + type: "u64", + }, + { + name: "maxCumulativeShortPositionSizeUsd", + type: "u64", + }, + ], + }, + }, + { + name: "BorrowRateParams", + type: { + kind: "struct", + fields: [ + { + name: "maxHourlyBorrowInterestRate", + type: "u64", + }, + ], + }, + }, + { + name: "BorrowRateState", + type: { + kind: "struct", + fields: [ + { + name: "currentRate", + type: "u64", + }, + { + name: "lastUpdate", + type: "i64", + }, + { + name: "cumulativeInterest", + type: { + defined: "U128Split", + }, + }, + ], + }, + }, + { + name: "PositionsAccounting", + type: { + kind: "struct", + fields: [ + { + name: "openPositions", + type: "u64", + }, + { + name: "sizeUsd", + type: "u64", + }, + { + name: "borrowSizeUsd", + type: "u64", + }, + { + name: "lockedAmount", + type: "u64", + }, + { + name: "weightedPrice", + type: { + defined: "U128Split", + }, + }, + { + name: "totalQuantity", + type: { + defined: "U128Split", + }, + }, + { + name: "cumulativeInterestUsd", + type: "u64", + }, + { + name: "padding", + type: { + array: ["u8", 8], + }, + }, + { + name: "cumulativeInterestSnapshot", + type: { + defined: "U128Split", + }, + }, + { + name: "exitFeeUsd", + type: "u64", + }, + { + name: "stableLockedAmount", + type: { + array: [ + { + defined: "StableLockedAmountStat", + }, + 2, + ], + }, + }, + ], + }, + }, + { + name: "StableLockedAmountStat", + type: { + kind: "struct", + fields: [ + { + name: "custody", + type: "publicKey", + }, + { + name: "lockedAmount", + type: "u64", + }, + { + name: "padding", + type: { + array: ["u8", 8], + }, + }, + ], + }, + }, + { + name: "OraclePrice", + type: { + kind: "struct", + fields: [ + { + name: "price", + type: "u64", + }, + { + name: "exponent", + type: "i32", + }, + { + name: "confidence", + type: "u64", + }, + ], + }, + }, + { + name: "TokenRatios", + type: { + kind: "struct", + fields: [ + { + name: "target", + type: "u16", + }, + { + name: "min", + type: "u16", + }, + { + name: "max", + type: "u16", + }, + { + name: "padding", + type: { + array: ["u8", 2], + }, + }, + ], + }, + }, + { + name: "StakingRound", + type: { + kind: "struct", + fields: [ + { + name: "startTime", + type: "i64", + }, + { + name: "endTime", + type: "i64", + }, + { + name: "rate", + type: "u64", + }, + { + name: "totalStake", + type: "u64", + }, + { + name: "totalClaim", + type: "u64", + }, + { + name: "lmRate", + type: "u64", + }, + { + name: "lmTotalStake", + type: "u64", + }, + { + name: "lmTotalClaim", + type: "u64", + }, + ], + }, + }, + { + name: "TradingStats", + type: { + kind: "struct", + fields: [ + { + name: "openedPositionCount", + type: "u64", + }, + { + name: "liquidatedPositionCount", + type: "u64", + }, + { + name: "openingAverageLeverage", + type: "u64", + }, + { + name: "openingSizeUsd", + type: "u64", + }, + { + name: "profitsUsd", + type: "u64", + }, + { + name: "lossesUsd", + type: "u64", + }, + { + name: "feePaidUsd", + type: "u64", + }, + ], + }, + }, + { + name: "LiquidStake", + type: { + kind: "struct", + fields: [ + { + name: "amount", + type: "u64", + }, + { + name: "stakeTime", + type: "i64", + }, + { + name: "claimTime", + type: "i64", + }, + { + name: "overlapTime", + type: "i64", + }, + { + name: "overlapAmount", + type: "u64", + }, + ], + }, + }, + { + name: "LockedStake", + type: { + kind: "struct", + fields: [ + { + name: "amount", + type: "u64", + }, + { + name: "stakeTime", + type: "i64", + }, + { + name: "claimTime", + type: "i64", + }, + { + name: "endTime", + type: "i64", + }, + { + name: "lockDuration", + type: "u64", + }, + { + name: "rewardMultiplier", + type: "u32", + }, + { + name: "lmRewardMultiplier", + type: "u32", + }, + { + name: "voteMultiplier", + type: "u32", + }, + { + name: "qualifiedForRewardsInResolvedRoundCount", + type: "u32", + }, + { + name: "amountWithRewardMultiplier", + type: "u64", + }, + { + name: "amountWithLmRewardMultiplier", + type: "u64", + }, + { + name: "resolved", + type: "u8", + }, + { + name: "padding2", + type: { + array: ["u8", 7], + }, + }, + { + name: "id", + type: "u64", + }, + { + name: "earlyExit", + type: "u8", + }, + { + name: "padding3", + type: { + array: ["u8", 7], + }, + }, + { + name: "earlyExitFee", + type: "u64", + }, + { + name: "isGenesis", + type: "u8", + }, + { + name: "padding4", + type: { + array: ["u8", 7], + }, + }, + { + name: "genesisClaimTime", + type: "i64", + }, + ], + }, + }, + { + name: "LimitedString", + type: { + kind: "struct", + fields: [ + { + name: "value", + type: { + array: ["u8", 31], + }, + }, + { + name: "length", + type: "u8", + }, + ], + }, + }, + { + name: "U128Split", + type: { + kind: "struct", + fields: [ + { + name: "high", + type: "u64", + }, + { + name: "low", + type: "u64", + }, + ], + }, + }, + { + name: "BucketName", + type: { + kind: "enum", + variants: [ + { + name: "CoreContributor", + }, + { + name: "Foundation", + }, + { + name: "Ecosystem", + }, + ], + }, + }, + { + name: "ReservedSpots", + type: { + kind: "enum", + variants: [ + { + name: "None", + }, + { + name: "Test", + fields: [ + { + name: "firstReservedSpot", + type: "publicKey", + }, + { + name: "secondReservedSpot", + type: "publicKey", + }, + ], + }, + ], + }, + }, + { + name: "CortexInitializationStep", + type: { + kind: "enum", + variants: [ + { + name: "NotCreated", + }, + { + name: "Step1", + }, + { + name: "Step2", + }, + { + name: "Step3", + }, + { + name: "Initialized", + }, + ], + }, + }, + { + name: "PoolLiquidityState", + type: { + kind: "enum", + variants: [ + { + name: "GenesisLiquidity", + }, + { + name: "Idle", + }, + { + name: "Active", + }, + ], + }, + }, + { + name: "LeverageCheckType", + type: { + kind: "enum", + variants: [ + { + name: "Initial", + }, + { + name: "AddCollateral", + }, + { + name: "RemoveCollateral", + }, + { + name: "IncreasePosition", + }, + { + name: "Liquidate", + }, + ], + }, + }, + { + name: "Side", + type: { + kind: "enum", + variants: [ + { + name: "None", + }, + { + name: "Long", + }, + { + name: "Short", + }, + ], + }, + }, + { + name: "StakingType", + type: { + kind: "enum", + variants: [ + { + name: "LM", + }, + { + name: "LP", + }, + ], + }, + }, + { + name: "StakingInitializationStep", + type: { + kind: "enum", + variants: [ + { + name: "NotCreated", + }, + { + name: "Step1", + }, + { + name: "Step2", + }, + { + name: "Step3", + }, + { + name: "Initialized", + }, + ], + }, + }, + ], + events: [ + { + name: "OpenPositionEvent", + fields: [ + { + name: "owner", + type: "publicKey", + index: false, + }, + { + name: "position", + type: "publicKey", + index: false, + }, + { + name: "custodyMint", + type: "publicKey", + index: false, + }, + { + name: "side", + type: "u8", + index: false, + }, + { + name: "sizeUsd", + type: "u64", + index: false, + }, + { + name: "price", + type: "u64", + index: false, + }, + { + name: "collateralAmountUsd", + type: "u64", + index: false, + }, + { + name: "leverage", + type: "u32", + index: false, + }, + { + name: "positionId", + type: "u64", + index: false, + }, + ], + }, + { + name: "IncreasePositionEvent", + fields: [ + { + name: "owner", + type: "publicKey", + index: false, + }, + { + name: "position", + type: "publicKey", + index: false, + }, + { + name: "custodyMint", + type: "publicKey", + index: false, + }, + { + name: "side", + type: "u8", + index: false, + }, + { + name: "sizeUsd", + type: "u64", + index: false, + }, + { + name: "price", + type: "u64", + index: false, + }, + { + name: "collateralAmountUsd", + type: "u64", + index: false, + }, + { + name: "leverage", + type: "u32", + index: false, + }, + { + name: "positionId", + type: "u64", + index: false, + }, + ], + }, + { + name: "ClosePositionEvent", + fields: [ + { + name: "owner", + type: "publicKey", + index: false, + }, + { + name: "position", + type: "publicKey", + index: false, + }, + { + name: "custodyMint", + type: "publicKey", + index: false, + }, + { + name: "side", + type: "u8", + index: false, + }, + { + name: "sizeUsd", + type: "u64", + index: false, + }, + { + name: "price", + type: "u64", + index: false, + }, + { + name: "collateralAmountUsd", + type: "u64", + index: false, + }, + { + name: "profitUsd", + type: "u64", + index: false, + }, + { + name: "lossUsd", + type: "u64", + index: false, + }, + { + name: "borrowFeeUsd", + type: "u64", + index: false, + }, + { + name: "exitFeeUsd", + type: "u64", + index: false, + }, + { + name: "positionId", + type: "u64", + index: false, + }, + ], + }, + { + name: "AddCollateralEvent", + fields: [ + { + name: "owner", + type: "publicKey", + index: false, + }, + { + name: "position", + type: "publicKey", + index: false, + }, + { + name: "custodyMint", + type: "publicKey", + index: false, + }, + { + name: "side", + type: "u8", + index: false, + }, + { + name: "addAmountUsd", + type: "u64", + index: false, + }, + { + name: "newCollateralAmountUsd", + type: "u64", + index: false, + }, + { + name: "leverage", + type: "u32", + index: false, + }, + { + name: "positionId", + type: "u64", + index: false, + }, + ], + }, + { + name: "RemoveCollateralEvent", + fields: [ + { + name: "owner", + type: "publicKey", + index: false, + }, + { + name: "position", + type: "publicKey", + index: false, + }, + { + name: "custodyMint", + type: "publicKey", + index: false, + }, + { + name: "side", + type: "u8", + index: false, + }, + { + name: "removeAmountUsd", + type: "u64", + index: false, + }, + { + name: "newCollateralAmountUsd", + type: "u64", + index: false, + }, + { + name: "leverage", + type: "u32", + index: false, + }, + { + name: "positionId", + type: "u64", + index: false, + }, + ], + }, + { + name: "LiquidateEvent", + fields: [ + { + name: "owner", + type: "publicKey", + index: false, + }, + { + name: "position", + type: "publicKey", + index: false, + }, + { + name: "custodyMint", + type: "publicKey", + index: false, + }, + { + name: "side", + type: "u8", + index: false, + }, + { + name: "sizeUsd", + type: "u64", + index: false, + }, + { + name: "price", + type: "u64", + index: false, + }, + { + name: "collateralAmountUsd", + type: "u64", + index: false, + }, + { + name: "lossUsd", + type: "u64", + index: false, + }, + { + name: "borrowFeeUsd", + type: "u64", + index: false, + }, + { + name: "exitFeeUsd", + type: "u64", + index: false, + }, + { + name: "positionId", + type: "u64", + index: false, + }, + ], + }, + { + name: "AddLockedStakeEvent", + fields: [ + { + name: "owner", + type: "publicKey", + index: false, + }, + { + name: "staking", + type: "publicKey", + index: false, + }, + { + name: "lockedStakeId", + type: "u64", + index: false, + }, + { + name: "amount", + type: "u64", + index: false, + }, + { + name: "lockedDays", + type: "u32", + index: false, + }, + ], + }, + { + name: "UpgradeLockedStakeEvent", + fields: [ + { + name: "owner", + type: "publicKey", + index: false, + }, + { + name: "staking", + type: "publicKey", + index: false, + }, + { + name: "lockedStakeId", + type: "u64", + index: false, + }, + { + name: "amount", + type: { + option: "u64", + }, + index: false, + }, + { + name: "lockedDays", + type: { + option: "u32", + }, + index: false, + }, + ], + }, + { + name: "FinalizeLockedStakeEvent", + fields: [ + { + name: "owner", + type: "publicKey", + index: false, + }, + { + name: "staking", + type: "publicKey", + index: false, + }, + { + name: "lockedStakeId", + type: "u64", + index: false, + }, + { + name: "earlyExit", + type: "bool", + index: false, + }, + ], + }, + { + name: "RemoveLockedStakeEvent", + fields: [ + { + name: "owner", + type: "publicKey", + index: false, + }, + { + name: "staking", + type: "publicKey", + index: false, + }, + { + name: "lockedStakeId", + type: "u64", + index: false, + }, + ], + }, + { + name: "SetStopLossEvent", + fields: [ + { + name: "positionId", + type: "u64", + index: false, + }, + { + name: "stopLossLimitPrice", + type: "u64", + index: false, + }, + { + name: "closePositionPrice", + type: { + option: "u64", + }, + index: false, + }, + { + name: "positionSide", + type: "u8", + index: false, + }, + ], + }, + { + name: "SetTakeProfitEvent", + fields: [ + { + name: "positionId", + type: "u64", + index: false, + }, + { + name: "takeProfitLimitPrice", + type: "u64", + index: false, + }, + { + name: "positionSide", + type: "u8", + index: false, + }, + ], + }, + { + name: "CancelStopLossEvent", + fields: [ + { + name: "positionId", + type: "u64", + index: false, + }, + { + name: "positionSide", + type: "u8", + index: false, + }, + ], + }, + { + name: "CancelTakeProfitEvent", + fields: [ + { + name: "positionId", + type: "u64", + index: false, + }, + { + name: "positionSide", + type: "u8", + index: false, + }, + ], + }, + ], + errors: [ + { + code: 6000, + name: "MathOverflow", + msg: "Overflow in arithmetic operation", + }, + { + code: 6001, + name: "UnsupportedOracle", + msg: "Unsupported price oracle", + }, + { + code: 6002, + name: "InvalidOracleAccount", + msg: "Invalid oracle account", + }, + { + code: 6003, + name: "InvalidOracleState", + msg: "Invalid oracle state", + }, + { + code: 6004, + name: "StaleOraclePrice", + msg: "Stale oracle price", + }, + { + code: 6005, + name: "InvalidOraclePrice", + msg: "Invalid oracle price", + }, + { + code: 6006, + name: "InvalidEnvironment", + msg: "Instruction is not allowed in production", + }, + { + code: 6007, + name: "InvalidPoolLiquidityState", + msg: "Invalid pool liquidity state", + }, + { + code: 6008, + name: "InvalidCortexState", + msg: "Invalid cortex state", + }, + { + code: 6009, + name: "InvalidStakingState", + msg: "Invalid staking state", + }, + { + code: 6010, + name: "InvalidPoolState", + msg: "Invalid pool state", + }, + { + code: 6011, + name: "InvalidVestState", + msg: "Invalid vest state", + }, + { + code: 6012, + name: "InvalidStakeState", + msg: "Invalid stake state", + }, + { + code: 6013, + name: "InvalidCustody", + msg: "Invalid custody", + }, + { + code: 6014, + name: "InvalidCustodyAccount", + msg: "Invalid custody account", + }, + { + code: 6015, + name: "InvalidCustodyState", + msg: "Invalid custody state", + }, + { + code: 6016, + name: "InvalidCollateralCustody", + msg: "Invalid collateral custody", + }, + { + code: 6017, + name: "InvalidPositionState", + msg: "Invalid position state", + }, + { + code: 6018, + name: "PositionNotInLiquidationRange", + msg: "The position is not in liquidation range", + }, + { + code: 6019, + name: "InvalidStakingRoundState", + msg: "Invalid staking round state", + }, + { + code: 6020, + name: "InvalidAdrenaConfig", + msg: "Invalid adrena config", + }, + { + code: 6021, + name: "InvalidPoolConfig", + msg: "Invalid pool config", + }, + { + code: 6022, + name: "InvalidCustodyConfig", + msg: "Invalid custody config", + }, + { + code: 6023, + name: "InsufficientAmountReturned", + msg: "Insufficient token amount returned", + }, + { + code: 6024, + name: "MaxPriceSlippage", + msg: "Price slippage limit exceeded", + }, + { + code: 6025, + name: "MaxLeverage", + msg: "Position leverage limit exceeded", + }, + { + code: 6026, + name: "MinLeverage", + msg: "Position leverage under minimum", + }, + { + code: 6027, + name: "CustodyAmountLimit", + msg: "Custody amount limit exceeded", + }, + { + code: 6028, + name: "PositionAmountLimit", + msg: "Position amount limit exceeded", + }, + { + code: 6029, + name: "TokenRatioOutOfRange", + msg: "Token ratio out of range", + }, + { + code: 6030, + name: "UnsupportedToken", + msg: "Token is not supported", + }, + { + code: 6031, + name: "InstructionNotAllowed", + msg: "Instruction is not allowed at this time", + }, + { + code: 6032, + name: "MaxUtilization", + msg: "Token utilization limit exceeded", + }, + { + code: 6033, + name: "MaxRegisteredResolvedStakingRoundReached", + msg: "Max registered resolved staking round reached", + }, + { + code: 6034, + name: "InvalidGovernanceProgram", + msg: "Governance program do not match Cortex's one", + }, + { + code: 6035, + name: "InvalidGovernanceRealm", + msg: "Governance realm do not match Cortex's one", + }, + { + code: 6036, + name: "InvalidVestingUnlockTime", + msg: "Vesting unlock time is too close or passed", + }, + { + code: 6037, + name: "InvalidStakingLockingTime", + msg: "Invalid staking locking time", + }, + { + code: 6038, + name: "UserStakeNotFound", + msg: "The user stake account specified could not be found", + }, + { + code: 6039, + name: "InvalidAccountData", + msg: "Invalid account data", + }, + { + code: 6040, + name: "UnresolvedStake", + msg: "Stake is not resolved", + }, + { + code: 6041, + name: "BucketMintLimit", + msg: "Reached bucket mint limit", + }, + { + code: 6042, + name: "GenesisAlpLimitReached", + msg: "Genesis ALP add liquidity limit reached", + }, + { + code: 6043, + name: "PermissionlessOracleMissingSignature", + msg: "Permissionless oracle update must be preceded by Ed25519 signature verification instruction", + }, + { + code: 6044, + name: "PermissionlessOracleMalformedEd25519Data", + msg: "Ed25519 signature verification data does not match expected format", + }, + { + code: 6045, + name: "PermissionlessOracleSignerMismatch", + msg: "Ed25519 signature was not signed by the oracle authority", + }, + { + code: 6046, + name: "PermissionlessOracleMessageMismatch", + msg: "Signed message does not match instruction params", + }, + { + code: 6047, + name: "CustodyStableLockedAmountNotFound", + msg: "Cannot find custody stable locked amount", + }, + { + code: 6048, + name: "CustodyNotFound", + msg: "Cannot find custody", + }, + { + code: 6049, + name: "InsufficientBucketReserve", + msg: "The bucket does not contain enough token for reserving this allocation", + }, + { + code: 6050, + name: "UserNicknameTooLong", + msg: "User nickname exceed 24 characters", + }, + { + code: 6051, + name: "UserNicknameTooShort", + msg: "User nickname is less than 3 characters", + }, + { + code: 6052, + name: "InvalidGenesisLockState", + msg: "Invalid genesis lock state", + }, + { + code: 6053, + name: "GenesisLockCampaignFullySubscribed", + msg: "The campaign is fully subscribed", + }, + { + code: 6054, + name: "PoolAumSoftCapUsdReached", + msg: "The pool is fully subscribed", + }, + { + code: 6055, + name: "MaxRegisteredPool", + msg: "The number of registered pool reached max amount", + }, + { + code: 6056, + name: "MaxRegisteredCustodies", + msg: "The number of registered custody reached max amount", + }, + { + code: 6057, + name: "MaxCumulativeShortPositionSizeLimit", + msg: "The short limit for this asset has been reached", + }, + { + code: 6058, + name: "LockedStakeArrayFull", + msg: "The max number of LockedStaking has been reached", + }, + { + code: 6059, + name: "IndexOutOfBounds", + msg: "Requested index is out of bounds", + }, + { + code: 6060, + name: "InvalidCaller", + msg: "The instruction must be call with a specific account as caller", + }, + { + code: 6061, + name: "InvalidBucketName", + msg: "Invalid bucket name", + }, + { + code: 6062, + name: "InvalidThreadId", + msg: "(deprecated)The provided Sablier thread does not have the expected ID", + }, + { + code: 6063, + name: "PythPriceExponentTooLargeIncurringPrecisionLoss", + msg: "The exponent used for pyth price lead to high precision loss", + }, + { + code: 6064, + name: "MissingClosePositionPrice", + msg: "The close position price is mandatory", + }, + { + code: 6065, + name: "InvalidVoteMultiplier", + msg: "Invalid vote multiplier", + }, + { + code: 6066, + name: "PositionTooYoung", + msg: "A position cannot be close right after open, a slight delay is enforced", + }, + { + code: 6067, + name: "InsufficientCollateral", + msg: "The minimum amount of collateral posted to open a position is not met", + }, + { + code: 6068, + name: "InvalidLockDuration", + msg: "The provided lock duration isn't valid", + }, + { + code: 6069, + name: "StakeNotEstablished", + msg: "The stake isn't established yet", + }, + { + code: 6070, + name: "PositionAlreadyClosed", + msg: "The position is already pending cleanup and close", + }, + ], +}; diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 72a1f5b..d5d17e5 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -261,6 +261,114 @@ export class SolanaMintNFTTool extends Tool { } } +export class SolanaPerpCloseTradeTool extends Tool { + name = "solana_close_perp_trade"; + description = `This tool can be used to close perpetuals trade ( It uses Adrena Protocol ). + + Inputs ( input is a JSON string ): + tradeMint: string, eg "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn", "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" etc. (optional) + price?: number, eg 100 (optional) + side: string, eg: "long" or "short"`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + const tx = + parsedInput.side === "long" + ? await this.solanaKit.closePerpTradeLong({ + price: parsedInput.price, + tradeMint: new PublicKey(parsedInput.tradeMint), + }) + : await this.solanaKit.closePerpTradeShort({ + price: parsedInput.price, + tradeMint: new PublicKey(parsedInput.tradeMint), + }); + + return JSON.stringify({ + status: "success", + message: "Perpetual trade closed successfully", + transaction: tx, + price: parsedInput.price, + tradeMint: new PublicKey(parsedInput.tradeMint), + side: parsedInput.side, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + +export class SolanaPerpOpenTradeTool extends Tool { + name = "solana_open_perp_trade"; + description = `This tool can be used to open perpetuals trade ( It uses Adrena Protocol ). + + Inputs ( input is a JSON string ): + collateralAmount: number, eg 1 or 0.01 (required) + collateralMint: string, eg "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn" or "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" etc. (optional) + tradeMint: string, eg "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn", "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" etc. (optional) + leverage: number, eg 50000 = x5, 100000 = x10, 1000000 = x100 (optional) + price?: number, eg 100 (optional) + slippage?: number, eg 0.3 (optional) + side: string, eg: "long" or "short"`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + const tx = + parsedInput.side === "long" + ? await this.solanaKit.openPerpTradeLong({ + price: parsedInput.price, + collateralAmount: parsedInput.collateralAmount, + collateralMint: new PublicKey(parsedInput.collateralMint), + leverage: parsedInput.leverage, + tradeMint: new PublicKey(parsedInput.tradeMint), + slippage: parsedInput.slippage, + }) + : await this.solanaKit.openPerpTradeLong({ + price: parsedInput.price, + collateralAmount: parsedInput.collateralAmount, + collateralMint: new PublicKey(parsedInput.collateralMint), + leverage: parsedInput.leverage, + tradeMint: new PublicKey(parsedInput.tradeMint), + slippage: parsedInput.slippage, + }); + + return JSON.stringify({ + status: "success", + message: "Perpetual trade opened successfully", + transaction: tx, + price: parsedInput.price, + collateralAmount: parsedInput.collateralAmount, + collateralMint: new PublicKey(parsedInput.collateralMint), + leverage: parsedInput.leverage, + tradeMint: new PublicKey(parsedInput.tradeMint), + slippage: parsedInput.slippage, + side: parsedInput.side, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + export class SolanaTradeTool extends Tool { name = "solana_trade"; description = `This tool can be used to swap tokens to another token ( It uses Jupiter Exchange ). @@ -2065,5 +2173,7 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaCancelNFTListingTool(solanaKit), new SolanaFetchTokenReportSummaryTool(solanaKit), new SolanaFetchTokenDetailedReportTool(solanaKit), + new SolanaPerpOpenTradeTool(solanaKit), + new SolanaPerpCloseTradeTool(solanaKit), ]; } diff --git a/src/tools/adrena_perp_trading.ts b/src/tools/adrena_perp_trading.ts new file mode 100644 index 0000000..8c47216 --- /dev/null +++ b/src/tools/adrena_perp_trading.ts @@ -0,0 +1,506 @@ +import { + PublicKey, + SystemProgram, + TransactionInstruction, +} from "@solana/web3.js"; +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"; + +const PRICE_DECIMALS = 10; +const ADRENA_PROGRAM_ID = new PublicKey( + "13gDzEXCdocbj8iAiqrScGo47NiSuYENGsRqi3SEAwet", +); + +// i.e percentage = -2 (for -2%) +// i.e percentage = 5 (for 5%) +function applySlippage(nb: BN, percentage: number): BN { + const negative = percentage < 0 ? true : false; + + // Do x10_000 so percentage can be up to 4 decimals + const percentageBN = new BN( + (negative ? percentage * -1 : percentage) * 10_000, + ); + + const delta = nb.mul(percentageBN).divRound(new BN(10_000 * 100)); + + return negative ? nb.sub(delta) : nb.add(delta); +} + +/** + * Close short trade on Adrena + * @returns Transaction signature + */ +export async function closePerpTradeShort({ + agent, + price, + tradeMint, +}: { + agent: SolanaAgentKit; + price: number; + tradeMint: PublicKey; +}) { + const client = await AdrenaClient.load(agent); + + const owner = agent.wallet.publicKey; + + const custody = client.getCustodyByMint(tradeMint); + const collateralCustody = client.getCustodyByMint(TOKENS.USDC); + + const stakingRewardTokenCustodyAccount = client.getCustodyByMint( + AdrenaClient.stakingRewardTokenMint, + ); + + const stakingRewardTokenCustodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress( + AdrenaClient.stakingRewardTokenMint, + ); + + const position = AdrenaClient.findPositionAddress( + owner, + custody.pubkey, + "long", + ); + + const userProfilePda = AdrenaClient.getUserProfilePda(owner); + + const userProfile = + await client.program.account.userProfile.fetchNullable(userProfilePda); + + const receivingAccount = AdrenaClient.findATAAddressSync( + owner, + collateralCustody.mint, + ); + + const preInstructions: TransactionInstruction[] = []; + + const collateralCustodyOracle = collateralCustody.oracle; + const collateralCustodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress(collateralCustody.mint); + + if ( + !(await AdrenaClient.isAccountInitialized( + agent.connection, + receivingAccount, + )) + ) { + preInstructions.push( + AdrenaClient.createATAInstruction({ + ataAddress: receivingAccount, + mint: collateralCustody.mint, + owner, + }), + ); + } + + const instruction = await client.program.methods + .closePositionShort({ + price: new BN(price * 10 ** PRICE_DECIMALS), + }) + .accountsStrict({ + owner, + receivingAccount, + transferAuthority: AdrenaClient.transferAuthority, + pool: AdrenaClient.mainPool, + position: position, + custody: custody.pubkey, + custodyTradeOracle: custody.tradeOracle, + tokenProgram: TOKEN_PROGRAM_ID, + lmStaking: AdrenaClient.lmStaking, + lpStaking: AdrenaClient.lpStaking, + cortex: AdrenaClient.cortex, + stakingRewardTokenCustody: stakingRewardTokenCustodyAccount.pubkey, + stakingRewardTokenCustodyOracle: stakingRewardTokenCustodyAccount.oracle, + stakingRewardTokenCustodyTokenAccount, + lmStakingRewardTokenVault: AdrenaClient.lmStakingRewardTokenVault, + lpStakingRewardTokenVault: AdrenaClient.lpStakingRewardTokenVault, + lpTokenMint: AdrenaClient.lpTokenMint, + protocolFeeRecipient: client.cortex.protocolFeeRecipient, + adrenaProgram: AdrenaClient.programId, + userProfile: userProfile ? userProfilePda : null, + caller: owner, + collateralCustody: collateralCustody.pubkey, + collateralCustodyOracle, + collateralCustodyTokenAccount, + }) + .instruction(); + + return sendTx(agent, [...preInstructions, instruction]); +} + +/** + * Close long trade on Adrena + * @returns Transaction signature + */ +export async function closePerpTradeLong({ + agent, + price, + tradeMint, +}: { + agent: SolanaAgentKit; + price: number; + tradeMint: PublicKey; +}) { + const client = await AdrenaClient.load(agent); + + const owner = agent.wallet.publicKey; + + const custody = client.getCustodyByMint(tradeMint); + + const custodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress(tradeMint); + + const stakingRewardTokenCustodyAccount = client.getCustodyByMint( + AdrenaClient.stakingRewardTokenMint, + ); + + const stakingRewardTokenCustodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress( + AdrenaClient.stakingRewardTokenMint, + ); + + const position = AdrenaClient.findPositionAddress( + owner, + custody.pubkey, + "long", + ); + + const userProfilePda = AdrenaClient.getUserProfilePda(owner); + + const userProfile = + await client.program.account.userProfile.fetchNullable(userProfilePda); + + const receivingAccount = AdrenaClient.findATAAddressSync(owner, custody.mint); + + const preInstructions: TransactionInstruction[] = []; + + if ( + !(await AdrenaClient.isAccountInitialized( + agent.connection, + receivingAccount, + )) + ) { + preInstructions.push( + AdrenaClient.createATAInstruction({ + ataAddress: receivingAccount, + mint: custody.mint, + owner, + }), + ); + } + + const instruction = await client.program.methods + .closePositionLong({ + price: new BN(price * 10 ** PRICE_DECIMALS), + }) + .accountsStrict({ + owner, + receivingAccount, + transferAuthority: AdrenaClient.transferAuthority, + pool: AdrenaClient.mainPool, + position: position, + custody: custody.pubkey, + custodyTokenAccount, + custodyOracle: custody.oracle, + custodyTradeOracle: custody.tradeOracle, + tokenProgram: TOKEN_PROGRAM_ID, + lmStaking: AdrenaClient.lmStaking, + lpStaking: AdrenaClient.lpStaking, + cortex: AdrenaClient.cortex, + stakingRewardTokenCustody: stakingRewardTokenCustodyAccount.pubkey, + stakingRewardTokenCustodyOracle: stakingRewardTokenCustodyAccount.oracle, + stakingRewardTokenCustodyTokenAccount, + lmStakingRewardTokenVault: AdrenaClient.lmStakingRewardTokenVault, + lpStakingRewardTokenVault: AdrenaClient.lpStakingRewardTokenVault, + lpTokenMint: AdrenaClient.lpTokenMint, + protocolFeeRecipient: client.cortex.protocolFeeRecipient, + adrenaProgram: AdrenaClient.programId, + userProfile: userProfile ? userProfilePda : null, + caller: owner, + }) + .instruction(); + + return sendTx(agent, [...preInstructions, instruction]); +} + +/** + * Open long trade on Adrena + * + * Note: provide the same token as collateralMint and as tradeMint to avoid swap + * @returns Transaction signature + */ +export async function openPerpTradeLong({ + agent, + price, + collateralAmount, + collateralMint = TOKENS.jitoSOL, + leverage = DEFAULT_OPTIONS.LEVERAGE_BPS, + tradeMint = TOKENS.jitoSOL, + slippage = 0.3, +}: { + agent: SolanaAgentKit; + price: number; + collateralAmount: number; + collateralMint?: PublicKey; + leverage?: number; + tradeMint?: PublicKey; + slippage?: number; +}): Promise { + const client = await AdrenaClient.load(agent); + + const owner = agent.wallet.publicKey; + + const collateralAccount = AdrenaClient.findATAAddressSync(owner, tradeMint); + const fundingAccount = AdrenaClient.findATAAddressSync(owner, collateralMint); + + const receivingCustody = AdrenaClient.findCustodyAddress(collateralMint); + const receivingCustodyOracle = client.getCustodyByMint(collateralMint).oracle; + const receivingCustodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress(collateralMint); + + // Principal custody is the custody of the targeted token + // i.e open a 1 ETH long position, principal custody is ETH + const principalCustody = AdrenaClient.findCustodyAddress(tradeMint); + const principalCustodyAccount = client.getCustodyByMint(tradeMint); + const principalCustodyOracle = principalCustodyAccount.oracle; + const principalCustodyTradeOracle = principalCustodyAccount.tradeOracle; + const principalCustodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress(tradeMint); + + const stakingRewardTokenCustodyAccount = client.getCustodyByMint( + AdrenaClient.stakingRewardTokenMint, + ); + + const stakingRewardTokenCustodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress( + AdrenaClient.stakingRewardTokenMint, + ); + + const position = AdrenaClient.findPositionAddress( + owner, + principalCustody, + "long", + ); + + const userProfilePda = AdrenaClient.getUserProfilePda(owner); + + const userProfile = + await client.program.account.userProfile.fetchNullable(userProfilePda); + + const priceWithSlippage = applySlippage( + new BN(price * 10 ** PRICE_DECIMALS), + slippage, + ); + + const scaledCollateralAmount = new BN( + collateralAmount * + Math.pow(10, client.getCustodyByMint(collateralMint).decimals), + ); + + const preInstructions: TransactionInstruction[] = []; + + if ( + !(await AdrenaClient.isAccountInitialized( + agent.connection, + collateralAccount, + )) + ) { + preInstructions.push( + AdrenaClient.createATAInstruction({ + ataAddress: collateralAccount, + mint: tradeMint, + owner, + }), + ); + } + + const instruction = await client.program.methods + .openOrIncreasePositionWithSwapLong({ + price: priceWithSlippage, + collateral: scaledCollateralAmount, + leverage, + referrer: null, + }) + .accountsStrict({ + owner, + payer: owner, + fundingAccount, + collateralAccount, + receivingCustody, + receivingCustodyOracle, + receivingCustodyTokenAccount, + principalCustody, + principalCustodyOracle, + principalCustodyTradeOracle, + principalCustodyTokenAccount, + transferAuthority: AdrenaClient.transferAuthority, + cortex: AdrenaClient.cortex, + lmStaking: AdrenaClient.lmStaking, + lpStaking: AdrenaClient.lpStaking, + pool: AdrenaClient.mainPool, + position, + stakingRewardTokenCustody: stakingRewardTokenCustodyAccount.pubkey, + stakingRewardTokenCustodyOracle: stakingRewardTokenCustodyAccount.oracle, + stakingRewardTokenCustodyTokenAccount, + lmStakingRewardTokenVault: AdrenaClient.lmStakingRewardTokenVault, + lpStakingRewardTokenVault: AdrenaClient.lpStakingRewardTokenVault, + lpTokenMint: AdrenaClient.lpTokenMint, + userProfile: userProfile ? userProfilePda : null, + protocolFeeRecipient: client.cortex.protocolFeeRecipient, + systemProgram: SystemProgram.programId, + tokenProgram: TOKEN_PROGRAM_ID, + adrenaProgram: ADRENA_PROGRAM_ID, + }) + .instruction(); + + return sendTx(agent, [...preInstructions, instruction]); +} + +/** + * Open short trade on Adrena + * + * Note: provide USDC as collateralMint to avoid swap + * @returns Transaction signature + */ +export async function openPerpTradeShort({ + agent, + price, + collateralAmount, + collateralMint = TOKENS.USDC, + leverage = DEFAULT_OPTIONS.LEVERAGE_BPS, + tradeMint = TOKENS.jitoSOL, + slippage = 0.3, +}: { + agent: SolanaAgentKit; + price: number; + collateralAmount: number; + collateralMint?: PublicKey; + leverage?: number; + tradeMint?: PublicKey; + slippage?: number; +}): Promise { + const client = await AdrenaClient.load(agent); + + const owner = agent.wallet.publicKey; + + const collateralAccount = AdrenaClient.findATAAddressSync(owner, tradeMint); + const fundingAccount = AdrenaClient.findATAAddressSync(owner, collateralMint); + + const receivingCustody = AdrenaClient.findCustodyAddress(collateralMint); + const receivingCustodyOracle = client.getCustodyByMint(collateralMint).oracle; + const receivingCustodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress(collateralMint); + + // Principal custody is the custody of the targeted token + // i.e open a 1 BTC short position, principal custody is BTC + const principalCustody = AdrenaClient.findCustodyAddress(tradeMint); + const principalCustodyAccount = client.getCustodyByMint(tradeMint); + const principalCustodyTradeOracle = principalCustodyAccount.tradeOracle; + const principalCustodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress(tradeMint); + + const usdcAta = AdrenaClient.findATAAddressSync(owner, TOKENS.USDC); + + const preInstructions: TransactionInstruction[] = []; + + if (!(await AdrenaClient.isAccountInitialized(agent.connection, usdcAta))) { + preInstructions.push( + AdrenaClient.createATAInstruction({ + ataAddress: usdcAta, + mint: TOKENS.USDC, + owner, + }), + ); + } + + // Custody used to provide collateral when opening the position + // Should be a stable token, by default, use USDC + const instructionCollateralMint = TOKENS.USDC; + + const collateralCustody = AdrenaClient.findCustodyAddress( + instructionCollateralMint, + ); + const collateralCustodyOracle = client.getCustodyByMint( + instructionCollateralMint, + ).oracle; + + const collateralCustodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress(instructionCollateralMint); + + const stakingRewardTokenCustodyAccount = client.getCustodyByMint( + AdrenaClient.stakingRewardTokenMint, + ); + + const stakingRewardTokenCustodyTokenAccount = + AdrenaClient.findCustodyTokenAccountAddress( + AdrenaClient.stakingRewardTokenMint, + ); + + const position = AdrenaClient.findPositionAddress( + owner, + principalCustody, + "long", + ); + + const userProfilePda = AdrenaClient.getUserProfilePda(owner); + + const userProfile = + await client.program.account.userProfile.fetchNullable(userProfilePda); + + const priceWithSlippage = applySlippage( + new BN(price * 10 ** PRICE_DECIMALS), + slippage, + ); + + const scaledCollateralAmount = new BN( + collateralAmount * + Math.pow(10, client.getCustodyByMint(collateralMint).decimals), + ); + + const instruction = await client.program.methods + .openOrIncreasePositionWithSwapShort({ + price: priceWithSlippage, + collateral: scaledCollateralAmount, + leverage, + referrer: null, + }) + .accountsStrict({ + owner, + payer: owner, + fundingAccount, + collateralAccount, + receivingCustody, + receivingCustodyOracle, + receivingCustodyTokenAccount, + principalCustody, + principalCustodyTradeOracle, + principalCustodyTokenAccount, + collateralCustody, + collateralCustodyOracle, + collateralCustodyTokenAccount, + transferAuthority: AdrenaClient.transferAuthority, + cortex: AdrenaClient.cortex, + lmStaking: AdrenaClient.lmStaking, + lpStaking: AdrenaClient.lpStaking, + pool: AdrenaClient.mainPool, + position, + stakingRewardTokenCustody: stakingRewardTokenCustodyAccount.pubkey, + stakingRewardTokenCustodyOracle: stakingRewardTokenCustodyAccount.oracle, + stakingRewardTokenCustodyTokenAccount, + lmStakingRewardTokenVault: AdrenaClient.lmStakingRewardTokenVault, + lpStakingRewardTokenVault: AdrenaClient.lpStakingRewardTokenVault, + lpTokenMint: AdrenaClient.lpTokenMint, + userProfile: userProfile ? userProfilePda : null, + protocolFeeRecipient: client.cortex.protocolFeeRecipient, + systemProgram: SystemProgram.programId, + tokenProgram: TOKEN_PROGRAM_ID, + adrenaProgram: ADRENA_PROGRAM_ID, + }) + .instruction(); + + return sendTx(agent, [...preInstructions, instruction]); +} diff --git a/src/tools/index.ts b/src/tools/index.ts index 825dff8..62a11de 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -13,6 +13,7 @@ export * from "./limit_order"; export * from "./batch_order"; export * from "./cancel_all_orders"; export * from "./withdraw_all"; +export * from "./adrena_perp_trading"; export * from "./register_domain"; export * from "./resolve_sol_domain"; export * from "./get_primary_domain"; diff --git a/src/utils/AdrenaClient.ts b/src/utils/AdrenaClient.ts new file mode 100644 index 0000000..410165d --- /dev/null +++ b/src/utils/AdrenaClient.ts @@ -0,0 +1,220 @@ +import { Connection, PublicKey } from "@solana/web3.js"; +import { SolanaAgentKit } from "../index"; +import { AnchorProvider, IdlAccounts, Program } from "@coral-xyz/anchor"; +import { Adrena, IDL as ADRENA_IDL } from "../idls/adrena"; + +import NodeWallet from "@coral-xyz/anchor/dist/cjs/nodewallet"; +import { + ASSOCIATED_TOKEN_PROGRAM_ID, + createAssociatedTokenAccountInstruction, + TOKEN_PROGRAM_ID, +} from "@solana/spl-token"; +import { TOKENS } from "../constants"; + +export type AdrenaProgram = Program; + +type Accounts = IdlAccounts; + +export type Cortex = Accounts["cortex"]; +export type Custody = Accounts["custody"] & { pubkey: PublicKey }; +export type Pool = Accounts["pool"]; + +export default class AdrenaClient { + public static programId = new PublicKey( + "13gDzEXCdocbj8iAiqrScGo47NiSuYENGsRqi3SEAwet", + ); + + constructor( + public program: AdrenaProgram, + public mainPool: Pool, + public cortex: Cortex, + public custodies: Custody[], + ) {} + + public static mainPool = new PublicKey( + "4bQRutgDJs6vuh6ZcWaPVXiQaBzbHketjbCDjL4oRN34", + ); + + public static async load(agent: SolanaAgentKit): Promise { + const program = new Program( + ADRENA_IDL, + AdrenaClient.programId, + new AnchorProvider(agent.connection, new NodeWallet(agent.wallet), { + commitment: "processed", + skipPreflight: true, + }), + ); + + const [cortex, mainPool] = await Promise.all([ + program.account.cortex.fetch(AdrenaClient.cortex), + program.account.pool.fetch(AdrenaClient.mainPool), + ]); + + const custodiesAddresses = mainPool.custodies.filter( + (custody) => !custody.equals(PublicKey.default), + ); + + const custodies = + await program.account.custody.fetchMultiple(custodiesAddresses); + + if (!custodies.length || custodies.some((c) => c === null)) { + throw new Error("Custodies not found"); + } + + return new AdrenaClient( + program, + mainPool, + cortex, + (custodies as Custody[]).map((c, i) => ({ + ...c, + pubkey: custodiesAddresses[i], + })), + ); + } + + public static findCustodyAddress(mint: PublicKey): PublicKey { + return PublicKey.findProgramAddressSync( + [ + Buffer.from("custody"), + AdrenaClient.mainPool.toBuffer(), + mint.toBuffer(), + ], + AdrenaClient.programId, + )[0]; + } + + public static findCustodyTokenAccountAddress(mint: PublicKey) { + return PublicKey.findProgramAddressSync( + [ + Buffer.from("custody_token_account"), + AdrenaClient.mainPool.toBuffer(), + mint.toBuffer(), + ], + AdrenaClient.programId, + )[0]; + } + + public static findPositionAddress( + owner: PublicKey, + custody: PublicKey, + side: "long" | "short", + ) { + return PublicKey.findProgramAddressSync( + [ + Buffer.from("position"), + owner.toBuffer(), + AdrenaClient.mainPool.toBuffer(), + custody.toBuffer(), + Buffer.from([ + { + long: 1, + short: 2, + }[side], + ]), + ], + AdrenaClient.programId, + )[0]; + } + + public static cortex = PublicKey.findProgramAddressSync( + [Buffer.from("cortex")], + AdrenaClient.programId, + )[0]; + + public static lpTokenMint = PublicKey.findProgramAddressSync( + [Buffer.from("lp_token_mint"), AdrenaClient.mainPool.toBuffer()], + AdrenaClient.programId, + )[0]; + + public static lmTokenMint = PublicKey.findProgramAddressSync( + [Buffer.from("lm_token_mint")], + AdrenaClient.programId, + )[0]; + + public static getStakingPda(stakedTokenMint: PublicKey) { + return PublicKey.findProgramAddressSync( + [Buffer.from("staking"), stakedTokenMint.toBuffer()], + AdrenaClient.programId, + )[0]; + } + + public static lmStaking = AdrenaClient.getStakingPda( + AdrenaClient.lmTokenMint, + ); + + public static lpStaking = AdrenaClient.getStakingPda( + AdrenaClient.lpTokenMint, + ); + + public static transferAuthority = PublicKey.findProgramAddressSync( + [Buffer.from("transfer_authority")], + AdrenaClient.programId, + )[0]; + + public static findATAAddressSync( + wallet: PublicKey, + mint: PublicKey, + ): PublicKey { + return PublicKey.findProgramAddressSync( + [wallet.toBuffer(), TOKEN_PROGRAM_ID.toBuffer(), mint.toBuffer()], + ASSOCIATED_TOKEN_PROGRAM_ID, + )[0]; + } + + public getCustodyByMint(mint: PublicKey): Custody { + const custody = this.custodies.find((custody) => custody.mint.equals(mint)); + + if (!custody) { + throw new Error(`Cannot find custody for mint ${mint.toBase58()}`); + } + + return custody; + } + + public static getUserProfilePda(wallet: PublicKey) { + return PublicKey.findProgramAddressSync( + [Buffer.from("user_profile"), wallet.toBuffer()], + AdrenaClient.programId, + )[0]; + } + + public static stakingRewardTokenMint = TOKENS.USDC; + + public static getStakingRewardTokenVaultPda(stakingPda: PublicKey) { + return PublicKey.findProgramAddressSync( + [Buffer.from("staking_reward_token_vault"), stakingPda.toBuffer()], + AdrenaClient.programId, + )[0]; + } + + public static lmStakingRewardTokenVault = + AdrenaClient.getStakingRewardTokenVaultPda(AdrenaClient.lmStaking); + public static lpStakingRewardTokenVault = + AdrenaClient.getStakingRewardTokenVaultPda(AdrenaClient.lpStaking); + + public static async isAccountInitialized( + connection: Connection, + address: PublicKey, + ): Promise { + return !!(await connection.getAccountInfo(address)); + } + + public static createATAInstruction({ + ataAddress, + mint, + owner, + payer = owner, + }: { + ataAddress: PublicKey; + mint: PublicKey; + owner: PublicKey; + payer?: PublicKey; + }) { + return createAssociatedTokenAccountInstruction( + payer, + ataAddress, + owner, + mint, + ); + } +} From b3a15fb01937648ae3b92b3772010e8d9ad9b1ff Mon Sep 17 00:00:00 2001 From: aryan <48391385+thearyanag@users.noreply.github.com> Date: Sat, 4 Jan 2025 15:19:44 +0530 Subject: [PATCH 018/138] update FUNDING info --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 45b0aa1..64a0c99 100644 --- a/README.md +++ b/README.md @@ -297,6 +297,12 @@ Refer to [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on how to co Apache-2 License +## Funding + +If you wanna give back any tokens or donations to the OSS community -- The Public Solana Agent Kit Treasury Address: + +Solana Network : EKHTbXpsm6YDgJzMkFxNU1LNXeWcUW7Ezf8mjUNQQ4Pa + ## Security This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys. From e3a303d67afcbf1c396b5f47c64719f956a98db2 Mon Sep 17 00:00:00 2001 From: Damjan Date: Sat, 4 Jan 2025 10:52:34 +0100 Subject: [PATCH 019/138] Implement Discord bot starter template --- examples/discord-bot-starter/.env.template | 4 + examples/discord-bot-starter/.eslintrc.js | 123 + examples/discord-bot-starter/.gitignore | 8 + examples/discord-bot-starter/.prettierrc | 10 + examples/discord-bot-starter/README.md | 41 + examples/discord-bot-starter/package.json | 39 + examples/discord-bot-starter/pnpm-lock.yaml | 8533 +++++++++++++++++++ examples/discord-bot-starter/src/index.ts | 85 + examples/discord-bot-starter/tsconfig.json | 21 + 9 files changed, 8864 insertions(+) create mode 100644 examples/discord-bot-starter/.env.template create mode 100644 examples/discord-bot-starter/.eslintrc.js create mode 100644 examples/discord-bot-starter/.gitignore create mode 100644 examples/discord-bot-starter/.prettierrc create mode 100644 examples/discord-bot-starter/README.md create mode 100644 examples/discord-bot-starter/package.json create mode 100644 examples/discord-bot-starter/pnpm-lock.yaml create mode 100644 examples/discord-bot-starter/src/index.ts create mode 100644 examples/discord-bot-starter/tsconfig.json diff --git a/examples/discord-bot-starter/.env.template b/examples/discord-bot-starter/.env.template new file mode 100644 index 0000000..3e9dfb7 --- /dev/null +++ b/examples/discord-bot-starter/.env.template @@ -0,0 +1,4 @@ +DISCORD_BOT_TOKEN= +SOLANA_PRIVATE_KEY= +SOLANA_RPC_URL= +OPENAI_API_KEY= diff --git a/examples/discord-bot-starter/.eslintrc.js b/examples/discord-bot-starter/.eslintrc.js new file mode 100644 index 0000000..a8917ae --- /dev/null +++ b/examples/discord-bot-starter/.eslintrc.js @@ -0,0 +1,123 @@ +module.exports = { + env: { + es2021: true, + node: true, + }, + root: true, + settings: { + 'import/resolver': { + typescript: {}, + }, + }, + ignorePatterns: [ + '.eslintrc.js', + 'webpack.config.js', + 'dist/*', + '**/*.js', + 'node_modules/*', + ], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 12, + project: 'tsconfig.json', + tsconfigRootDir: '.', + sourceType: 'module', + }, + extends: [ + 'airbnb-base', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:prettier/recommended', + 'plugin:sonarjs/recommended', + 'plugin:security/recommended', + 'plugin:promise/recommended', + 'prettier', + ], + plugins: [ + '@typescript-eslint/eslint-plugin', + 'sonarjs', + 'security', + 'promise', + 'prettier', + ], + rules: { + semi: [2, 'always'], + quotes: [1, 'single', { allowTemplateLiterals: true }], + curly: [2, 'all'], + '@typescript-eslint/interface-name-prefix': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-floating-promises': 'warn', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-argument': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/restrict-template-expressions': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/no-misused-promises': [ + 'error', + { checksVoidReturn: false }, + ], + 'security/detect-non-literal-regexp': 0, + 'security/detect-object-injection': 0, + 'promise/always-return': 0, + 'promise/no-callback-in-promise': 0, + 'sonarjs/cognitive-complexity': [2, 50], + 'sonarjs/no-duplicate-string': 0, + 'sonarjs/no-useless-catch': 1, + 'sonarjs/no-nested-template-literals': 0, + 'sonarjs/prefer-single-boolean-return': 1, + 'sonarjs/no-small-switch': 'off', + '@typescript-eslint/no-unused-vars': [ + 1, + { argsIgnorePattern: '^_|^returns$|^of$|^type$' }, + ], + 'import/extensions': 'off', + 'import/no-import-module-exports': 'off', + 'import/prefer-default-export': 'off', + 'import/no-extraneous-dependencies': 'off', + 'import/no-dynamic-require': 'off', + 'prettier/prettier': [ + 'error', + { + useTabs: false, + arrowParens: 'always', + printWidth: 80, + singleQuote: true, + trailingComma: 'all', + endOfLine: 'auto', + bracketSpacing: true, + }, + { + usePrettierrc: false, + }, + ], + 'no-restricted-imports': [ + 'error', + { + patterns: ['**/dist/**'], + }, + ], + 'no-use-before-define': 'off', + 'no-console': 'off', + 'no-return-await': 'off', + 'consistent-return': 'off', + 'default-case': 'off', + 'no-fallthrough': 'off', + 'no-plusplus': 'off', + 'no-await-in-loop': 'off', + 'no-restricted-syntax': 'off', + 'no-continue': 'off', + 'no-nested-ternary': 'off', + 'no-void': 'off', + 'no-param-reassign': 'off', + 'class-methods-use-this': 'off', + 'no-return-assign': 'off', + 'no-case-declarations': 'off', + 'global-require': 'off', + 'security/detect-non-literal-require': 'off', + 'global-require': 'off', + }, +}; diff --git a/examples/discord-bot-starter/.gitignore b/examples/discord-bot-starter/.gitignore new file mode 100644 index 0000000..93d03cf --- /dev/null +++ b/examples/discord-bot-starter/.gitignore @@ -0,0 +1,8 @@ +.env +*.log +.DS_Store + +logs/ +node_modules/ +build/ +dist/ diff --git a/examples/discord-bot-starter/.prettierrc b/examples/discord-bot-starter/.prettierrc new file mode 100644 index 0000000..f8f519c --- /dev/null +++ b/examples/discord-bot-starter/.prettierrc @@ -0,0 +1,10 @@ +{ + "tabWidth": 2, + "useTabs": false, + "arrowParens": "always", + "printWidth": 120, + "singleQuote": true, + "trailingComma": "all", + "endOfLine": "auto", + "bracketSpacing": true +} diff --git a/examples/discord-bot-starter/README.md b/examples/discord-bot-starter/README.md new file mode 100644 index 0000000..bb6f810 --- /dev/null +++ b/examples/discord-bot-starter/README.md @@ -0,0 +1,41 @@ +# Discord Bot Starter + +This is a starter template for creating a Discord bot using the Solana Agent Kit by Send AI. + +## Setup + +### Prerequisites + +- Node.js (v20 or higher) +- pnpm (v9 or higher) +- A Discord account +- A Solana account keypair + +### Step 1: Create a Discord Bot + +1. Go to the [Discord Developer Portal](https://discord.com/developers/applications). +2. Click on "New Application" and give your application a name. +3. Navigate to the "Bot" tab on the left sidebar and click "Add Bot". +4. Under the "Token" section, click "Copy" to copy your bot token. + +### Step 2: Fill Out Environment Variables + +Create a `.env` file in the root directory of the project and fill it out with the following variables: + +- `DISCORD_BOT_TOKEN`: Paste the bot token you copied from the Discord Developer Portal. +- `SOLANA_PRIVATE_KEY`: Enter your Solana private key. This is required for interacting with the Solana blockchain. +- `SOLANA_RPC_URL`: Provide the RPC URL for connecting to the Solana network. You can use a public RPC URL or your own. +- `OPENAI_API_KEY`: Input your OpenAI API key if you plan to use OpenAI services within your bot. You can obtain this key from the OpenAI platform. + +### Step 3: Install Dependencies and Start the Bot + +1. Open a terminal and navigate to the root directory of the project. +2. Run the following command to install the project dependencies: + ```sh + pnpm install + ``` +3. After the installation is complete, start the bot by running: + ```sh + pnpm start + ``` +4. Once the bot is running, open Discord and send a direct message (DM) to your bot to ensure it is working correctly. diff --git a/examples/discord-bot-starter/package.json b/examples/discord-bot-starter/package.json new file mode 100644 index 0000000..c4d154f --- /dev/null +++ b/examples/discord-bot-starter/package.json @@ -0,0 +1,39 @@ +{ + "name": "discord-bot-starter", + "version": "1.0.0", + "description": "Discord bot starter template using the Solana Agent Kit by Send AI", + "main": "index.ts", + "scripts": { + "start": "nodemon ./src/index.ts", + "lint": "eslint -c .eslintrc.js --ext .ts ./src", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"" + }, + "author": "dimitrov-d", + "dependencies": { + "discord.js": "^14.17.2", + "dotenv": "^16.4.7", + "solana-agent-kit": "^1.3.4" + }, + "devDependencies": { + "@types/node": "^22.10.5", + "@typescript-eslint/parser": "8.19.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-import-resolver-typescript": "^3.7.0", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-promise": "^7.2.1", + "eslint-plugin-security": "^3.0.1", + "eslint-plugin-sonarjs": "^3.0.1", + "nodemon": "^3.1.9", + "prettier": "^3.4.2", + "tsconfig-paths": "^4.2.0", + "tsx": "^4.19.2", + "typescript": "^5.7.2" + }, + "nodemonConfig": { + "ext": "*.ts", + "exec": "tsx", + "delay": 1000 + } +} diff --git a/examples/discord-bot-starter/pnpm-lock.yaml b/examples/discord-bot-starter/pnpm-lock.yaml new file mode 100644 index 0000000..af15a8b --- /dev/null +++ b/examples/discord-bot-starter/pnpm-lock.yaml @@ -0,0 +1,8533 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + discord.js: + specifier: ^14.17.2 + version: 14.17.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + dotenv: + specifier: ^16.4.7 + version: 16.4.7 + solana-agent-kit: + specifier: ^1.3.4 + version: 1.3.4(@noble/hashes@1.7.0)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(typescript@5.7.2)(utf-8-validate@5.0.10) + devDependencies: + '@types/node': + specifier: ^22.10.5 + version: 22.10.5 + '@typescript-eslint/parser': + specifier: 8.19.0 + version: 8.19.0(eslint@8.57.1)(typescript@5.7.2) + eslint: + specifier: ^8.56.0 + version: 8.57.1 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.1) + eslint-import-resolver-typescript: + specifier: ^3.7.0 + version: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-import: + specifier: ^2.31.0 + version: 2.31.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) + 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) + eslint-plugin-promise: + specifier: ^7.2.1 + version: 7.2.1(eslint@8.57.1) + eslint-plugin-security: + specifier: ^3.0.1 + version: 3.0.1 + eslint-plugin-sonarjs: + specifier: ^3.0.1 + version: 3.0.1(eslint@8.57.1) + nodemon: + specifier: ^3.1.9 + version: 3.1.9 + prettier: + specifier: ^3.4.2 + version: 3.4.2 + tsconfig-paths: + specifier: ^4.2.0 + version: 4.2.0 + tsx: + specifier: ^4.19.2 + version: 4.19.2 + typescript: + specifier: ^5.7.2 + version: 5.7.2 + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.3': + resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + + '@babel/eslint-parser@7.25.9': + resolution: {integrity: sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.25.9': + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.25.9': + resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.26.3': + resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.3': + resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-member-expression-to-functions@7.25.9': + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.25.9': + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.25.9': + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.25.9': + resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.25.9': + resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.25.9': + resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': + resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': + resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': + resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': + resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': + resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-decorators@7.25.9': + resolution: {integrity: sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-decorators@7.25.9': + resolution: {integrity: sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-flow@7.26.0': + resolution: {integrity: sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.26.0': + resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.25.9': + resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.25.9': + resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.25.9': + resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.25.9': + resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.25.9': + resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.25.9': + resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.26.0': + resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.25.9': + resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.25.9': + resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.25.9': + resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.25.9': + resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.25.9': + resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.25.9': + resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.26.3': + resolution: {integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.25.9': + resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-flow-strip-types@7.25.9': + resolution: {integrity: sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.25.9': + resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.25.9': + resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.25.9': + resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.25.9': + resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9': + resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.25.9': + resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.25.9': + resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.26.3': + resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.25.9': + resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.25.9': + resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.25.9': + resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': + resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.25.9': + resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.25.9': + resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.25.9': + resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.25.9': + resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.25.9': + resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.25.9': + resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.25.9': + resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.25.9': + resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.25.9': + resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.25.9': + resolution: {integrity: sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.25.9': + resolution: {integrity: sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.25.9': + resolution: {integrity: sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.25.9': + resolution: {integrity: sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.25.9': + resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.26.0': + resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.25.9': + resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.25.9': + resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.25.9': + resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.25.9': + resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.25.9': + resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.25.9': + resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.25.9': + resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.25.9': + resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.25.9': + resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9': + resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.26.0': + resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-flow@7.25.9': + resolution: {integrity: sha512-EASHsAhE+SSlEzJ4bzfusnXSHiU+JfAYzj+jbw2vgQKgq5HrUr8qs+vgtiEL5dOH6sEweI+PNt2D7AqrDSHyqQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.26.3': + resolution: {integrity: sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.4': + resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} + engines: {node: '>=6.9.0'} + + '@bonfida/sns-records@0.0.1': + resolution: {integrity: sha512-i28w9+BMFufhhpmLQCNx1CKKXTsEn+5RT18VFpPqdGO3sqaYlnUWC1m3wDpOvlzGk498dljgRpRo5wmcsnuEMg==} + peerDependencies: + '@solana/web3.js': ^1.87.3 + + '@bonfida/spl-name-service@3.0.7': + resolution: {integrity: sha512-okOLXhy+fQoyQ/sZgMleO5RrIZfTkWEoHMxWgUqg6RP/MTBlrKxlhKC6ymKn4UUe0C5s3Nb8A+3Ams7vX0nMDg==} + peerDependencies: + '@solana/web3.js': ^1.87.3 + + '@cfworker/json-schema@4.0.3': + resolution: {integrity: sha512-ZykIcDTVv5UNmKWSTLAs3VukO6NDJkkSKxrgUTDPBkAlORVT3H9n5DbRjRl8xIotklscHdbLIa0b9+y3mQq73g==} + + '@cks-systems/manifest-sdk@0.1.73': + resolution: {integrity: sha512-IcRM7k3YZ/jK5nJwE3xGp2Xg7Um4/XCeqrLs5yB3+IjS7W089Qs/prJXdRGKbFwCLkMt9ds6pElHufQr8an0Iw==} + + '@coral-xyz/anchor@0.26.0': + resolution: {integrity: sha512-PxRl+wu5YyptWiR9F2MBHOLLibm87Z4IMUBPreX+DYBtPM+xggvcPi0KAN7+kIL4IrIhXI8ma5V0MCXxSN1pHg==} + engines: {node: '>=11'} + + '@coral-xyz/anchor@0.29.0': + resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} + engines: {node: '>=11'} + + '@coral-xyz/borsh@0.26.0': + resolution: {integrity: sha512-uCZ0xus0CszQPHYfWAqKS5swS1UxvePu83oOF+TWpUkedsNlg6p2p4azxZNSSqwXb9uXMFgxhuMBX9r3Xoi0vQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + + '@coral-xyz/borsh@0.29.0': + resolution: {integrity: sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + + '@discordjs/builders@1.10.0': + resolution: {integrity: sha512-ikVZsZP+3shmVJ5S1oM+7SveUCK3L9fTyfA8aJ7uD9cNQlTqF+3Irbk2Y22KXTb3C3RNUahRkSInClJMkHrINg==} + engines: {node: '>=16.11.0'} + + '@discordjs/collection@1.5.3': + resolution: {integrity: sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==} + engines: {node: '>=16.11.0'} + + '@discordjs/collection@2.1.1': + resolution: {integrity: sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==} + engines: {node: '>=18'} + + '@discordjs/formatters@0.6.0': + resolution: {integrity: sha512-YIruKw4UILt/ivO4uISmrGq2GdMY6EkoTtD0oS0GvkJFRZbTSdPhzYiUILbJ/QslsvC9H9nTgGgnarnIl4jMfw==} + engines: {node: '>=16.11.0'} + + '@discordjs/rest@2.4.2': + resolution: {integrity: sha512-9bOvXYLQd5IBg/kKGuEFq3cstVxAMJ6wMxO2U3wjrgO+lHv8oNCT+BBRpuzVQh7BoXKvk/gpajceGvQUiRoJ8g==} + engines: {node: '>=18'} + + '@discordjs/util@1.1.1': + resolution: {integrity: sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==} + engines: {node: '>=18'} + + '@discordjs/ws@1.2.0': + resolution: {integrity: sha512-QH5CAFe3wHDiedbO+EI3OOiyipwWd+Q6BdoFZUw/Wf2fw5Cv2fgU/9UEtJRmJa9RecI+TAhdGPadMaEIur5yJg==} + engines: {node: '>=16.11.0'} + + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.19.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.9.1': + resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@9.17.0': + resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.4': + resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@ethereumjs/rlp@4.0.1': + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} + engines: {node: '>=14'} + hasBin: true + + '@ethereumjs/util@8.1.0': + resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} + engines: {node: '>=14'} + + '@ethersproject/bytes@5.7.0': + resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + + '@ethersproject/logger@5.7.0': + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + + '@ethersproject/sha2@5.7.0': + resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + + '@gerrit0/mini-shiki@1.26.1': + resolution: {integrity: sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@langchain/core@0.3.27': + resolution: {integrity: sha512-jtJKbJWB1NPU1YvtrExOB2rumvUFgkJwlWGxyjSIV9A6zcLVmUbcZGV8fCSuXgl5bbzOIQLJ1xcLYQmbW9TkTg==} + engines: {node: '>=18'} + + '@langchain/groq@0.1.2': + resolution: {integrity: sha512-bgQ9yGoNHOwG6LG2ngGvSNxF/1U1c1u3vKmFWmzecFIcBoQQOJY0jb0MrL3g1uTife0Sr3zxkWKXQg2aK/U4Sg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + + '@langchain/langgraph-checkpoint@0.0.13': + resolution: {integrity: sha512-amdmBcNT8a9xP2VwcEWxqArng4gtRDcnVyVI4DsQIo1Aaz8e8+hH17zSwrUF3pt1pIYztngIfYnBOim31mtKMg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.31 <0.4.0' + + '@langchain/langgraph-sdk@0.0.33': + resolution: {integrity: sha512-l/hRbI6roLzplBXy2VyDUwqY1TkK7RcjPmrMUuVdvCCH4LTwLfIXh/G1kHatNiN7VUTskw0FkfBbgq6gtj0ang==} + + '@langchain/langgraph@0.2.38': + resolution: {integrity: sha512-mVy99pMftBGgUTBTCepSyzTovWCvpgdNcXsAjxTiMrMX6lzueNiBz0ljkY7UFoIoHYwurQbyl2WmMPFuxkSIAw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.36 <0.3.0 || >=0.3.9 < 0.4.0' + + '@langchain/openai@0.3.16': + resolution: {integrity: sha512-Om9HRlTeI0Ou6D4pfxbWHop4WGfkCdV/7v1W/+Jr7NSf0BNoA9jk5GqGms8ZtOYSGgPvizDu3i0TrM3B4cN4NA==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.26 <0.4.0' + + '@langchain/textsplitters@0.1.0': + resolution: {integrity: sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + + '@lightprotocol/compressed-token@0.17.1': + resolution: {integrity: sha512-493KCmZGw1BcHVRJaeRm8EEs+L7gX8dwY7JG13w2pfgOMtZXZ7Wxt261jFJxQJzRLTrUSlrbRJOmfW1+S1Y8SQ==} + peerDependencies: + '@lightprotocol/stateless.js': 0.17.1 + + '@lightprotocol/stateless.js@0.17.1': + resolution: {integrity: sha512-EjId1n33A6dBwpce33Wsa/fs/CDKtMtRrkxbApH0alXrnEXmbW6QhIViXOrKYXjZ4uJQM1xsBtsKe0vqJ4nbtQ==} + + '@metaplex-foundation/beet-solana@0.3.1': + resolution: {integrity: sha512-tgyEl6dvtLln8XX81JyBvWjIiEcjTkUwZbrM5dIobTmoqMuGewSyk9CClno8qsMsFdB5T3jC91Rjeqmu/6xk2g==} + + '@metaplex-foundation/beet-solana@0.4.0': + resolution: {integrity: sha512-B1L94N3ZGMo53b0uOSoznbuM5GBNJ8LwSeznxBxJ+OThvfHQ4B5oMUqb+0zdLRfkKGS7Q6tpHK9P+QK0j3w2cQ==} + + '@metaplex-foundation/beet-solana@0.4.1': + resolution: {integrity: sha512-/6o32FNUtwK8tjhotrvU/vorP7umBuRFvBZrC6XCk51aKidBHe5LPVPA5AjGPbV3oftMfRuXPNd9yAGeEqeCDQ==} + + '@metaplex-foundation/beet@0.4.0': + resolution: {integrity: sha512-2OAKJnLatCc3mBXNL0QmWVQKAWK2C7XDfepgL0p/9+8oSx4bmRAFHFqptl1A/C0U5O3dxGwKfmKluW161OVGcA==} + + '@metaplex-foundation/beet@0.6.1': + resolution: {integrity: sha512-OYgnijLFzw0cdUlRKH5POp0unQECPOW9muJ2X3QIVyak5G6I6l/rKo72sICgPLIFKdmsi2jmnkuLY7wp14iXdw==} + + '@metaplex-foundation/beet@0.7.1': + resolution: {integrity: sha512-hNCEnS2WyCiYyko82rwuISsBY3KYpe828ubsd2ckeqZr7tl0WVLivGkoyA/qdiaaHEBGdGl71OpfWa2rqL3DiA==} + + '@metaplex-foundation/beet@0.7.2': + resolution: {integrity: sha512-K+g3WhyFxKPc0xIvcIjNyV1eaTVJTiuaHZpig7Xx0MuYRMoJLLvhLTnUXhFdR5Tu2l2QSyKwfyXDgZlzhULqFg==} + + '@metaplex-foundation/cusper@0.0.2': + resolution: {integrity: sha512-S9RulC2fFCFOQraz61bij+5YCHhSO9llJegK8c8Y6731fSi6snUSQJdCUqYS8AIgR0TKbQvdvgSyIIdbDFZbBA==} + + '@metaplex-foundation/mpl-auction-house@2.5.1': + resolution: {integrity: sha512-O+IAdYVaoOvgACB8pm+1lF5BNEjl0COkqny2Ho8KQZwka6aC/vHbZ239yRwAMtJhf5992BPFdT4oifjyE0O+Mw==} + + '@metaplex-foundation/mpl-bubblegum@0.7.0': + resolution: {integrity: sha512-HCo6q+nh8M3KRv9/aUaZcJo5/vPJEeZwPGRDWkqN7lUXoMIvhd83fZi7MB1rIg1gwpVHfHqim0A02LCYKisWFg==} + + '@metaplex-foundation/mpl-core@1.1.1': + resolution: {integrity: sha512-h1kLw+cGaV8SiykoHDb1/G01+VYqtJXAt0uGuO5+2Towsdtc6ET4M62iqUnh4EacTVMIW1yYHsKsG/LYWBCKaA==} + peerDependencies: + '@metaplex-foundation/umi': '>=0.8.2 < 1' + '@noble/hashes': ^1.3.1 + + '@metaplex-foundation/mpl-token-metadata@2.13.0': + resolution: {integrity: sha512-Fl/8I0L9rv4bKTV/RAl5YIbJe9SnQPInKvLz+xR1fEc4/VQkuCn3RPgypfUMEKWmCznzaw4sApDxy6CFS4qmJw==} + + '@metaplex-foundation/mpl-token-metadata@3.3.0': + resolution: {integrity: sha512-t5vO8Wr3ZZZPGrVrGNcosX5FMkwQSgBiVMQMRNDG2De7voYFJmIibD5jdG05EoQ4Y5kZVEiwhYaO+wJB3aO5AA==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/mpl-toolbox@0.9.4': + resolution: {integrity: sha512-fd6JxfoLbj/MM8FG2x91KYVy1U6AjBQw4qjt7+Da3trzQaWnSaYHDcYRG/53xqfvZ9qofY1T2t53GXPlD87lnQ==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/rustbin@0.3.5': + resolution: {integrity: sha512-m0wkRBEQB/8krwMwKBvFugufZtYwMXiGHud2cTDAv+aGXK4M90y0Hx67/wpu+AqqoQfdV8VM9YezUOHKD+Z5kA==} + + '@metaplex-foundation/solita@0.12.2': + resolution: {integrity: sha512-oczMfE43NNHWweSqhXPTkQBUbap/aAiwjDQw8zLKNnd/J8sXr/0+rKcN5yJIEgcHeKRkp90eTqkmt2WepQc8yw==} + hasBin: true + + '@metaplex-foundation/umi-bundle-defaults@0.9.2': + resolution: {integrity: sha512-kV3tfvgvRjVP1p9OFOtH+ibOtN9omVJSwKr0We4/9r45e5LTj+32su0V/rixZUkG1EZzzOYBsxhtIE0kIw/Hrw==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-downloader-http@0.9.2': + resolution: {integrity: sha512-tzPT9hBwenzTzAQg07rmsrqZfgguAXELbcJrsYMoASp5VqWFXYIP00g94KET6XLjWUXH4P1J2zoa6hGennPXHA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-eddsa-web3js@0.9.2': + resolution: {integrity: sha512-hhPCxXbYIp4BC4z9gK78sXpWLkNSrfv4ndhF5ruAkdIp7GcRVYKj0QnOUO6lGYGiIkNlw20yoTwOe1CT//OfTQ==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-http-fetch@0.9.2': + resolution: {integrity: sha512-YCZuBu24T9ZzEDe4+w12LEZm/fO9pkyViZufGgASC5NX93814Lvf6Ssjn/hZzjfA7CvZbvLFbmujc6CV3Q/m9Q==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-options@0.8.9': + resolution: {integrity: sha512-jSQ61sZMPSAk/TXn8v8fPqtz3x8d0/blVZXLLbpVbo2/T5XobiI6/MfmlUosAjAUaQl6bHRF8aIIqZEFkJiy4A==} + + '@metaplex-foundation/umi-program-repository@0.9.2': + resolution: {integrity: sha512-g3+FPqXEmYsBa8eETtUE2gb2Oe3mqac0z3/Ur1TvAg5TtIy3mzRzOy/nza+sgzejnfcxcVg835rmpBaxpBnjDA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-public-keys@0.8.9': + resolution: {integrity: sha512-CxMzN7dgVGOq9OcNCJe2casKUpJ3RmTVoOvDFyeoTQuK+vkZ1YSSahbqC1iGuHEtKTLSjtWjKvUU6O7zWFTw3Q==} + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2': + resolution: {integrity: sha512-YRwVf6xH0jPBAUgMhEPi+UbjioAeqTXmjsN2TnmQCPAmHbrHrMRj0rlWYwFLWAgkmoxazYrXP9lqOFRrfOGAEA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-rpc-web3js@0.9.2': + resolution: {integrity: sha512-MqcsBz8B4wGl6jxsf2Jo/rAEpYReU9VCSR15QSjhvADHMmdFxCIZCCAgE+gDE2Vuanfl437VhOcP3g5Uw8C16Q==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-serializer-data-view@0.9.2': + resolution: {integrity: sha512-5vGptadJxUxvUcyrwFZxXlEc6Q7AYySBesizCtrBFUY8w8PnF2vzmS45CP1MLySEATNH6T9mD4Rs0tLb87iQyA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-serializers-core@0.8.9': + resolution: {integrity: sha512-WT82tkiYJ0Qmscp7uTj1Hz6aWQPETwaKLAENAUN5DeWghkuBKtuxyBKVvEOuoXerJSdhiAk0e8DWA4cxcTTQ/w==} + + '@metaplex-foundation/umi-serializers-encodings@0.8.9': + resolution: {integrity: sha512-N3VWLDTJ0bzzMKcJDL08U3FaqRmwlN79FyE4BHj6bbAaJ9LEHjDQ9RJijZyWqTm0jE7I750fU7Ow5EZL38Xi6Q==} + + '@metaplex-foundation/umi-serializers-numbers@0.8.9': + resolution: {integrity: sha512-NtBf1fnVNQJHFQjLFzRu2i9GGnigb9hOm/Gfrk628d0q0tRJB7BOM3bs5C61VAs7kJs4yd+pDNVAERJkknQ7Lg==} + + '@metaplex-foundation/umi-serializers@0.9.0': + resolution: {integrity: sha512-hAOW9Djl4w4ioKeR4erDZl5IG4iJdP0xA19ZomdaCbMhYAAmG/FEs5khh0uT2mq53/MnzWcXSUPoO8WBN4Q+Vg==} + + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2': + resolution: {integrity: sha512-fR1Kf21uylMFd1Smkltmj4jTNxhqSWf416owsJ+T+cvJi2VCOcOwq/3UFzOrpz78fA0RhsajKYKj0HYsRnQI1g==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-web3js-adapters@0.9.2': + resolution: {integrity: sha512-RQqUTtHYY9fmEMnq7s3Hiv/81flGaoI0ZVVoafnFVaQLnxU6QBKxtboRZHk43XtD9CiFh5f9izrMJX7iK7KlOA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi@0.9.2': + resolution: {integrity: sha512-9i4Acm4pruQfJcpRrc2EauPBwkfDN0I9QTvJyZocIlKgoZwD6A6wH0PViH1AjOVG5CQCd1YI3tJd5XjYE1ElBw==} + + '@msgpack/msgpack@2.8.0': + resolution: {integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==} + engines: {node: '>= 10'} + + '@msgpack/msgpack@3.0.0-beta2': + resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} + engines: {node: '>= 14'} + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + + '@noble/curves@1.4.2': + resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + + '@noble/curves@1.8.0': + resolution: {integrity: sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.7.0': + resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==} + engines: {node: ^14.21.3 || >=16} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + + '@onsol/tldparser@0.6.7': + resolution: {integrity: sha512-QwkRDLyC514pxeplCCXZ2kTiRcJSeUrpp+9o2XqLbePy/qzZGGG8I0UbXUKuWVD/bUL1zAm21+D+Eu30OKwcQg==} + engines: {node: '>=14'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + bn.js: ^5.2.1 + borsh: ^0.7.0 + buffer: 6.0.1 + + '@opentelemetry/api@1.9.0': + resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} + engines: {node: '>=8.0.0'} + + '@orca-so/common-sdk@0.6.4': + resolution: {integrity: sha512-iOiC6exTA9t2CEOaUPoWlNP3soN/1yZFjoz1mSf7NvOqo/PJZeIdWpB7BRXwU0mGGatjxU4SFgMGQ8NrSx+ONw==} + peerDependencies: + '@solana/spl-token': ^0.4.1 + '@solana/web3.js': ^1.90.0 + decimal.js: ^10.4.3 + + '@orca-so/whirlpools-sdk@0.13.13': + resolution: {integrity: sha512-S3ovmnihBdZ5cmn3ylvJv+kAIUcGX5Y5RSWzv/WvF6etv/tLuO8FKc5mYxVenTa/NG78turTMbhujDdfGaahDw==} + peerDependencies: + '@coral-xyz/anchor': ~0.29.0 + '@orca-so/common-sdk': 0.6.4 + '@solana/spl-token': ^0.4.8 + '@solana/web3.js': ^1.90.0 + decimal.js: ^10.4.3 + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.1.1': + 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==} + + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + + '@saberhq/option-utils@1.15.0': + resolution: {integrity: sha512-XVbS9H4b8PIGXJGaErkOurxV2FKFyvMwYq0pD8Y1iEPoi6HB//+HnpEKAv8tCssIQ5Nn1zQWzmQ9CmGkrwzcsw==} + + '@saberhq/solana-contrib@1.15.0': + resolution: {integrity: sha512-OExL5qGrNMmIKINU7qFUDmY7+xIwVM2s360g99k8CRNHSnjpnqIzwDjr2CnvEFpeQPp22OdGlS63woDp0w0JsQ==} + peerDependencies: + '@solana/web3.js': ^1.42 + bn.js: ^4 || ^5 + + '@sapphire/async-queue@1.5.5': + resolution: {integrity: sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==} + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + + '@sapphire/shapeshift@4.0.0': + resolution: {integrity: sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==} + engines: {node: '>=v16'} + + '@sapphire/snowflake@3.5.3': + resolution: {integrity: sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==} + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + + '@scure/base@1.1.9': + resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} + + '@scure/base@1.2.1': + resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} + + '@scure/bip32@1.4.0': + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + + '@scure/bip39@1.3.0': + resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + + '@shikijs/core@1.26.1': + resolution: {integrity: sha512-yeo7sG+WZQblKPclUOKRPwkv1PyoHYkJ4gP9DzhFJbTdueKR7wYTI1vfF/bFi1NTgc545yG/DzvVhZgueVOXMA==} + + '@shikijs/engine-javascript@1.26.1': + resolution: {integrity: sha512-CRhA0b8CaSLxS0E9A4Bzcb3LKBNpykfo9F85ozlNyArxjo2NkijtiwrJZ6eHa+NT5I9Kox2IXVdjUsP4dilsmw==} + + '@shikijs/engine-oniguruma@1.26.1': + resolution: {integrity: sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==} + + '@shikijs/langs@1.26.1': + resolution: {integrity: sha512-oz/TQiIqZejEIZbGtn68hbJijAOTtYH4TMMSWkWYozwqdpKR3EXgILneQy26WItmJjp3xVspHdiUxUCws4gtuw==} + + '@shikijs/themes@1.26.1': + resolution: {integrity: sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==} + + '@shikijs/types@1.26.1': + resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} + + '@shikijs/vscode-textmate@10.0.1': + resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} + + '@solana/buffer-layout-utils@0.2.0': + resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} + engines: {node: '>= 10'} + + '@solana/buffer-layout@4.0.1': + resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} + engines: {node: '>=5.10'} + + '@solana/codecs-core@2.0.0-preview.2': + resolution: {integrity: sha512-gLhCJXieSCrAU7acUJjbXl+IbGnqovvxQLlimztPoGgfLQ1wFYu+XJswrEVQqknZYK1pgxpxH3rZ+OKFs0ndQg==} + + '@solana/codecs-core@2.0.0-preview.4': + resolution: {integrity: sha512-A0VVuDDA5kNKZUinOqHxJQK32aKTucaVbvn31YenGzHX1gPqq+SOnFwgaEY6pq4XEopSmaK16w938ZQS8IvCnw==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-core@2.0.0-rc.1': + resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-data-structures@2.0.0-preview.2': + resolution: {integrity: sha512-Xf5vIfromOZo94Q8HbR04TbgTwzigqrKII0GjYr21K7rb3nba4hUW2ir8kguY7HWFBcjHGlU5x3MevKBOLp3Zg==} + + '@solana/codecs-data-structures@2.0.0-preview.4': + resolution: {integrity: sha512-nt2k2eTeyzlI/ccutPcG36M/J8NAYfxBPI9h/nQjgJ+M+IgOKi31JV8StDDlG/1XvY0zyqugV3I0r3KAbZRJpA==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-data-structures@2.0.0-rc.1': + resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.0.0-preview.2': + resolution: {integrity: sha512-aLZnDTf43z4qOnpTcDsUVy1Ci9im1Md8thWipSWbE+WM9ojZAx528oAql+Cv8M8N+6ALKwgVRhPZkto6E59ARw==} + + '@solana/codecs-numbers@2.0.0-preview.4': + resolution: {integrity: sha512-Q061rLtMadsO7uxpguT+Z7G4UHnjQ6moVIxAQxR58nLxDPCC7MB1Pk106/Z7NDhDLHTcd18uO6DZ7ajHZEn2XQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.0.0-rc.1': + resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-strings@2.0.0-preview.2': + resolution: {integrity: sha512-EgBwY+lIaHHgMJIqVOGHfIfpdmmUDNoNO/GAUGeFPf+q0dF+DtwhJPEMShhzh64X2MeCZcmSO6Kinx0Bvmmz2g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + + '@solana/codecs-strings@2.0.0-preview.4': + resolution: {integrity: sha512-YDbsQePRWm+xnrfS64losSGRg8Wb76cjK1K6qfR8LPmdwIC3787x9uW5/E4icl/k+9nwgbIRXZ65lpF+ucZUnw==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + + '@solana/codecs-strings@2.0.0-rc.1': + resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + + '@solana/codecs@2.0.0-preview.2': + resolution: {integrity: sha512-4HHzCD5+pOSmSB71X6w9ptweV48Zj1Vqhe732+pcAQ2cMNnN0gMPMdDq7j3YwaZDZ7yrILVV/3+HTnfT77t2yA==} + + '@solana/codecs@2.0.0-preview.4': + resolution: {integrity: sha512-gLMupqI4i+G4uPi2SGF/Tc1aXcviZF2ybC81x7Q/fARamNSgNOCUUoSCg9nWu1Gid6+UhA7LH80sWI8XjKaRog==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs@2.0.0-rc.1': + resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.0.0-preview.2': + resolution: {integrity: sha512-H2DZ1l3iYF5Rp5pPbJpmmtCauWeQXRJapkDg8epQ8BJ7cA2Ut/QEtC3CMmw/iMTcuS6uemFNLcWvlOfoQhvQuA==} + hasBin: true + + '@solana/errors@2.0.0-preview.4': + resolution: {integrity: sha512-kadtlbRv2LCWr8A9V22On15Us7Nn8BvqNaOB4hXsTB3O0fU40D1ru2l+cReqLcRPij4znqlRzW9Xi0m6J5DIhA==} + hasBin: true + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.0.0-rc.1': + resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} + hasBin: true + peerDependencies: + typescript: '>=5' + + '@solana/options@2.0.0-preview.2': + resolution: {integrity: sha512-FAHqEeH0cVsUOTzjl5OfUBw2cyT8d5Oekx4xcn5hn+NyPAfQJgM3CEThzgRD6Q/4mM5pVUnND3oK/Mt1RzSE/w==} + + '@solana/options@2.0.0-preview.4': + resolution: {integrity: sha512-tv2O/Frxql/wSe3jbzi5nVicIWIus/BftH+5ZR+r9r3FO0/htEllZS5Q9XdbmSboHu+St87584JXeDx3xm4jaA==} + peerDependencies: + typescript: '>=5' + + '@solana/options@2.0.0-rc.1': + resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} + peerDependencies: + typescript: '>=5' + + '@solana/spl-account-compression@0.1.10': + resolution: {integrity: sha512-IQAOJrVOUo6LCgeWW9lHuXo6JDbi4g3/RkQtvY0SyalvSWk9BIkHHe4IkAzaQw8q/BxEVBIjz8e9bNYWIAESNw==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.50.1 + + '@solana/spl-token-group@0.0.4': + resolution: {integrity: sha512-7+80nrEMdUKlK37V6kOe024+T7J4nNss0F8LQ9OOPYdWCCfJmsGUzVx2W3oeizZR4IHM6N4yC9v1Xqwc3BTPWw==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.91.6 + + '@solana/spl-token-group@0.0.5': + resolution: {integrity: sha512-CLJnWEcdoUBpQJfx9WEbX3h6nTdNiUzswfFdkABUik7HVwSNA98u5AYvBVK2H93d9PGMOHAak2lHW9xr+zAJGQ==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.94.0 + + '@solana/spl-token-group@0.0.7': + resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token-metadata@0.1.6': + resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token@0.1.8': + resolution: {integrity: sha512-LZmYCKcPQDtJgecvWOgT/cnoIQPWjdH+QVyzPcFvyDUiT0DiRjZaam4aqNUyvchLFhzgunv3d9xOoyE34ofdoQ==} + engines: {node: '>= 10'} + + '@solana/spl-token@0.3.11': + resolution: {integrity: sha512-bvohO3rIMSVL24Pb+I4EYTJ6cL82eFpInEXD/I8K8upOGjpqHsKUoAempR/RnUlI1qSFNyFlWJfu6MNUgfbCQQ==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.88.0 + + '@solana/spl-token@0.4.6': + resolution: {integrity: sha512-1nCnUqfHVtdguFciVWaY/RKcQz1IF4b31jnKgAmjU9QVN1q7dRUkTEWJZgTYIEtsULjVnC9jRqlhgGN39WbKKA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.91.6 + + '@solana/spl-token@0.4.8': + resolution: {integrity: sha512-RO0JD9vPRi4LsAbMUdNbDJ5/cv2z11MGhtAvFeRzT4+hAGE/FUzRi0tkkWtuCfSIU3twC6CtmAihRp/+XXjWsA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.94.0 + + '@solana/spl-token@0.4.9': + resolution: {integrity: sha512-g3wbj4F4gq82YQlwqhPB0gHFXfgsC6UmyGMxtSLf/BozT/oKd59465DbnlUK8L8EcimKMavxsVAMoLcEdeCicg==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-type-length-value@0.1.0': + resolution: {integrity: sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA==} + engines: {node: '>=16'} + + '@solana/web3.js@1.95.3': + resolution: {integrity: sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og==} + + '@solana/web3.js@1.98.0': + resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + + '@tensor-hq/tensor-common@8.3.1': + resolution: {integrity: sha512-cgc+Z0nR23pi+1DfJgF1+afWd+xf1e6VYPM9yhECshmERr6BgojQfcuoltHHcgpwSlLrZXnm47kQ48I2M6rxFQ==} + + '@tensor-oss/tensorswap-sdk@4.5.0': + resolution: {integrity: sha512-eNM6k1DT5V/GadxSHm8//z2wlLl8/EcA0KFQXKaxRba/2MirNySsoVGxDXO2UdOI4eZMse8f+8Et3P63WWjsIw==} + + '@tiplink/api@0.3.1': + resolution: {integrity: sha512-HjnXethjKOHTYT0IP1BewlMS7wZJ+hsoDgRa6jA1cNvxvwQjE1WHOyvOUPpAi+DJDw4P4/omFtyHr7dwLfnB/g==} + + '@types/bn.js@5.1.6': + resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/node-fetch@2.6.12': + resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@18.19.69': + resolution: {integrity: sha512-ECPdY1nlaiO/Y6GUnwgtAAhLNaQ53AyIVz+eILxpEo5OvuqE6yWkqWBIb5dU0DqhKQtMeny+FBD3PK6lm7L5xQ==} + + '@types/node@22.10.5': + resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} + + '@types/promise-retry@1.1.6': + resolution: {integrity: sha512-EC1+OMXV0PZb0pf+cmyxc43MEP2CDumZe4AfuxWboxxEixztIebknpJPZAX5XlodGF1OY+C1E/RAeNGzxf+bJA==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/retry@0.12.5': + resolution: {integrity: sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/uuid@10.0.0': + resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} + + '@types/uuid@8.3.4': + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + + '@types/ws@7.4.7': + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + + '@types/ws@8.5.13': + resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + + '@typescript-eslint/parser@8.19.0': + resolution: {integrity: sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/scope-manager@8.19.0': + resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.19.0': + resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.19.0': + resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/visitor-keys@8.19.0': + resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@ungap/structured-clone@1.2.1': + resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + + '@vladfrangu/async_event_emitter@2.4.6': + resolution: {integrity: sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==} + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + ansicolors@0.3.2: + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + assert@2.1.0: + resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + available-typed-arrays@1.0.7: + 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==} + + axios@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} + + babel-plugin-polyfill-corejs2@0.4.12: + resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.3: + resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-x@3.0.10: + resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} + + base-x@4.0.0: + resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} + + base-x@5.0.0: + resolution: {integrity: sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + + big.js@6.2.2: + resolution: {integrity: sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==} + + bigint-buffer@1.1.5: + resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} + engines: {node: '>= 10.0.0'} + + bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + bintrees@1.0.2: + resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} + + bn.js@4.11.6: + resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + + borsh@0.7.0: + resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + + borsh@1.0.0: + resolution: {integrity: sha512-fSVWzzemnyfF89EPwlUNsrS5swF5CrtiN4e+h0/lLf4dz2he4L3ndM20PS9wj7ICSkXJe/TQUHdaPTq15b1mNQ==} + + borsh@2.0.0: + resolution: {integrity: sha512-kc9+BgR3zz9+cjbwM8ODoUB4fs3X3I5A/HtX7LZKxCLaMrEeDFoBpnhZY//DTS1VZBSs6S5v46RZRbZjRFspEg==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.24.3: + resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bs58@5.0.0: + resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} + + bs58@6.0.0: + resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + + buffer-layout@1.2.2: + resolution: {integrity: sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==} + engines: {node: '>=4.5'} + + buffer-reverse@1.0.1: + resolution: {integrity: sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bufferutil@4.0.9: + resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} + engines: {node: '>=6.14.2'} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001690: + resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + core-js-compat@3.39.0: + resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-hash@1.3.0: + resolution: {integrity: sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==} + engines: {node: '>=8'} + + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decimal.js-light@2.5.1: + resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} + + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delay@5.0.0: + resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + discord-api-types@0.37.115: + resolution: {integrity: sha512-ivPnJotSMrXW8HLjFu+0iCVs8zP6KSliMelhr7HgcB2ki1QzpORkb26m71l1pzSnnGfm7gb5n/VtRTtpw8kXFA==} + + discord.js@14.17.2: + resolution: {integrity: sha512-mrH6ziLVtNtId4bV4bsaUt5jE6NUaiHMPqO5VsSw1VVhFnjFi9duD8ctlo90/6cUH+8uyKBkoq9mSJ35SuuZ7Q==} + engines: {node: '>=18'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dotenv@10.0.0: + resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} + engines: {node: '>=10'} + + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.5.76: + resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==} + + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + enhanced-resolve@5.18.0: + resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + + es-abstract@1.23.9: + resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-import-resolver-typescript@3.7.0: + resolution: {integrity: sha512-Vrwyi8HHxY97K5ebydMtffsWAn1SCR9eol49eCd5fJS4O1WV7PaAjbcjmbfJJSMz/t4Mal212Uz/fQZrOB8mow==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-prettier@5.2.1: + resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-plugin-promise@7.2.1: + resolution: {integrity: sha512-SWKjd+EuvWkYaS+uN2csvj0KoP43YTu7+phKQ5v+xw6+A0gutVX2yqCeCkC3uLCJFiPfR2dD8Es5L7yUsmvEaA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-security@3.0.1: + resolution: {integrity: sha512-XjVGBhtDZJfyuhIxnQ/WMm385RbX3DBu7H1J7HNNhmB2tnGxMeqVSnYv79oAj992ayvIBZghsymwkYFS6cGH4Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-plugin-sonarjs@3.0.1: + resolution: {integrity: sha512-RT6VgdPqizbMLmTryIc3fB169hRjvDFlqieSZEEswGtApPb4Dn9BndmN9qyfBV/By0hbseIX8zQWKBz5E7lyiQ==} + peerDependencies: + eslint: ^8.0.0 || ^9.0.0 + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + eslint@9.17.0: + resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + ethereum-bloom-filters@1.2.0: + resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} + + ethereum-cryptography@2.2.1: + resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + + ethjs-unit@0.1.6: + resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} + engines: {node: '>=6.5.0', npm: '>=3'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + + eyes@0.1.8: + resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} + engines: {node: '> 0.1.90'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-stable-stringify@1.0.0: + resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + + fastestsmallesttextencoderdecoder@1.0.22: + resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} + + fastq@1.18.0: + resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-process@1.4.8: + resolution: {integrity: sha512-W2PIdgXfhYeIlTzGiDyGJhjslZcwQCRcSw6plgyLu3CFk1PhQrKkTbQ5jkJ2NhOabMwETTrhl7c+xBcQ7B2jRg==} + hasBin: true + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data-encoder@1.7.2: + resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} + + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + engines: {node: '>= 6'} + + formdata-node@4.4.1: + resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} + engines: {node: '>= 12.20'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.2.7: + resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@11.0.0: + resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} + engines: {node: 20 || >=22} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + graphemesplit@2.4.4: + resolution: {integrity: sha512-lKrpp1mk1NH26USxC/Asw4OHbhSQf5XfrWZ+CDv/dFVvd1j17kFgMotdJvOesmHkbFX9P9sBfpH8VogxOWLg8w==} + + groq-sdk@0.5.0: + resolution: {integrity: sha512-RVmhW7qZ+XZoy5fIuSdx/LGQJONpL8MHgZEW7dFwTdgkzStub2XQx6OKv28CHogijdwH41J+Npj/z2jBPu3vmw==} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-to-html@9.0.4: + resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore-by-default@1.0.1: + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-async-function@2.1.0: + resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.2.1: + resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==} + engines: {node: '>= 0.4'} + + is-bun-module@1.3.0: + resolution: {integrity: sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hex-prefixed@1.0.0: + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} + engines: {node: '>=6.5.0', npm: '>=3'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-nan@1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-retry-allowed@2.2.0: + resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} + engines: {node: '>=10'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.0: + resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jackspeak@4.0.2: + resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} + engines: {node: 20 || >=22} + + jayson@4.1.3: + resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} + engines: {node: '>=8'} + hasBin: true + + js-base64@3.7.7: + resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} + + js-sha256@0.11.0: + resolution: {integrity: sha512-6xNlKayMZvds9h1Y1VWc0fQHQ82BxTXizWPEtEeGvmOUYpBRy4gbWroHLpzowe6xiQhHpelCQiE7HEdznyBL9Q==} + + js-sha256@0.9.0: + resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} + + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + + js-tiktoken@1.0.16: + resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + keccak256@1.0.6: + resolution: {integrity: sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw==} + + keccak@3.0.4: + resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} + engines: {node: '>=10.0.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + langchain@0.3.9: + resolution: {integrity: sha512-uteRutI03Bt9f53nZmx8mWfJXkf6VlFVRuOprRJ0mWdCpkTP359sxrH4v6w4TokLiziPC/aMay662kmOz0dHlA==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/anthropic': '*' + '@langchain/aws': '*' + '@langchain/cerebras': '*' + '@langchain/cohere': '*' + '@langchain/core': '>=0.2.21 <0.4.0' + '@langchain/google-genai': '*' + '@langchain/google-vertexai': '*' + '@langchain/groq': '*' + '@langchain/mistralai': '*' + '@langchain/ollama': '*' + axios: '*' + cheerio: '*' + handlebars: ^4.7.8 + peggy: ^3.0.2 + typeorm: '*' + peerDependenciesMeta: + '@langchain/anthropic': + optional: true + '@langchain/aws': + optional: true + '@langchain/cerebras': + optional: true + '@langchain/cohere': + optional: true + '@langchain/google-genai': + optional: true + '@langchain/google-vertexai': + optional: true + '@langchain/groq': + optional: true + '@langchain/mistralai': + optional: true + '@langchain/ollama': + optional: true + axios: + optional: true + cheerio: + optional: true + handlebars: + optional: true + peggy: + optional: true + typeorm: + optional: true + + langsmith@0.2.14: + resolution: {integrity: sha512-ClAuAgSf3m9miMYotLEaZKQyKdaWlfjhebCuYco8bc6g72dU2VwTg31Bv4YINBq7EH2i1cMwbOiJxbOXPqjGig==} + peerDependencies: + openai: '*' + peerDependenciesMeta: + openai: + optional: true + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + libsodium-sumo@0.7.15: + resolution: {integrity: sha512-5tPmqPmq8T8Nikpm1Nqj0hBHvsLFCXvdhBFV7SGOitQPZAA6jso8XoL0r4L7vmfKXr486fiQInvErHtEvizFMw==} + + libsodium-wrappers-sumo@0.7.15: + resolution: {integrity: sha512-aSWY8wKDZh5TC7rMvEdTHoyppVq/1dTSAeAR7H6pzd6QRT3vQWcT5pGwCotLcpPEOLXX6VvqihSPkpEhYAjANA==} + + libsodium-wrappers@0.7.15: + resolution: {integrity: sha512-E4anqJQwcfiC6+Yrl01C1m8p99wEhLmJSs0VQqST66SbQXXBoaJY0pF4BNjRYa/sOQAxx6lXAaAFIlx+15tXJQ==} + + libsodium@0.7.15: + resolution: {integrity: sha512-sZwRknt/tUpE2AwzHq3jEyUU5uvIZHtSssktXq7owd++3CSgn8RGrv6UZJJBpP7+iBghBqe7Z06/2M31rI2NKw==} + + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + loglevel@1.9.2: + resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} + engines: {node: '>= 0.6.0'} + + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@11.0.2: + resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} + engines: {node: 20 || >=22} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + magic-bytes.js@1.10.0: + resolution: {integrity: sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ==} + + markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true + + math-expression-evaluator@2.0.6: + resolution: {integrity: sha512-DRung1qNcKbgkhFeQ0fBPUFB6voRUMY7KyRyp1TRQ2v95Rp2egC823xLRooM1mDx1rmbkY7ym6ZWmpaE/VimOA==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + merkletreejs@0.3.11: + resolution: {integrity: sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==} + engines: {node: '>= 7.6.0'} + + micro-ftch@0.3.1: + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true + + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-addon-api@2.0.2: + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + nodemon@3.1.9: + resolution: {integrity: sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg==} + engines: {node: '>=10'} + hasBin: true + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + number-to-bn@1.7.0: + resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} + engines: {node: '>=6.5.0', npm: '>=3'} + + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + engines: {node: '>= 0.4'} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + oniguruma-to-es@0.10.0: + resolution: {integrity: sha512-zapyOUOCJxt+xhiNRPPMtfJkHGsZ98HHB9qJEkdT8BGytO/+kpe4m1Ngf0MzbzTmhacn11w9yGeDP6tzDhnCdg==} + + openai@4.77.3: + resolution: {integrity: sha512-wLDy4+KWHz31HRFMW2+9KQuVuT2QWhs0z94w1Gm1h2Ut9vIHr9/rHZggbykZEfyiaJRVgw8ZS9K6AylDWzvPYw==} + hasBin: true + peerDependencies: + zod: ^3.23.8 + peerDependenciesMeta: + zod: + optional: true + + openapi-types@12.1.3: + resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + + pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} + + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + + percentile@1.6.0: + resolution: {integrity: sha512-8vSyjdzwxGDHHwH+cSGch3A9Uj2On3UpgOWxWXMKwUvoAbnujx6DaqmV1duWXNiH/oEWpyVd6nSQccix6DM3Ng==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + poly1305-js@0.4.4: + resolution: {integrity: sha512-5B6/S+vg5AOr66wJDkh5LOpU/F3EKANDy4VXKsNZLXea1uCy6CiOWOZ3VhcC0nYdhE7vJUMcLxqcVlrv2g/+Rg==} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} + engines: {node: '>=14'} + hasBin: true + + prom-client@15.1.3: + resolution: {integrity: sha512-6ZiOBfCywsD4k1BN9IX0uZhF+tJkV8q8llP64G5Hajs4JOeVLPCwpPVcpXy3BwYiUGgyJzsJJQeOIv7+hDSq8g==} + engines: {node: ^16 || ^18 || >=20} + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + pstree.remy@1.1.8: + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} + + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + refa@0.12.1: + resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regex-recursion@5.1.1: + resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@5.1.1: + resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + + regexp-ast-analysis@0.7.1: + resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + regexpu-core@6.2.0: + resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + engines: {node: '>=4'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + hasBin: true + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + hasBin: true + + rimraf@6.0.1: + resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} + engines: {node: 20 || >=22} + hasBin: true + + rpc-websockets@9.0.4: + resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safe-regex@2.1.1: + resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} + + scslre@0.3.0: + resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} + engines: {node: ^14.0.0 || >=16.0.0} + + semaphore@1.1.0: + resolution: {integrity: sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==} + engines: {node: '>=0.8.0'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shiki@1.26.1: + resolution: {integrity: sha512-Gqg6DSTk3wYqaZ5OaYtzjcdxcBvX5kCy24yvRJEgjT5U+WHlmqCThLuBUx0juyxQBi+6ug53IGeuQS07DWwpcw==} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-update-notifier@2.0.0: + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + sodium-native@3.4.1: + resolution: {integrity: sha512-PaNN/roiFWzVVTL6OqjzYct38NSXewdl2wz8SRB51Br/MLIJPrbM3XexhVWkq7D3UWMysfrhKVf1v1phZq6MeQ==} + + sodium-plus@0.9.0: + resolution: {integrity: sha512-WWKxrd81qDL7C1A10yxNmZ135yovEZuIRnZ/BIf/FcajYBupbKbPdgzwlusPHLVxkMDDamcarq9PxxRBUSqpCw==} + peerDependencies: + sodium-native: ^3.2.0 + + solana-agent-kit@1.3.4: + resolution: {integrity: sha512-w8T2rAN3n5lmityFzWMj83YPMeplLiyGNHO0dysXfUjpbB7i50wSYFkBlmdoAAuW2O2n3STafzL5jdIkkoizOA==} + engines: {node: '>=22.0.0', pnpm: '>=8.0.0'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spok@1.5.5: + resolution: {integrity: sha512-IrJIXY54sCNFASyHPOY+jEirkiJ26JDqsGiI0Dvhwcnkl0PEWi1PSsrkYql0rzDw8LFVTcA7rdUCAJdE2HE+2Q==} + + stable-hash@0.0.4: + resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-hex-prefix@1.0.0: + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} + engines: {node: '>=6.5.0', npm: '>=3'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + superstruct@0.15.5: + resolution: {integrity: sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==} + + superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + engines: {node: ^14.18.0 || >=16.0.0} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tdigest@0.1.2: + resolution: {integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==} + + text-encoding-utf-8@1.0.2: + resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toformat@2.0.0: + resolution: {integrity: sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ==} + + toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + + touch@3.1.1: + resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} + hasBin: true + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + treeify@1.1.0: + resolution: {integrity: sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==} + engines: {node: '>=0.6'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + ts-api-utils@1.4.3: + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-log@2.2.7: + resolution: {integrity: sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==} + + ts-mixer@6.0.4: + resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==} + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} + engines: {node: '>=18.0.0'} + hasBin: true + + tweetnacl-util@0.15.1: + resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} + + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typedoc@0.26.11: + resolution: {integrity: sha512-sFEgRRtrcDl2FxVP58Ze++ZK2UQAEvtvvH8rRlig1Ja3o7dDaMHmaBfvJmdGnNEFaLTpQsN8dpvZaTqJSu/Ugw==} + engines: {node: '>= 18'} + hasBin: true + peerDependencies: + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x + + typedoc@0.27.6: + resolution: {integrity: sha512-oBFRoh2Px6jFx366db0lLlihcalq/JzyCVp7Vaq1yphL/tbgx2e+bkpkCgJPunaPvPwoTOXSwasfklWHm7GfAw==} + engines: {node: '>= 18'} + hasBin: true + peerDependencies: + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x + + typescript-collections@1.3.3: + resolution: {integrity: sha512-7sI4e/bZijOzyURng88oOFZCISQPTHozfE2sUu5AviFYk5QV7fYGb6YiDl+vKjF/pICA354JImBImL9XJWUvdQ==} + + typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + undefsafe@2.0.5: + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + engines: {node: '>=18.17'} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + utf-8-validate@5.0.10: + resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} + engines: {node: '>=6.14.2'} + + utf8@3.0.0: + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + web-streams-polyfill@4.0.0-beta.3: + resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} + engines: {node: '>= 14'} + + web3-utils@1.10.4: + resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} + engines: {node: '>=8.0.0'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.18: + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xsalsa20@1.2.0: + resolution: {integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@2.7.0: + resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} + engines: {node: '>= 14'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod-to-json-schema@3.24.1: + resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==} + peerDependencies: + zod: ^3.24.1 + + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + + zstddec@0.0.2: + resolution: {integrity: sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.3': {} + + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + convert-source-map: 2.0.0 + debug: 4.4.0(supports-color@5.5.0) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/eslint-parser@7.25.9(@babel/core@7.26.0)(eslint@8.57.1)': + dependencies: + '@babel/core': 7.26.0 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.57.1 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + + '@babel/generator@7.26.3': + dependencies: + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.25.9': + dependencies: + '@babel/types': 7.26.3 + + '@babel/helper-compilation-targets@7.25.9': + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.26.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + regexpu-core: 6.2.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.4.0(supports-color@5.5.0) + lodash.debounce: 4.0.8 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + '@babel/helper-member-expression-to-functions@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.25.9': + dependencies: + '@babel/types': 7.26.3 + + '@babel/helper-plugin-utils@7.25.9': {} + + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-wrap-function': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helper-wrap-function@7.25.9': + dependencies: + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.26.0': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + + '@babel/parser@7.26.3': + dependencies: + '@babel/types': 7.26.3 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-decorators@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.26.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 + + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-flow-strip-types@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.0) + + '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/preset-env@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) + core-js-compat: 3.39.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-flow@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-transform-flow-strip-types': 7.25.9(@babel/core@7.26.0) + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/types': 7.26.3 + esutils: 2.0.3 + + '@babel/preset-react@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-pure-annotations': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + + '@babel/traverse@7.26.4': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + debug: 4.4.0(supports-color@5.5.0) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.26.3': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + borsh: 1.0.0 + bs58: 5.0.0 + buffer: 6.0.3 + + '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.8.0 + '@scure/base': 1.2.1 + '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + borsh: 2.0.0 + buffer: 6.0.3 + graphemesplit: 2.4.4 + ipaddr.js: 2.2.0 + punycode: 2.3.1 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@cfworker/json-schema@4.0.3': {} + + '@cks-systems/manifest-sdk@0.1.73(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/rustbin': 0.3.5 + '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 6.0.0 + js-sha256: 0.11.0 + keccak256: 1.0.6 + percentile: 1.6.0 + prom-client: 15.1.3 + rimraf: 5.0.10 + typedoc: 0.26.11(typescript@5.7.2) + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + zstddec: 0.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - jiti + - supports-color + - typescript + - utf-8-validate + + '@coral-xyz/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + base64-js: 1.5.1 + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + js-sha256: 0.9.0 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.7.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@discordjs/builders@1.10.0': + dependencies: + '@discordjs/formatters': 0.6.0 + '@discordjs/util': 1.1.1 + '@sapphire/shapeshift': 4.0.0 + discord-api-types: 0.37.115 + fast-deep-equal: 3.1.3 + ts-mixer: 6.0.4 + tslib: 2.8.1 + + '@discordjs/collection@1.5.3': {} + + '@discordjs/collection@2.1.1': {} + + '@discordjs/formatters@0.6.0': + dependencies: + discord-api-types: 0.37.115 + + '@discordjs/rest@2.4.2': + dependencies: + '@discordjs/collection': 2.1.1 + '@discordjs/util': 1.1.1 + '@sapphire/async-queue': 1.5.5 + '@sapphire/snowflake': 3.5.3 + '@vladfrangu/async_event_emitter': 2.4.6 + discord-api-types: 0.37.115 + magic-bytes.js: 1.10.0 + tslib: 2.8.1 + undici: 6.19.8 + + '@discordjs/util@1.1.1': {} + + '@discordjs/ws@1.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@discordjs/collection': 2.1.1 + '@discordjs/rest': 2.4.2 + '@discordjs/util': 1.1.1 + '@sapphire/async-queue': 1.5.5 + '@types/ws': 8.5.13 + '@vladfrangu/async_event_emitter': 2.4.6 + discord-api-types: 0.37.115 + tslib: 2.8.1 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@esbuild/aix-ppc64@0.23.1': + optional: true + + '@esbuild/android-arm64@0.23.1': + optional: true + + '@esbuild/android-arm@0.23.1': + optional: true + + '@esbuild/android-x64@0.23.1': + optional: true + + '@esbuild/darwin-arm64@0.23.1': + optional: true + + '@esbuild/darwin-x64@0.23.1': + optional: true + + '@esbuild/freebsd-arm64@0.23.1': + optional: true + + '@esbuild/freebsd-x64@0.23.1': + optional: true + + '@esbuild/linux-arm64@0.23.1': + optional: true + + '@esbuild/linux-arm@0.23.1': + optional: true + + '@esbuild/linux-ia32@0.23.1': + optional: true + + '@esbuild/linux-loong64@0.23.1': + optional: true + + '@esbuild/linux-mips64el@0.23.1': + optional: true + + '@esbuild/linux-ppc64@0.23.1': + optional: true + + '@esbuild/linux-riscv64@0.23.1': + optional: true + + '@esbuild/linux-s390x@0.23.1': + optional: true + + '@esbuild/linux-x64@0.23.1': + optional: true + + '@esbuild/netbsd-x64@0.23.1': + optional: true + + '@esbuild/openbsd-arm64@0.23.1': + optional: true + + '@esbuild/openbsd-x64@0.23.1': + optional: true + + '@esbuild/sunos-x64@0.23.1': + optional: true + + '@esbuild/win32-arm64@0.23.1': + optional: true + + '@esbuild/win32-ia32@0.23.1': + optional: true + + '@esbuild/win32-x64@0.23.1': + optional: true + + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0)': + dependencies: + eslint: 9.17.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.1': + dependencies: + '@eslint/object-schema': 2.1.5 + debug: 4.4.0(supports-color@5.5.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.9.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.4.0(supports-color@5.5.0) + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.2 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.2.0': + dependencies: + ajv: 6.12.6 + debug: 4.4.0(supports-color@5.5.0) + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.1': {} + + '@eslint/js@9.17.0': {} + + '@eslint/object-schema@2.1.5': {} + + '@eslint/plugin-kit@0.2.4': + dependencies: + levn: 0.4.1 + + '@ethereumjs/rlp@4.0.1': {} + + '@ethereumjs/util@8.1.0': + dependencies: + '@ethereumjs/rlp': 4.0.1 + ethereum-cryptography: 2.2.1 + micro-ftch: 0.3.1 + + '@ethersproject/bytes@5.7.0': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/logger@5.7.0': {} + + '@ethersproject/sha2@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + hash.js: 1.1.7 + + '@gerrit0/mini-shiki@1.26.1': + dependencies: + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + + '@humanwhocodes/config-array@0.13.0': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.4.0(supports-color@5.5.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))': + dependencies: + '@cfworker/json-schema': 4.0.3 + ansi-styles: 5.2.0 + camelcase: 6.3.0 + decamelize: 1.2.0 + js-tiktoken: 1.0.16 + langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) + mustache: 4.2.0 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 10.0.0 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - openai + + '@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + groq-sdk: 0.5.0 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - encoding + + '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + uuid: 10.0.0 + + '@langchain/langgraph-sdk@0.0.33': + dependencies: + '@types/json-schema': 7.0.15 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 9.0.1 + + '@langchain/langgraph@0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/langgraph-sdk': 0.0.33 + uuid: 10.0.0 + zod: 3.24.1 + + '@langchain/openai@0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + js-tiktoken: 1.0.16 + openai: 4.77.3(zod@3.24.1) + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - encoding + + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + js-tiktoken: 1.0.16 + + '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@noble/hashes': 1.5.0 + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + superstruct: 2.0.2 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 5.0.0 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 5.0.0 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 5.0.0 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@metaplex-foundation/beet@0.4.0': + dependencies: + ansicolors: 0.3.2 + bn.js: 5.2.1 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/beet@0.6.1': + dependencies: + ansicolors: 0.3.2 + bn.js: 5.2.1 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/beet@0.7.1': + dependencies: + ansicolors: 0.3.2 + bn.js: 5.2.1 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/beet@0.7.2': + dependencies: + ansicolors: 0.3.2 + assert: 2.1.0 + bn.js: 5.2.1 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/cusper@0.0.2': {} + + '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.6.1 + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + js-sha3: 0.8.0 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@msgpack/msgpack': 3.0.0-beta2 + '@noble/hashes': 1.7.0 + + '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@metaplex-foundation/mpl-token-metadata@3.3.0(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/rustbin@0.3.5': + dependencies: + debug: 4.4.0(supports-color@5.5.0) + semver: 7.6.3 + text-table: 0.2.0 + toml: 3.0.0 + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.4.0 + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/rustbin': 0.3.5 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + camelcase: 6.3.0 + debug: 4.4.0(supports-color@5.5.0) + js-sha256: 0.9.0 + prettier: 2.8.8 + snake-case: 3.0.4 + spok: 1.5.5 + transitivePeerDependencies: + - bufferutil + - encoding + - jiti + - supports-color + - utf-8-validate + + '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-downloader-http': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-http-fetch': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-program-repository': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-rpc-chunk-get-accounts': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-serializer-data-view': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - encoding + + '@metaplex-foundation/umi-downloader-http@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.8.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + '@metaplex-foundation/umi-options@0.8.9': {} + + '@metaplex-foundation/umi-program-repository@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-public-keys@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-serializers-core@0.8.9': {} + + '@metaplex-foundation/umi-serializers-encodings@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-core': 0.8.9 + + '@metaplex-foundation/umi-serializers-numbers@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-core': 0.8.9 + + '@metaplex-foundation/umi-serializers@0.9.0': + dependencies: + '@metaplex-foundation/umi-options': 0.8.9 + '@metaplex-foundation/umi-public-keys': 0.8.9 + '@metaplex-foundation/umi-serializers-core': 0.8.9 + '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + '@metaplex-foundation/umi-serializers-numbers': 0.8.9 + + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + + '@metaplex-foundation/umi@0.9.2': + dependencies: + '@metaplex-foundation/umi-options': 0.8.9 + '@metaplex-foundation/umi-public-keys': 0.8.9 + '@metaplex-foundation/umi-serializers': 0.9.0 + + '@msgpack/msgpack@2.8.0': {} + + '@msgpack/msgpack@3.0.0-beta2': {} + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + dependencies: + eslint-scope: 5.1.1 + + '@noble/curves@1.4.2': + dependencies: + '@noble/hashes': 1.4.0 + + '@noble/curves@1.8.0': + dependencies: + '@noble/hashes': 1.7.0 + + '@noble/hashes@1.4.0': {} + + '@noble/hashes@1.5.0': {} + + '@noble/hashes@1.7.0': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.18.0 + + '@nolyfill/is-core-module@1.0.39': {} + + '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/sha2': 5.7.0 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + borsh: 2.0.0 + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@opentelemetry/api@1.9.0': {} + + '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + dependencies: + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + decimal.js: 10.4.3 + tiny-invariant: 1.3.3 + + '@orca-so/whirlpools-sdk@0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + decimal.js: 10.4.3 + tiny-invariant: 1.3.3 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@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 + '@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) + axios: 1.7.9 + big.js: 6.2.2 + bn.js: 5.2.1 + dayjs: 1.11.13 + decimal.js-light: 2.5.1 + jsonfile: 6.1.0 + lodash: 4.17.21 + toformat: 2.0.0 + tsconfig-paths: 4.2.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@rtsao/scc@1.1.0': {} + + '@saberhq/option-utils@1.15.0': + dependencies: + tslib: 2.8.1 + + '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)': + dependencies: + '@saberhq/option-utils': 1.15.0 + '@solana/buffer-layout': 4.0.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@types/promise-retry': 1.1.6 + '@types/retry': 0.12.5 + bn.js: 5.2.1 + promise-retry: 2.0.1 + retry: 0.13.1 + tiny-invariant: 1.3.3 + tslib: 2.8.1 + + '@sapphire/async-queue@1.5.5': {} + + '@sapphire/shapeshift@4.0.0': + dependencies: + fast-deep-equal: 3.1.3 + lodash: 4.17.21 + + '@sapphire/snowflake@3.5.3': {} + + '@scure/base@1.1.9': {} + + '@scure/base@1.2.1': {} + + '@scure/bip32@1.4.0': + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 + + '@scure/bip39@1.3.0': + dependencies: + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 + + '@shikijs/core@1.26.1': + dependencies: + '@shikijs/engine-javascript': 1.26.1 + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.4 + + '@shikijs/engine-javascript@1.26.1': + dependencies: + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + oniguruma-to-es: 0.10.0 + + '@shikijs/engine-oniguruma@1.26.1': + dependencies: + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + + '@shikijs/langs@1.26.1': + dependencies: + '@shikijs/types': 1.26.1 + + '@shikijs/themes@1.26.1': + dependencies: + '@shikijs/types': 1.26.1 + + '@shikijs/types@1.26.1': + dependencies: + '@shikijs/vscode-textmate': 10.0.1 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.1': {} + + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bigint-buffer: 1.1.5 + bignumber.js: 9.1.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/buffer-layout@4.0.1': + dependencies: + buffer: 6.0.3 + + '@solana/codecs-core@2.0.0-preview.2': + dependencies: + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-core@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-core@2.0.0-rc.1(typescript@4.9.5)': + dependencies: + '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) + typescript: 4.9.5 + + '@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-data-structures@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-data-structures@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@4.9.5)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@4.9.5) + '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) + typescript: 4.9.5 + + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-numbers@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-numbers@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-numbers@2.0.0-rc.1(typescript@4.9.5)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) + '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) + typescript: 4.9.5 + + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-strings@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + fastestsmallesttextencoderdecoder: 1.0.22 + + '@solana/codecs-strings@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.7.2 + + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@4.9.5) + '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 4.9.5 + + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.7.2 + + '@solana/codecs@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-data-structures': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/codecs-strings': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/options': 2.0.0-preview.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/options': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/errors@2.0.0-preview.2': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + + '@solana/errors@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 5.7.2 + + '@solana/errors@2.0.0-rc.1(typescript@4.9.5)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 4.9.5 + + '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 5.7.2 + + '@solana/options@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + + '@solana/options@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + borsh: 0.7.0 + js-sha3: 0.8.0 + typescript-collections: 1.3.3 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-type-length-value': 0.1.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-type-length-value': 0.1.0 + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token@0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer: 6.0.3 + buffer-layout: 1.2.2 + dotenv: 10.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-type-length-value@0.1.0': + dependencies: + buffer: 6.0.3 + + '@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.6.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.6.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-bubblegum': 0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + axios: 0.28.1 + big.js: 6.2.2 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 5.0.0 + exponential-backoff: 3.1.1 + js-sha3: 0.8.0 + semaphore: 1.1.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@msgpack/msgpack': 2.8.0 + '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@tensor-hq/tensor-common': 8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@types/bn.js': 5.1.6 + big.js: 6.2.2 + bn.js: 5.2.1 + js-sha256: 0.9.0 + keccak256: 1.0.6 + math-expression-evaluator: 2.0.6 + merkletreejs: 0.3.11 + uuid: 8.3.2 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@tiplink/api@0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 5.0.0 + libsodium: 0.7.15 + libsodium-wrappers-sumo: 0.7.15 + nanoid: 3.3.8 + sodium-plus: 0.9.0(sodium-native@3.4.1) + tweetnacl: 1.0.3 + tweetnacl-util: 0.15.1 + typescript: 4.9.5 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - sodium-native + - utf-8-validate + + '@types/bn.js@5.1.6': + dependencies: + '@types/node': 22.10.5 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 22.10.5 + + '@types/estree@1.0.6': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/node-fetch@2.6.12': + dependencies: + '@types/node': 22.10.5 + form-data: 4.0.1 + + '@types/node@12.20.55': {} + + '@types/node@18.19.69': + dependencies: + undici-types: 5.26.5 + + '@types/node@22.10.5': + dependencies: + undici-types: 6.20.0 + + '@types/promise-retry@1.1.6': + dependencies: + '@types/retry': 0.12.5 + + '@types/retry@0.12.0': {} + + '@types/retry@0.12.5': {} + + '@types/unist@3.0.3': {} + + '@types/uuid@10.0.0': {} + + '@types/uuid@8.3.4': {} + + '@types/ws@7.4.7': + dependencies: + '@types/node': 22.10.5 + + '@types/ws@8.5.13': + dependencies: + '@types/node': 22.10.5 + + '@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2)': + dependencies: + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.0 + debug: 4.4.0(supports-color@5.5.0) + eslint: 8.57.1 + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.19.0': + dependencies: + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 + + '@typescript-eslint/types@8.19.0': {} + + '@typescript-eslint/typescript-estree@8.19.0(typescript@5.7.2)': + dependencies: + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 + debug: 4.4.0(supports-color@5.5.0) + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.4.3(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.19.0': + dependencies: + '@typescript-eslint/types': 8.19.0 + eslint-visitor-keys: 4.2.0 + + '@ungap/structured-clone@1.2.1': {} + + '@vladfrangu/async_event_emitter@2.4.6': {} + + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + acorn-jsx@5.3.2(acorn@8.14.0): + dependencies: + acorn: 8.14.0 + + acorn@8.14.0: {} + + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + ansicolors@0.3.2: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@2.0.1: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.3 + is-array-buffer: 3.0.5 + + array-includes@3.1.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.7 + is-string: 1.1.1 + + array.prototype.findlastindex@1.2.5: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-shim-unscopables: 1.0.2 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-shim-unscopables: 1.0.2 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + is-array-buffer: 3.0.5 + + assert@2.1.0: + dependencies: + call-bind: 1.0.8 + is-nan: 1.3.2 + object-is: 1.1.6 + object.assign: 4.1.7 + util: 0.12.5 + + assertion-error@2.0.1: {} + + asynckit@0.4.0: {} + + available-typed-arrays@1.0.7: + 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 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + axios@1.7.9: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + core-js-compat: 3.39.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + balanced-match@1.0.2: {} + + base-x@3.0.10: + dependencies: + safe-buffer: 5.2.1 + + base-x@4.0.0: {} + + base-x@5.0.0: {} + + base64-js@1.5.1: {} + + big-integer@1.6.52: {} + + big.js@6.2.2: {} + + bigint-buffer@1.1.5: + dependencies: + bindings: 1.5.0 + + bignumber.js@9.1.2: {} + + binary-extensions@2.3.0: {} + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + + bintrees@1.0.2: {} + + bn.js@4.11.6: {} + + bn.js@5.2.1: {} + + borsh@0.7.0: + dependencies: + bn.js: 5.2.1 + bs58: 4.0.1 + text-encoding-utf-8: 1.0.2 + + borsh@1.0.0: {} + + borsh@2.0.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.24.3: + dependencies: + caniuse-lite: 1.0.30001690 + electron-to-chromium: 1.5.76 + node-releases: 2.0.19 + update-browserslist-db: 1.1.1(browserslist@4.24.3) + + bs58@4.0.1: + dependencies: + base-x: 3.0.10 + + bs58@5.0.0: + dependencies: + base-x: 4.0.0 + + bs58@6.0.0: + dependencies: + base-x: 5.0.0 + + buffer-layout@1.2.2: {} + + buffer-reverse@1.0.1: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bufferutil@4.0.9: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + builtin-modules@3.3.0: {} + + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.1: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + get-intrinsic: 1.2.7 + set-function-length: 1.2.2 + + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.1 + get-intrinsic: 1.2.7 + + callsites@3.1.0: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001690: {} + + ccount@2.0.1: {} + + chai@5.1.2: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.2 + pathval: 2.0.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.4.1: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + check-error@2.1.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@12.1.0: {} + + commander@2.20.3: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + core-js-compat@3.39.0: + dependencies: + browserslist: 4.24.3 + + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-hash@1.3.0: {} + + crypto-js@4.2.0: {} + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + dayjs@1.11.13: {} + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.4.0(supports-color@5.5.0): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 5.5.0 + + decamelize@1.2.0: {} + + decimal.js-light@2.5.1: {} + + decimal.js@10.4.3: {} + + deep-eql@5.0.2: {} + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + delay@5.0.0: {} + + delayed-stream@1.0.0: {} + + dequal@2.0.3: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + discord-api-types@0.37.115: {} + + discord.js@14.17.2(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@discordjs/builders': 1.10.0 + '@discordjs/collection': 1.5.3 + '@discordjs/formatters': 0.6.0 + '@discordjs/rest': 2.4.2 + '@discordjs/util': 1.1.1 + '@discordjs/ws': 1.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@sapphire/snowflake': 3.5.3 + discord-api-types: 0.37.115 + fast-deep-equal: 3.1.3 + lodash.snakecase: 4.1.1 + tslib: 2.8.1 + undici: 6.19.8 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dotenv@10.0.0: {} + + dotenv@16.4.7: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.76: {} + + emoji-regex-xs@1.0.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + enhanced-resolve@5.18.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + entities@4.5.0: {} + + err-code@2.0.3: {} + + es-abstract@1.23.9: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-regex: 1.2.1 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.0 + math-intrinsics: 1.1.0 + object-inspect: 1.13.3 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.18 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.0.2: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + es6-promise@4.2.8: {} + + es6-promisify@5.0.0: + dependencies: + es6-promise: 4.2.8 + + esbuild@0.23.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + + escalade@3.2.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-prettier@9.1.0(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1): + dependencies: + '@nolyfill/is-core-module': 1.0.39 + debug: 4.4.0(supports-color@5.5.0) + enhanced-resolve: 5.18.0 + eslint: 8.57.1 + fast-glob: 3.3.2 + get-tsconfig: 4.8.1 + is-bun-module: 1.3.0 + is-glob: 4.0.3 + stable-hash: 0.0.4 + optionalDependencies: + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.19.0(eslint@8.57.1)(typescript@5.7.2) + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) + hasown: 2.0.2 + is-core-module: 2.16.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + semver: 6.3.1 + string.prototype.trimend: 1.0.9 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.19.0(eslint@8.57.1)(typescript@5.7.2) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.2): + dependencies: + eslint: 8.57.1 + prettier: 3.4.2 + prettier-linter-helpers: 1.0.0 + synckit: 0.9.2 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@8.57.1) + + eslint-plugin-promise@7.2.1(eslint@8.57.1): + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) + eslint: 8.57.1 + + eslint-plugin-security@3.0.1: + dependencies: + safe-regex: 2.1.1 + + eslint-plugin-sonarjs@3.0.1(eslint@8.57.1): + dependencies: + '@babel/core': 7.26.0 + '@babel/eslint-parser': 7.25.9(@babel/core@7.26.0)(eslint@8.57.1) + '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/preset-flow': 7.25.9(@babel/core@7.26.0) + '@babel/preset-react': 7.26.3(@babel/core@7.26.0) + '@eslint-community/regexpp': 4.12.1 + builtin-modules: 3.3.0 + bytes: 3.1.2 + eslint: 8.57.1 + functional-red-black-tree: 1.0.1 + jsx-ast-utils: 3.3.5 + minimatch: 9.0.5 + scslre: 0.3.0 + semver: 7.6.3 + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-scope@8.2.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@2.1.0: {} + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.0: {} + + eslint@8.57.1: + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.1 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.1 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0(supports-color@5.5.0) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + eslint@9.17.0: + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.9.1 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.17.0 + '@eslint/plugin-kit': 0.2.4 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0(supports-color@5.5.0) + escape-string-regexp: 4.0.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@10.3.0: + dependencies: + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 + + espree@9.6.1: + dependencies: + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 3.4.3 + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + ethereum-bloom-filters@1.2.0: + dependencies: + '@noble/hashes': 1.7.0 + + ethereum-cryptography@2.2.1: + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 + + ethjs-unit@0.1.6: + dependencies: + bn.js: 4.11.6 + number-to-bn: 1.7.0 + + event-target-shim@5.0.1: {} + + eventemitter3@4.0.7: {} + + eventemitter3@5.0.1: {} + + exponential-backoff@3.1.1: {} + + eyes@0.1.8: {} + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-stable-stringify@1.0.0: {} + + fastestsmallesttextencoderdecoder@1.0.22: {} + + fastq@1.18.0: + dependencies: + reusify: 1.0.4 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + file-uri-to-path@1.0.0: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-process@1.4.8: + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.17.0 + glob: 11.0.0 + loglevel: 1.9.2 + rimraf: 6.0.1 + transitivePeerDependencies: + - jiti + - supports-color + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@3.2.0: + dependencies: + flatted: 3.3.2 + keyv: 4.5.4 + rimraf: 3.0.2 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.2 + keyv: 4.5.4 + + flatted@3.3.2: {} + + follow-redirects@1.15.9: {} + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data-encoder@1.7.2: {} + + form-data@4.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + formdata-node@4.4.1: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 4.0.0-beta.3 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + + functional-red-black-tree@1.0.1: {} + + functions-have-names@1.2.3: {} + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.2.7: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.0.0 + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + + get-tsconfig@4.8.1: + dependencies: + resolve-pkg-maps: 1.0.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@11.0.0: + dependencies: + foreground-child: 3.3.0 + jackspeak: 4.0.2 + minimatch: 10.0.1 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.0 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globals@14.0.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + graphemesplit@2.4.4: + dependencies: + js-base64: 3.7.7 + unicode-trie: 2.0.0 + + groq-sdk@0.5.0: + dependencies: + '@types/node': 18.19.69 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.6.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + web-streams-polyfill: 3.3.3 + transitivePeerDependencies: + - encoding + + has-bigints@1.1.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-to-html@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + html-void-elements@3.0.0: {} + + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + + ieee754@1.2.1: {} + + ignore-by-default@1.0.1: {} + + ignore@5.3.2: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + + ipaddr.js@2.2.0: {} + + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + + is-async-function@2.1.0: + dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.2.1: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-bun-module@1.3.0: + dependencies: + semver: 7.6.3 + + is-callable@1.2.7: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.3 + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.1.0: + dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hex-prefixed@1.0.0: {} + + is-map@2.0.3: {} + + is-nan@1.3.2: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-retry-allowed@2.2.0: {} + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.3 + + is-string@1.1.1: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.3 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.18 + + is-typedarray@1.0.0: {} + + is-weakmap@2.0.2: {} + + is-weakref@1.1.0: + dependencies: + call-bound: 1.0.3 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + 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 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jackspeak@4.0.2: + dependencies: + '@isaacs/cliui': 8.0.2 + + jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@types/connect': 3.4.38 + '@types/node': 12.20.55 + '@types/ws': 7.4.7 + JSONStream: 1.3.5 + commander: 2.20.3 + delay: 5.0.0 + es6-promisify: 5.0.0 + eyes: 0.1.8 + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + json-stringify-safe: 5.0.1 + uuid: 8.3.2 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + js-base64@3.7.7: {} + + js-sha256@0.11.0: {} + + js-sha256@0.9.0: {} + + js-sha3@0.8.0: {} + + js-tiktoken@1.0.16: + dependencies: + base64-js: 1.5.1 + + js-tokens@4.0.0: {} + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@3.0.2: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json-stringify-safe@5.0.1: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonparse@1.3.1: {} + + jsonpointer@5.0.1: {} + + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.8 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 + + keccak256@1.0.6: + dependencies: + bn.js: 5.2.1 + buffer: 6.0.3 + keccak: 3.0.4 + + keccak@3.0.4: + dependencies: + node-addon-api: 2.0.2 + node-gyp-build: 4.8.4 + readable-stream: 3.6.2 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + langchain@0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)): + dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + js-tiktoken: 1.0.16 + js-yaml: 4.1.0 + jsonpointer: 5.0.1 + langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) + openapi-types: 12.1.3 + p-retry: 4.6.2 + uuid: 10.0.0 + yaml: 2.7.0 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + optionalDependencies: + '@langchain/groq': 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + axios: 1.7.9 + transitivePeerDependencies: + - encoding + - openai + + langsmith@0.2.14(openai@4.77.3(zod@3.24.1)): + dependencies: + '@types/uuid': 10.0.0 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + semver: 7.6.3 + uuid: 10.0.0 + optionalDependencies: + openai: 4.77.3(zod@3.24.1) + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + libsodium-sumo@0.7.15: {} + + libsodium-wrappers-sumo@0.7.15: + dependencies: + libsodium-sumo: 0.7.15 + + libsodium-wrappers@0.7.15: + dependencies: + libsodium: 0.7.15 + + libsodium@0.7.15: {} + + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.debounce@4.0.8: {} + + lodash.merge@4.6.2: {} + + lodash.snakecase@4.1.1: {} + + lodash@4.17.21: {} + + loglevel@1.9.2: {} + + loupe@3.1.2: {} + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lru-cache@10.4.3: {} + + lru-cache@11.0.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lunr@2.3.9: {} + + magic-bytes.js@1.10.0: {} + + markdown-it@14.1.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + math-expression-evaluator@2.0.6: {} + + math-intrinsics@1.1.0: {} + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.1 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdurl@2.0.0: {} + + merge2@1.4.1: {} + + merkletreejs@0.3.11: + dependencies: + bignumber.js: 9.1.2 + buffer-reverse: 1.0.1 + crypto-js: 4.2.0 + treeify: 1.1.0 + web3-utils: 1.10.4 + + micro-ftch@0.3.1: {} + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + minimalistic-assert@1.0.1: {} + + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + ms@2.1.3: {} + + mustache@4.2.0: {} + + nanoid@3.3.8: {} + + natural-compare@1.4.0: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-addon-api@2.0.2: {} + + node-domexception@1.0.0: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-gyp-build@4.8.4: {} + + node-releases@2.0.19: {} + + nodemon@3.1.9: + dependencies: + chokidar: 3.6.0 + debug: 4.4.0(supports-color@5.5.0) + ignore-by-default: 1.0.1 + minimatch: 3.1.2 + pstree.remy: 1.1.8 + semver: 7.6.3 + simple-update-notifier: 2.0.0 + supports-color: 5.5.0 + touch: 3.1.1 + undefsafe: 2.0.5 + + normalize-path@3.0.0: {} + + number-to-bn@1.7.0: + dependencies: + bn.js: 4.11.6 + strip-hex-prefix: 1.0.0 + + object-inspect@1.13.3: {} + + object-is@1.1.6: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.0.0 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + oniguruma-to-es@0.10.0: + dependencies: + emoji-regex-xs: 1.0.0 + regex: 5.1.1 + regex-recursion: 5.1.1 + + openai@4.77.3(zod@3.24.1): + dependencies: + '@types/node': 18.19.69 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.6.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + optionalDependencies: + zod: 3.24.1 + transitivePeerDependencies: + - encoding + + openapi-types@12.1.3: {} + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.2.7 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + p-finally@1.0.0: {} + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-queue@6.6.2: + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-timeout@3.2.0: + dependencies: + p-finally: 1.0.0 + + package-json-from-dist@1.0.1: {} + + pako@0.2.9: {} + + pako@2.1.0: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-scurry@2.0.0: + dependencies: + lru-cache: 11.0.2 + minipass: 7.1.2 + + pathval@2.0.0: {} + + percentile@1.6.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + poly1305-js@0.4.4: + dependencies: + big-integer: 1.6.52 + + possible-typed-array-names@1.0.0: {} + + prelude-ls@1.2.1: {} + + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + + prettier@2.8.8: {} + + prettier@3.4.2: {} + + prom-client@15.1.3: + dependencies: + '@opentelemetry/api': 1.9.0 + tdigest: 0.1.2 + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + + property-information@6.5.0: {} + + proxy-from-env@1.1.0: {} + + pstree.remy@1.1.8: {} + + punycode.js@2.3.1: {} + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + refa@0.12.1: + dependencies: + '@eslint-community/regexpp': 4.12.1 + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regenerate-unicode-properties@10.2.0: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: + dependencies: + '@babel/runtime': 7.26.0 + + regex-recursion@5.1.1: + dependencies: + regex: 5.1.1 + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@5.1.1: + dependencies: + regex-utilities: 2.3.0 + + regexp-ast-analysis@0.7.1: + dependencies: + '@eslint-community/regexpp': 4.12.1 + refa: 0.12.1 + + regexp-tree@0.1.27: {} + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + regexpu-core@6.2.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.12.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + + regjsgen@0.8.0: {} + + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + + resolve-from@4.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + retry@0.12.0: {} + + retry@0.13.1: {} + + reusify@1.0.4: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rimraf@5.0.10: + dependencies: + glob: 10.4.5 + + rimraf@6.0.1: + dependencies: + glob: 11.0.0 + package-json-from-dist: 1.0.1 + + rpc-websockets@9.0.4: + dependencies: + '@swc/helpers': 0.5.15 + '@types/uuid': 8.3.4 + '@types/ws': 8.5.13 + buffer: 6.0.3 + eventemitter3: 5.0.1 + uuid: 8.3.2 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-buffer@5.2.1: {} + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-regex: 1.2.1 + + safe-regex@2.1.1: + dependencies: + regexp-tree: 0.1.27 + + scslre@0.3.0: + dependencies: + '@eslint-community/regexpp': 4.12.1 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + + semaphore@1.1.0: {} + + semver@6.3.1: {} + + semver@7.6.3: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.7 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shiki@1.26.1: + dependencies: + '@shikijs/core': 1.26.1 + '@shikijs/engine-javascript': 1.26.1 + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/langs': 1.26.1 + '@shikijs/themes': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + '@types/hast': 3.0.4 + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + object-inspect: 1.13.3 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + object-inspect: 1.13.3 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@4.1.0: {} + + simple-update-notifier@2.0.0: + dependencies: + semver: 7.6.3 + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + sodium-native@3.4.1: + dependencies: + node-gyp-build: 4.8.4 + + sodium-plus@0.9.0(sodium-native@3.4.1): + dependencies: + buffer: 5.7.1 + libsodium-wrappers: 0.7.15 + poly1305-js: 0.4.4 + sodium-native: 3.4.1 + typedarray-to-buffer: 3.1.5 + xsalsa20: 1.2.0 + + solana-agent-kit@1.3.4(@noble/hashes@1.7.0)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(typescript@5.7.2)(utf-8-validate@5.0.10): + dependencies: + '@bonfida/spl-name-service': 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@cks-systems/manifest-sdk': 0.1.73(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/groq': 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/langgraph': 0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@lightprotocol/compressed-token': 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-core': 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0) + '@metaplex-foundation/mpl-token-metadata': 3.3.0(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-bundle-defaults': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@onsol/tldparser': 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@orca-so/whirlpools-sdk': 0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@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) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@tensor-oss/tensorswap-sdk': 4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@tiplink/api': 0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) + 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 + langchain: 0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)) + openai: 4.77.3(zod@3.24.1) + typedoc: 0.27.6(typescript@5.7.2) + zod: 3.24.1 + transitivePeerDependencies: + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cerebras' + - '@langchain/cohere' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/mistralai' + - '@langchain/ollama' + - '@noble/hashes' + - axios + - borsh + - buffer + - bufferutil + - cheerio + - debug + - encoding + - fastestsmallesttextencoderdecoder + - handlebars + - jiti + - peggy + - sodium-native + - supports-color + - typeorm + - typescript + - utf-8-validate + + space-separated-tokens@2.0.2: {} + + spok@1.5.5: + dependencies: + ansicolors: 0.3.2 + find-process: 1.4.8 + transitivePeerDependencies: + - jiti + - supports-color + + stable-hash@0.0.4: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.0.0 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom@3.0.0: {} + + strip-hex-prefix@1.0.0: + dependencies: + is-hex-prefixed: 1.0.0 + + strip-json-comments@3.1.1: {} + + superstruct@0.15.5: {} + + superstruct@2.0.2: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + synckit@0.9.2: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.8.1 + + tapable@2.2.1: {} + + tdigest@0.1.2: + dependencies: + bintrees: 1.0.2 + + text-encoding-utf-8@1.0.2: {} + + text-table@0.2.0: {} + + through@2.3.8: {} + + tiny-inflate@1.0.3: {} + + tiny-invariant@1.3.3: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toformat@2.0.0: {} + + toml@3.0.0: {} + + touch@3.1.1: {} + + tr46@0.0.3: {} + + treeify@1.1.0: {} + + trim-lines@3.0.1: {} + + ts-api-utils@1.4.3(typescript@5.7.2): + dependencies: + typescript: 5.7.2 + + ts-log@2.2.7: {} + + ts-mixer@6.0.4: {} + + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@2.8.1: {} + + tsx@4.19.2: + dependencies: + esbuild: 0.23.1 + get-tsconfig: 4.8.1 + optionalDependencies: + fsevents: 2.3.3 + + tweetnacl-util@0.15.1: {} + + tweetnacl@1.0.3: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@0.20.2: {} + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.0.0 + reflect.getprototypeof: 1.0.10 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typedoc@0.26.11(typescript@5.7.2): + dependencies: + lunr: 2.3.9 + markdown-it: 14.1.0 + minimatch: 9.0.5 + shiki: 1.26.1 + typescript: 5.7.2 + yaml: 2.7.0 + + typedoc@0.27.6(typescript@5.7.2): + dependencies: + '@gerrit0/mini-shiki': 1.26.1 + lunr: 2.3.9 + markdown-it: 14.1.0 + minimatch: 9.0.5 + typescript: 5.7.2 + yaml: 2.7.0 + + typescript-collections@1.3.3: {} + + typescript@4.9.5: {} + + typescript@5.7.2: {} + + uc.micro@2.1.0: {} + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.3 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + undefsafe@2.0.5: {} + + undici-types@5.26.5: {} + + undici-types@6.20.0: {} + + undici@6.19.8: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.2.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + unicode-trie@2.0.0: + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@2.0.1: {} + + update-browserslist-db@1.1.1(browserslist@4.24.3): + dependencies: + browserslist: 4.24.3 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + utf-8-validate@5.0.10: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + utf8@3.0.0: {} + + util-deprecate@1.0.2: {} + + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.2.0 + is-generator-function: 1.1.0 + is-typed-array: 1.1.15 + which-typed-array: 1.1.18 + + uuid@10.0.0: {} + + uuid@8.3.2: {} + + uuid@9.0.1: {} + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + web-streams-polyfill@3.3.3: {} + + web-streams-polyfill@4.0.0-beta.3: {} + + web3-utils@1.10.4: + dependencies: + '@ethereumjs/util': 8.1.0 + bn.js: 5.2.1 + ethereum-bloom-filters: 1.2.0 + ethereum-cryptography: 2.2.1 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: 2.1.0 + utf8: 3.0.0 + + webidl-conversions@3.0.1: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.1 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.3 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.0 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.0 + is-regex: 1.2.1 + is-weakref: 1.1.0 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.18 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.18: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + for-each: 0.3.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + xsalsa20@1.2.0: {} + + yallist@3.1.1: {} + + yaml@2.7.0: {} + + yocto-queue@0.1.0: {} + + zod-to-json-schema@3.24.1(zod@3.24.1): + dependencies: + zod: 3.24.1 + + zod@3.24.1: {} + + zstddec@0.0.2: {} + + zwitch@2.0.4: {} diff --git a/examples/discord-bot-starter/src/index.ts b/examples/discord-bot-starter/src/index.ts new file mode 100644 index 0000000..6f87120 --- /dev/null +++ b/examples/discord-bot-starter/src/index.ts @@ -0,0 +1,85 @@ +import 'dotenv/config'; +import { Client, GatewayIntentBits, Events, ChannelType, Partials } from 'discord.js'; +import { HumanMessage } from '@langchain/core/messages'; +import { MemorySaver } from '@langchain/langgraph'; +import { createReactAgent } from '@langchain/langgraph/prebuilt'; +import { ChatOpenAI } from '@langchain/openai'; +import { SolanaAgentKit, createSolanaTools } from 'solana-agent-kit'; + +const client = new Client({ + intents: [GatewayIntentBits.MessageContent, GatewayIntentBits.DirectMessages], + partials: [Partials.Message, Partials.Channel], +}); + +async function initializeAgent() { + try { + const llm = new ChatOpenAI({ + modelName: 'gpt-4o-mini', + temperature: 0.3, + }); + + const solanaAgent = new SolanaAgentKit(process.env.SOLANA_PRIVATE_KEY!, process.env.SOLANA_RPC_URL!, { + OPENAI_API_KEY: process.env.OPENAI_API_KEY!, + // other config options here + }); + + const tools = createSolanaTools(solanaAgent); + + const memory = new MemorySaver(); + const config = { configurable: { thread_id: 'Solana Agent Kit!' } }; + + const agent = createReactAgent({ + llm, + tools, + checkpointSaver: memory, + messageModifier: ` + You are a helpful agent that can interact onchain using the Solana Agent Kit. You are + empowered to interact onchain using your tools. If you ever need funds, you can request them from the + faucet. If not, you can provide your wallet details and request funds from the user. If there is a 5XX + (internal) HTTP error code, ask the user to try again later. If someone asks you to do something you + can't do with your currently available tools, you must say so, and encourage them to implement it + themselves using the Solana Agent Kit, recommend they go to https://www.solanaagentkit.xyz for more information. Be + concise and helpful with your responses. Refrain from restating your tools' descriptions unless it is explicitly requested. + `, + }); + + return { agent, config }; + } catch (error) { + console.error('Failed to initialize agent:', error); + throw error; + } +} + +client.on(Events.ClientReady, async () => { + // gets data about the bot + await client.application?.fetch(); + + console.info(`${client.user?.username || 'Bot'} is running. Send it a message in Discord DM to get started.`); +}); + +client.on(Events.MessageCreate, async (message) => { + try { + if (message.channel.type !== ChannelType.DM || message.author.bot) { + return; + } + + console.info(`Received message: ${message.content}`); + await message.channel.sendTyping(); + + const { agent, config } = await initializeAgent(); + + const stream = await agent.stream({ messages: [new HumanMessage(message.content)] }, config); + + const replyIfNotEmpty = async (content: string) => content.trim() !== '' && message.reply(content); + + for await (const chunk of stream) { + if ('agent' in chunk) { + await replyIfNotEmpty(chunk.agent.messages[0].content); + } + } + } catch (error) { + console.error('Error handling message:', error); + } +}); + +client.login(process.env.DISCORD_BOT_TOKEN); diff --git a/examples/discord-bot-starter/tsconfig.json b/examples/discord-bot-starter/tsconfig.json new file mode 100644 index 0000000..ceb1560 --- /dev/null +++ b/examples/discord-bot-starter/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compileOnSave": true, + "compilerOptions": { + "baseUrl": ".", + "rootDir": "./src", + "outDir": "./build", + "sourceMap": true, + "declaration": false, + "module": "commonjs", + "moduleResolution": "node", + "target": "es2020", + "typeRoots": ["node_modules/@types"], + "lib": ["es2018", "dom", "esnext.asynciterable"], + "plugins": [{ "transform": "typescript-transform-paths" }], + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true + } +} From 06ad5ba728abc866d35b695c5c48ef0a5b47fd88 Mon Sep 17 00:00:00 2001 From: aryan Date: Sat, 4 Jan 2025 15:29:47 +0530 Subject: [PATCH 020/138] chore: docs + lint --- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 17 +- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/index.html | 15 +- docs/interfaces/Action.html | 14 +- docs/interfaces/ActionExample.html | 4 +- docs/interfaces/CollectionDeployment.html | 4 +- docs/interfaces/CollectionOptions.html | 4 +- docs/interfaces/Config.html | 4 +- docs/interfaces/Creator.html | 4 +- docs/interfaces/FetchPriceResponse.html | 4 +- docs/interfaces/GibworkCreateTaskReponse.html | 4 +- docs/interfaces/JupiterTokenData.html | 4 +- .../LuloAccountDetailsResponse.html | 4 +- .../interfaces/MintCollectionNFTResponse.html | 4 +- docs/interfaces/PumpFunTokenOptions.html | 4 +- docs/interfaces/PumpfunLaunchResponse.html | 4 +- docs/interfaces/PythFetchPriceResponse.html | 4 +- docs/interfaces/TokenCheck.html | 4 +- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- package.json | 2 +- pnpm-lock.yaml | 3575 +++++------------ src/actions/index.ts | 2 +- src/tools/stake_with_solayer.ts | 4 +- 29 files changed, 1024 insertions(+), 2677 deletions(-) diff --git a/docs/assets/search.js b/docs/assets/search.js index 61dd52b..611142f 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 62e7d4a..035f908 100644 --- a/docs/classes/SolanaAgentKit.html +++ b/docs/classes/SolanaAgentKit.html @@ -1,13 +1,15 @@ 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

batchOrder cancelAllOrders +closePerpTradeLong +closePerpTradeShort createGibworkTask createTiplink deployCollection @@ -32,6 +34,8 @@ Provides a unified interface for token operations, NFT management, trading and m manifestCreateMarket mintNFT openbookCreateMarket +openPerpTradeLong +openPerpTradeShort orcaClosePosition orcaCreateCLMM orcaCreateSingleSidedLiquidityPool @@ -46,6 +50,7 @@ Provides a unified interface for token operations, NFT management, trading and m requestFaucetFunds resolveAllDomains resolveSolDomain +restake rockPaperScissors sendCompressedAirdrop stake @@ -59,8 +64,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
      • orders: OrderParams[]

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      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

      • 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

      • 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

      • priceFeedID: string

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

    • 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
      • orders: OrderParams[]

      Returns Promise<string>

    • 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

      • 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

      • priceFeedID: string

      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 3470ab1..ccdcc08 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
          | SolanaTradeTool
          | SolanaLimitOrderTool
          | SolanaBatchOrderTool
          | SolanaCancelAllOrdersTool
          | SolanaWithdrawAllTool
          | SolanaRequestFundsTool
          | SolanaRegisterDomainTool
          | SolanaResolveDomainTool
          | SolanaGetDomainTool
          | SolanaGetWalletAddressTool
          | SolanaPumpfunTokenLaunchTool
          | SolanaCreateImageTool
          | SolanaLendAssetTool
          | SolanaTPSCalculatorTool
          | SolanaStakeTool
          | 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 175a346..12775cb 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 16e855a..ce82002 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 ca155f5..3eba58f 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 882112d..0b133b9 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

    • action: Action

    Returns string

    diff --git a/docs/index.html b/docs/index.html index d7f32e7..5695cf2 100644 --- a/docs/index.html +++ b/docs/index.html @@ -53,6 +53,7 @@
  • Jito Bundles
  • Pyth Price feeds for fetching Asset Prices
  • Register/resolve Alldomains
  • +
  • Perpetuals Trading with Adrena Protocol
  • @@ -61,6 +62,7 @@
  • Lending by Lulo (Best APR for USDC)
  • Send Arcade Games
  • JupSOL staking
  • +
  • Solayer SOL (sSOL)staking
  • @@ -128,12 +130,21 @@
    const signature = await agent.stake(
    1 // amount in SOL to stake
    );
    +
    const signature = await agent.restake(
    1 // amount in SOL to stake
    );
    +
    +
    import { PublicKey } from "@solana/web3.js";

    (async () => {
    console.log(
    "~Airdrop cost estimate:",
    getAirdropCostEstimate(
    1000, // recipients
    30_000 // priority fee in lamports
    )
    );

    const signature = await agent.sendCompressedAirdrop(
    new PublicKey("JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"), // mint
    42, // amount per recipient
    [
    new PublicKey("1nc1nerator11111111111111111111111111111111"),
    // ... add more recipients
    ],
    30_000 // priority fee in lamports
    );
    })();

    const price = await agent.pythFetchPrice(
    "0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43"
    );

    console.log("Price in BTC/USD:", price);
    +
    import { PublicKey } from "@solana/web3.js";

    const signature = await agent.openPerpTradeLong({
    price: 300, // $300 SOL Max price
    collateralAmount: 10, // 10 jitoSOL in
    collateralMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL
    leverage: 50000, // x5
    tradeMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL
    slippage: 0.3, // 0.3%
    }); +
    + +
    import { PublicKey } from "@solana/web3.js";

    const signature = await agent.closePerpTradeLong({
    price: 200, // $200 SOL price
    tradeMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL
    }); +
    +

    The repository includes an advanced example of building a multi-agent system using LangGraph and Solana Agent Kit. Located in examples/agent-kit-langgraph, this example demonstrates:

    • Multi-agent architecture using LangGraph's StateGraph
    • @@ -167,5 +178,7 @@ Refer to CONTRIBUTING.md for detailed guidel

      Star History Chart

      Apache-2 License

      +

      If you wanna give back any tokens or donations to the OSS community -- The Public Solana Agent Kit Treasury Address:

      +

      Solana Network : EKHTbXpsm6YDgJzMkFxNU1LNXeWcUW7Ezf8mjUNQQ4Pa

      This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys.

      -
      +
      diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 0e3e44a..00c6ccf 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 de2d0d1..4af324b 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/CollectionDeployment.html b/docs/interfaces/CollectionDeployment.html index b14fcc2..60ae6f2 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 027b228..6f5e64b 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 8bf37ca..94e8716 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 89c9300..8ff6cce 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 9486ccb..1ba2522 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 33c180e..9443f14 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 582eb31..f2c23b6 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 6b07c01..20d1ec5 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 6999b84..0706240 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/PumpFunTokenOptions.html b/docs/interfaces/PumpFunTokenOptions.html index e025426..2abe435 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 013703a..67dc930 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 3e57525..ff637f4 100644 --- a/docs/interfaces/PythFetchPriceResponse.html +++ b/docs/interfaces/PythFetchPriceResponse.html @@ -1,6 +1,6 @@ -PythFetchPriceResponse | solana-agent-kit

      Interface PythFetchPriceResponse

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

      Properties

      code? +PythFetchPriceResponse | solana-agent-kit

      Interface PythFetchPriceResponse

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

      Properties

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

      Properties

      code?: string
      message?: string
      price?: string
      priceFeedID: string
      status: "success" | "error"
      diff --git a/docs/interfaces/TokenCheck.html b/docs/interfaces/TokenCheck.html index 61f0bb4..ede4846 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 ac3fdd6..687ab38 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

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

          Returns Promise<Record<string, any>>

      diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 5bbe130..81c4e42 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;
          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
      • 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 5b2c3e4..648ce0f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solana-agent-kit", - "version": "1.3.4", + "version": "1.3.5", "description": "connect any ai agents to solana protocols", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 947282b..05add17 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -13,34 +13,34 @@ importers: version: 1.0.11(zod@3.24.1) '@bonfida/spl-name-service': specifier: ^3.0.7 - version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@cks-systems/manifest-sdk': specifier: ^0.1.73 - version: 0.1.73(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.1.73(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@coral-xyz/anchor': specifier: '0.29' - version: 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@langchain/core': specifier: ^0.3.26 - version: 0.3.26(openai@4.77.0(zod@3.24.1)) + version: 0.3.27(openai@4.77.3(zod@3.24.1)) '@langchain/groq': specifier: ^0.1.2 - version: 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + version: 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@langchain/langgraph': specifier: ^0.2.36 - version: 0.2.36(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + version: 0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@langchain/openai': specifier: ^0.3.16 - version: 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + version: 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@lightprotocol/compressed-token': specifier: ^0.17.1 - version: 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@lightprotocol/stateless.js': specifier: ^0.17.1 - version: 0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/mpl-core': specifier: ^1.1.1 - version: 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1) + version: 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0) '@metaplex-foundation/mpl-token-metadata': specifier: ^3.3.0 version: 3.3.0(@metaplex-foundation/umi@0.9.2) @@ -52,37 +52,37 @@ importers: version: 0.9.2 '@metaplex-foundation/umi-bundle-defaults': specifier: ^0.9.2 - version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-web3js-adapters': specifier: ^0.9.2 - version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@onsol/tldparser': specifier: ^0.6.7 - version: 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@orca-so/common-sdk': specifier: 0.6.4 - version: 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + version: 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) '@orca-so/whirlpools-sdk': specifier: ^0.13.12 - version: 0.13.12(@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + 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.8)(utf-8-validate@5.0.10) + 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.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/spl-token': specifier: ^0.4.9 - version: 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/web3.js': specifier: ^1.98.0 - version: 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@tensor-oss/tensorswap-sdk': specifier: ^4.5.0 - version: 4.5.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@tiplink/api': specifier: ^0.3.1 - version: 0.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) + version: 0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) ai: specifier: ^4.0.22 version: 4.0.22(react@19.0.0)(zod@3.24.1) @@ -106,10 +106,10 @@ importers: version: 4.0.1 langchain: specifier: ^0.3.8 - version: 0.3.8(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)) + version: 0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)) openai: specifier: ^4.77.0 - version: 4.77.0(zod@3.24.1) + version: 4.77.3(zod@3.24.1) typedoc: specifier: ^0.27.6 version: 0.27.6(typescript@5.7.2) @@ -125,13 +125,13 @@ importers: version: 5.0.1 '@types/node': specifier: ^22.10.2 - version: 22.10.2 + version: 22.10.5 '@typescript-eslint/eslint-plugin': specifier: ^8.18.2 - version: 8.18.2(@typescript-eslint/parser@8.18.2(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + version: 8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/parser': specifier: ^8.18.2 - version: 8.18.2(eslint@8.57.1)(typescript@5.7.2) + version: 8.19.0(eslint@8.57.1)(typescript@5.7.2) eslint: specifier: ^8.56.0 version: 8.57.1 @@ -146,7 +146,7 @@ importers: version: 3.4.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) + version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) typescript: specifier: ^5.7.2 version: 5.7.2 @@ -196,11 +196,8 @@ packages: '@babel/runtime@7.26.0': resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - dev: false - /@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0): + '@bonfida/sns-records@0.0.1': resolution: {integrity: sha512-i28w9+BMFufhhpmLQCNx1CKKXTsEn+5RT18VFpPqdGO3sqaYlnUWC1m3wDpOvlzGk498dljgRpRo5wmcsnuEMg==} peerDependencies: '@solana/web3.js': ^1.87.3 @@ -300,8 +297,8 @@ packages: '@ethersproject/sha2@5.7.0': resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} - '@gerrit0/mini-shiki@1.24.4': - resolution: {integrity: sha512-YEHW1QeAg6UmxEmswiQbOVEg1CW22b1XUD/lNTliOsu0LD0wqoyleFMnmbTp697QE0pcadQiR5cVtbbAPncvpw==} + '@gerrit0/mini-shiki@1.26.1': + resolution: {integrity: sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==} '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} @@ -346,8 +343,8 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@langchain/core@0.3.26': - resolution: {integrity: sha512-6RUQHEp8wv+JwtYIIEBYBzbLlcAQZFc7EDOgAM0ukExjh9HiXoJzoWpgMRRCrr/koIbtwXPJUqBprZK1I1CXHQ==} + '@langchain/core@0.3.27': + resolution: {integrity: sha512-jtJKbJWB1NPU1YvtrExOB2rumvUFgkJwlWGxyjSIV9A6zcLVmUbcZGV8fCSuXgl5bbzOIQLJ1xcLYQmbW9TkTg==} engines: {node: '>=18'} '@langchain/groq@0.1.2': @@ -362,11 +359,11 @@ packages: peerDependencies: '@langchain/core': '>=0.2.31 <0.4.0' - '@langchain/langgraph-sdk@0.0.32': - resolution: {integrity: sha512-KQyM9kLO7T6AxwNrceajH7JOybP3pYpvUPnhiI2rrVndI1WyZUJ1eVC1e722BVRAPi6o+WcoTT4uMSZVinPOtA==} + '@langchain/langgraph-sdk@0.0.33': + resolution: {integrity: sha512-l/hRbI6roLzplBXy2VyDUwqY1TkK7RcjPmrMUuVdvCCH4LTwLfIXh/G1kHatNiN7VUTskw0FkfBbgq6gtj0ang==} - '@langchain/langgraph@0.2.36': - resolution: {integrity: sha512-zxk7ZCVxP0/Ut9785EiXCS7BE7sXd8cu943mcZUF2aNFUaQRTBbbiKpNdR3nb1+xO/B+HVktrJT2VFdkAywnng==} + '@langchain/langgraph@0.2.38': + resolution: {integrity: sha512-mVy99pMftBGgUTBTCepSyzTovWCvpgdNcXsAjxTiMrMX6lzueNiBz0ljkY7UFoIoHYwurQbyl2WmMPFuxkSIAw==} engines: {node: '>=18'} peerDependencies: '@langchain/core': '>=0.2.36 <0.3.0 || >=0.3.9 < 0.4.0' @@ -534,8 +531,8 @@ packages: '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - '@noble/curves@1.7.0': - resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} + '@noble/curves@1.8.0': + resolution: {integrity: sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==} engines: {node: ^14.21.3 || >=16} '@noble/hashes@1.4.0': @@ -546,12 +543,8 @@ packages: resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.6.0': - resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} - engines: {node: ^14.21.3 || >=16} - - '@noble/hashes@1.6.1': - resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} + '@noble/hashes@1.7.0': + resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==} engines: {node: ^14.21.3 || >=16} '@nodelib/fs.scandir@2.1.5': @@ -586,8 +579,8 @@ packages: '@solana/web3.js': ^1.90.0 decimal.js: ^10.4.3 - '@orca-so/whirlpools-sdk@0.13.12': - resolution: {integrity: sha512-+LOqGTe0DYUsYwemltOU4WQIviqoICQlIcAmmEX/WnBh6wntpcLDcXkPV6dBHW7NA2/J8WEVAZ50biLJb4subg==} + '@orca-so/whirlpools-sdk@0.13.13': + resolution: {integrity: sha512-S3ovmnihBdZ5cmn3ylvJv+kAIUcGX5Y5RSWzv/WvF6etv/tLuO8FKc5mYxVenTa/NG78turTMbhujDdfGaahDw==} peerDependencies: '@coral-xyz/anchor': ~0.29.0 '@orca-so/common-sdk': 0.6.4 @@ -634,20 +627,26 @@ packages: '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - '@shikijs/core@1.24.4': - resolution: {integrity: sha512-jjLsld+xEEGYlxAXDyGwWsKJ1sw5Pc1pnp4ai2ORpjx2UX08YYTC0NNqQYO1PaghYaR+PvgMOGuvzw2he9sk0Q==} + '@shikijs/core@1.26.1': + resolution: {integrity: sha512-yeo7sG+WZQblKPclUOKRPwkv1PyoHYkJ4gP9DzhFJbTdueKR7wYTI1vfF/bFi1NTgc545yG/DzvVhZgueVOXMA==} - '@shikijs/engine-javascript@1.24.4': - resolution: {integrity: sha512-TClaQOLvo9WEMJv6GoUsykQ6QdynuKszuORFWCke8qvi6PeLm7FcD9+7y45UenysxEWYpDL5KJaVXTngTE+2BA==} + '@shikijs/engine-javascript@1.26.1': + resolution: {integrity: sha512-CRhA0b8CaSLxS0E9A4Bzcb3LKBNpykfo9F85ozlNyArxjo2NkijtiwrJZ6eHa+NT5I9Kox2IXVdjUsP4dilsmw==} - '@shikijs/engine-oniguruma@1.24.4': - resolution: {integrity: sha512-Do2ry6flp2HWdvpj2XOwwa0ljZBRy15HKZITzPcNIBOGSeprnA8gOooA/bLsSPuy8aJBa+Q/r34dMmC3KNL/zw==} + '@shikijs/engine-oniguruma@1.26.1': + resolution: {integrity: sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==} - '@shikijs/types@1.24.4': - resolution: {integrity: sha512-0r0XU7Eaow0PuDxuWC1bVqmWCgm3XqizIaT7SM42K03vc69LGooT0U8ccSR44xP/hGlNx4FKhtYpV+BU6aaKAA==} + '@shikijs/langs@1.26.1': + resolution: {integrity: sha512-oz/TQiIqZejEIZbGtn68hbJijAOTtYH4TMMSWkWYozwqdpKR3EXgILneQy26WItmJjp3xVspHdiUxUCws4gtuw==} - '@shikijs/vscode-textmate@9.3.1': - resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} + '@shikijs/themes@1.26.1': + resolution: {integrity: sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==} + + '@shikijs/types@1.26.1': + resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} + + '@shikijs/vscode-textmate@10.0.1': + resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} '@solana/buffer-layout-utils@0.2.0': resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} @@ -880,11 +879,11 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.68': - resolution: {integrity: sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw==} + '@types/node@18.19.69': + resolution: {integrity: sha512-ECPdY1nlaiO/Y6GUnwgtAAhLNaQ53AyIVz+eILxpEo5OvuqE6yWkqWBIb5dU0DqhKQtMeny+FBD3PK6lm7L5xQ==} - '@types/node@22.10.2': - resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + '@types/node@22.10.5': + resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} '@types/promise-retry@1.1.6': resolution: {integrity: sha512-EC1+OMXV0PZb0pf+cmyxc43MEP2CDumZe4AfuxWboxxEixztIebknpJPZAX5XlodGF1OY+C1E/RAeNGzxf+bJA==} @@ -910,51 +909,51 @@ packages: '@types/ws@8.5.13': resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} - '@typescript-eslint/eslint-plugin@8.18.2': - resolution: {integrity: sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg==} + '@typescript-eslint/eslint-plugin@8.19.0': + resolution: {integrity: sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.18.2': - resolution: {integrity: sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA==} + '@typescript-eslint/parser@8.19.0': + resolution: {integrity: sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@8.18.2': - resolution: {integrity: sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==} + '@typescript-eslint/scope-manager@8.19.0': + resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.18.2': - resolution: {integrity: sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA==} + '@typescript-eslint/type-utils@8.19.0': + resolution: {integrity: sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@8.18.2': - resolution: {integrity: sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==} + '@typescript-eslint/types@8.19.0': + resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.18.2': - resolution: {integrity: sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg==} + '@typescript-eslint/typescript-estree@8.19.0': + resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.18.2': - resolution: {integrity: sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q==} + '@typescript-eslint/utils@8.19.0': + resolution: {integrity: sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@8.18.2': - resolution: {integrity: sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==} + '@typescript-eslint/visitor-keys@8.19.0': + resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.1': @@ -982,8 +981,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - agentkeepalive@4.5.0: - resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} ai@4.0.22: @@ -1135,8 +1134,8 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bufferutil@4.0.8: - resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} + bufferutil@4.0.9: + resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} engines: {node: '>=6.14.2'} call-bind-apply-helpers@1.0.1: @@ -1547,8 +1546,12 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - get-intrinsic@1.2.6: - resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + get-intrinsic@1.2.7: + resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} glob-parent@5.1.2: @@ -1672,8 +1675,8 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} engines: {node: '>= 0.4'} is-glob@4.0.3: @@ -1696,6 +1699,10 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + is-retry-allowed@2.2.0: resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} engines: {node: '>=10'} @@ -1792,12 +1799,13 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - langchain@0.3.8: - resolution: {integrity: sha512-EiAHFgBdThuXFmIx9j81wjdPItpRsw0Ck4r5dyhB74gyhehRGna/UK2CTqeKVnIUM/f4g4JbxUgAU4voXljDMw==} + langchain@0.3.9: + resolution: {integrity: sha512-uteRutI03Bt9f53nZmx8mWfJXkf6VlFVRuOprRJ0mWdCpkTP359sxrH4v6w4TokLiziPC/aMay662kmOz0dHlA==} engines: {node: '>=18'} peerDependencies: '@langchain/anthropic': '*' '@langchain/aws': '*' + '@langchain/cerebras': '*' '@langchain/cohere': '*' '@langchain/core': '>=0.2.21 <0.4.0' '@langchain/google-genai': '*' @@ -1815,6 +1823,8 @@ packages: optional: true '@langchain/aws': optional: true + '@langchain/cerebras': + optional: true '@langchain/cohere': optional: true '@langchain/google-genai': @@ -2031,11 +2041,11 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - oniguruma-to-es@0.8.1: - resolution: {integrity: sha512-dekySTEvCxCj0IgKcA2uUCO/e4ArsqpucDPcX26w9ajx+DvMWLc5eZeJaRQkd7oC/+rwif5gnT900tA34uN9Zw==} + oniguruma-to-es@0.10.0: + resolution: {integrity: sha512-zapyOUOCJxt+xhiNRPPMtfJkHGsZ98HHB9qJEkdT8BGytO/+kpe4m1Ngf0MzbzTmhacn11w9yGeDP6tzDhnCdg==} - openai@4.77.0: - resolution: {integrity: sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==} + openai@4.77.3: + resolution: {integrity: sha512-wLDy4+KWHz31HRFMW2+9KQuVuT2QWhs0z94w1Gm1h2Ut9vIHr9/rHZggbykZEfyiaJRVgw8ZS9K6AylDWzvPYw==} hasBin: true peerDependencies: zod: ^3.23.8 @@ -2230,6 +2240,10 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} @@ -2254,8 +2268,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.24.4: - resolution: {integrity: sha512-aVGSFAOAr1v26Hh/+GBIsRVDWJ583XYV7CuNURKRWh9gpGv4OdbisZGq96B9arMYTZhTQkmRF5BrShOSTvNqhw==} + shiki@1.26.1: + resolution: {integrity: sha512-Gqg6DSTk3wYqaZ5OaYtzjcdxcBvX5kCy24yvRJEgjT5U+WHlmqCThLuBUx0juyxQBi+6ug53IGeuQS07DWwpcw==} signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} @@ -2590,8 +2604,8 @@ packages: xsalsa20@1.2.0: resolution: {integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==} - yaml@2.6.1: - resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} + yaml@2.7.0: + resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} engines: {node: '>= 14'} hasBin: true @@ -2658,22 +2672,22 @@ snapshots: '@babel/runtime@7.26.0': dependencies: - '@solana/web3.js': 1.98.0 + regenerator-runtime: 0.14.1 + + '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) borsh: 1.0.0 bs58: 5.0.0 buffer: 6.0.3 - dev: false - /@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-okOLXhy+fQoyQ/sZgMleO5RrIZfTkWEoHMxWgUqg6RP/MTBlrKxlhKC6ymKn4UUe0C5s3Nb8A+3Ams7vX0nMDg==} - peerDependencies: - '@solana/web3.js': ^1.87.3 + '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0) - '@noble/curves': 1.7.0 + '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.8.0 '@scure/base': 1.2.1 - '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) borsh: 2.0.0 buffer: 6.0.3 graphemesplit: 2.4.4 @@ -2685,20 +2699,16 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@cfworker/json-schema@4.0.3: - resolution: {integrity: sha512-ZykIcDTVv5UNmKWSTLAs3VukO6NDJkkSKxrgUTDPBkAlORVT3H9n5DbRjRl8xIotklscHdbLIa0b9+y3mQq73g==} - dev: false + '@cfworker/json-schema@4.0.3': {} - /@cks-systems/manifest-sdk@0.1.73(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-IcRM7k3YZ/jK5nJwE3xGp2Xg7Um4/XCeqrLs5yB3+IjS7W089Qs/prJXdRGKbFwCLkMt9ds6pElHufQr8an0Iw==} + '@cks-systems/manifest-sdk@0.1.73(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 '@metaplex-foundation/rustbin': 0.3.5 - '@metaplex-foundation/solita': 0.12.2 - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 0.7.0 bs58: 6.0.0 @@ -2718,14 +2728,11 @@ snapshots: - supports-color - typescript - utf-8-validate - dev: false - /@coral-xyz/anchor@0.26.0: - resolution: {integrity: sha512-PxRl+wu5YyptWiR9F2MBHOLLibm87Z4IMUBPreX+DYBtPM+xggvcPi0KAN7+kIL4IrIhXI8ma5V0MCXxSN1pHg==} - engines: {node: '>=11'} + '@coral-xyz/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0) - '@solana/web3.js': 1.98.0 + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 @@ -2743,15 +2750,12 @@ snapshots: - bufferutil - encoding - utf-8-validate - dev: false - /@coral-xyz/anchor@0.29.0: - resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} - engines: {node: '>=11'} + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0) - '@noble/hashes': 1.6.1 - '@solana/web3.js': 1.98.0 + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.7.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 @@ -2767,82 +2771,48 @@ snapshots: - bufferutil - encoding - utf-8-validate - dev: false - /@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0): - resolution: {integrity: sha512-uCZ0xus0CszQPHYfWAqKS5swS1UxvePu83oOF+TWpUkedsNlg6p2p4azxZNSSqwXb9uXMFgxhuMBX9r3Xoi0vQ==} - engines: {node: '>=10'} - peerDependencies: - '@solana/web3.js': ^1.68.0 + '@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - dev: false - /@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0): - resolution: {integrity: sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==} - engines: {node: '>=10'} - peerDependencies: - '@solana/web3.js': ^1.68.0 + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - dev: false - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@eslint-community/eslint-utils@4.4.1(eslint@8.56.0): - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': dependencies: - eslint: 8.56.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/eslint-utils@4.4.1(eslint@9.17.0): - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0)': dependencies: eslint: 9.17.0 eslint-visitor-keys: 3.4.3 - dev: false - /@eslint-community/regexpp@4.12.1: - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint-community/regexpp@4.12.1': {} - /@eslint/config-array@0.19.1: - resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-array@0.19.1': dependencies: '@eslint/object-schema': 2.1.5 debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: false - /@eslint/core@0.9.1: - resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.9.1': dependencies: '@types/json-schema': 7.0.15 - dev: false - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 debug: 4.4.0 @@ -2855,11 +2825,8 @@ snapshots: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true - /@eslint/eslintrc@3.2.0: - resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 debug: 4.4.0 @@ -2872,153 +2839,92 @@ snapshots: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: false - /@eslint/js@8.56.0: - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@eslint/js@8.57.1': {} - /@eslint/js@9.17.0: - resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: false + '@eslint/js@9.17.0': {} - /@eslint/object-schema@2.1.5: - resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: false + '@eslint/object-schema@2.1.5': {} - /@eslint/plugin-kit@0.2.4: - resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.2.4': dependencies: levn: 0.4.1 - dev: false - /@ethereumjs/rlp@4.0.1: - resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} - engines: {node: '>=14'} - hasBin: true - dev: false + '@ethereumjs/rlp@4.0.1': {} - /@ethereumjs/util@8.1.0: - resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} - engines: {node: '>=14'} + '@ethereumjs/util@8.1.0': dependencies: '@ethereumjs/rlp': 4.0.1 ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 - dev: false - /@ethersproject/bytes@5.7.0: - resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + '@ethersproject/bytes@5.7.0': dependencies: '@ethersproject/logger': 5.7.0 - dev: false - /@ethersproject/logger@5.7.0: - resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} - dev: false + '@ethersproject/logger@5.7.0': {} - /@ethersproject/sha2@5.7.0: - resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + '@ethersproject/sha2@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 hash.js: 1.1.7 - dev: false - /@gerrit0/mini-shiki@1.24.4: - resolution: {integrity: sha512-YEHW1QeAg6UmxEmswiQbOVEg1CW22b1XUD/lNTliOsu0LD0wqoyleFMnmbTp697QE0pcadQiR5cVtbbAPncvpw==} + '@gerrit0/mini-shiki@1.26.1': dependencies: - '@shikijs/engine-oniguruma': 1.24.4 - '@shikijs/types': 1.24.4 - '@shikijs/vscode-textmate': 9.3.1 - dev: false + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 - /@humanfs/core@0.19.1: - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} - dev: false + '@humanfs/core@0.19.1': {} - /@humanfs/node@0.16.6: - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} - engines: {node: '>=18.18.0'} + '@humanfs/node@0.16.6': dependencies: '@humanfs/core': 0.19.1 '@humanwhocodes/retry': 0.3.1 - dev: false - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + '@humanwhocodes/module-importer@1.0.1': {} - /@humanwhocodes/object-schema@2.0.3: - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - dev: true + '@humanwhocodes/object-schema@2.0.3': {} - /@humanwhocodes/retry@0.3.1: - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - dev: false + '@humanwhocodes/retry@0.3.1': {} - /@humanwhocodes/retry@0.4.1: - resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} - engines: {node: '>=18.18'} - dev: false + '@humanwhocodes/retry@0.4.1': {} - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 + string-width-cjs: string-width@4.2.3 strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 + strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: false + wrap-ansi-cjs: wrap-ansi@7.0.0 - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/resolve-uri@3.1.2': {} - /@jridgewell/sourcemap-codec@1.5.0: - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - dev: true + '@jridgewell/sourcemap-codec@1.5.0': {} - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - dev: true - /@langchain/core@0.3.26(openai@4.77.0): - resolution: {integrity: sha512-6RUQHEp8wv+JwtYIIEBYBzbLlcAQZFc7EDOgAM0ukExjh9HiXoJzoWpgMRRCrr/koIbtwXPJUqBprZK1I1CXHQ==} - engines: {node: '>=18'} + '@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))': dependencies: '@cfworker/json-schema': 4.0.3 ansi-styles: 5.2.0 camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.16 - langsmith: 0.2.14(openai@4.77.0) + langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 @@ -3027,89 +2933,58 @@ snapshots: zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - openai - dev: false - /@langchain/groq@0.1.2(@langchain/core@0.3.26): - resolution: {integrity: sha512-bgQ9yGoNHOwG6LG2ngGvSNxF/1U1c1u3vKmFWmzecFIcBoQQOJY0jb0MrL3g1uTife0Sr3zxkWKXQg2aK/U4Sg==} - engines: {node: '>=18'} - peerDependencies: - '@langchain/core': '>=0.2.21 <0.4.0' + '@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.26(openai@4.77.0) - '@langchain/openai': 0.3.16(@langchain/core@0.3.26) + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) groq-sdk: 0.5.0 zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - encoding - dev: false - /@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26): - resolution: {integrity: sha512-amdmBcNT8a9xP2VwcEWxqArng4gtRDcnVyVI4DsQIo1Aaz8e8+hH17zSwrUF3pt1pIYztngIfYnBOim31mtKMg==} - engines: {node: '>=18'} - peerDependencies: - '@langchain/core': '>=0.2.31 <0.4.0' + '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.26(openai@4.77.0) + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) uuid: 10.0.0 - dev: false - /@langchain/langgraph-sdk@0.0.33: - resolution: {integrity: sha512-l/hRbI6roLzplBXy2VyDUwqY1TkK7RcjPmrMUuVdvCCH4LTwLfIXh/G1kHatNiN7VUTskw0FkfBbgq6gtj0ang==} + '@langchain/langgraph-sdk@0.0.33': dependencies: '@types/json-schema': 7.0.15 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 9.0.1 - dev: false - /@langchain/langgraph@0.2.36(@langchain/core@0.3.26): - resolution: {integrity: sha512-zxk7ZCVxP0/Ut9785EiXCS7BE7sXd8cu943mcZUF2aNFUaQRTBbbiKpNdR3nb1+xO/B+HVktrJT2VFdkAywnng==} - engines: {node: '>=18'} - peerDependencies: - '@langchain/core': '>=0.2.36 <0.3.0 || >=0.3.9 < 0.4.0' + '@langchain/langgraph@0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.26(openai@4.77.0) - '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.26) + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@langchain/langgraph-sdk': 0.0.33 uuid: 10.0.0 zod: 3.24.1 - dev: false - /@langchain/openai@0.3.16(@langchain/core@0.3.26): - resolution: {integrity: sha512-Om9HRlTeI0Ou6D4pfxbWHop4WGfkCdV/7v1W/+Jr7NSf0BNoA9jk5GqGms8ZtOYSGgPvizDu3i0TrM3B4cN4NA==} - engines: {node: '>=18'} - peerDependencies: - '@langchain/core': '>=0.2.26 <0.4.0' + '@langchain/openai@0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.26(openai@4.77.0) + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) js-tiktoken: 1.0.16 - openai: 4.77.0(zod@3.24.1) + openai: 4.77.3(zod@3.24.1) zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - encoding - dev: false - /@langchain/textsplitters@0.1.0(@langchain/core@0.3.26): - resolution: {integrity: sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==} - engines: {node: '>=18'} - peerDependencies: - '@langchain/core': '>=0.2.21 <0.4.0' + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.26(openai@4.77.0) + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) js-tiktoken: 1.0.16 - dev: false - /@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-493KCmZGw1BcHVRJaeRm8EEs+L7gX8dwY7JG13w2pfgOMtZXZ7Wxt261jFJxQJzRLTrUSlrbRJOmfW1+S1Y8SQ==} - peerDependencies: - '@lightprotocol/stateless.js': 0.17.1 + '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0 - '@lightprotocol/stateless.js': 0.17.1 - '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.3 + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 tweetnacl: 1.0.3 transitivePeerDependencies: @@ -3118,14 +2993,12 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@lightprotocol/stateless.js@0.17.1: - resolution: {integrity: sha512-EjId1n33A6dBwpce33Wsa/fs/CDKtMtRrkxbApH0alXrnEXmbW6QhIViXOrKYXjZ4uJQM1xsBtsKe0vqJ4nbtQ==} + '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0 + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@noble/hashes': 1.5.0 - '@solana/web3.js': 1.95.3 + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 superstruct: 2.0.2 tweetnacl: 1.0.3 @@ -3133,13 +3006,11 @@ snapshots: - bufferutil - encoding - utf-8-validate - dev: false - /@metaplex-foundation/beet-solana@0.3.1: - resolution: {integrity: sha512-tgyEl6dvtLln8XX81JyBvWjIiEcjTkUwZbrM5dIobTmoqMuGewSyk9CClno8qsMsFdB5T3jC91Rjeqmu/6xk2g==} + '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -3147,13 +3018,11 @@ snapshots: - encoding - supports-color - utf-8-validate - dev: false - /@metaplex-foundation/beet-solana@0.4.0: - resolution: {integrity: sha512-B1L94N3ZGMo53b0uOSoznbuM5GBNJ8LwSeznxBxJ+OThvfHQ4B5oMUqb+0zdLRfkKGS7Q6tpHK9P+QK0j3w2cQ==} + '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -3161,13 +3030,11 @@ snapshots: - encoding - supports-color - utf-8-validate - dev: false - /@metaplex-foundation/beet-solana@0.4.1: - resolution: {integrity: sha512-/6o32FNUtwK8tjhotrvU/vorP7umBuRFvBZrC6XCk51aKidBHe5LPVPA5AjGPbV3oftMfRuXPNd9yAGeEqeCDQ==} + '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -3175,40 +3042,32 @@ snapshots: - encoding - supports-color - utf-8-validate - dev: false - /@metaplex-foundation/beet@0.4.0: - resolution: {integrity: sha512-2OAKJnLatCc3mBXNL0QmWVQKAWK2C7XDfepgL0p/9+8oSx4bmRAFHFqptl1A/C0U5O3dxGwKfmKluW161OVGcA==} + '@metaplex-foundation/beet@0.4.0': dependencies: ansicolors: 0.3.2 bn.js: 5.2.1 debug: 4.4.0 transitivePeerDependencies: - supports-color - dev: false - /@metaplex-foundation/beet@0.6.1: - resolution: {integrity: sha512-OYgnijLFzw0cdUlRKH5POp0unQECPOW9muJ2X3QIVyak5G6I6l/rKo72sICgPLIFKdmsi2jmnkuLY7wp14iXdw==} + '@metaplex-foundation/beet@0.6.1': dependencies: ansicolors: 0.3.2 bn.js: 5.2.1 debug: 4.4.0 transitivePeerDependencies: - supports-color - dev: false - /@metaplex-foundation/beet@0.7.1: - resolution: {integrity: sha512-hNCEnS2WyCiYyko82rwuISsBY3KYpe828ubsd2ckeqZr7tl0WVLivGkoyA/qdiaaHEBGdGl71OpfWa2rqL3DiA==} + '@metaplex-foundation/beet@0.7.1': dependencies: ansicolors: 0.3.2 bn.js: 5.2.1 debug: 4.4.0 transitivePeerDependencies: - supports-color - dev: false - /@metaplex-foundation/beet@0.7.2: - resolution: {integrity: sha512-K+g3WhyFxKPc0xIvcIjNyV1eaTVJTiuaHZpig7Xx0MuYRMoJLLvhLTnUXhFdR5Tu2l2QSyKwfyXDgZlzhULqFg==} + '@metaplex-foundation/beet@0.7.2': dependencies: ansicolors: 0.3.2 assert: 2.1.0 @@ -3216,20 +3075,16 @@ snapshots: debug: 4.4.0 transitivePeerDependencies: - supports-color - dev: false - /@metaplex-foundation/cusper@0.0.2: - resolution: {integrity: sha512-S9RulC2fFCFOQraz61bij+5YCHhSO9llJegK8c8Y6731fSi6snUSQJdCUqYS8AIgR0TKbQvdvgSyIIdbDFZbBA==} - dev: false + '@metaplex-foundation/cusper@0.0.2': {} - /@metaplex-foundation/mpl-auction-house@2.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-O+IAdYVaoOvgACB8pm+1lF5BNEjl0COkqny2Ho8KQZwka6aC/vHbZ239yRwAMtJhf5992BPFdT4oifjyE0O+Mw==} + '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.6.1 - '@metaplex-foundation/beet-solana': 0.3.1 + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 transitivePeerDependencies: - bufferutil @@ -3238,18 +3093,16 @@ snapshots: - supports-color - typescript - utf-8-validate - dev: false - /@metaplex-foundation/mpl-bubblegum@0.7.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-HCo6q+nh8M3KRv9/aUaZcJo5/vPJEeZwPGRDWkqN7lUXoMIvhd83fZi7MB1rIg1gwpVHfHqim0A02LCYKisWFg==} + '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 - '@metaplex-foundation/beet-solana': 0.4.0 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@metaplex-foundation/mpl-token-metadata': 2.13.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0) - '@solana/spl-token': 0.1.8 - '@solana/web3.js': 1.98.0 + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) js-sha3: 0.8.0 transitivePeerDependencies: - bufferutil @@ -3258,27 +3111,20 @@ snapshots: - supports-color - typescript - utf-8-validate - dev: false - /@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1): - resolution: {integrity: sha512-h1kLw+cGaV8SiykoHDb1/G01+VYqtJXAt0uGuO5+2Towsdtc6ET4M62iqUnh4EacTVMIW1yYHsKsG/LYWBCKaA==} - peerDependencies: - '@metaplex-foundation/umi': '>=0.8.2 < 1' - '@noble/hashes': ^1.3.1 + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0)': dependencies: '@metaplex-foundation/umi': 0.9.2 '@msgpack/msgpack': 3.0.0-beta2 - '@noble/hashes': 1.6.1 - dev: false + '@noble/hashes': 1.7.0 - /@metaplex-foundation/mpl-token-metadata@2.13.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-Fl/8I0L9rv4bKTV/RAl5YIbJe9SnQPInKvLz+xR1fEc4/VQkuCn3RPgypfUMEKWmCznzaw4sApDxy6CFS4qmJw==} + '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 - '@metaplex-foundation/beet-solana': 0.4.0 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 debug: 4.4.0 transitivePeerDependencies: @@ -3288,27 +3134,17 @@ snapshots: - supports-color - typescript - utf-8-validate - dev: false - /@metaplex-foundation/mpl-token-metadata@3.3.0(@metaplex-foundation/umi@0.9.2): - resolution: {integrity: sha512-t5vO8Wr3ZZZPGrVrGNcosX5FMkwQSgBiVMQMRNDG2De7voYFJmIibD5jdG05EoQ4Y5kZVEiwhYaO+wJB3aO5AA==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.2 < 1' + '@metaplex-foundation/mpl-token-metadata@3.3.0(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi': 0.9.2 - dev: false - /@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@0.9.2): - resolution: {integrity: sha512-fd6JxfoLbj/MM8FG2x91KYVy1U6AjBQw4qjt7+Da3trzQaWnSaYHDcYRG/53xqfvZ9qofY1T2t53GXPlD87lnQ==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.2 < 1' + '@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 - dev: false - /@metaplex-foundation/rustbin@0.3.5: - resolution: {integrity: sha512-m0wkRBEQB/8krwMwKBvFugufZtYwMXiGHud2cTDAv+aGXK4M90y0Hx67/wpu+AqqoQfdV8VM9YezUOHKD+Z5kA==} + '@metaplex-foundation/rustbin@0.3.5': dependencies: debug: 4.4.0 semver: 7.6.3 @@ -3316,16 +3152,13 @@ snapshots: toml: 3.0.0 transitivePeerDependencies: - supports-color - dev: false - /@metaplex-foundation/solita@0.12.2: - resolution: {integrity: sha512-oczMfE43NNHWweSqhXPTkQBUbap/aAiwjDQw8zLKNnd/J8sXr/0+rKcN5yJIEgcHeKRkp90eTqkmt2WepQc8yw==} - hasBin: true + '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.4.0 - '@metaplex-foundation/beet-solana': 0.3.1 + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/rustbin': 0.3.5 - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) camelcase: 6.3.0 debug: 4.4.0 js-sha256: 0.9.0 @@ -3338,322 +3171,190 @@ snapshots: - jiti - supports-color - utf-8-validate - dev: false - /@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0): - resolution: {integrity: sha512-kV3tfvgvRjVP1p9OFOtH+ibOtN9omVJSwKr0We4/9r45e5LTj+32su0V/rixZUkG1EZzzOYBsxhtIE0kIw/Hrw==} - peerDependencies: - '@metaplex-foundation/umi': ^0.9.2 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 '@metaplex-foundation/umi-downloader-http': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0) + '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-http-fetch': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-program-repository': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-rpc-chunk-get-accounts': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0) + '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-serializer-data-view': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0) - '@solana/web3.js': 1.98.0 + '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - encoding - dev: false - /@metaplex-foundation/umi-downloader-http@0.9.2(@metaplex-foundation/umi@0.9.2): - resolution: {integrity: sha512-tzPT9hBwenzTzAQg07rmsrqZfgguAXELbcJrsYMoASp5VqWFXYIP00g94KET6XLjWUXH4P1J2zoa6hGennPXHA==} - peerDependencies: - '@metaplex-foundation/umi': ^0.9.2 + '@metaplex-foundation/umi-downloader-http@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 - dev: false - /@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0): - resolution: {integrity: sha512-hhPCxXbYIp4BC4z9gK78sXpWLkNSrfv4ndhF5ruAkdIp7GcRVYKj0QnOUO6lGYGiIkNlw20yoTwOe1CT//OfTQ==} - peerDependencies: - '@metaplex-foundation/umi': ^0.9.2 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0) - '@noble/curves': 1.7.0 - '@solana/web3.js': 1.98.0 - dev: false + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.8.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - /@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2): - resolution: {integrity: sha512-YCZuBu24T9ZzEDe4+w12LEZm/fO9pkyViZufGgASC5NX93814Lvf6Ssjn/hZzjfA7CvZbvLFbmujc6CV3Q/m9Q==} - peerDependencies: - '@metaplex-foundation/umi': ^0.9.2 + '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 node-fetch: 2.7.0 transitivePeerDependencies: - encoding - dev: false - /@metaplex-foundation/umi-options@0.8.9: - resolution: {integrity: sha512-jSQ61sZMPSAk/TXn8v8fPqtz3x8d0/blVZXLLbpVbo2/T5XobiI6/MfmlUosAjAUaQl6bHRF8aIIqZEFkJiy4A==} - dev: false + '@metaplex-foundation/umi-options@0.8.9': {} - /@metaplex-foundation/umi-program-repository@0.9.2(@metaplex-foundation/umi@0.9.2): - resolution: {integrity: sha512-g3+FPqXEmYsBa8eETtUE2gb2Oe3mqac0z3/Ur1TvAg5TtIy3mzRzOy/nza+sgzejnfcxcVg835rmpBaxpBnjDA==} - peerDependencies: - '@metaplex-foundation/umi': ^0.9.2 + '@metaplex-foundation/umi-program-repository@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 - dev: false - /@metaplex-foundation/umi-public-keys@0.8.9: - resolution: {integrity: sha512-CxMzN7dgVGOq9OcNCJe2casKUpJ3RmTVoOvDFyeoTQuK+vkZ1YSSahbqC1iGuHEtKTLSjtWjKvUU6O7zWFTw3Q==} + '@metaplex-foundation/umi-public-keys@0.8.9': dependencies: '@metaplex-foundation/umi-serializers-encodings': 0.8.9 - dev: false - /@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2(@metaplex-foundation/umi@0.9.2): - resolution: {integrity: sha512-YRwVf6xH0jPBAUgMhEPi+UbjioAeqTXmjsN2TnmQCPAmHbrHrMRj0rlWYwFLWAgkmoxazYrXP9lqOFRrfOGAEA==} - peerDependencies: - '@metaplex-foundation/umi': ^0.9.2 + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 - dev: false - /@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0): - resolution: {integrity: sha512-MqcsBz8B4wGl6jxsf2Jo/rAEpYReU9VCSR15QSjhvADHMmdFxCIZCCAgE+gDE2Vuanfl437VhOcP3g5Uw8C16Q==} - peerDependencies: - '@metaplex-foundation/umi': ^0.9.2 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0) - '@solana/web3.js': 1.98.0 - dev: false + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - /@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2): - resolution: {integrity: sha512-5vGptadJxUxvUcyrwFZxXlEc6Q7AYySBesizCtrBFUY8w8PnF2vzmS45CP1MLySEATNH6T9mD4Rs0tLb87iQyA==} - peerDependencies: - '@metaplex-foundation/umi': ^0.9.2 + '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 - dev: false - /@metaplex-foundation/umi-serializers-core@0.8.9: - resolution: {integrity: sha512-WT82tkiYJ0Qmscp7uTj1Hz6aWQPETwaKLAENAUN5DeWghkuBKtuxyBKVvEOuoXerJSdhiAk0e8DWA4cxcTTQ/w==} - dev: false + '@metaplex-foundation/umi-serializers-core@0.8.9': {} - /@metaplex-foundation/umi-serializers-encodings@0.8.9: - resolution: {integrity: sha512-N3VWLDTJ0bzzMKcJDL08U3FaqRmwlN79FyE4BHj6bbAaJ9LEHjDQ9RJijZyWqTm0jE7I750fU7Ow5EZL38Xi6Q==} + '@metaplex-foundation/umi-serializers-encodings@0.8.9': dependencies: '@metaplex-foundation/umi-serializers-core': 0.8.9 - dev: false - /@metaplex-foundation/umi-serializers-numbers@0.8.9: - resolution: {integrity: sha512-NtBf1fnVNQJHFQjLFzRu2i9GGnigb9hOm/Gfrk628d0q0tRJB7BOM3bs5C61VAs7kJs4yd+pDNVAERJkknQ7Lg==} + '@metaplex-foundation/umi-serializers-numbers@0.8.9': dependencies: '@metaplex-foundation/umi-serializers-core': 0.8.9 - dev: false - /@metaplex-foundation/umi-serializers@0.9.0: - resolution: {integrity: sha512-hAOW9Djl4w4ioKeR4erDZl5IG4iJdP0xA19ZomdaCbMhYAAmG/FEs5khh0uT2mq53/MnzWcXSUPoO8WBN4Q+Vg==} + '@metaplex-foundation/umi-serializers@0.9.0': dependencies: '@metaplex-foundation/umi-options': 0.8.9 '@metaplex-foundation/umi-public-keys': 0.8.9 '@metaplex-foundation/umi-serializers-core': 0.8.9 '@metaplex-foundation/umi-serializers-encodings': 0.8.9 '@metaplex-foundation/umi-serializers-numbers': 0.8.9 - dev: false - /@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0): - resolution: {integrity: sha512-fR1Kf21uylMFd1Smkltmj4jTNxhqSWf416owsJ+T+cvJi2VCOcOwq/3UFzOrpz78fA0RhsajKYKj0HYsRnQI1g==} - peerDependencies: - '@metaplex-foundation/umi': ^0.9.2 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0) - '@solana/web3.js': 1.98.0 - dev: false + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - /@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0): - resolution: {integrity: sha512-RQqUTtHYY9fmEMnq7s3Hiv/81flGaoI0ZVVoafnFVaQLnxU6QBKxtboRZHk43XtD9CiFh5f9izrMJX7iK7KlOA==} - peerDependencies: - '@metaplex-foundation/umi': ^0.9.2 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 - dev: false - /@metaplex-foundation/umi@0.9.2: - resolution: {integrity: sha512-9i4Acm4pruQfJcpRrc2EauPBwkfDN0I9QTvJyZocIlKgoZwD6A6wH0PViH1AjOVG5CQCd1YI3tJd5XjYE1ElBw==} + '@metaplex-foundation/umi@0.9.2': dependencies: '@metaplex-foundation/umi-options': 0.8.9 '@metaplex-foundation/umi-public-keys': 0.8.9 '@metaplex-foundation/umi-serializers': 0.9.0 - dev: false - /@msgpack/msgpack@2.8.0: - resolution: {integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==} - engines: {node: '>= 10'} - dev: false + '@msgpack/msgpack@2.8.0': {} - /@msgpack/msgpack@3.0.0-beta2: - resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} - engines: {node: '>= 14'} - dev: false + '@msgpack/msgpack@3.0.0-beta2': {} - /@noble/curves@1.4.2: - resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + '@noble/curves@1.4.2': dependencies: '@noble/hashes': 1.4.0 - dev: false - /@noble/curves@1.7.0: - resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} - engines: {node: ^14.21.3 || >=16} + '@noble/curves@1.8.0': dependencies: - '@noble/hashes': 1.6.0 - dev: false + '@noble/hashes': 1.7.0 - /@noble/hashes@1.4.0: - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} - dev: false + '@noble/hashes@1.4.0': {} - /@noble/hashes@1.5.0: - resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} - engines: {node: ^14.21.3 || >=16} - dev: false + '@noble/hashes@1.5.0': {} - /@noble/hashes@1.6.0: - resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} - engines: {node: ^14.21.3 || >=16} - dev: false + '@noble/hashes@1.7.0': {} - /@noble/hashes@1.6.1: - resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} - engines: {node: ^14.21.3 || >=16} - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true + '@nodelib/fs.stat@2.0.5': {} - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.18.0 - dev: true - /@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0)(bn.js@5.2.1)(borsh@0.7.0)(buffer@6.0.1): - resolution: {integrity: sha512-QwkRDLyC514pxeplCCXZ2kTiRcJSeUrpp+9o2XqLbePy/qzZGGG8I0UbXUKuWVD/bUL1zAm21+D+Eu30OKwcQg==} - engines: {node: '>=14'} - peerDependencies: - '@solana/web3.js': ^1.95.3 - bn.js: ^5.2.1 - borsh: ^0.7.0 - buffer: 6.0.1 + '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/sha2': 5.7.0 - '@metaplex-foundation/beet-solana': 0.4.1 - '@solana/web3.js': 1.98.0 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 - borsh: 0.7.0 - buffer: 6.0.1 + borsh: 2.0.0 + buffer: 6.0.3 transitivePeerDependencies: - bufferutil - encoding - supports-color - utf-8-validate - dev: false - /@opentelemetry/api@1.9.0: - resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} - engines: {node: '>=8.0.0'} - dev: false + '@opentelemetry/api@1.9.0': {} - /@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9)(@solana/web3.js@1.98.0)(decimal.js@10.4.3): - resolution: {integrity: sha512-iOiC6exTA9t2CEOaUPoWlNP3soN/1yZFjoz1mSf7NvOqo/PJZeIdWpB7BRXwU0mGGatjxU4SFgMGQ8NrSx+ONw==} - peerDependencies: - '@solana/spl-token': ^0.4.1 - '@solana/web3.js': ^1.90.0 - decimal.js: ^10.4.3 + '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.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)': dependencies: - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@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 tiny-invariant: 1.3.3 - dev: false - /@orca-so/whirlpools-sdk@0.13.12(@coral-xyz/anchor@0.29.0)(@orca-so/common-sdk@0.6.4)(@solana/spl-token@0.4.9)(@solana/web3.js@1.98.0)(decimal.js@10.4.3): - resolution: {integrity: sha512-+LOqGTe0DYUsYwemltOU4WQIviqoICQlIcAmmEX/WnBh6wntpcLDcXkPV6dBHW7NA2/J8WEVAZ50biLJb4subg==} - peerDependencies: - '@coral-xyz/anchor': ~0.29.0 - '@orca-so/common-sdk': 0.6.4 - '@solana/spl-token': ^0.4.8 - '@solana/web3.js': ^1.90.0 - decimal.js: ^10.4.3 + '@orca-so/whirlpools-sdk@0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': dependencies: - '@coral-xyz/anchor': 0.29.0 - '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9)(@solana/web3.js@1.98.0)(decimal.js@10.4.3) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@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 tiny-invariant: 1.3.3 - dev: false - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - dev: false + '@pkgjs/parseargs@0.11.0': optional: true - /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true + '@pkgr/core@0.1.1': {} - /@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-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) + 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 - dev: false - /@pythnetwork/price-service-sdk@1.8.0: - resolution: {integrity: sha512-tFZ1thj3Zja06DzPIX2dEWSi7kIfIyqreoywvw5NQ3Z1pl5OJHQGMEhxt6Li3UCGSp2ooYZS9wl8/8XfrfrNSA==} + '@pythnetwork/price-service-sdk@1.8.0': dependencies: bn.js: 5.2.1 - dev: false - /@raydium-io/raydium-sdk-v2@0.1.95-alpha(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-+u7yxo/R1JDysTCzOuAlh90ioBe2DlM2Hbcz/tFsxP/YzmnYQzShvNjcmc0361a4zJhmlrEJfpFXW0J3kkX5vA==} + '@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 - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@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) axios: 1.7.9 big.js: 6.2.2 bn.js: 5.2.1 @@ -3670,23 +3371,16 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@saberhq/option-utils@1.15.0: - resolution: {integrity: sha512-XVbS9H4b8PIGXJGaErkOurxV2FKFyvMwYq0pD8Y1iEPoi6HB//+HnpEKAv8tCssIQ5Nn1zQWzmQ9CmGkrwzcsw==} + '@saberhq/option-utils@1.15.0': dependencies: tslib: 2.8.1 - dev: false - /@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0)(bn.js@5.2.1): - resolution: {integrity: sha512-OExL5qGrNMmIKINU7qFUDmY7+xIwVM2s360g99k8CRNHSnjpnqIzwDjr2CnvEFpeQPp22OdGlS63woDp0w0JsQ==} - peerDependencies: - '@solana/web3.js': ^1.42 - bn.js: ^4 || ^5 + '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)': dependencies: '@saberhq/option-utils': 1.15.0 '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@types/promise-retry': 1.1.6 '@types/retry': 0.12.5 bn.js: 5.2.1 @@ -3694,252 +3388,173 @@ snapshots: retry: 0.13.1 tiny-invariant: 1.3.3 tslib: 2.8.1 - dev: false - /@scure/base@1.1.9: - resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} - dev: false + '@scure/base@1.1.9': {} - /@scure/base@1.2.1: - resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} - dev: false + '@scure/base@1.2.1': {} - /@scure/bip32@1.4.0: - resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + '@scure/bip32@1.4.0': dependencies: '@noble/curves': 1.4.2 '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - dev: false - /@scure/bip39@1.3.0: - resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - dev: false - /@shikijs/core@1.24.4: - resolution: {integrity: sha512-jjLsld+xEEGYlxAXDyGwWsKJ1sw5Pc1pnp4ai2ORpjx2UX08YYTC0NNqQYO1PaghYaR+PvgMOGuvzw2he9sk0Q==} + '@shikijs/core@1.26.1': dependencies: - '@shikijs/engine-javascript': 1.24.4 - '@shikijs/engine-oniguruma': 1.24.4 - '@shikijs/types': 1.24.4 - '@shikijs/vscode-textmate': 9.3.1 + '@shikijs/engine-javascript': 1.26.1 + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 hast-util-to-html: 9.0.4 - dev: false - /@shikijs/engine-javascript@1.24.4: - resolution: {integrity: sha512-TClaQOLvo9WEMJv6GoUsykQ6QdynuKszuORFWCke8qvi6PeLm7FcD9+7y45UenysxEWYpDL5KJaVXTngTE+2BA==} + '@shikijs/engine-javascript@1.26.1': dependencies: - '@shikijs/types': 1.24.4 - '@shikijs/vscode-textmate': 9.3.1 - oniguruma-to-es: 0.8.1 - dev: false + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + oniguruma-to-es: 0.10.0 - /@shikijs/engine-oniguruma@1.24.4: - resolution: {integrity: sha512-Do2ry6flp2HWdvpj2XOwwa0ljZBRy15HKZITzPcNIBOGSeprnA8gOooA/bLsSPuy8aJBa+Q/r34dMmC3KNL/zw==} + '@shikijs/engine-oniguruma@1.26.1': dependencies: - '@shikijs/types': 1.24.4 - '@shikijs/vscode-textmate': 9.3.1 - dev: false + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 - /@shikijs/types@1.24.4: - resolution: {integrity: sha512-0r0XU7Eaow0PuDxuWC1bVqmWCgm3XqizIaT7SM42K03vc69LGooT0U8ccSR44xP/hGlNx4FKhtYpV+BU6aaKAA==} + '@shikijs/langs@1.26.1': dependencies: - '@shikijs/vscode-textmate': 9.3.1 + '@shikijs/types': 1.26.1 + + '@shikijs/themes@1.26.1': + dependencies: + '@shikijs/types': 1.26.1 + + '@shikijs/types@1.26.1': + dependencies: + '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 - dev: false - /@shikijs/vscode-textmate@9.3.1: - resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} - dev: false + '@shikijs/vscode-textmate@10.0.1': {} - /@solana/buffer-layout-utils@0.2.0: - resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} - engines: {node: '>= 10'} + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bigint-buffer: 1.1.5 bignumber.js: 9.1.2 transitivePeerDependencies: - bufferutil - encoding - utf-8-validate - dev: false - /@solana/buffer-layout@4.0.1: - resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} - engines: {node: '>=5.10'} + '@solana/buffer-layout@4.0.1': dependencies: buffer: 6.0.3 - dev: false - /@solana/codecs-core@2.0.0-preview.2: - resolution: {integrity: sha512-gLhCJXieSCrAU7acUJjbXl+IbGnqovvxQLlimztPoGgfLQ1wFYu+XJswrEVQqknZYK1pgxpxH3rZ+OKFs0ndQg==} + '@solana/codecs-core@2.0.0-preview.2': dependencies: '@solana/errors': 2.0.0-preview.2 - dev: false - /@solana/codecs-core@2.0.0-preview.4(typescript@5.7.2): - resolution: {integrity: sha512-A0VVuDDA5kNKZUinOqHxJQK32aKTucaVbvn31YenGzHX1gPqq+SOnFwgaEY6pq4XEopSmaK16w938ZQS8IvCnw==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-core@2.0.0-preview.4(typescript@5.7.2)': dependencies: '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) typescript: 5.7.2 - dev: false - /@solana/codecs-core@2.0.0-rc.1(typescript@4.9.5): - resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-core@2.0.0-rc.1(typescript@4.9.5)': dependencies: '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 - dev: false - /@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2): - resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2)': dependencies: '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) typescript: 5.7.2 - dev: false - /@solana/codecs-data-structures@2.0.0-preview.2: - resolution: {integrity: sha512-Xf5vIfromOZo94Q8HbR04TbgTwzigqrKII0GjYr21K7rb3nba4hUW2ir8kguY7HWFBcjHGlU5x3MevKBOLp3Zg==} + '@solana/codecs-data-structures@2.0.0-preview.2': dependencies: '@solana/codecs-core': 2.0.0-preview.2 '@solana/codecs-numbers': 2.0.0-preview.2 '@solana/errors': 2.0.0-preview.2 - dev: false - /@solana/codecs-data-structures@2.0.0-preview.4(typescript@5.7.2): - resolution: {integrity: sha512-nt2k2eTeyzlI/ccutPcG36M/J8NAYfxBPI9h/nQjgJ+M+IgOKi31JV8StDDlG/1XvY0zyqugV3I0r3KAbZRJpA==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-data-structures@2.0.0-preview.4(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) typescript: 5.7.2 - dev: false - /@solana/codecs-data-structures@2.0.0-rc.1(typescript@4.9.5): - resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@4.9.5)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) '@solana/codecs-numbers': 2.0.0-rc.1(typescript@4.9.5) '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 - dev: false - /@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2): - resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) typescript: 5.7.2 - dev: false - /@solana/codecs-numbers@2.0.0-preview.2: - resolution: {integrity: sha512-aLZnDTf43z4qOnpTcDsUVy1Ci9im1Md8thWipSWbE+WM9ojZAx528oAql+Cv8M8N+6ALKwgVRhPZkto6E59ARw==} + '@solana/codecs-numbers@2.0.0-preview.2': dependencies: '@solana/codecs-core': 2.0.0-preview.2 '@solana/errors': 2.0.0-preview.2 - dev: false - /@solana/codecs-numbers@2.0.0-preview.4(typescript@5.7.2): - resolution: {integrity: sha512-Q061rLtMadsO7uxpguT+Z7G4UHnjQ6moVIxAQxR58nLxDPCC7MB1Pk106/Z7NDhDLHTcd18uO6DZ7ajHZEn2XQ==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-numbers@2.0.0-preview.4(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) typescript: 5.7.2 - dev: false - /@solana/codecs-numbers@2.0.0-rc.1(typescript@4.9.5): - resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-numbers@2.0.0-rc.1(typescript@4.9.5)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 - dev: false - /@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2): - resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) typescript: 5.7.2 - dev: false - /@solana/codecs-strings@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22): - resolution: {integrity: sha512-EgBwY+lIaHHgMJIqVOGHfIfpdmmUDNoNO/GAUGeFPf+q0dF+DtwhJPEMShhzh64X2MeCZcmSO6Kinx0Bvmmz2g==} - peerDependencies: - fastestsmallesttextencoderdecoder: ^1.0.22 + '@solana/codecs-strings@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: '@solana/codecs-core': 2.0.0-preview.2 '@solana/codecs-numbers': 2.0.0-preview.2 '@solana/errors': 2.0.0-preview.2 fastestsmallesttextencoderdecoder: 1.0.22 - dev: false - /@solana/codecs-strings@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-YDbsQePRWm+xnrfS64losSGRg8Wb76cjK1K6qfR8LPmdwIC3787x9uW5/E4icl/k+9nwgbIRXZ65lpF+ucZUnw==} - peerDependencies: - fastestsmallesttextencoderdecoder: ^1.0.22 - typescript: '>=5' + '@solana/codecs-strings@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.7.2 - dev: false - /@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5): - resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} - peerDependencies: - fastestsmallesttextencoderdecoder: ^1.0.22 - typescript: '>=5' + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) '@solana/codecs-numbers': 2.0.0-rc.1(typescript@4.9.5) '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) fastestsmallesttextencoderdecoder: 1.0.22 typescript: 4.9.5 - dev: false - /@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} - peerDependencies: - fastestsmallesttextencoderdecoder: ^1.0.22 - typescript: '>=5' + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.7.2 - dev: false - /@solana/codecs@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22): - resolution: {integrity: sha512-4HHzCD5+pOSmSB71X6w9ptweV48Zj1Vqhe732+pcAQ2cMNnN0gMPMdDq7j3YwaZDZ7yrILVV/3+HTnfT77t2yA==} + '@solana/codecs@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: '@solana/codecs-core': 2.0.0-preview.2 '@solana/codecs-data-structures': 2.0.0-preview.2 @@ -3948,12 +3563,8 @@ snapshots: '@solana/options': 2.0.0-preview.2 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - dev: false - /@solana/codecs@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-gLMupqI4i+G4uPi2SGF/Tc1aXcviZF2ybC81x7Q/fARamNSgNOCUUoSCg9nWu1Gid6+UhA7LH80sWI8XjKaRog==} - peerDependencies: - typescript: '>=5' + '@solana/codecs@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.2) @@ -3963,12 +3574,8 @@ snapshots: typescript: 5.7.2 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - dev: false - /@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5): - resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} - peerDependencies: - typescript: '>=5' + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@4.9.5) @@ -3978,12 +3585,8 @@ snapshots: typescript: 4.9.5 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - dev: false - /@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} - peerDependencies: - typescript: '>=5' + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) @@ -3993,60 +3596,36 @@ snapshots: typescript: 5.7.2 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - dev: false - /@solana/errors@2.0.0-preview.2: - resolution: {integrity: sha512-H2DZ1l3iYF5Rp5pPbJpmmtCauWeQXRJapkDg8epQ8BJ7cA2Ut/QEtC3CMmw/iMTcuS6uemFNLcWvlOfoQhvQuA==} - hasBin: true + '@solana/errors@2.0.0-preview.2': dependencies: chalk: 5.4.1 commander: 12.1.0 - dev: false - /@solana/errors@2.0.0-preview.4(typescript@5.7.2): - resolution: {integrity: sha512-kadtlbRv2LCWr8A9V22On15Us7Nn8BvqNaOB4hXsTB3O0fU40D1ru2l+cReqLcRPij4znqlRzW9Xi0m6J5DIhA==} - hasBin: true - peerDependencies: - typescript: '>=5' + '@solana/errors@2.0.0-preview.4(typescript@5.7.2)': dependencies: chalk: 5.4.1 commander: 12.1.0 typescript: 5.7.2 - dev: false - /@solana/errors@2.0.0-rc.1(typescript@4.9.5): - resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} - hasBin: true - peerDependencies: - typescript: '>=5' + '@solana/errors@2.0.0-rc.1(typescript@4.9.5)': dependencies: chalk: 5.4.1 commander: 12.1.0 typescript: 4.9.5 - dev: false - /@solana/errors@2.0.0-rc.1(typescript@5.7.2): - resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} - hasBin: true - peerDependencies: - typescript: '>=5' + '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': dependencies: chalk: 5.4.1 commander: 12.1.0 typescript: 5.7.2 - dev: false - /@solana/options@2.0.0-preview.2: - resolution: {integrity: sha512-FAHqEeH0cVsUOTzjl5OfUBw2cyT8d5Oekx4xcn5hn+NyPAfQJgM3CEThzgRD6Q/4mM5pVUnND3oK/Mt1RzSE/w==} + '@solana/options@2.0.0-preview.2': dependencies: '@solana/codecs-core': 2.0.0-preview.2 '@solana/codecs-numbers': 2.0.0-preview.2 - dev: false - /@solana/options@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-tv2O/Frxql/wSe3jbzi5nVicIWIus/BftH+5ZR+r9r3FO0/htEllZS5Q9XdbmSboHu+St87584JXeDx3xm4jaA==} - peerDependencies: - typescript: '>=5' + '@solana/options@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.2) @@ -4056,12 +3635,8 @@ snapshots: typescript: 5.7.2 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - dev: false - /@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5): - resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} - peerDependencies: - typescript: '>=5' + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@4.9.5) @@ -4071,12 +3646,8 @@ snapshots: typescript: 4.9.5 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - dev: false - /@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} - peerDependencies: - typescript: '>=5' + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) @@ -4086,17 +3657,12 @@ snapshots: typescript: 5.7.2 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - dev: false - /@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0): - resolution: {integrity: sha512-IQAOJrVOUo6LCgeWW9lHuXo6JDbi4g3/RkQtvY0SyalvSWk9BIkHHe4IkAzaQw8q/BxEVBIjz8e9bNYWIAESNw==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.50.1 + '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@metaplex-foundation/beet-solana': 0.4.1 - '@solana/web3.js': 1.98.0 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 0.7.0 js-sha3: 0.8.0 @@ -4106,93 +3672,60 @@ snapshots: - encoding - supports-color - utf-8-validate - dev: false - /@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22): - resolution: {integrity: sha512-7+80nrEMdUKlK37V6kOe024+T7J4nNss0F8LQ9OOPYdWCCfJmsGUzVx2W3oeizZR4IHM6N4yC9v1Xqwc3BTPWw==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.91.6 + '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: '@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) '@solana/spl-type-length-value': 0.1.0 - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - dev: false - /@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-CLJnWEcdoUBpQJfx9WEbX3h6nTdNiUzswfFdkABUik7HVwSNA98u5AYvBVK2H93d9PGMOHAak2lHW9xr+zAJGQ==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.94.0 + '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@solana/spl-type-length-value': 0.1.0 - '@solana/web3.js': 1.95.3 + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - dev: false - /@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.95.3 + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - dev: false - /@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.95.3 + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.3 + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - dev: false - /@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5): - resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.95.3 + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - dev: false - /@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.95.3 + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - dev: false - /@solana/spl-token@0.1.8: - resolution: {integrity: sha512-LZmYCKcPQDtJgecvWOgT/cnoIQPWjdH+QVyzPcFvyDUiT0DiRjZaam4aqNUyvchLFhzgunv3d9xOoyE34ofdoQ==} - engines: {node: '>= 10'} + '@solana/spl-token@0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@solana/web3.js': 1.98.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer: 6.0.3 buffer-layout: 1.2.2 @@ -4201,18 +3734,13 @@ snapshots: - bufferutil - encoding - utf-8-validate - dev: false - /@solana/spl-token@0.3.11(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5): - resolution: {integrity: sha512-bvohO3rIMSVL24Pb+I4EYTJ6cL82eFpInEXD/I8K8upOGjpqHsKUoAempR/RnUlI1qSFNyFlWJfu6MNUgfbCQQ==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.88.0 + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0 - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) - '@solana/web3.js': 1.98.0 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4220,18 +3748,13 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@solana/spl-token@0.3.11(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-bvohO3rIMSVL24Pb+I4EYTJ6cL82eFpInEXD/I8K8upOGjpqHsKUoAempR/RnUlI1qSFNyFlWJfu6MNUgfbCQQ==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.88.0 + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0 - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4239,19 +3762,14 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@solana/spl-token@0.4.6(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-1nCnUqfHVtdguFciVWaY/RKcQz1IF4b31jnKgAmjU9QVN1q7dRUkTEWJZgTYIEtsULjVnC9jRqlhgGN39WbKKA==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.91.6 + '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0 - '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4259,19 +3777,14 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@solana/spl-token@0.4.8(@solana/web3.js@1.95.3)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-RO0JD9vPRi4LsAbMUdNbDJ5/cv2z11MGhtAvFeRzT4+hAGE/FUzRi0tkkWtuCfSIU3twC6CtmAihRp/+XXjWsA==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.94.0 + '@solana/spl-token@0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0 - '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.3 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4279,19 +3792,14 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@solana/spl-token@0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-g3wbj4F4gq82YQlwqhPB0gHFXfgsC6UmyGMxtSLf/BozT/oKd59465DbnlUK8L8EcimKMavxsVAMoLcEdeCicg==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.95.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)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0 - '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4299,21 +3807,16 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@solana/spl-type-length-value@0.1.0: - resolution: {integrity: sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA==} - engines: {node: '>=16'} + '@solana/spl-type-length-value@0.1.0': dependencies: buffer: 6.0.3 - dev: false - /@solana/web3.js@1.95.3: - resolution: {integrity: sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og==} + '@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -4322,7 +3825,7 @@ snapshots: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -4330,14 +3833,12 @@ snapshots: - bufferutil - encoding - utf-8-validate - dev: false - /@solana/web3.js@1.98.0: - resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -4346,7 +3847,7 @@ snapshots: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -4354,23 +3855,19 @@ snapshots: - bufferutil - encoding - utf-8-validate - dev: false - /@swc/helpers@0.5.15: - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 - dev: false - /@tensor-hq/tensor-common@8.3.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-cgc+Z0nR23pi+1DfJgF1+afWd+xf1e6VYPM9yhECshmERr6BgojQfcuoltHHcgpwSlLrZXnm47kQ48I2M6rxFQ==} + '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.26.0 - '@metaplex-foundation/mpl-auction-house': 2.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@metaplex-foundation/mpl-bubblegum': 0.7.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-bubblegum': 0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) axios: 0.28.1 big.js: 6.2.2 bn.js: 5.2.1 @@ -4387,17 +3884,15 @@ snapshots: - supports-color - typescript - utf-8-validate - dev: false - /@tensor-oss/tensorswap-sdk@4.5.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2): - resolution: {integrity: sha512-eNM6k1DT5V/GadxSHm8//z2wlLl8/EcA0KFQXKaxRba/2MirNySsoVGxDXO2UdOI4eZMse8f+8Et3P63WWjsIw==} + '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.26.0 + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@msgpack/msgpack': 2.8.0 - '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0)(bn.js@5.2.1) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0 - '@tensor-hq/tensor-common': 8.3.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@tensor-hq/tensor-common': 8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@types/bn.js': 5.1.6 big.js: 6.2.2 bn.js: 5.2.1 @@ -4414,14 +3909,12 @@ snapshots: - supports-color - typescript - utf-8-validate - dev: false - /@tiplink/api@0.3.1(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1): - resolution: {integrity: sha512-HjnXethjKOHTYT0IP1BewlMS7wZJ+hsoDgRa6jA1cNvxvwQjE1WHOyvOUPpAi+DJDw4P4/omFtyHr7dwLfnB/g==} + '@tiplink/api@0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) - '@solana/web3.js': 1.98.0 + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 libsodium: 0.7.15 libsodium-wrappers-sumo: 0.7.15 @@ -4436,140 +3929,89 @@ snapshots: - fastestsmallesttextencoderdecoder - sodium-native - utf-8-validate - dev: false - /@tsconfig/node10@1.0.11: - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - dev: true + '@tsconfig/node10@1.0.11': {} - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true + '@tsconfig/node12@1.0.11': {} - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true + '@tsconfig/node14@1.0.3': {} - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true + '@tsconfig/node16@1.0.4': {} - /@types/bn.js@5.1.6: - resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} + '@types/bn.js@5.1.6': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 - /@types/chai@5.0.1: - resolution: {integrity: sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA==} + '@types/chai@5.0.1': dependencies: '@types/deep-eql': 4.0.2 - dev: true - /@types/connect@3.4.38: - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/connect@3.4.38': dependencies: - '@types/node': 22.10.2 - dev: false + '@types/node': 22.10.5 '@types/deep-eql@4.0.2': {} '@types/diff-match-patch@1.0.36': {} - /@types/estree@1.0.6: - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - dev: false + '@types/estree@1.0.6': {} - /@types/hast@3.0.4: - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 - dev: false - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: false + '@types/json-schema@7.0.15': {} - /@types/mdast@4.0.4: - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 - dev: false - /@types/node-fetch@2.6.12: - resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} + '@types/node-fetch@2.6.12': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 form-data: 4.0.1 - dev: false - /@types/node@12.20.55: - resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - dev: false + '@types/node@12.20.55': {} - /@types/node@18.19.69: - resolution: {integrity: sha512-ECPdY1nlaiO/Y6GUnwgtAAhLNaQ53AyIVz+eILxpEo5OvuqE6yWkqWBIb5dU0DqhKQtMeny+FBD3PK6lm7L5xQ==} + '@types/node@18.19.69': dependencies: undici-types: 5.26.5 - dev: false - /@types/node@22.10.2: - resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + '@types/node@22.10.5': dependencies: undici-types: 6.20.0 - /@types/promise-retry@1.1.6: - resolution: {integrity: sha512-EC1+OMXV0PZb0pf+cmyxc43MEP2CDumZe4AfuxWboxxEixztIebknpJPZAX5XlodGF1OY+C1E/RAeNGzxf+bJA==} + '@types/promise-retry@1.1.6': dependencies: '@types/retry': 0.12.5 - dev: false - /@types/retry@0.12.0: - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - dev: false + '@types/retry@0.12.0': {} - /@types/retry@0.12.5: - resolution: {integrity: sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==} - dev: false + '@types/retry@0.12.5': {} - /@types/unist@3.0.3: - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - dev: false + '@types/unist@3.0.3': {} - /@types/uuid@10.0.0: - resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} - dev: false + '@types/uuid@10.0.0': {} - /@types/uuid@8.3.4: - resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} - dev: false + '@types/uuid@8.3.4': {} - /@types/ws@7.4.7: - resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + '@types/ws@7.4.7': dependencies: - '@types/node': 22.10.2 - dev: false + '@types/node': 22.10.5 - /@types/ws@8.5.13: - resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + '@types/ws@8.5.13': dependencies: - '@types/node': 22.10.2 - dev: false + '@types/node': 22.10.5 - /@typescript-eslint/eslint-plugin@8.18.2(@typescript-eslint/parser@8.18.2)(eslint@8.56.0)(typescript@5.7.2): - resolution: {integrity: sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.18.2(eslint@8.56.0)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.18.2 - '@typescript-eslint/type-utils': 8.18.2(eslint@8.56.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.18.2(eslint@8.56.0)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.18.2 - eslint: 8.56.0 + '@typescript-eslint/parser': 8.19.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/type-utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -4577,64 +4019,41 @@ snapshots: typescript: 5.7.2 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/parser@8.18.2(eslint@8.56.0)(typescript@5.7.2): - resolution: {integrity: sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.18.2 - '@typescript-eslint/types': 8.18.2 - '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.18.2 + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.0 debug: 4.4.0 - eslint: 8.56.0 + eslint: 8.57.1 typescript: 5.7.2 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/scope-manager@8.18.2: - resolution: {integrity: sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.19.0': dependencies: - '@typescript-eslint/types': 8.18.2 - '@typescript-eslint/visitor-keys': 8.18.2 - dev: true + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 - /@typescript-eslint/type-utils@8.18.2(eslint@8.56.0)(typescript@5.7.2): - resolution: {integrity: sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/type-utils@8.19.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2) - '@typescript-eslint/utils': 8.18.2(eslint@8.56.0)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) debug: 4.4.0 - eslint: 8.56.0 + eslint: 8.57.1 ts-api-utils: 1.4.3(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/types@8.18.2: - resolution: {integrity: sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true + '@typescript-eslint/types@8.19.0': {} - /@typescript-eslint/typescript-estree@8.18.2(typescript@5.7.2): - resolution: {integrity: sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/typescript-estree@8.19.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.18.2 - '@typescript-eslint/visitor-keys': 8.18.2 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -4644,76 +4063,47 @@ snapshots: typescript: 5.7.2 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/utils@8.18.2(eslint@8.56.0)(typescript@5.7.2): - resolution: {integrity: sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/utils@8.19.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@8.56.0) - '@typescript-eslint/scope-manager': 8.18.2 - '@typescript-eslint/types': 8.18.2 - '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2) - eslint: 8.56.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + eslint: 8.57.1 typescript: 5.7.2 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/visitor-keys@8.18.2: - resolution: {integrity: sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.19.0': dependencies: - '@typescript-eslint/types': 8.18.2 + '@typescript-eslint/types': 8.19.0 eslint-visitor-keys: 4.2.0 - dev: true - /@ungap/structured-clone@1.2.1: - resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + '@ungap/structured-clone@1.2.1': {} - /JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true + JSONStream@1.3.5: dependencies: jsonparse: 1.3.1 through: 2.3.8 - dev: false - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 - dev: false - /acorn-jsx@5.3.2(acorn@8.14.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 - /acorn-walk@8.3.4: - resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} - engines: {node: '>=0.4.0'} + acorn-walk@8.3.4: dependencies: acorn: 8.14.0 - dev: true - /acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true + acorn@8.14.0: {} - /agentkeepalive@4.6.0: - resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} - engines: {node: '>= 8.0.0'} + agentkeepalive@4.6.0: dependencies: humanize-ms: 1.2.1 - dev: false ai@4.0.22(react@19.0.0)(zod@3.24.1): dependencies: @@ -4735,619 +4125,352 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + ansi-regex@5.0.1: {} - /ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - dev: false + ansi-regex@6.1.0: {} - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: false + ansi-styles@5.2.0: {} - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: false + ansi-styles@6.2.1: {} - /ansicolors@0.3.2: - resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} - dev: false + ansicolors@0.3.2: {} - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true + arg@4.1.3: {} - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + argparse@2.0.1: {} - /assert@2.1.0: - resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + assert@2.1.0: dependencies: call-bind: 1.0.8 is-nan: 1.3.2 object-is: 1.1.6 object.assign: 4.1.7 util: 0.12.5 - dev: false - /assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - dev: false + assertion-error@2.0.1: {} - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: false + asynckit@0.4.0: {} - /available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 - dev: false - /axios-retry@3.9.1: - resolution: {integrity: sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==} + axios-retry@3.9.1: dependencies: '@babel/runtime': 7.26.0 is-retry-allowed: 2.2.0 - dev: false - /axios@0.28.1: - resolution: {integrity: sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==} + axios@0.28.1: dependencies: follow-redirects: 1.15.9 form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: false - /axios@1.7.9: - resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} + axios@1.7.9: dependencies: follow-redirects: 1.15.9 form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: false - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@1.0.2: {} - /base-x@3.0.10: - resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} + base-x@3.0.10: dependencies: safe-buffer: 5.2.1 - dev: false - /base-x@4.0.0: - resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} - dev: false + base-x@4.0.0: {} - /base-x@5.0.0: - resolution: {integrity: sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==} - dev: false + base-x@5.0.0: {} - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false + base64-js@1.5.1: {} - /big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} - dev: false + big-integer@1.6.52: {} - /big.js@6.2.2: - resolution: {integrity: sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==} - dev: false + big.js@6.2.2: {} - /bigint-buffer@1.1.5: - resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} - engines: {node: '>= 10.0.0'} - requiresBuild: true + bigint-buffer@1.1.5: dependencies: bindings: 1.5.0 - dev: false - /bignumber.js@9.1.2: - resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} - dev: false + bignumber.js@9.1.2: {} - /bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 - dev: false - /bintrees@1.0.2: - resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} - dev: false + bintrees@1.0.2: {} - /bn.js@4.11.6: - resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} - dev: false + bn.js@4.11.6: {} - /bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - dev: false + bn.js@5.2.1: {} - /borsh@0.7.0: - resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + borsh@0.7.0: dependencies: bn.js: 5.2.1 bs58: 4.0.1 text-encoding-utf-8: 1.0.2 - dev: false - /borsh@1.0.0: - resolution: {integrity: sha512-fSVWzzemnyfF89EPwlUNsrS5swF5CrtiN4e+h0/lLf4dz2he4L3ndM20PS9wj7ICSkXJe/TQUHdaPTq15b1mNQ==} - dev: false + borsh@1.0.0: {} - /borsh@2.0.0: - resolution: {integrity: sha512-kc9+BgR3zz9+cjbwM8ODoUB4fs3X3I5A/HtX7LZKxCLaMrEeDFoBpnhZY//DTS1VZBSs6S5v46RZRbZjRFspEg==} - dev: false + borsh@2.0.0: {} - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 - /braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + braces@3.0.3: dependencies: fill-range: 7.1.1 - dev: true - /bs58@4.0.1: - resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + bs58@4.0.1: dependencies: base-x: 3.0.10 - dev: false - /bs58@5.0.0: - resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} + bs58@5.0.0: dependencies: base-x: 4.0.0 - dev: false - /bs58@6.0.0: - resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + bs58@6.0.0: dependencies: base-x: 5.0.0 - dev: false - /buffer-layout@1.2.2: - resolution: {integrity: sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==} - engines: {node: '>=4.5'} - dev: false + buffer-layout@1.2.2: {} - /buffer-reverse@1.0.1: - resolution: {integrity: sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==} - dev: false + buffer-reverse@1.0.1: {} - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: false - /buffer@6.0.1: - resolution: {integrity: sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ==} + buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: false - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /bufferutil@4.0.9: - resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} - engines: {node: '>=6.14.2'} - requiresBuild: true + bufferutil@4.0.9: dependencies: node-gyp-build: 4.8.4 - dev: false + optional: true - /call-bind-apply-helpers@1.0.1: - resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} - engines: {node: '>= 0.4'} + call-bind-apply-helpers@1.0.1: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - dev: false - /call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} + call-bind@1.0.8: dependencies: call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 set-function-length: 1.2.2 - dev: false - /call-bound@1.0.3: - resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} - engines: {node: '>= 0.4'} + call-bound@1.0.3: dependencies: call-bind-apply-helpers: 1.0.1 - get-intrinsic: 1.2.6 - dev: false + get-intrinsic: 1.2.7 - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + callsites@3.1.0: {} - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: false + camelcase@6.3.0: {} - /ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - dev: false + ccount@2.0.1: {} - /chai@5.1.2: - resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} - engines: {node: '>=12'} + chai@5.1.2: dependencies: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 loupe: 3.1.2 pathval: 2.0.0 - dev: false - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: false + chalk@5.4.1: {} - /character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - dev: false + character-entities-html4@2.1.0: {} - /character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - dev: false + character-entities-legacy@3.0.0: {} - /check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} - dev: false + check-error@2.1.1: {} - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@1.1.4: {} - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - dev: false - /comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - dev: false + comma-separated-tokens@2.0.3: {} - /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - dev: false + commander@10.0.1: {} - /commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} - dev: false + commander@12.1.0: {} - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: false + commander@2.20.3: {} - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + concat-map@0.0.1: {} - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true + create-require@1.1.1: {} - /cross-fetch@3.2.0: - resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + cross-fetch@3.2.0: dependencies: node-fetch: 2.7.0 transitivePeerDependencies: - encoding - dev: false - /cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - /crypto-hash@1.3.0: - resolution: {integrity: sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==} - engines: {node: '>=8'} - dev: false + crypto-hash@1.3.0: {} - /crypto-js@4.2.0: - resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - dev: false + crypto-js@4.2.0: {} - /dayjs@1.11.13: - resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - dev: false + dayjs@1.11.13: {} - /debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.4.0: dependencies: ms: 2.1.3 - /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - dev: false + decamelize@1.2.0: {} - /decimal.js-light@2.5.1: - resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} - dev: false + decimal.js-light@2.5.1: {} - /decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - dev: false + decimal.js@10.4.3: {} - /deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - dev: false + deep-eql@5.0.2: {} - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deep-is@0.1.4: {} - /define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 es-errors: 1.3.0 gopd: 1.2.0 - dev: false - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + define-properties@1.2.1: dependencies: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 object-keys: 1.1.1 - dev: false - /delay@5.0.0: - resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} - engines: {node: '>=10'} - dev: false + delay@5.0.0: {} - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: false + delayed-stream@1.0.0: {} - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - dev: false + dequal@2.0.3: {} - /devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + devlop@1.1.0: dependencies: dequal: 2.0.3 - dev: false diff-match-patch@1.0.5: {} diff@4.0.2: {} - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + doctrine@3.0.0: dependencies: esutils: 2.0.3 - dev: true - /dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dot-case@3.0.4: dependencies: no-case: 3.0.4 tslib: 2.8.1 - dev: false - /dotenv@10.0.0: - resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} - engines: {node: '>=10'} - dev: false + dotenv@10.0.0: {} - /dotenv@16.4.7: - resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} - engines: {node: '>=12'} - dev: false + dotenv@16.4.7: {} - /dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.1 es-errors: 1.3.0 gopd: 1.2.0 - dev: false - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: false + eastasianwidth@0.2.0: {} - /emoji-regex-xs@1.0.0: - resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} - dev: false + emoji-regex-xs@1.0.0: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: false + emoji-regex@8.0.0: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: false + emoji-regex@9.2.2: {} - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - dev: false + entities@4.5.0: {} - /err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: false + err-code@2.0.3: {} - /es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - dev: false + es-define-property@1.0.1: {} - /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - dev: false + es-errors@1.3.0: {} - /es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} + es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 - dev: false - /es6-promise@4.2.8: - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} - dev: false + es6-promise@4.2.8: {} - /es6-promisify@5.0.0: - resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + es6-promisify@5.0.0: dependencies: es6-promise: 4.2.8 - dev: false - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + escape-string-regexp@4.0.0: {} - /eslint-config-prettier@9.1.0(eslint@8.56.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' + eslint-config-prettier@9.1.0(eslint@8.57.1): dependencies: - eslint: 8.56.0 - dev: true + eslint: 8.57.1 - /eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.4.2): - resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.2): dependencies: - eslint: 8.56.0 - eslint-config-prettier: 9.1.0(eslint@8.56.0) + eslint: 8.57.1 prettier: 3.4.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.2 - dev: true + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@8.57.1) - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /eslint-scope@8.2.0: - resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: false - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@3.4.3: {} - /eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@4.2.0: {} - /eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. - hasBin: true + eslint@8.57.1: dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) '@eslint-community/regexpp': 4.12.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.1 @@ -5383,17 +4506,8 @@ snapshots: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /eslint@9.17.0: - resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true + eslint@9.17.0: dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0) '@eslint-community/regexpp': 4.12.1 @@ -5431,157 +4545,98 @@ snapshots: optionator: 0.9.4 transitivePeerDependencies: - supports-color - dev: false - /espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@10.3.0: dependencies: acorn: 8.14.0 acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 4.2.0 - dev: false - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.6.1: dependencies: acorn: 8.14.0 acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 - dev: true - /esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} + esquery@1.6.0: dependencies: estraverse: 5.3.0 - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + estraverse@5.3.0: {} - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + esutils@2.0.3: {} - /ethereum-bloom-filters@1.2.0: - resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} + ethereum-bloom-filters@1.2.0: dependencies: - '@noble/hashes': 1.6.1 - dev: false + '@noble/hashes': 1.7.0 - /ethereum-cryptography@2.2.1: - resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + ethereum-cryptography@2.2.1: dependencies: '@noble/curves': 1.4.2 '@noble/hashes': 1.4.0 '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 - dev: false - /ethjs-unit@0.1.6: - resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} - engines: {node: '>=6.5.0', npm: '>=3'} + ethjs-unit@0.1.6: dependencies: bn.js: 4.11.6 number-to-bn: 1.7.0 - dev: false - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false + event-target-shim@5.0.1: {} - /eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: false + eventemitter3@4.0.7: {} eventemitter3@5.0.1: {} eventsource-parser@3.0.0: {} - /exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - dev: false + exponential-backoff@3.1.1: {} - /eyes@0.1.8: - resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} - engines: {node: '> 0.1.90'} - dev: false + eyes@0.1.8: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-deep-equal@3.1.3: {} - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true + fast-diff@1.3.0: {} - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.8 - dev: true - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + fast-json-stable-stringify@2.1.0: {} - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-levenshtein@2.0.6: {} - /fast-stable-stringify@1.0.0: - resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} - dev: false + fast-stable-stringify@1.0.0: {} - /fastestsmallesttextencoderdecoder@1.0.22: - resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} - dev: false + fastestsmallesttextencoderdecoder@1.0.22: {} - /fastq@1.18.0: - resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + fastq@1.18.0: dependencies: reusify: 1.0.4 - dev: true - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 - dev: true - /file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 - dev: false - /file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - dev: false + file-uri-to-path@1.0.0: {} - /fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - dev: true - /find-process@1.4.8: - resolution: {integrity: sha512-W2PIdgXfhYeIlTzGiDyGJhjslZcwQCRcSw6plgyLu3CFk1PhQrKkTbQ5jkJ2NhOabMwETTrhl7c+xBcQ7B2jRg==} - hasBin: true + find-process@1.4.8: dependencies: chalk: 5.4.1 commander: 12.1.0 @@ -5593,120 +4648,80 @@ snapshots: transitivePeerDependencies: - jiti - supports-color - dev: false - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.2.0: dependencies: flatted: 3.3.2 keyv: 4.5.4 rimraf: 3.0.2 - dev: true - /flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + flat-cache@4.0.1: dependencies: flatted: 3.3.2 keyv: 4.5.4 - dev: false - /flatted@3.3.2: - resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + flatted@3.3.2: {} - /follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: false + follow-redirects@1.15.9: {} - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: is-callable: 1.2.7 - dev: false - /foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} - engines: {node: '>=14'} + foreground-child@3.3.0: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 - dev: false - /form-data-encoder@1.7.2: - resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} - dev: false + form-data-encoder@1.7.2: {} - /form-data@4.0.1: - resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} - engines: {node: '>= 6'} + form-data@4.0.1: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: false - /formdata-node@4.4.1: - resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} - engines: {node: '>= 12.20'} + formdata-node@4.4.1: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 4.0.0-beta.3 - dev: false - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true + fs.realpath@1.0.0: {} - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: false + function-bind@1.1.2: {} - /get-intrinsic@1.2.6: - resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} - engines: {node: '>= 0.4'} + get-intrinsic@1.2.7: dependencies: call-bind-apply-helpers: 1.0.1 - dunder-proto: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.0.0 function-bind: 1.1.2 + get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 math-intrinsics: 1.1.0 - dev: false - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + get-proto@1.0.1: dependencies: - is-glob: 4.0.3 - dev: true + dunder-proto: 1.0.1 + es-object-atoms: 1.0.0 - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - /glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - hasBin: true + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: dependencies: foreground-child: 3.3.0 jackspeak: 3.4.3 @@ -5714,12 +4729,8 @@ snapshots: minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - dev: false - /glob@11.0.0: - resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} - engines: {node: 20 || >=22} - hasBin: true + glob@11.0.0: dependencies: foreground-child: 3.3.0 jackspeak: 4.0.2 @@ -5727,11 +4738,8 @@ snapshots: minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 - dev: false - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -5739,44 +4747,26 @@ snapshots: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - dev: true - /globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - dev: false + globals@14.0.0: {} - /gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - dev: false + gopd@1.2.0: {} - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - requiresBuild: true - dev: false + graceful-fs@4.2.11: optional: true - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graphemer@1.4.0: {} - /graphemesplit@2.4.4: - resolution: {integrity: sha512-lKrpp1mk1NH26USxC/Asw4OHbhSQf5XfrWZ+CDv/dFVvd1j17kFgMotdJvOesmHkbFX9P9sBfpH8VogxOWLg8w==} + graphemesplit@2.4.4: dependencies: js-base64: 3.7.7 unicode-trie: 2.0.0 - dev: false - /groq-sdk@0.5.0: - resolution: {integrity: sha512-RVmhW7qZ+XZoy5fIuSdx/LGQJONpL8MHgZEW7dFwTdgkzStub2XQx6OKv28CHogijdwH41J+Npj/z2jBPu3vmw==} + groq-sdk@0.5.0: dependencies: '@types/node': 18.19.69 '@types/node-fetch': 2.6.12 @@ -5788,46 +4778,29 @@ snapshots: web-streams-polyfill: 3.3.3 transitivePeerDependencies: - encoding - dev: false - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + has-flag@4.0.0: {} - /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 - dev: false - /has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - dev: false + has-symbols@1.1.0: {} - /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: dependencies: has-symbols: 1.1.0 - dev: false - /hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hash.js@1.1.7: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - dev: false - /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + hasown@2.0.2: dependencies: function-bind: 1.1.2 - dev: false - /hast-util-to-html@9.0.4: - resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} + hast-util-to-html@9.0.4: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 @@ -5840,171 +4813,106 @@ snapshots: space-separated-tokens: 2.0.2 stringify-entities: 4.0.4 zwitch: 2.0.4 - dev: false - /hast-util-whitespace@3.0.0: - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + hast-util-whitespace@3.0.0: dependencies: '@types/hast': 3.0.4 - dev: false - /html-void-elements@3.0.0: - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - dev: false + html-void-elements@3.0.0: {} - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 - dev: false - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false + ieee754@1.2.1: {} - /ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} + ignore@5.3.2: {} - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + imurmurhash@0.1.4: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inherits@2.0.4: {} - /ipaddr.js@2.2.0: - resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} - engines: {node: '>= 10'} - dev: false + ipaddr.js@2.2.0: {} - /is-arguments@1.2.0: - resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} - engines: {node: '>= 0.4'} + is-arguments@1.2.0: dependencies: call-bound: 1.0.3 has-tostringtag: 1.0.2 - dev: false - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: false + is-callable@1.2.7: {} - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + is-extglob@2.1.1: {} - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: false + is-fullwidth-code-point@3.0.0: {} - /is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} + is-generator-function@1.1.0: dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 has-tostringtag: 1.0.2 - dev: false + safe-regex-test: 1.1.0 - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - /is-hex-prefixed@1.0.0: - resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} - engines: {node: '>=6.5.0', npm: '>=3'} - dev: false + is-hex-prefixed@1.0.0: {} - /is-nan@1.3.2: - resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} - engines: {node: '>= 0.4'} + is-nan@1.3.2: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - dev: false - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true + is-number@7.0.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true + is-path-inside@3.0.3: {} - /is-retry-allowed@2.2.0: - resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} - engines: {node: '>=10'} - dev: false + is-regex@1.2.1: + dependencies: + call-bound: 1.0.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 - /is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} - engines: {node: '>= 0.4'} + is-retry-allowed@2.2.0: {} + + is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.18 - dev: false - /is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: false + is-typedarray@1.0.0: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@2.0.0: {} - /isomorphic-ws@4.0.1(ws@7.5.10): - resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} - peerDependencies: - ws: '*' + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: - ws: 7.5.10 - dev: false + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) - /isomorphic-ws@4.0.1(ws@8.18.0): - resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} - peerDependencies: - ws: '*' + 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) - dev: false - /jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - dev: false - /jackspeak@4.0.2: - resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} - engines: {node: 20 || >=22} + jackspeak@4.0.2: dependencies: '@isaacs/cliui': 8.0.2 - dev: false - /jayson@4.1.3: - resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} - engines: {node: '>=8'} - hasBin: true + jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@types/connect': 3.4.38 '@types/node': 12.20.55 @@ -6014,52 +4922,37 @@ snapshots: delay: 5.0.0 es6-promisify: 5.0.0 eyes: 0.1.8 - isomorphic-ws: 4.0.1(ws@7.5.10) + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) json-stringify-safe: 5.0.1 uuid: 8.3.2 - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /js-base64@3.7.7: - resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} - dev: false + js-base64@3.7.7: {} - /js-sha256@0.11.0: - resolution: {integrity: sha512-6xNlKayMZvds9h1Y1VWc0fQHQ82BxTXizWPEtEeGvmOUYpBRy4gbWroHLpzowe6xiQhHpelCQiE7HEdznyBL9Q==} - dev: false + js-sha256@0.11.0: {} - /js-sha256@0.9.0: - resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} - dev: false + js-sha256@0.9.0: {} - /js-sha3@0.8.0: - resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} - dev: false + js-sha3@0.8.0: {} - /js-tiktoken@1.0.16: - resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} + js-tiktoken@1.0.16: dependencies: base64-js: 1.5.1 - dev: false - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-buffer@3.0.1: {} json-schema-traverse@0.4.1: {} json-schema@0.4.0: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stable-stringify-without-jsonify@1.0.1: {} json-stringify-safe@5.0.1: {} @@ -6076,204 +4969,106 @@ snapshots: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - dev: false - /jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - dev: false + jsonparse@1.3.1: {} - /jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - dev: false + jsonpointer@5.0.1: {} - /keccak256@1.0.6: - resolution: {integrity: sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw==} + keccak256@1.0.6: dependencies: bn.js: 5.2.1 buffer: 6.0.3 keccak: 3.0.4 - dev: false - /keccak@3.0.4: - resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} - engines: {node: '>=10.0.0'} - requiresBuild: true + keccak@3.0.4: dependencies: node-addon-api: 2.0.2 node-gyp-build: 4.8.4 readable-stream: 3.6.2 - dev: false - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - /langchain@0.3.8(@langchain/core@0.3.26)(@langchain/groq@0.1.2)(openai@4.77.0): - resolution: {integrity: sha512-EiAHFgBdThuXFmIx9j81wjdPItpRsw0Ck4r5dyhB74gyhehRGna/UK2CTqeKVnIUM/f4g4JbxUgAU4voXljDMw==} - engines: {node: '>=18'} - peerDependencies: - '@langchain/anthropic': '*' - '@langchain/aws': '*' - '@langchain/cohere': '*' - '@langchain/core': '>=0.2.21 <0.4.0' - '@langchain/google-genai': '*' - '@langchain/google-vertexai': '*' - '@langchain/groq': '*' - '@langchain/mistralai': '*' - '@langchain/ollama': '*' - axios: '*' - cheerio: '*' - handlebars: ^4.7.8 - peggy: ^3.0.2 - typeorm: '*' - peerDependenciesMeta: - '@langchain/anthropic': - optional: true - '@langchain/aws': - optional: true - '@langchain/cohere': - optional: true - '@langchain/google-genai': - optional: true - '@langchain/google-vertexai': - optional: true - '@langchain/groq': - optional: true - '@langchain/mistralai': - optional: true - '@langchain/ollama': - optional: true - axios: - optional: true - cheerio: - optional: true - handlebars: - optional: true - peggy: - optional: true - typeorm: - optional: true + langchain@0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)): dependencies: - '@langchain/core': 0.3.26(openai@4.77.0) - '@langchain/groq': 0.1.2(@langchain/core@0.3.26) - '@langchain/openai': 0.3.16(@langchain/core@0.3.26) - '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.26) + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) js-tiktoken: 1.0.16 js-yaml: 4.1.0 jsonpointer: 5.0.1 - langsmith: 0.2.14(openai@4.77.0) + langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 10.0.0 yaml: 2.7.0 zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) + optionalDependencies: + '@langchain/groq': 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + axios: 1.7.9 transitivePeerDependencies: - encoding - openai - dev: false - /langsmith@0.2.14(openai@4.77.0): - resolution: {integrity: sha512-ClAuAgSf3m9miMYotLEaZKQyKdaWlfjhebCuYco8bc6g72dU2VwTg31Bv4YINBq7EH2i1cMwbOiJxbOXPqjGig==} - peerDependencies: - openai: '*' - peerDependenciesMeta: - openai: - optional: true + langsmith@0.2.14(openai@4.77.3(zod@3.24.1)): dependencies: '@types/uuid': 10.0.0 commander: 10.0.1 - openai: 4.77.0(zod@3.24.1) p-queue: 6.6.2 p-retry: 4.6.2 semver: 7.6.3 uuid: 10.0.0 - dev: false + optionalDependencies: + openai: 4.77.3(zod@3.24.1) - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - /libsodium-sumo@0.7.15: - resolution: {integrity: sha512-5tPmqPmq8T8Nikpm1Nqj0hBHvsLFCXvdhBFV7SGOitQPZAA6jso8XoL0r4L7vmfKXr486fiQInvErHtEvizFMw==} - dev: false + libsodium-sumo@0.7.15: {} - /libsodium-wrappers-sumo@0.7.15: - resolution: {integrity: sha512-aSWY8wKDZh5TC7rMvEdTHoyppVq/1dTSAeAR7H6pzd6QRT3vQWcT5pGwCotLcpPEOLXX6VvqihSPkpEhYAjANA==} + libsodium-wrappers-sumo@0.7.15: dependencies: libsodium-sumo: 0.7.15 - dev: false - /libsodium-wrappers@0.7.15: - resolution: {integrity: sha512-E4anqJQwcfiC6+Yrl01C1m8p99wEhLmJSs0VQqST66SbQXXBoaJY0pF4BNjRYa/sOQAxx6lXAaAFIlx+15tXJQ==} + libsodium-wrappers@0.7.15: dependencies: libsodium: 0.7.15 - dev: false - /libsodium@0.7.15: - resolution: {integrity: sha512-sZwRknt/tUpE2AwzHq3jEyUU5uvIZHtSssktXq7owd++3CSgn8RGrv6UZJJBpP7+iBghBqe7Z06/2M31rI2NKw==} - dev: false + libsodium@0.7.15: {} - /linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + linkify-it@5.0.0: dependencies: uc.micro: 2.1.0 - dev: false - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.merge@4.6.2: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: false + lodash@4.17.21: {} - /loglevel@1.9.2: - resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} - engines: {node: '>= 0.6.0'} - dev: false + loglevel@1.9.2: {} - /loupe@3.1.2: - resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} - dev: false + loupe@3.1.2: {} - /lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + lower-case@2.0.2: dependencies: tslib: 2.8.1 - dev: false - /lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - dev: false + lru-cache@10.4.3: {} - /lru-cache@11.0.2: - resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} - engines: {node: 20 || >=22} - dev: false + lru-cache@11.0.2: {} - /lunr@2.3.9: - resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - dev: false + lunr@2.3.9: {} - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true + make-error@1.3.6: {} - /markdown-it@14.1.0: - resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} - hasBin: true + markdown-it@14.1.0: dependencies: argparse: 2.0.1 entities: 4.5.0 @@ -6281,19 +5076,12 @@ snapshots: mdurl: 2.0.0 punycode.js: 2.3.1 uc.micro: 2.1.0 - dev: false - /math-expression-evaluator@2.0.6: - resolution: {integrity: sha512-DRung1qNcKbgkhFeQ0fBPUFB6voRUMY7KyRyp1TRQ2v95Rp2egC823xLRooM1mDx1rmbkY7ym6ZWmpaE/VimOA==} - dev: false + math-expression-evaluator@2.0.6: {} - /math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - dev: false + math-intrinsics@1.1.0: {} - /mdast-util-to-hast@13.2.0: - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + mdast-util-to-hast@13.2.0: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -6304,184 +5092,103 @@ snapshots: unist-util-position: 5.0.0 unist-util-visit: 5.0.0 vfile: 6.0.3 - dev: false - /mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - dev: false + mdurl@2.0.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true + merge2@1.4.1: {} - /merkletreejs@0.3.11: - resolution: {integrity: sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==} - engines: {node: '>= 7.6.0'} + merkletreejs@0.3.11: dependencies: bignumber.js: 9.1.2 buffer-reverse: 1.0.1 crypto-js: 4.2.0 treeify: 1.1.0 web3-utils: 1.10.4 - dev: false - /micro-ftch@0.3.1: - resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} - dev: false + micro-ftch@0.3.1: {} - /micromark-util-character@2.1.1: - resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + micromark-util-character@2.1.1: dependencies: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 - dev: false - /micromark-util-encode@2.0.1: - resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - dev: false + micromark-util-encode@2.0.1: {} - /micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + micromark-util-sanitize-uri@2.0.1: dependencies: micromark-util-character: 2.1.1 micromark-util-encode: 2.0.1 micromark-util-symbol: 2.0.1 - dev: false - /micromark-util-symbol@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - dev: false + micromark-util-symbol@2.0.1: {} - /micromark-util-types@2.0.1: - resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} - dev: false + micromark-util-types@2.0.1: {} - /micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 - dev: true - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: false + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - dev: false - /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: false + minimalistic-assert@1.0.1: {} - /minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} - engines: {node: 20 || >=22} + minimatch@10.0.1: dependencies: brace-expansion: 2.0.1 - dev: false - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - /minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: false + minimist@1.2.8: {} - /minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - dev: false + minipass@7.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + ms@2.1.3: {} - /mustache@4.2.0: - resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} - hasBin: true - dev: false + mustache@4.2.0: {} - /nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: false + nanoid@3.3.8: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + natural-compare@1.4.0: {} - /no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + no-case@3.0.4: dependencies: lower-case: 2.0.2 tslib: 2.8.1 - dev: false - /node-addon-api@2.0.2: - resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} - dev: false + node-addon-api@2.0.2: {} - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false + node-domexception@1.0.0: {} - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - dev: false - /node-gyp-build@4.8.4: - resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} - hasBin: true - dev: false + node-gyp-build@4.8.4: {} - /number-to-bn@1.7.0: - resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} - engines: {node: '>=6.5.0', npm: '>=3'} + number-to-bn@1.7.0: dependencies: bn.js: 4.11.6 strip-hex-prefix: 1.0.0 - dev: false - /object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} - engines: {node: '>= 0.4'} + object-is@1.1.6: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - dev: false - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: false + object-keys@1.1.1: {} - /object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} + object.assign@4.1.7: dependencies: call-bind: 1.0.8 call-bound: 1.0.3 @@ -6489,30 +5196,18 @@ snapshots: es-object-atoms: 1.0.0 has-symbols: 1.1.0 object-keys: 1.1.1 - dev: false - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - dev: true - /oniguruma-to-es@0.8.1: - resolution: {integrity: sha512-dekySTEvCxCj0IgKcA2uUCO/e4ArsqpucDPcX26w9ajx+DvMWLc5eZeJaRQkd7oC/+rwif5gnT900tA34uN9Zw==} + oniguruma-to-es@0.10.0: dependencies: emoji-regex-xs: 1.0.0 regex: 5.1.1 regex-recursion: 5.1.1 - dev: false - /openai@4.77.0(zod@3.24.1): - resolution: {integrity: sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==} - hasBin: true - peerDependencies: - zod: ^3.23.8 - peerDependenciesMeta: - zod: - optional: true + openai@4.77.3(zod@3.24.1): dependencies: '@types/node': 18.19.69 '@types/node-fetch': 2.6.12 @@ -6521,18 +5216,14 @@ snapshots: form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0 + optionalDependencies: zod: 3.24.1 transitivePeerDependencies: - encoding - dev: false - /openapi-types@12.1.3: - resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} - dev: false + openapi-types@12.1.3: {} - /optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} + optionator@0.9.4: dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -6541,183 +5232,101 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - /p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - dev: false + p-finally@1.0.0: {} - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - /p-queue@6.6.2: - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} - engines: {node: '>=8'} + p-queue@6.6.2: dependencies: eventemitter3: 4.0.7 p-timeout: 3.2.0 - dev: false - /p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} + p-retry@4.6.2: dependencies: '@types/retry': 0.12.0 retry: 0.13.1 - dev: false - /p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} + p-timeout@3.2.0: dependencies: p-finally: 1.0.0 - dev: false - /package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - dev: false + package-json-from-dist@1.0.1: {} - /pako@0.2.9: - resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} - dev: false + pako@0.2.9: {} - /pako@2.1.0: - resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} - dev: false + pako@2.1.0: {} - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + path-exists@4.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-is-absolute@1.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + path-key@3.1.1: {} - /path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 minipass: 7.1.2 - dev: false - /path-scurry@2.0.0: - resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} - engines: {node: 20 || >=22} + path-scurry@2.0.0: dependencies: lru-cache: 11.0.2 minipass: 7.1.2 - dev: false - /pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - dev: false + pathval@2.0.0: {} - /percentile@1.6.0: - resolution: {integrity: sha512-8vSyjdzwxGDHHwH+cSGch3A9Uj2On3UpgOWxWXMKwUvoAbnujx6DaqmV1duWXNiH/oEWpyVd6nSQccix6DM3Ng==} - dev: false + percentile@1.6.0: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true + picomatch@2.3.1: {} - /poly1305-js@0.4.4: - resolution: {integrity: sha512-5B6/S+vg5AOr66wJDkh5LOpU/F3EKANDy4VXKsNZLXea1uCy6CiOWOZ3VhcC0nYdhE7vJUMcLxqcVlrv2g/+Rg==} + poly1305-js@0.4.4: dependencies: big-integer: 1.6.52 - dev: false - /possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - dev: false + possible-typed-array-names@1.0.0: {} - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + prelude-ls@1.2.1: {} - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} + prettier-linter-helpers@1.0.0: dependencies: fast-diff: 1.3.0 - dev: true - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: false + prettier@2.8.8: {} - /prettier@3.4.2: - resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} - engines: {node: '>=14'} - hasBin: true - dev: true + prettier@3.4.2: {} - /prom-client@15.1.3: - resolution: {integrity: sha512-6ZiOBfCywsD4k1BN9IX0uZhF+tJkV8q8llP64G5Hajs4JOeVLPCwpPVcpXy3BwYiUGgyJzsJJQeOIv7+hDSq8g==} - engines: {node: ^16 || ^18 || >=20} + prom-client@15.1.3: dependencies: '@opentelemetry/api': 1.9.0 tdigest: 0.1.2 - dev: false - /promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} + promise-retry@2.0.1: dependencies: err-code: 2.0.3 retry: 0.12.0 - dev: false - /property-information@6.5.0: - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} - dev: false + property-information@6.5.0: {} - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false + proxy-from-env@1.1.0: {} - /punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} - dev: false + punycode.js@2.3.1: {} - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + punycode@2.3.1: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + queue-microtask@1.2.3: {} - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - dev: false react@19.0.0: {} @@ -6726,74 +5335,42 @@ snapshots: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: false - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - dev: false + regenerator-runtime@0.14.1: {} - /regex-recursion@5.1.1: - resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + regex-recursion@5.1.1: dependencies: regex: 5.1.1 regex-utilities: 2.3.0 - dev: false - /regex-utilities@2.3.0: - resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - dev: false + regex-utilities@2.3.0: {} - /regex@5.1.1: - resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + regex@5.1.1: dependencies: regex-utilities: 2.3.0 - dev: false - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolve-from@4.0.0: {} - /retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - dev: false + retry@0.12.0: {} - /retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - dev: false + retry@0.13.1: {} - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true + reusify@1.0.4: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /rimraf@5.0.10: - resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} - hasBin: true + rimraf@5.0.10: dependencies: glob: 10.4.5 - dev: false - /rimraf@6.0.1: - resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} - engines: {node: 20 || >=22} - hasBin: true + rimraf@6.0.1: dependencies: glob: 11.0.0 package-json-from-dist: 1.0.1 - dev: false - /rpc-websockets@9.0.4: - resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} + rpc-websockets@9.0.4: dependencies: '@swc/helpers': 0.5.15 '@types/uuid': 8.3.4 @@ -6805,84 +5382,63 @@ snapshots: optionalDependencies: bufferutil: 4.0.9 utf-8-validate: 5.0.10 - dev: false - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - dev: true safe-buffer@5.2.1: {} + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-regex: 1.2.1 + secure-json-parse@2.7.0: {} - /semaphore@1.1.0: - resolution: {integrity: sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==} - engines: {node: '>=0.8.0'} - dev: false + semaphore@1.1.0: {} - /semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} - engines: {node: '>=10'} - hasBin: true + semver@7.6.3: {} - /set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 gopd: 1.2.0 has-property-descriptors: 1.0.2 - dev: false - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + shebang-regex@3.0.0: {} - /shiki@1.24.4: - resolution: {integrity: sha512-aVGSFAOAr1v26Hh/+GBIsRVDWJ583XYV7CuNURKRWh9gpGv4OdbisZGq96B9arMYTZhTQkmRF5BrShOSTvNqhw==} + shiki@1.26.1: dependencies: - '@shikijs/core': 1.24.4 - '@shikijs/engine-javascript': 1.24.4 - '@shikijs/engine-oniguruma': 1.24.4 - '@shikijs/types': 1.24.4 - '@shikijs/vscode-textmate': 9.3.1 + '@shikijs/core': 1.26.1 + '@shikijs/engine-javascript': 1.26.1 + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/langs': 1.26.1 + '@shikijs/themes': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 - dev: false - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: false + signal-exit@4.1.0: {} - /snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + snake-case@3.0.4: dependencies: dot-case: 3.0.4 tslib: 2.8.1 - dev: false - /sodium-native@3.4.1: - resolution: {integrity: sha512-PaNN/roiFWzVVTL6OqjzYct38NSXewdl2wz8SRB51Br/MLIJPrbM3XexhVWkq7D3UWMysfrhKVf1v1phZq6MeQ==} - requiresBuild: true + sodium-native@3.4.1: dependencies: node-gyp-build: 4.8.4 - dev: false - /sodium-plus@0.9.0(sodium-native@3.4.1): - resolution: {integrity: sha512-WWKxrd81qDL7C1A10yxNmZ135yovEZuIRnZ/BIf/FcajYBupbKbPdgzwlusPHLVxkMDDamcarq9PxxRBUSqpCw==} - peerDependencies: - sodium-native: ^3.2.0 + sodium-plus@0.9.0(sodium-native@3.4.1): dependencies: buffer: 5.7.1 libsodium-wrappers: 0.7.15 @@ -6890,94 +5446,59 @@ snapshots: sodium-native: 3.4.1 typedarray-to-buffer: 3.1.5 xsalsa20: 1.2.0 - dev: false - /space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - dev: false + space-separated-tokens@2.0.2: {} - /spok@1.5.5: - resolution: {integrity: sha512-IrJIXY54sCNFASyHPOY+jEirkiJ26JDqsGiI0Dvhwcnkl0PEWi1PSsrkYql0rzDw8LFVTcA7rdUCAJdE2HE+2Q==} + spok@1.5.5: dependencies: ansicolors: 0.3.2 find-process: 1.4.8 transitivePeerDependencies: - jiti - supports-color - dev: false - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: false - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - dev: false - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: false - /stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 - dev: false - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.1.0 - dev: false - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: false + strip-bom@3.0.0: {} - /strip-hex-prefix@1.0.0: - resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} - engines: {node: '>=6.5.0', npm: '>=3'} + strip-hex-prefix@1.0.0: dependencies: is-hex-prefixed: 1.0.0 - dev: false - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + strip-json-comments@3.1.1: {} - /superstruct@0.15.5: - resolution: {integrity: sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==} - dev: false + superstruct@0.15.5: {} - /superstruct@2.0.2: - resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} - engines: {node: '>=14.0.0'} - dev: false + superstruct@2.0.2: {} - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -6991,95 +5512,51 @@ snapshots: dependencies: '@pkgr/core': 0.1.1 tslib: 2.8.1 - dev: true - /tdigest@0.1.2: - resolution: {integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==} + tdigest@0.1.2: dependencies: bintrees: 1.0.2 - dev: false - /text-encoding-utf-8@1.0.2: - resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} - dev: false + text-encoding-utf-8@1.0.2: {} text-table@0.2.0: {} throttleit@2.1.0: {} - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: false + through@2.3.8: {} - /tiny-inflate@1.0.3: - resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} - dev: false + tiny-inflate@1.0.3: {} - /tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - dev: false + tiny-invariant@1.3.3: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - dev: true - /toformat@2.0.0: - resolution: {integrity: sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ==} - dev: false + toformat@2.0.0: {} - /toml@3.0.0: - resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} - dev: false + toml@3.0.0: {} - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false + tr46@0.0.3: {} - /treeify@1.1.0: - resolution: {integrity: sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==} - engines: {node: '>=0.6'} - dev: false + treeify@1.1.0: {} - /trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - dev: false + trim-lines@3.0.1: {} - /ts-api-utils@1.4.3(typescript@5.7.2): - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.4.3(typescript@5.7.2): dependencies: typescript: 5.7.2 - dev: true - /ts-log@2.2.7: - resolution: {integrity: sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==} - dev: false + ts-log@2.2.7: {} - /ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.2 + '@types/node': 22.10.5 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -7089,148 +5566,90 @@ snapshots: typescript: 5.7.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true - /tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} + tsconfig-paths@4.2.0: dependencies: json5: 2.2.3 minimist: 1.2.8 strip-bom: 3.0.0 - dev: false - /tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tslib@2.8.1: {} - /tweetnacl-util@0.15.1: - resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} - dev: false + tweetnacl-util@0.15.1: {} - /tweetnacl@1.0.3: - resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} - dev: false + tweetnacl@1.0.3: {} - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 - dev: false - /typedoc@0.26.11(typescript@5.7.2): - resolution: {integrity: sha512-sFEgRRtrcDl2FxVP58Ze++ZK2UQAEvtvvH8rRlig1Ja3o7dDaMHmaBfvJmdGnNEFaLTpQsN8dpvZaTqJSu/Ugw==} - engines: {node: '>= 18'} - hasBin: true - peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x + typedoc@0.26.11(typescript@5.7.2): dependencies: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - shiki: 1.24.4 + shiki: 1.26.1 typescript: 5.7.2 yaml: 2.7.0 - dev: false - /typedoc@0.27.6(typescript@5.7.2): - resolution: {integrity: sha512-oBFRoh2Px6jFx366db0lLlihcalq/JzyCVp7Vaq1yphL/tbgx2e+bkpkCgJPunaPvPwoTOXSwasfklWHm7GfAw==} - engines: {node: '>= 18'} - hasBin: true - peerDependencies: - typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x + typedoc@0.27.6(typescript@5.7.2): dependencies: - '@gerrit0/mini-shiki': 1.24.4 + '@gerrit0/mini-shiki': 1.26.1 lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 typescript: 5.7.2 yaml: 2.7.0 - dev: false - /typescript-collections@1.3.3: - resolution: {integrity: sha512-7sI4e/bZijOzyURng88oOFZCISQPTHozfE2sUu5AviFYk5QV7fYGb6YiDl+vKjF/pICA354JImBImL9XJWUvdQ==} - dev: false + typescript-collections@1.3.3: {} - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: false + typescript@4.9.5: {} - /typescript@5.7.2: - resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} - engines: {node: '>=14.17'} - hasBin: true + typescript@5.7.2: {} - /uc.micro@2.1.0: - resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - dev: false + uc.micro@2.1.0: {} - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: false + undici-types@5.26.5: {} - /undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici-types@6.20.0: {} - /unicode-trie@2.0.0: - resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + unicode-trie@2.0.0: dependencies: pako: 0.2.9 tiny-inflate: 1.0.3 - dev: false - /unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 - dev: false - /unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + unist-util-position@5.0.0: dependencies: '@types/unist': 3.0.3 - dev: false - /unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 - dev: false - /unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + unist-util-visit-parents@6.0.1: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.0 - dev: false - /unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - dev: false - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - dev: false + universalify@2.0.1: {} - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -7241,72 +5660,43 @@ snapshots: utf-8-validate@5.0.10: dependencies: node-gyp-build: 4.8.4 - dev: false + optional: true - /utf8@3.0.0: - resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} - dev: false + utf8@3.0.0: {} - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: false + util-deprecate@1.0.2: {} - /util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + util@0.12.5: dependencies: inherits: 2.0.4 is-arguments: 1.2.0 - is-generator-function: 1.0.10 + is-generator-function: 1.1.0 is-typed-array: 1.1.15 which-typed-array: 1.1.18 - dev: false - /uuid@10.0.0: - resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} - hasBin: true - dev: false + uuid@10.0.0: {} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: false + uuid@8.3.2: {} - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - dev: false + uuid@9.0.1: {} - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true + v8-compile-cache-lib@3.0.1: {} - /vfile-message@4.0.2: - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + vfile-message@4.0.2: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 - dev: false - /vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vfile@6.0.3: dependencies: '@types/unist': 3.0.3 vfile-message: 4.0.2 - dev: false - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - dev: false + web-streams-polyfill@3.3.3: {} - /web-streams-polyfill@4.0.0-beta.3: - resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} - engines: {node: '>= 14'} - dev: false + web-streams-polyfill@4.0.0-beta.3: {} - /web3-utils@1.10.4: - resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} - engines: {node: '>=8.0.0'} + web3-utils@1.10.4: dependencies: '@ethereumjs/util': 8.1.0 bn.js: 5.2.1 @@ -7316,22 +5706,15 @@ snapshots: number-to-bn: 1.7.0 randombytes: 2.1.0 utf8: 3.0.0 - dev: false - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false + webidl-conversions@3.0.1: {} - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: false - /which-typed-array@1.1.18: - resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.18: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 @@ -7339,105 +5722,51 @@ snapshots: for-each: 0.3.3 gopd: 1.2.0 has-tostringtag: 1.0.2 - dev: false - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - /word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} + word-wrap@1.2.5: {} - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: false - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - dev: false - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true + wrappy@1.0.2: {} - /ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - - /ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): - resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dependencies: + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: bufferutil: 4.0.9 utf-8-validate: 5.0.10 - dev: false - /xsalsa20@1.2.0: - resolution: {integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==} - dev: false + ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 - /yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} - engines: {node: '>= 14'} - hasBin: true - dev: false + xsalsa20@1.2.0: {} - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true + yaml@2.7.0: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + yn@3.1.1: {} - /zod-to-json-schema@3.24.1(zod@3.24.1): - resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==} - peerDependencies: - zod: ^3.24.1 + yocto-queue@0.1.0: {} + + zod-to-json-schema@3.24.1(zod@3.24.1): dependencies: zod: 3.24.1 - dev: false - /zod@3.24.1: - resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} - dev: false + zod@3.24.1: {} - /zstddec@0.0.2: - resolution: {integrity: sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA==} - dev: false + zstddec@0.0.2: {} - /zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - dev: false + zwitch@2.0.4: {} diff --git a/src/actions/index.ts b/src/actions/index.ts index e61ba6c..60e7df4 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -43,7 +43,7 @@ export const ACTIONS = { GET_TPS_ACTION: getTPSAction, FETCH_PRICE_ACTION: fetchPriceAction, STAKE_WITH_JUP_ACTION: stakeWithJupAction, - STAKE_WITH_SOLAYER_ACTION : stakeWithSolayerAction, + STAKE_WITH_SOLAYER_ACTION: stakeWithSolayerAction, REGISTER_DOMAIN_ACTION: registerDomainAction, LEND_ASSET_ACTION: lendAssetAction, CREATE_GIBWORK_TASK_ACTION: createGibworkTaskAction, diff --git a/src/tools/stake_with_solayer.ts b/src/tools/stake_with_solayer.ts index ed57319..e2ef643 100644 --- a/src/tools/stake_with_solayer.ts +++ b/src/tools/stake_with_solayer.ts @@ -27,7 +27,7 @@ export async function stakeWithSolayer( if (!response.ok) { const errorData = await response.json(); - throw new Error(errorData.message || 'Staking request failed'); + throw new Error(errorData.message || "Staking request failed"); } const data = await response.json(); @@ -61,4 +61,4 @@ export async function stakeWithSolayer( console.error(error); throw new Error(`Solayer sSOL staking failed: ${error.message}`); } -} \ No newline at end of file +} From a6856409bcd29e59927dd97540114cf40894b650 Mon Sep 17 00:00:00 2001 From: Damjan Date: Sat, 4 Jan 2025 11:14:21 +0100 Subject: [PATCH 021/138] Add user chat history memory store --- examples/discord-bot-starter/src/index.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/examples/discord-bot-starter/src/index.ts b/examples/discord-bot-starter/src/index.ts index 6f87120..1a626ac 100644 --- a/examples/discord-bot-starter/src/index.ts +++ b/examples/discord-bot-starter/src/index.ts @@ -11,6 +11,8 @@ const client = new Client({ partials: [Partials.Message, Partials.Channel], }); +const chatHistory = new Map(); + async function initializeAgent() { try { const llm = new ChatOpenAI({ @@ -68,13 +70,22 @@ client.on(Events.MessageCreate, async (message) => { const { agent, config } = await initializeAgent(); - const stream = await agent.stream({ messages: [new HumanMessage(message.content)] }, config); + const userId = message.author.id; + if (!chatHistory.has(userId)) { + chatHistory.set(userId, []); + } + const userChatHistory = chatHistory.get(userId); + userChatHistory.push(new HumanMessage(message.content)); + + const stream = await agent.stream({ messages: userChatHistory }, config); const replyIfNotEmpty = async (content: string) => content.trim() !== '' && message.reply(content); for await (const chunk of stream) { if ('agent' in chunk) { - await replyIfNotEmpty(chunk.agent.messages[0].content); + const agentMessage = chunk.agent.messages[0].content; + await replyIfNotEmpty(agentMessage); + userChatHistory.push(new HumanMessage(agentMessage)); } } } catch (error) { From 42eb30a3b626816608ecfd2c1f51015f6698774e Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Sat, 4 Jan 2025 18:55:09 +0530 Subject: [PATCH 022/138] Add Flash.Trade leveraged open and close position --- package.json | 9 +- pnpm-lock.yaml | 220 +++++++++++++++++++++++ src/agent/index.ts | 22 +++ src/langchain/index.ts | 128 ++++++++++++++ src/tools/flash_close_trade.ts | 124 +++++++++++++ src/tools/flash_open_trade.ts | 254 +++++++++++++++++++++++++++ src/tools/index.ts | 3 + src/utils/flashUtils.ts | 310 +++++++++++++++++++++++++++++++++ 8 files changed, 1066 insertions(+), 4 deletions(-) create mode 100644 src/tools/flash_close_trade.ts create mode 100644 src/tools/flash_open_trade.ts create mode 100644 src/utils/flashUtils.ts diff --git a/package.json b/package.json index 648ce0f..2ff727a 100644 --- a/package.json +++ b/package.json @@ -44,20 +44,21 @@ "@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", + "flash-sdk": "^2.24.3", "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", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05add17..8965ad3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -101,6 +101,9 @@ importers: dotenv: specifier: ^16.4.7 version: 16.4.7 + flash-sdk: + specifier: ^2.24.3 + version: 2.24.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) form-data: specifier: ^4.0.1 version: 4.0.1 @@ -217,6 +220,10 @@ packages: resolution: {integrity: sha512-PxRl+wu5YyptWiR9F2MBHOLLibm87Z4IMUBPreX+DYBtPM+xggvcPi0KAN7+kIL4IrIhXI8ma5V0MCXxSN1pHg==} engines: {node: '>=11'} + '@coral-xyz/anchor@0.27.0': + resolution: {integrity: sha512-+P/vPdORawvg3A9Wj02iquxb4T0C5m4P6aZBVYysKl4Amk+r6aMPZkUhilBkD6E4Nuxnoajv3CFykUfkGE0n5g==} + engines: {node: '>=11'} + '@coral-xyz/anchor@0.29.0': resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} engines: {node: '>=11'} @@ -227,6 +234,18 @@ packages: peerDependencies: '@solana/web3.js': ^1.68.0 + '@coral-xyz/borsh@0.27.0': + resolution: {integrity: sha512-tJKzhLukghTWPLy+n8K8iJKgBq1yLT/AxaNd10yJrX8mI56ao5+OFAKAqW/h0i79KCvb4BK0VGO5ECmmolFz9A==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + + '@coral-xyz/borsh@0.28.0': + resolution: {integrity: sha512-/u1VTzw7XooK7rqeD7JLUSwOyRSesPUk0U37BV9zK0axJc1q0nRbKFGFLYCQ16OtdOJTTwGfGp11Lx9B45bRCQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + '@coral-xyz/borsh@0.29.0': resolution: {integrity: sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==} engines: {node: '>=10'} @@ -596,6 +615,11 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pythnetwork/client@2.22.0': + resolution: {integrity: sha512-Cyv23YqewKUL1pcm99jfmdetUa2aaUXjyRF9jvSeFcY895FddRu7uSWftYiaevsnx7vn4WbJgQR6ExxH+aONow==} + peerDependencies: + '@solana/web3.js': ^1.30.2 + '@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. @@ -819,6 +843,9 @@ packages: '@solana/web3.js@1.95.3': resolution: {integrity: sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og==} + '@solana/web3.js@1.95.8': + resolution: {integrity: sha512-sBHzNh7dHMrmNS5xPD1d0Xa2QffW/RXaxu/OysRXBfwTp+LYqGGmMtCYYwrHPrN5rjAmJCsQRNAwv4FM0t3B6g==} + '@solana/web3.js@1.98.0': resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} @@ -882,6 +909,9 @@ packages: '@types/node@18.19.69': resolution: {integrity: sha512-ECPdY1nlaiO/Y6GUnwgtAAhLNaQ53AyIVz+eILxpEo5OvuqE6yWkqWBIb5dU0DqhKQtMeny+FBD3PK6lm7L5xQ==} + '@types/node@20.17.11': + resolution: {integrity: sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg==} + '@types/node@22.10.5': resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} @@ -1228,6 +1258,10 @@ packages: crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + dayjs@1.11.13: resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} @@ -1479,6 +1513,10 @@ packages: fastq@1.18.0: resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1502,6 +1540,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + flash-sdk@2.24.3: + resolution: {integrity: sha512-3JdmHZksBgcRlCXVVFZEV64NGKxVHURHoHAMc3+Ev1BdN0Re2S44wxTaQmO6EIvwPYscVG0BPbp6GibpEuMdsw==} + flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1540,9 +1581,16 @@ packages: resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} engines: {node: '>= 12.20'} + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fs@0.0.1-security: + resolution: {integrity: sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==} + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -1753,6 +1801,9 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsbi@4.3.0: + resolution: {integrity: sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==} + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -2018,6 +2069,10 @@ packages: encoding: optional: true + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-gyp-build@4.8.4: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true @@ -2468,6 +2523,9 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} @@ -2751,6 +2809,28 @@ snapshots: - encoding - utf-8-validate + '@coral-xyz/anchor@0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + base64-js: 1.5.1 + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + js-sha256: 0.9.0 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) @@ -2778,6 +2858,18 @@ snapshots: bn.js: 5.2.1 buffer-layout: 1.2.2 + '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -3332,6 +3424,17 @@ snapshots: '@pkgr/core@0.1.1': {} + '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@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 @@ -3706,6 +3809,14 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) @@ -3735,6 +3846,20 @@ snapshots: - encoding - utf-8-validate + '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -3834,6 +3959,28 @@ snapshots: - encoding - utf-8-validate + '@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.6.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 @@ -3977,6 +4124,10 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@20.17.11': + dependencies: + undici-types: 6.19.8 + '@types/node@22.10.5': dependencies: undici-types: 6.20.0 @@ -4348,6 +4499,8 @@ snapshots: crypto-js@4.2.0: {} + data-uri-to-buffer@4.0.1: {} + dayjs@1.11.13: {} debug@4.4.0: @@ -4622,6 +4775,11 @@ snapshots: dependencies: reusify: 1.0.4 + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -4654,6 +4812,34 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + flash-sdk@2.24.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): + dependencies: + '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@types/node': 20.17.11 + bignumber.js: 9.1.2 + bs58: 5.0.0 + dotenv: 16.4.7 + fs: 0.0.1-security + js-sha256: 0.9.0 + jsbi: 4.3.0 + node-fetch: 3.3.2 + rimraf: 5.0.10 + ts-node: 10.9.2(@types/node@20.17.11)(typescript@5.7.2) + tweetnacl: 1.0.3 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + flat-cache@3.2.0: dependencies: flatted: 3.3.2 @@ -4691,8 +4877,14 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 4.0.0-beta.3 + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + fs.realpath@1.0.0: {} + fs@0.0.1-security: {} + function-bind@1.1.2: {} get-intrinsic@1.2.7: @@ -4946,6 +5138,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsbi@4.3.0: {} + json-buffer@3.0.1: {} json-schema-traverse@0.4.1: {} @@ -5174,6 +5368,12 @@ snapshots: dependencies: whatwg-url: 5.0.0 + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + node-gyp-build@4.8.4: {} number-to-bn@1.7.0: @@ -5549,6 +5749,24 @@ snapshots: ts-log@2.2.7: {} + ts-node@10.9.2(@types/node@20.17.11)(typescript@5.7.2): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.17.11 + acorn: 8.14.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.7.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -5617,6 +5835,8 @@ snapshots: undici-types@5.26.5: {} + undici-types@6.19.8: {} + undici-types@6.20.0: {} unicode-trie@2.0.0: diff --git a/src/agent/index.ts b/src/agent/index.ts index ae0c367..69397ad 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -59,6 +59,10 @@ import { fetchTokenReportSummary, fetchTokenDetailedReport, OrderParams, + FlashTradeParams, + FlashCloseTradeParams, + flashOpenTrade, + flashCloseTrade, } from "../tools"; import { @@ -537,4 +541,22 @@ export class SolanaAgentKit { async fetchTokenDetailedReport(mint: string): Promise { return fetchTokenDetailedReport(mint); } + + /** + * Opens a new trading position on Flash.Trade + * @param params Flash trade parameters including market, side, collateral, leverage, and pool name + * @returns Transaction signature + */ + async flashOpenTrade(params: FlashTradeParams): Promise { + return flashOpenTrade(this, params); + } + + /** + * Closes an existing trading position on Flash.Trade + * @param params Flash trade close parameters + * @returns Transaction signature + */ + async flashCloseTrade(params: FlashCloseTradeParams): Promise { + return flashCloseTrade(this, params); + } } diff --git a/src/langchain/index.ts b/src/langchain/index.ts index d5d17e5..0d653d1 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -774,6 +774,131 @@ export class SolanaGetWalletAddressTool extends Tool { } } +export class SolanaFlashOpenTrade extends Tool { + name = "solana_flash_open_trade"; + description = `Opens a new leveraged trading position on Flash.Trade exchange. + + Inputs (input is a JSON string): + token: string, one of ["SOL", "BTC", "ETH"] (required) + side: string, either "long" or "short" (required) + collateralUsd: number, amount in USD for collateral eg 10 (required) + leverage: number, eg 5 for 5x leverage (required) + + Example: + { + "token": "SOL", + "side": "long", + "collateralUsd": 10, + "leverage": 5 + }`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + // Validate input parameters + if (!parsedInput.token) { + throw new Error("Token is required"); + } + if (!["SOL", "BTC", "ETH"].includes(parsedInput.token)) { + throw new Error('Token must be one of ["SOL", "BTC", "ETH"]'); + } + if (!["long", "short"].includes(parsedInput.side)) { + throw new Error('Side must be either "long" or "short"'); + } + if (!parsedInput.collateralUsd || parsedInput.collateralUsd <= 0) { + throw new Error("Collateral USD amount must be positive"); + } + if (!parsedInput.leverage || parsedInput.leverage <= 0) { + throw new Error("Leverage must be positive"); + } + + const tx = await this.solanaKit.flashOpenTrade({ + token: parsedInput.token, + side: parsedInput.side, + collateralUsd: parsedInput.collateralUsd, + leverage: parsedInput.leverage, + }); + + return JSON.stringify({ + status: "success", + message: "Flash trade position opened successfully", + transaction: tx, + token: parsedInput.token, + side: parsedInput.side, + collateralUsd: parsedInput.collateralUsd, + leverage: parsedInput.leverage, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + +export class SolanaFlashCloseTrade extends Tool { + name = "solana_flash_close_trade"; + description = `Closes an existing leveraged trading position on Flash.Trade exchange. + + Inputs (input is a JSON string): + token: string, one of ["SOL", "BTC", "ETH"] (required) + side: string, either "long" or "short" (required) + + Example: + { + "token": "SOL", + "side": "long" + }`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + // Validate input parameters + if (!parsedInput.token) { + throw new Error("Token is required"); + } + if (!["SOL", "BTC", "ETH"].includes(parsedInput.token)) { + throw new Error('Token must be one of ["SOL", "BTC", "ETH"]'); + } + if (!["long", "short"].includes(parsedInput.side)) { + throw new Error('Side must be either "long" or "short"'); + } + + const tx = await this.solanaKit.flashCloseTrade({ + token: parsedInput.token, + side: parsedInput.side, + }); + + return JSON.stringify({ + status: "success", + message: "Flash trade position closed successfully", + transaction: tx, + token: parsedInput.token, + side: parsedInput.side, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + + export class SolanaPumpfunTokenLaunchTool extends Tool { name = "solana_launch_pumpfun_token"; @@ -2175,5 +2300,8 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaFetchTokenDetailedReportTool(solanaKit), new SolanaPerpOpenTradeTool(solanaKit), new SolanaPerpCloseTradeTool(solanaKit), + new SolanaFlashOpenTrade(solanaKit), + new SolanaFlashCloseTrade(solanaKit), ]; } + diff --git a/src/tools/flash_close_trade.ts b/src/tools/flash_close_trade.ts new file mode 100644 index 0000000..2ad248f --- /dev/null +++ b/src/tools/flash_close_trade.ts @@ -0,0 +1,124 @@ +import { PublicKey, ComputeBudgetProgram } from "@solana/web3.js"; +import { + PerpetualsClient, + OraclePrice, + PoolConfig, + Privilege, + Side, +} from "flash-sdk"; +import { BN } from "@coral-xyz/anchor"; +import { SolanaAgentKit } from "../index"; +import { + CLOSE_POSITION_CU, + marketSdkInfo, + marketTokenMap, + getNftTradingAccountInfo, + fetchOraclePrice, + createPerpClient, +} from "../utils/flashUtils"; + +export interface FlashCloseTradeParams { + token: string; + side: "long" | "short"; +} + +/** + * Closes an existing position on Flash.Trade + * @param agent SolanaAgentKit instance + * @param params Trade parameters + * @returns Transaction signature + */ +export async function flashCloseTrade( + agent: SolanaAgentKit, + params: FlashCloseTradeParams, +): Promise { + try { + const { token, side } = params; + + // Get market ID from token and side using marketTokenMap + const tokenMarkets = marketTokenMap[token]; + if (!tokenMarkets) { + throw new Error(`Token ${token} not supported for trading`); + } + + const sideEntry = tokenMarkets[side]; + if (!sideEntry) { + throw new Error(`${side} side not available for ${token}`); + } + + const market = sideEntry.marketID; + + // Validate market data using marketSdkInfo + const marketData = marketSdkInfo[market]; + if (!marketData) { + throw new Error(`Invalid market configuration for ${token}/${side}`); + } + + // Get token information + const [targetSymbol, collateralSymbol] = marketData.tokenPair.split("/"); + + // Fetch oracle prices + const [targetPrice, collateralPrice] = await Promise.all([ + fetchOraclePrice(targetSymbol), + fetchOraclePrice(collateralSymbol), + ]); + + // Initialize pool configuration and perpClient + const poolConfig = PoolConfig.fromIdsByName(marketData.pool, "mainnet-beta"); + const perpClient = createPerpClient(agent.connection, agent.wallet); + + // Calculate price after slippage + const slippageBpsBN = new BN(100); // 1% slippage + const sideEnum = side === "long" ? Side.Long : Side.Short; + const priceWithSlippage = perpClient.getPriceAfterSlippage( + false, // isEntry = false for closing position + slippageBpsBN, + targetPrice.price, + sideEnum, + ); + + // Get NFT trading account info + const tradingAccounts = await getNftTradingAccountInfo( + agent.wallet_address, + perpClient, + poolConfig, + collateralSymbol, + ); + + if ( + !tradingAccounts.nftTradingAccountPk || + !tradingAccounts.nftReferralAccountPK || + !tradingAccounts.nftOwnerRebateTokenAccountPk + ) { + throw new Error("Required NFT trading accounts not found"); + } + + // Build and send transaction + const { instructions, additionalSigners } = await perpClient.closePosition( + targetSymbol, + collateralSymbol, + priceWithSlippage, + sideEnum, + poolConfig, + Privilege.Referral, + tradingAccounts.nftTradingAccountPk, + tradingAccounts.nftReferralAccountPK, + tradingAccounts.nftOwnerRebateTokenAccountPk, + ); + + const computeBudgetIx = ComputeBudgetProgram.setComputeUnitLimit({ + units: CLOSE_POSITION_CU, + }); + + return await perpClient.sendTransaction( + [computeBudgetIx, ...instructions], + { + additionalSigners: additionalSigners, + alts: perpClient.addressLookupTables, + prioritizationFee: 5000000, + }, + ); + } catch (error) { + throw new Error(`Flash trade close failed: ${error}`); + } +} diff --git a/src/tools/flash_open_trade.ts b/src/tools/flash_open_trade.ts new file mode 100644 index 0000000..b0a968f --- /dev/null +++ b/src/tools/flash_open_trade.ts @@ -0,0 +1,254 @@ +import { PublicKey, ComputeBudgetProgram } from "@solana/web3.js"; +import { + PerpetualsClient, + OraclePrice, + PoolConfig, + Privilege, + Side, + CustodyAccount, + Custody, +} from "flash-sdk"; +import { BN } from "@coral-xyz/anchor"; +import { SolanaAgentKit } from "../index"; +import { + ALL_TOKENS, + marketSdkInfo, + marketTokenMap, + getNftTradingAccountInfo, + OPEN_POSITION_CU, + fetchOraclePrice, + createPerpClient, +} from "../utils/flashUtils"; + +export interface FlashTradeParams { + token: string; + side: "long" | "short"; + collateralUsd: number; + leverage: number; +} + +/** + * Opens a new position on Flash.Trade + * @param agent SolanaAgentKit instance + * @param params Trade parameters + * @returns Transaction signature + */ +export async function flashOpenTrade( + agent: SolanaAgentKit, + params: FlashTradeParams, +): Promise { + try { + const { token, side, collateralUsd, leverage } = params; + + // Get market ID from token and side using marketTokenMap + const tokenMarkets = marketTokenMap[token]; + if (!tokenMarkets) { + throw new Error(`Token ${token} not supported for trading`); + } + + const sideEntry = tokenMarkets[side]; + if (!sideEntry) { + throw new Error(`${side} side not available for ${token}`); + } + + const market = sideEntry.marketID; + + // Validate market data using marketSdkInfo + const marketData = marketSdkInfo[market]; + if (!marketData) { + throw new Error(`Invalid market configuration for ${token}/${side}`); + } + + // Get token information + const [targetSymbol, collateralSymbol] = marketData.tokenPair.split("/"); + const targetToken = ALL_TOKENS.find((t) => t.symbol === targetSymbol); + const collateralToken = ALL_TOKENS.find( + (t) => t.symbol === collateralSymbol, + ); + + if (!targetToken || !collateralToken) { + throw new Error(`Token not found for pair ${marketData.tokenPair}`); + } + + // Fetch oracle prices + const [targetPrice, collateralPrice] = await Promise.all([ + fetchOraclePrice(targetSymbol), + fetchOraclePrice(collateralSymbol), + ]); + + // Initialize pool configuration and perpClient + const poolConfig = PoolConfig.fromIdsByName(marketData.pool, "mainnet-beta"); + const perpClient = createPerpClient(agent.connection, agent.wallet); + + // Calculate position parameters + const leverageBN = new BN(leverage); + const collateralTokenPrice = convertPriceToNumber(collateralPrice.price); + const collateralAmount = calculateCollateralAmount( + collateralUsd, + collateralTokenPrice, + collateralToken.decimals, + ); + + // Get custody accounts + const { targetCustody, collateralCustody } = await fetchCustodyAccounts( + perpClient, + poolConfig, + targetSymbol, + collateralSymbol, + ); + + // Calculate position size + const positionSize = calculatePositionSize( + perpClient, + collateralAmount, + leverageBN, + targetToken, + collateralToken, + side, + targetPrice.price, + collateralPrice.price, + targetCustody, + collateralCustody, + ); + + // Get NFT trading account info + const tradingAccounts = await getNftTradingAccountInfo( + agent.wallet_address, + perpClient, + poolConfig, + collateralSymbol, + ); + + if ( + !tradingAccounts.nftTradingAccountPk || + !tradingAccounts.nftReferralAccountPK + ) { + throw new Error("Required NFT trading accounts not found"); + } + + // Prepare transaction + const slippageBps = new BN(1000); + const priceWithSlippage = perpClient.getPriceAfterSlippage( + true, + slippageBps, + targetPrice.price, + side === "long" ? Side.Long : Side.Short, + ); + + // Build and send transaction + const { instructions, additionalSigners } = await perpClient.openPosition( + targetSymbol, + collateralSymbol, + priceWithSlippage, + collateralAmount, + positionSize, + side === "long" ? Side.Long : Side.Short, + poolConfig, + Privilege.Referral, + tradingAccounts.nftTradingAccountPk, + tradingAccounts.nftReferralAccountPK, + tradingAccounts.nftOwnerRebateTokenAccountPk!, + false, + ); + + const computeBudgetIx = ComputeBudgetProgram.setComputeUnitLimit({ + units: OPEN_POSITION_CU, + }); + + return await perpClient.sendTransaction( + [computeBudgetIx, ...instructions], + { + additionalSigners: additionalSigners, + alts: perpClient.addressLookupTables, + prioritizationFee: 5000000, + }, + ); + } catch (error) { + throw new Error(`Flash trade failed: ${error}`); + } +} + +// Helper functions +function convertPriceToNumber(oraclePrice: OraclePrice): number { + const price = parseInt(oraclePrice.price.toString("hex"), 16); + const exponent = parseInt(oraclePrice.exponent.toString("hex"), 16); + return price * Math.pow(10, exponent); +} + +function calculateCollateralAmount( + usdAmount: number, + tokenPrice: number, + decimals: number, +): BN { + return new BN((usdAmount / tokenPrice) * Math.pow(10, decimals)); +} + +async function fetchCustodyAccounts( + perpClient: PerpetualsClient, + poolConfig: PoolConfig, + targetSymbol: string, + collateralSymbol: string, +) { + const targetConfig = poolConfig.custodies.find( + (c) => c.symbol === targetSymbol, + ); + const collateralConfig = poolConfig.custodies.find( + (c) => c.symbol === collateralSymbol, + ); + + if (!targetConfig || !collateralConfig) { + throw new Error("Custody configuration not found"); + } + + const accounts = await perpClient.provider.connection.getMultipleAccountsInfo( + [targetConfig.custodyAccount, collateralConfig.custodyAccount], + ); + + if (!accounts[0] || !accounts[1]) { + throw new Error("Failed to fetch custody accounts"); + } + + return { + targetCustody: CustodyAccount.from( + targetConfig.custodyAccount, + perpClient.program.coder.accounts.decode( + "custody", + accounts[0].data, + ), + ), + collateralCustody: CustodyAccount.from( + collateralConfig.custodyAccount, + perpClient.program.coder.accounts.decode( + "custody", + accounts[1].data, + ), + ), + }; +} + +function calculatePositionSize( + perpClient: PerpetualsClient, + collateralAmount: BN, + leverage: BN, + targetToken: any, + collateralToken: any, + side: "long" | "short", + targetPrice: OraclePrice, + collateralPrice: OraclePrice, + targetCustody: CustodyAccount, + collateralCustody: CustodyAccount, +): BN { + return perpClient.getSizeAmountFromLeverageAndCollateral( + collateralAmount, + leverage.toString(), + targetToken, + collateralToken, + side === "long" ? Side.Long : Side.Short, + targetPrice, + targetPrice, + targetCustody, + collateralPrice, + collateralPrice, + collateralCustody, + ); +} diff --git a/src/tools/index.ts b/src/tools/index.ts index 62a11de..8dcf8a4 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -59,3 +59,6 @@ export * from "./create_tiplinks"; export * from "./tensor_trade"; export * from "./rugcheck"; + +export * from "./flash_open_trade"; +export * from "./flash_close_trade"; \ No newline at end of file diff --git a/src/utils/flashUtils.ts b/src/utils/flashUtils.ts new file mode 100644 index 0000000..0b1a2ef --- /dev/null +++ b/src/utils/flashUtils.ts @@ -0,0 +1,310 @@ +import { PriceServiceConnection } from "@pythnetwork/price-service-client"; +import { OraclePrice } from "flash-sdk"; +import { AnchorProvider, BN, Wallet } from "@coral-xyz/anchor"; +import { PoolConfig, Token, Referral, PerpetualsClient } from "flash-sdk"; +import { Cluster, PublicKey, Connection, Keypair } from "@solana/web3.js"; +import { getAssociatedTokenAddressSync } from "@solana/spl-token"; + +const POOL_NAMES = [ + "Crypto.1", + "Virtual.1", + "Governance.1", + "Community.1", + "Community.2", + "Community.3", +]; + +const DEFAULT_CLUSTER: Cluster = "mainnet-beta"; +export const POOL_CONFIGS = POOL_NAMES.map((f) => + PoolConfig.fromIdsByName(f, DEFAULT_CLUSTER), +); + +const DUPLICATE_TOKENS = POOL_CONFIGS.map((f) => f.tokens).flat(); +const tokenMap = new Map(); +for (const token of DUPLICATE_TOKENS) { + tokenMap.set(token.symbol, token); +} +export const ALL_TOKENS: Token[] = Array.from(tokenMap.values()); +export const ALL_CUSTODIES = POOL_CONFIGS.map((f) => f.custodies).flat(); +const PROGRAM_ID = POOL_CONFIGS[0].programId; + +// CU for trade instructions +export const OPEN_POSITION_CU = 150_000; +export const CLOSE_POSITION_CU = 180_000; + +const HERMES_URL = "https://hermes.pyth.network"; // Replace with the actual Hermes URL if different + +// Create a map of symbol to Pyth price ID +const PRICE_FEED_IDS = ALL_TOKENS.reduce( + (acc, token) => { + acc[token.symbol] = token.pythPriceId; + return acc; + }, + {} as { [key: string]: string }, +); + +const priceServiceConnection = new PriceServiceConnection(HERMES_URL, { + priceFeedRequestConfig: { + binary: true, + }, +}); + +export interface PythPriceEntry { + price: OraclePrice; + emaPrice: OraclePrice; + isStale: boolean; + status: PriceStatus; +} + +export enum PriceStatus { + Trading, + Unknown, + Halted, + Auction, +} + +export const fetchOraclePrice = async ( + symbol: string, +): Promise => { + const priceFeedId = PRICE_FEED_IDS[symbol]; + if (!priceFeedId) { + throw new Error(`Price feed ID not found for symbol: ${symbol}`); + } + + try { + const priceFeed = await priceServiceConnection.getLatestPriceFeeds([ + priceFeedId, + ]); + + if (!priceFeed || priceFeed.length === 0) { + throw new Error(`No price feed received for ${symbol}`); + } + + const price = priceFeed[0].getPriceUnchecked(); + const emaPrice = priceFeed[0].getEmaPriceUnchecked(); + + const priceOracle = new OraclePrice({ + price: new BN(price.price), + exponent: new BN(price.expo), + confidence: new BN(price.conf), + timestamp: new BN(price.publishTime), + }); + + const emaPriceOracle = new OraclePrice({ + price: new BN(emaPrice.price), + exponent: new BN(emaPrice.expo), + confidence: new BN(emaPrice.conf), + timestamp: new BN(emaPrice.publishTime), + }); + + const token = ALL_TOKENS.find((t) => t.pythPriceId === priceFeedId); + if (!token) { + throw new Error(`Token not found for price feed ID: ${priceFeedId}`); + } + + const status = !token.isVirtual ? PriceStatus.Trading : PriceStatus.Unknown; + + const pythPriceEntry: PythPriceEntry = { + price: priceOracle, + emaPrice: emaPriceOracle, + isStale: false, + status: status, + }; + + return pythPriceEntry; + } catch (error) { + console.error(`Error in fetchOraclePrice for ${symbol}:`, error); + throw error; + } +}; + +// If you need to get all price IDs for subscription or other purposes +export const getAllPriceIds = () => ALL_TOKENS.map((t) => t.pythPriceId); + +export const subscribeToPriceFeeds = ( + callback: (symbol: string, priceEntry: PythPriceEntry) => void, +) => { + const priceIds = getAllPriceIds(); + priceServiceConnection.subscribePriceFeedUpdates(priceIds, (priceFeed) => { + const token = ALL_TOKENS.find((f) => f.pythPriceId === `0x${priceFeed.id}`); + if (token) { + const priceOracle = new OraclePrice({ + price: new BN(priceFeed.getPriceUnchecked().price), + exponent: new BN(priceFeed.getPriceUnchecked().expo), + confidence: new BN(priceFeed.getPriceUnchecked().conf), + timestamp: new BN(priceFeed.getPriceUnchecked().publishTime), + }); + const emaPriceOracle = new OraclePrice({ + price: new BN(priceFeed.getEmaPriceUnchecked().price), + exponent: new BN(priceFeed.getEmaPriceUnchecked().expo), + confidence: new BN(priceFeed.getEmaPriceUnchecked().conf), + timestamp: new BN(priceFeed.getEmaPriceUnchecked().publishTime), + }); + + const status = !token.isVirtual + ? PriceStatus.Trading + : PriceStatus.Unknown; + const priceEntry: PythPriceEntry = { + price: priceOracle, + emaPrice: emaPriceOracle, + isStale: false, + status: status, + }; + callback(token.symbol, priceEntry); + } + }); +}; + +export interface MarketInfo { + [key: string]: { + tokenPair: string; + token: string; + side: string; + pool: string; + }; +} + +const marketSdkInfo: MarketInfo = {}; + +// Loop through POOL_CONFIGS to process each market +POOL_CONFIGS.forEach((poolConfig) => { + poolConfig.markets.forEach((market) => { + const targetToken = ALL_TOKENS.find( + (token) => token.mintKey.toString() === market.targetMint.toString(), + ); + + // Find collateral token by matching mintKey + const collateralToken = ALL_TOKENS.find( + (token) => token.mintKey.toString() === market.collateralMint.toString(), + ); + + if (targetToken?.symbol && collateralToken?.symbol) { + marketSdkInfo[market.marketAccount.toString()] = { + tokenPair: `${targetToken.symbol}/${collateralToken.symbol}`, + token: targetToken.symbol, + side: Object.keys(market.side)[0], + pool: poolConfig.poolName, + }; + } + }); +}); + +export { marketSdkInfo }; + +export interface MarketTokenSides { + [token: string]: { + long?: { marketID: string }; + short?: { marketID: string }; + }; +} + +const marketTokenMap: MarketTokenSides = {}; + +// Convert marketSdkInfo into marketTokenMap +Object.entries(marketSdkInfo).forEach(([marketID, info]) => { + if (!marketTokenMap[info.token]) { + marketTokenMap[info.token] = {}; + } + + marketTokenMap[info.token][info.side.toLowerCase() as 'long' | 'short'] = { + marketID + }; +}); + +export { marketTokenMap }; + +interface TradingAccountResult { + nftReferralAccountPK: PublicKey | null; + nftTradingAccountPk: PublicKey | null; + nftOwnerRebateTokenAccountPk: PublicKey | null; +} + +export async function getNftTradingAccountInfo( + userPublicKey: PublicKey, + perpClient: PerpetualsClient, + poolConfig: PoolConfig, + collateralCustodySymbol: string, +): Promise { + const getNFTReferralAccountPK = (publicKey: PublicKey) => { + return PublicKey.findProgramAddressSync( + [Buffer.from("referral"), publicKey.toBuffer()], + PROGRAM_ID, + )[0]; + }; + const nftReferralAccountPK = getNFTReferralAccountPK(userPublicKey); + const nftReferralAccountInfo = + await perpClient.provider.connection.getAccountInfo(nftReferralAccountPK); + + let nftTradingAccountPk: PublicKey | null = null; + let nftOwnerRebateTokenAccountPk: PublicKey | null = null; + + if (nftReferralAccountInfo) { + const nftReferralAccountData = perpClient.program.coder.accounts.decode( + "referral", + nftReferralAccountInfo.data, + ) as Referral; + + nftTradingAccountPk = nftReferralAccountData.refererTradingAccount; + + if (nftTradingAccountPk) { + const nftTradingAccountInfo = + await perpClient.provider.connection.getAccountInfo( + nftTradingAccountPk, + ); + if (nftTradingAccountInfo) { + const nftTradingAccount = perpClient.program.coder.accounts.decode( + "trading", + nftTradingAccountInfo.data, + ) as { owner: PublicKey }; + + nftOwnerRebateTokenAccountPk = getAssociatedTokenAddressSync( + poolConfig.getTokenFromSymbol(collateralCustodySymbol).mintKey, + nftTradingAccount.owner, + ); + // Check if the account exists + const accountExists = + await perpClient.provider.connection.getAccountInfo( + nftOwnerRebateTokenAccountPk, + ); + if (!accountExists) { + console.log( + "NFT owner rebate token account does not exist and may need to be created", + ); + } + } + } + } + + return { + nftReferralAccountPK, + nftTradingAccountPk, + nftOwnerRebateTokenAccountPk, + }; +} + +/** + * Creates a new PerpetualsClient instance with the given connection and wallet + * @param connection Solana connection + * @param wallet Solana wallet + * @returns PerpetualsClient instance + */ +export function createPerpClient(connection: Connection, wallet: Keypair): PerpetualsClient { + const provider = new AnchorProvider( + connection, + new Wallet(wallet), + { + commitment: 'confirmed', + preflightCommitment: 'confirmed', + skipPreflight: true + } + ); + + return new PerpetualsClient( + provider, + POOL_CONFIGS[0].programId, + POOL_CONFIGS[0].perpComposibilityProgramId, + POOL_CONFIGS[0].fbNftRewardProgramId, + POOL_CONFIGS[0].rewardDistributionProgram.programId, + {} + ); +} \ No newline at end of file From e8147da5fe145737406630de6e8df927f5a7643c Mon Sep 17 00:00:00 2001 From: thrishank Date: Sat, 4 Jan 2025 23:31:01 +0530 Subject: [PATCH 023/138] handle 0 empty accounts --- src/tools/close_empty_token_accounts.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/tools/close_empty_token_accounts.ts b/src/tools/close_empty_token_accounts.ts index a327261..984e27d 100644 --- a/src/tools/close_empty_token_accounts.ts +++ b/src/tools/close_empty_token_accounts.ts @@ -30,14 +30,20 @@ export async function closeEmptyTokenAccounts( spl_token.forEach((instruction) => transaction.add(instruction)); token_2022.forEach((instruction) => transaction.add(instruction)); + const size = spl_token.length + token_2022.length; + + if (size === 0) { + return { + signature: "", + size: 0, + }; + } + const signature = await agent.connection.sendTransaction(transaction, [ agent.wallet, ]); - const size = spl_token.length + token_2022.length; - return { - signature, - size, - }; + + return { signature, size }; } catch (error) { throw new Error(`Error closing empty token accounts: ${error}`); } From 8136bde20f701b62a731aae7df0a248fa9a5d423 Mon Sep 17 00:00:00 2001 From: thrishank Date: Sat, 4 Jan 2025 23:34:19 +0530 Subject: [PATCH 024/138] Add docs --- README.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f4d5562..2683897 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@ ![Solana Agent Kit Cover 1 (3)](https://github.com/user-attachments/assets/cfa380f6-79d9-474d-9852-3e1976c6de70) - ![NPM Downloads](https://img.shields.io/npm/dm/solana-agent-kit?style=for-the-badge) ![GitHub forks](https://img.shields.io/github/forks/sendaifun/solana-agent-kit?style=for-the-badge) ![GitHub License](https://img.shields.io/github/license/sendaifun/solana-agent-kit?style=for-the-badge) @@ -23,7 +22,6 @@ An open-source toolkit for connecting AI agents to Solana protocols. Now, any ag Anyone - whether an SF-based AI researcher or a crypto-native builder - can bring their AI agents trained with any model and seamlessly integrate with Solana. - [![Run on Repl.it](https://replit.com/badge/github/sendaifun/solana-agent-kit)](https://replit.com/@sendaifun/Solana-Agent-Kit) > Replit template created by [Arpit Singh](https://github.com/The-x-35) @@ -56,9 +54,9 @@ Anyone - whether an SF-based AI researcher or a crypto-native builder - can brin - Register/resolve Alldomains - **Solana Blinks** - - Lending by Lulo (Best APR for USDC) - - Send Arcade Games - - JupSOL staking + - Lending by Lulo (Best APR for USDC) + - Send Arcade Games + - JupSOL staking - **Non-Financial Actions** - Gib Work for registering bounties @@ -205,6 +203,13 @@ const price = await agent.pythFetchPrice( console.log("Price in BTC/USD:", price); ``` +### Close Empty Token Accounts + +``` typescript + +const { signature } = await agent.closeEmptyTokenAccounts(); +``` + ## Examples ### LangGraph Multi-Agent System @@ -246,7 +251,6 @@ Refer to [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on how to co - ## Star History [![Star History Chart](https://api.star-history.com/svg?repos=sendaifun/solana-agent-kit&type=Date)](https://star-history.com/#sendaifun/solana-agent-kit&Date) @@ -258,4 +262,3 @@ Apache-2 License ## Security This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys. - From 8bd0b462d2163696c52ba660aa5d7a0c094147f7 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sat, 4 Jan 2025 23:37:51 +0530 Subject: [PATCH 025/138] feat: update to hermes v2 --- README.md | 9 +-- .../app/api/chat/route.ts | 80 +++++++++---------- .../data/DefaultRetrievalText.ts | 2 +- .../utils/markdownToHTML.ts | 30 +++---- package.json | 1 - src/actions/pythFetchPrice.ts | 10 ++- src/agent/index.ts | 16 ++-- src/langchain/index.ts | 18 +++-- src/tools/batch_order.ts | 24 +----- src/tools/index.ts | 72 +++++++---------- src/tools/pyth_fetch_price.ts | 79 +++++++++++++----- src/types/index.ts | 61 +++++++++++++- 12 files changed, 240 insertions(+), 162 deletions(-) diff --git a/README.md b/README.md index f4d5562..adeab95 100644 --- a/README.md +++ b/README.md @@ -198,11 +198,11 @@ import { PublicKey } from "@solana/web3.js"; ```typescript -const price = await agent.pythFetchPrice( - "0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43" -); +const priceFeedID = await agent.getPythPriceFeedID("SOL"); -console.log("Price in BTC/USD:", price); +const price = await agent.getPythPrice(priceFeedID); + +console.log("Price of SOL/USD:", price); ``` ## Examples @@ -233,7 +233,6 @@ The toolkit relies on several key Solana and Metaplex libraries: - @metaplex-foundation/umi - @lightprotocol/compressed-token - @lightprotocol/stateless.js -- @pythnetwork/price-service-client ## Contributing diff --git a/examples/agent-kit-nextjs-langchain/app/api/chat/route.ts b/examples/agent-kit-nextjs-langchain/app/api/chat/route.ts index 06e6911..badd6b3 100644 --- a/examples/agent-kit-nextjs-langchain/app/api/chat/route.ts +++ b/examples/agent-kit-nextjs-langchain/app/api/chat/route.ts @@ -5,24 +5,24 @@ import { createReactAgent } from "@langchain/langgraph/prebuilt"; import { SolanaAgentKit, createSolanaTools } from "solana-agent-kit"; const llm = new ChatOpenAI({ - temperature: 0.7, - model: "gpt-4o-mini", + temperature: 0.7, + model: "gpt-4o-mini", }); const solanaAgent = new SolanaAgentKit( - process.env.SOLANA_PRIVATE_KEY!, - process.env.RPC_URL, - process.env.OPENAI_API_KEY!, + process.env.SOLANA_PRIVATE_KEY!, + process.env.RPC_URL, + process.env.OPENAI_API_KEY!, ); const tools = createSolanaTools(solanaAgent); const memory = new MemorySaver(); const agent = createReactAgent({ - llm, - tools, - checkpointSaver: memory, - messageModifier: ` + llm, + tools, + checkpointSaver: memory, + messageModifier: ` You are a helpful agent that can interact onchain using the Solana Agent Kit. You are empowered to interact onchain using your tools. If you ever need funds, you can request them from the faucet. If not, you can provide your wallet details and request funds from the user. If there is a 5XX @@ -34,38 +34,38 @@ const agent = createReactAgent({ }); export async function POST(req: NextRequest) { - try { - const body = await req.json(); - const messages = body.messages ?? []; + try { + const body = await req.json(); + const messages = body.messages ?? []; - const eventStream = agent.streamEvents( - { - messages, - }, - { - version: "v2", - configurable: { - thread_id: "Solana Agent Kit!", - }, - }, - ); + const eventStream = agent.streamEvents( + { + messages, + }, + { + version: "v2", + configurable: { + thread_id: "Solana Agent Kit!", + }, + }, + ); - const textEncoder = new TextEncoder(); - const transformStream = new ReadableStream({ - async start(controller) { - for await (const { event, data } of eventStream) { - if (event === "on_chat_model_stream") { - if (!!data.chunk.content) { - controller.enqueue(textEncoder.encode(data.chunk.content)); - } - } - } - controller.close(); - }, - }); + const textEncoder = new TextEncoder(); + const transformStream = new ReadableStream({ + async start(controller) { + for await (const { event, data } of eventStream) { + if (event === "on_chat_model_stream") { + if (data.chunk.content) { + controller.enqueue(textEncoder.encode(data.chunk.content)); + } + } + } + controller.close(); + }, + }); - return new Response(transformStream); - } catch (e: any) { - return NextResponse.json({ error: e.message }, { status: e.status ?? 500 }); - } + return new Response(transformStream); + } catch (e: any) { + return NextResponse.json({ error: e.message }, { status: e.status ?? 500 }); + } } diff --git a/examples/agent-kit-nextjs-langchain/data/DefaultRetrievalText.ts b/examples/agent-kit-nextjs-langchain/data/DefaultRetrievalText.ts index 898acba..6973d98 100644 --- a/examples/agent-kit-nextjs-langchain/data/DefaultRetrievalText.ts +++ b/examples/agent-kit-nextjs-langchain/data/DefaultRetrievalText.ts @@ -537,4 +537,4 @@ const executor = await initializeAgentExecutorWithOptions(tools, llm, { }, }); \`\`\` -`; \ No newline at end of file +`; diff --git a/examples/agent-kit-nextjs-langchain/utils/markdownToHTML.ts b/examples/agent-kit-nextjs-langchain/utils/markdownToHTML.ts index dc265b1..135fdd9 100644 --- a/examples/agent-kit-nextjs-langchain/utils/markdownToHTML.ts +++ b/examples/agent-kit-nextjs-langchain/utils/markdownToHTML.ts @@ -2,29 +2,29 @@ import { marked } from "marked"; import DOMPurify from "isomorphic-dompurify"; interface MarkedOptions { - gfm: boolean; - breaks: boolean; - headerIds: boolean; - mangle: false; - highlight?: (code: string, lang: string) => string; + gfm: boolean; + breaks: boolean; + headerIds: boolean; + mangle: false; + highlight?: (code: string, lang: string) => string; } // Configure marked options const markedOptions: MarkedOptions = { - gfm: true, // GitHub Flavored Markdown - breaks: true, // Convert \n to
      - headerIds: true, // Add ids to headers - mangle: false, // Don't escape HTML - highlight: function (code: string, lang: string): string { - // You can add syntax highlighting here if needed - return code; - }, + gfm: true, // GitHub Flavored Markdown + breaks: true, // Convert \n to
      + headerIds: true, // Add ids to headers + mangle: false, // Don't escape HTML + highlight: function (code: string, lang: string): string { + // You can add syntax highlighting here if needed + return code; + }, }; marked.setOptions(markedOptions); // Basic markdown to HTML conversion with sanitization export default function markdownToHtml(markdown: string) { - const rawHtml = marked.parse(markdown); - return DOMPurify.sanitize(rawHtml as string); + const rawHtml = marked.parse(markdown); + return DOMPurify.sanitize(rawHtml as string); } diff --git a/package.json b/package.json index 1ee3da7..cb6366f 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,6 @@ "@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", "@tensor-oss/tensorswap-sdk": "^4.5.0", diff --git a/src/actions/pythFetchPrice.ts b/src/actions/pythFetchPrice.ts index 8dc11f6..3f9b9de 100644 --- a/src/actions/pythFetchPrice.ts +++ b/src/actions/pythFetchPrice.ts @@ -1,7 +1,7 @@ import { Action } from "../types/action"; import { SolanaAgentKit } from "../agent"; import { z } from "zod"; -import { pythFetchPrice } from "../tools"; +import { fetchPythPrice, fetchPythPriceFeedID } from "../tools"; const pythFetchPriceAction: Action = { name: "PYTH_FETCH_PRICE", @@ -18,7 +18,7 @@ const pythFetchPriceAction: Action = { [ { input: { - priceFeedId: "Gnt27xtC473ZT2Mw5u8wZ68Z3gULkSTb5DuxJy7eJotD", // SOL/USD price feed + tokenSymbol: "SOL", // SOL/USD price feed }, output: { status: "success", @@ -37,8 +37,10 @@ const pythFetchPriceAction: Action = { }), handler: async (_agent: SolanaAgentKit, input: Record) => { try { - const priceFeedId = input.tokenId as string; - const priceStr = await pythFetchPrice(priceFeedId); + const priceFeedId = await fetchPythPriceFeedID(input.tokenSymbol); + + const priceStr = await fetchPythPrice(priceFeedId); + return { status: "success", price: priceStr, diff --git a/src/agent/index.ts b/src/agent/index.ts index 94f94d4..a4aa87b 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -1,4 +1,5 @@ import { Connection, Keypair, PublicKey } from "@solana/web3.js"; +import { BN } from "@coral-xyz/anchor"; import bs58 from "bs58"; import Decimal from "decimal.js"; import { DEFAULT_OPTIONS } from "../constants"; @@ -37,7 +38,6 @@ import { orcaOpenSingleSidedPosition, FEE_TIERS, fetchPrice, - pythFetchPrice, getAllDomainsTLDs, getAllRegisteredAllDomains, getOwnedDomainsForTLD, @@ -53,9 +53,9 @@ import { cancelListing, fetchTokenReportSummary, fetchTokenDetailedReport, - OrderParams, + fetchPythPrice, + fetchPythPriceFeedID, } from "../tools"; - import { CollectionDeployment, CollectionOptions, @@ -64,8 +64,8 @@ import { MintCollectionNFTResponse, PumpfunLaunchResponse, PumpFunTokenOptions, + OrderParams, } from "../types"; -import { BN } from "@coral-xyz/anchor"; /** * Main class for interacting with Solana blockchain @@ -442,8 +442,12 @@ export class SolanaAgentKit { return manifestCreateMarket(this, baseMint, quoteMint); } - async pythFetchPrice(priceFeedID: string): Promise { - return pythFetchPrice(priceFeedID); + async getPythPriceFeedID(tokenSymbol: string): Promise { + return fetchPythPriceFeedID(tokenSymbol); + } + + async getPythPrice(priceFeedID: string): Promise { + return fetchPythPrice(priceFeedID); } async createGibworkTask( diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 38fd7ec..9f5f56b 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -1,14 +1,14 @@ import { PublicKey } from "@solana/web3.js"; +import { BN } from "@coral-xyz/anchor"; import Decimal from "decimal.js"; import { Tool } from "langchain/tools"; import { GibworkCreateTaskReponse, + OrderParams, PythFetchPriceResponse, SolanaAgentKit, } from "../index"; -import { create_image } from "../tools/create_image"; -import { BN } from "@coral-xyz/anchor"; -import { FEE_TIERS, generateOrdersfromPattern, OrderParams } from "../tools"; +import { create_image, FEE_TIERS, generateOrdersfromPattern } from "../tools"; export class SolanaBalanceTool extends Tool { name = "solana_balance"; @@ -1497,7 +1497,7 @@ export class SolanaPythFetchPrice extends Tool { description = `Fetch the price of a given price feed from Pyth's Hermes service Inputs: - priceFeedID: string, the price feed ID, e.g., "0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43" for BTC/USD`; + tokenSymbol: string, e.g., BTC for bitcoin`; constructor(private solanaKit: SolanaAgentKit) { super(); @@ -1505,17 +1505,21 @@ export class SolanaPythFetchPrice extends Tool { async _call(input: string): Promise { try { - const price = await this.solanaKit.pythFetchPrice(input); + const priceFeedID = await this.solanaKit.getPythPriceFeedID(input); + const price = await this.solanaKit.getPythPrice(priceFeedID); + const response: PythFetchPriceResponse = { status: "success", - priceFeedID: input, + tokenSymbol: input, + priceFeedID, price, }; + return JSON.stringify(response); } catch (error: any) { const response: PythFetchPriceResponse = { status: "error", - priceFeedID: input, + tokenSymbol: input, message: error.message, code: error.code || "UNKNOWN_ERROR", }; diff --git a/src/tools/batch_order.ts b/src/tools/batch_order.ts index f788ba4..c27fa98 100644 --- a/src/tools/batch_order.ts +++ b/src/tools/batch_order.ts @@ -4,33 +4,13 @@ import { sendAndConfirmTransaction, TransactionInstruction, } from "@solana/web3.js"; -import { SolanaAgentKit } from "../index"; import { ManifestClient, WrapperPlaceOrderParamsExternal, } from "@cks-systems/manifest-sdk"; import { OrderType } from "@cks-systems/manifest-sdk/client/ts/src/wrapper/types/OrderType"; - -export interface OrderParams { - quantity: number; - side: string; - price: number; -} - -interface BatchOrderPattern { - side: string; - totalQuantity?: number; - priceRange?: { - min?: number; - max?: number; - }; - spacing?: { - type: "percentage" | "fixed"; - value: number; - }; - numberOfOrders?: number; - individualQuantity?: number; -} +import { SolanaAgentKit } from "../index"; +import { BatchOrderPattern, OrderParams } from "../types"; /** * Generates an array of orders based on the specified pattern diff --git a/src/tools/index.ts b/src/tools/index.ts index 9e4a355..f38e328 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -1,58 +1,46 @@ -import exp from "constants"; - -export * from "./request_faucet_funds"; -export * from "./deploy_token"; -export * from "./deploy_collection"; -export * from "./get_balance"; -export * from "./get_balance_other"; -export * from "./mint_nft"; -export * from "./transfer"; -export * from "./trade"; -export * from "./limit_order"; export * from "./batch_order"; export * from "./cancel_all_orders"; -export * from "./withdraw_all"; -export * from "./register_domain"; -export * from "./resolve_sol_domain"; +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 "./launch_pumpfun_token"; export * from "./lend"; -export * from "./get_tps"; -export * from "./get_token_data"; -export * from "./stake_with_jup"; -export * from "./fetch_price"; -export * from "./send_compressed_airdrop"; +export * from "./limit_order"; +export * from "./manifest_create_market"; +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 "./get_all_domains_tlds"; -export * from "./get_all_registered_all_domains"; -export * from "./get_owned_domains_for_tld"; -export * from "./get_main_all_domains_domain"; -export * from "./get_owned_all_domains"; -export * from "./resolve_domain"; - -export * from "./get_all_domains_tlds"; -export * from "./get_all_registered_all_domains"; -export * from "./get_owned_domains_for_tld"; -export * from "./get_main_all_domains_domain"; -export * from "./get_owned_all_domains"; -export * from "./resolve_domain"; - +export * from "./pyth_fetch_price"; export * from "./raydium_create_ammV4"; export * from "./raydium_create_clmm"; export * from "./raydium_create_cpmm"; -export * from "./openbook_create_market"; -export * from "./manifest_create_market"; -export * from "./pyth_fetch_price"; - -export * from "./create_gibwork_task"; - +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 "./create_tiplinks"; - -export * from "./tensor_trade"; export * from "./rugcheck"; +export * from "./send_compressed_airdrop"; +export * from "./stake_with_jup"; +export * from "./tensor_trade"; +export * from "./trade"; +export * from "./transfer"; +export * from "./withdraw_all"; diff --git a/src/tools/pyth_fetch_price.ts b/src/tools/pyth_fetch_price.ts index 789cec8..35d619c 100644 --- a/src/tools/pyth_fetch_price.ts +++ b/src/tools/pyth_fetch_price.ts @@ -1,5 +1,51 @@ -import { PriceServiceConnection } from "@pythnetwork/price-service-client"; import BN from "bn.js"; +import { PythPriceFeedIDItem } from "../types"; + +/** + * Fetch the price feed ID for a given token symbol from Pyth + * @param tokenSymbol Token symbol + * @returns Price feed ID + */ +export async function fetchPythPriceFeedID( + tokenSymbol: string, +): Promise { + try { + const stableHermesServiceUrl: string = "https://hermes.pyth.network"; + + const response = await fetch( + `${stableHermesServiceUrl}/v2/price_feeds/?query=${tokenSymbol}&asset_type=crypto`, + ); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + + if (data.length === 0) { + throw new Error(`No price feed found for ${tokenSymbol}`); + } + + if (data.length > 1) { + const filteredData = data.filter( + (item: PythPriceFeedIDItem) => + item.attributes.base.toLowerCase() === tokenSymbol.toLowerCase(), + ); + + if (filteredData.length === 0) { + throw new Error(`No price feed found for ${tokenSymbol}`); + } + + return filteredData[0].id; + } + + return data[0].id; + } catch (error: any) { + throw new Error( + `Fetching price feed ID from Pyth failed: ${error.message}`, + ); + } +} /** * Fetch the price of a given price feed from Pyth @@ -9,28 +55,25 @@ import BN from "bn.js"; * * You can find priceFeedIDs here: https://www.pyth.network/developers/price-feed-ids#stable */ -export async function pythFetchPrice(priceFeedID: string): Promise { - // get Hermes service URL from https://docs.pyth.network/price-feeds/api-instances-and-providers/hermes - const stableHermesServiceUrl: string = "https://hermes.pyth.network"; - const connection = new PriceServiceConnection(stableHermesServiceUrl); - const feeds = [priceFeedID]; - +export async function fetchPythPrice(feedID: string): Promise { try { - const currentPrice = await connection.getLatestPriceFeeds(feeds); + const stableHermesServiceUrl: string = "https://hermes.pyth.network"; - if (currentPrice === undefined) { - throw new Error("Price data not available for the given token."); + const response = await fetch( + `${stableHermesServiceUrl}/v2/updates/price/latest/?ids[]=${feedID}`, + ); + + const data = await response.json(); + + const parsedData = data.parsed; + + if (parsedData.length === 0) { + throw new Error(`No price data found for ${feedID}`); } - if (currentPrice.length === 0) { - throw new Error("Price data not available for the given token."); - } + const price = new BN(parsedData[0].price.price); + const exponent = new BN(parsedData[0].price.expo); - // get price and exponent from price feed - const price = new BN(currentPrice[0].getPriceUnchecked().price); - const exponent = new BN(currentPrice[0].getPriceUnchecked().expo); - - // convert to scaled price const scaledPrice = price.div(new BN(10).pow(exponent)); return scaledPrice.toString(); diff --git a/src/types/index.ts b/src/types/index.ts index 1dac764..ad88ec8 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -88,7 +88,8 @@ export interface FetchPriceResponse { export interface PythFetchPriceResponse { status: "success" | "error"; - priceFeedID: string; + tokenSymbol: string; + priceFeedID?: string; price?: string; message?: string; code?: string; @@ -165,3 +166,61 @@ export interface TokenCheck { }>; score: number; } + +export interface PythPriceFeedIDItem { + id: string; + attributes: { + asset_type: string; + base: string; + }; +} + +export interface PythPriceItem { + binary: { + data: string[]; + encoding: string; + }; + parsed: [ + Array<{ + id: string; + price: { + price: string; + conf: string; + expo: number; + publish_time: number; + }; + ema_price: { + price: string; + conf: string; + expo: number; + publish_time: number; + }; + metadata: { + slot: number; + proof_available_time: number; + prev_publish_time: number; + }; + }>, + ]; +} + +export interface OrderParams { + quantity: number; + side: string; + price: number; +} + +export interface BatchOrderPattern { + side: string; + totalQuantity?: number; + priceRange?: { + min?: number; + max?: number; + }; + spacing?: { + type: "percentage" | "fixed"; + value: number; + }; + numberOfOrders?: number; + individualQuantity?: number; +} From 9da44f0be393cc3fbaa2d82200c8ebef98d36262 Mon Sep 17 00:00:00 2001 From: aryan Date: Sun, 5 Jan 2025 00:22:04 +0530 Subject: [PATCH 026/138] fix: manifest sdk --- package.json | 2 +- src/agent/index.ts | 34 +++--- src/langchain/index.ts | 242 +++++++++++++++++++-------------------- src/tools/batch_order.ts | 2 +- src/tools/index.ts | 4 +- 5 files changed, 142 insertions(+), 142 deletions(-) diff --git a/package.json b/package.json index 648ce0f..95bb3ce 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solana-agent-kit", - "version": "1.3.5", + "version": "1.3.6", "description": "connect any ai agents to solana protocols", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/src/agent/index.ts b/src/agent/index.ts index ae0c367..aa73546 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -22,8 +22,8 @@ import { registerDomain, request_faucet_funds, trade, - limitOrder, - batchOrder, + // limitOrder, + // batchOrder, cancelAllOrders, withdrawAll, closePerpTradeShort, @@ -58,7 +58,7 @@ import { cancelListing, fetchTokenReportSummary, fetchTokenDetailedReport, - OrderParams, + // OrderParams, } from "../tools"; import { @@ -190,21 +190,21 @@ export class SolanaAgentKit { return trade(this, outputMint, inputAmount, inputMint, slippageBps); } - async limitOrder( - marketId: PublicKey, - quantity: number, - side: string, - price: number, - ): Promise { - return limitOrder(this, marketId, quantity, side, price); - } + // async limitOrder( + // marketId: PublicKey, + // quantity: number, + // side: string, + // price: number, + // ): Promise { + // return limitOrder(this, marketId, quantity, side, price); + // } - async batchOrder( - marketId: PublicKey, - orders: OrderParams[], - ): Promise { - return batchOrder(this, marketId, orders); - } + // async batchOrder( + // marketId: PublicKey, + // orders: OrderParams[], + // ): Promise { + // return batchOrder(this, marketId, orders); + // } async cancelAllOrders(marketId: PublicKey): Promise { return cancelAllOrders(this, marketId); diff --git a/src/langchain/index.ts b/src/langchain/index.ts index d5d17e5..ea82010 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -8,7 +8,7 @@ import { } from "../index"; import { create_image } from "../tools/create_image"; import { BN } from "@coral-xyz/anchor"; -import { FEE_TIERS, generateOrdersfromPattern, OrderParams } from "../tools"; +import { FEE_TIERS } from "../tools"; export class SolanaBalanceTool extends Tool { name = "solana_balance"; @@ -414,143 +414,143 @@ export class SolanaTradeTool extends Tool { } } -export class SolanaLimitOrderTool extends Tool { - name = "solana_limit_order"; - description = `This tool can be used to place limit orders using Manifest. +// export class SolanaLimitOrderTool extends Tool { +// name = "solana_limit_order"; +// description = `This tool can be used to place limit orders using Manifest. - Do not allow users to place multiple orders with this instruction, use solana_batch_order instead. +// Do not allow users to place multiple orders with this instruction, use solana_batch_order instead. - Inputs ( input is a JSON string ): - marketId: PublicKey, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required) - quantity: number, eg 1 or 0.01 (required) - side: string, eg "Buy" or "Sell" (required) - price: number, in tokens eg 200 for SOL/USDC (required)`; +// Inputs ( input is a JSON string ): +// marketId: PublicKey, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required) +// quantity: number, eg 1 or 0.01 (required) +// side: string, eg "Buy" or "Sell" (required) +// price: number, in tokens eg 200 for SOL/USDC (required)`; - constructor(private solanaKit: SolanaAgentKit) { - super(); - } +// constructor(private solanaKit: SolanaAgentKit) { +// super(); +// } - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); +// protected async _call(input: string): Promise { +// try { +// const parsedInput = JSON.parse(input); - const tx = await this.solanaKit.limitOrder( - new PublicKey(parsedInput.marketId), - parsedInput.quantity, - parsedInput.side, - parsedInput.price, - ); +// const tx = await this.solanaKit.limitOrder( +// new PublicKey(parsedInput.marketId), +// parsedInput.quantity, +// parsedInput.side, +// parsedInput.price, +// ); - return JSON.stringify({ - status: "success", - message: "Trade executed successfully", - transaction: tx, - marketId: parsedInput.marketId, - quantity: parsedInput.quantity, - side: parsedInput.side, - price: parsedInput.price, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} +// return JSON.stringify({ +// status: "success", +// message: "Trade executed successfully", +// transaction: tx, +// marketId: parsedInput.marketId, +// quantity: parsedInput.quantity, +// side: parsedInput.side, +// price: parsedInput.price, +// }); +// } catch (error: any) { +// return JSON.stringify({ +// status: "error", +// message: error.message, +// code: error.code || "UNKNOWN_ERROR", +// }); +// } +// } +// } -export class SolanaBatchOrderTool extends Tool { - name = "solana_batch_order"; - description = `Places multiple limit orders in one transaction using Manifest. Submit orders either as a list or pattern: +// export class SolanaBatchOrderTool extends Tool { +// name = "solana_batch_order"; +// description = `Places multiple limit orders in one transaction using Manifest. Submit orders either as a list or pattern: - 1. List format: - { - "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", - "orders": [ - { "quantity": 1, "side": "Buy", "price": 200 }, - { "quantity": 0.5, "side": "Sell", "price": 205 } - ] - } +// 1. List format: +// { +// "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", +// "orders": [ +// { "quantity": 1, "side": "Buy", "price": 200 }, +// { "quantity": 0.5, "side": "Sell", "price": 205 } +// ] +// } - 2. Pattern format: - { - "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", - "pattern": { - "side": "Buy", - "totalQuantity": 100, - "priceRange": { "max": 1.0 }, - "spacing": { "type": "percentage", "value": 1 }, - "numberOfOrders": 5 - } - } +// 2. Pattern format: +// { +// "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", +// "pattern": { +// "side": "Buy", +// "totalQuantity": 100, +// "priceRange": { "max": 1.0 }, +// "spacing": { "type": "percentage", "value": 1 }, +// "numberOfOrders": 5 +// } +// } - Examples: - - "Place 5 buy orders totaling 100 tokens, 1% apart below $1" - - "Create 3 sell orders of 10 tokens each between $50-$55" - - "Place buy orders worth 50 tokens, $0.10 spacing from $0.80" +// Examples: +// - "Place 5 buy orders totaling 100 tokens, 1% apart below $1" +// - "Create 3 sell orders of 10 tokens each between $50-$55" +// - "Place buy orders worth 50 tokens, $0.10 spacing from $0.80" - Important: All orders must be in one transaction. Combine buy and sell orders into a single pattern or list. Never break the orders down to individual buy or sell orders.`; +// Important: All orders must be in one transaction. Combine buy and sell orders into a single pattern or list. Never break the orders down to individual buy or sell orders.`; - constructor(private solanaKit: SolanaAgentKit) { - super(); - } +// constructor(private solanaKit: SolanaAgentKit) { +// super(); +// } - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - let ordersToPlace: OrderParams[] = []; +// protected async _call(input: string): Promise { +// try { +// const parsedInput = JSON.parse(input); +// let ordersToPlace: OrderParams[] = []; - if (!parsedInput.marketId) { - throw new Error("Market ID is required"); - } +// if (!parsedInput.marketId) { +// throw new Error("Market ID is required"); +// } - if (parsedInput.pattern) { - ordersToPlace = generateOrdersfromPattern(parsedInput.pattern); - } else if (Array.isArray(parsedInput.orders)) { - ordersToPlace = parsedInput.orders; - } else { - throw new Error("Either pattern or orders array is required"); - } +// if (parsedInput.pattern) { +// ordersToPlace = generateOrdersfromPattern(parsedInput.pattern); +// } else if (Array.isArray(parsedInput.orders)) { +// ordersToPlace = parsedInput.orders; +// } else { +// throw new Error("Either pattern or orders array is required"); +// } - if (ordersToPlace.length === 0) { - throw new Error("No orders generated or provided"); - } +// if (ordersToPlace.length === 0) { +// throw new Error("No orders generated or provided"); +// } - ordersToPlace.forEach((order: OrderParams, index: number) => { - if (!order.quantity || !order.side || !order.price) { - throw new Error( - `Invalid order at index ${index}: quantity, side, and price are required`, - ); - } - if (order.side !== "Buy" && order.side !== "Sell") { - throw new Error( - `Invalid side at index ${index}: must be "Buy" or "Sell"`, - ); - } - }); +// ordersToPlace.forEach((order: OrderParams, index: number) => { +// if (!order.quantity || !order.side || !order.price) { +// throw new Error( +// `Invalid order at index ${index}: quantity, side, and price are required`, +// ); +// } +// if (order.side !== "Buy" && order.side !== "Sell") { +// throw new Error( +// `Invalid side at index ${index}: must be "Buy" or "Sell"`, +// ); +// } +// }); - const tx = await this.solanaKit.batchOrder( - new PublicKey(parsedInput.marketId), - parsedInput.orders, - ); +// const tx = await this.solanaKit.batchOrder( +// new PublicKey(parsedInput.marketId), +// parsedInput.orders, +// ); - return JSON.stringify({ - status: "success", - message: "Batch order executed successfully", - transaction: tx, - marketId: parsedInput.marketId, - orders: parsedInput.orders, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} +// return JSON.stringify({ +// status: "success", +// message: "Batch order executed successfully", +// transaction: tx, +// marketId: parsedInput.marketId, +// orders: parsedInput.orders, +// }); +// } catch (error: any) { +// return JSON.stringify({ +// status: "error", +// message: error.message, +// code: error.code || "UNKNOWN_ERROR", +// }); +// } +// } +// } export class SolanaCancelAllOrdersTool extends Tool { name = "solana_cancel_all_orders"; @@ -2149,8 +2149,8 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaRaydiumCreateCpmm(solanaKit), new SolanaOpenbookCreateMarket(solanaKit), new SolanaManifestCreateMarket(solanaKit), - new SolanaLimitOrderTool(solanaKit), - new SolanaBatchOrderTool(solanaKit), + // new SolanaLimitOrderTool(solanaKit), + // new SolanaBatchOrderTool(solanaKit), new SolanaCancelAllOrdersTool(solanaKit), new SolanaWithdrawAllTool(solanaKit), new SolanaClosePosition(solanaKit), diff --git a/src/tools/batch_order.ts b/src/tools/batch_order.ts index f788ba4..d66b813 100644 --- a/src/tools/batch_order.ts +++ b/src/tools/batch_order.ts @@ -7,7 +7,7 @@ import { import { SolanaAgentKit } from "../index"; import { ManifestClient, - WrapperPlaceOrderParamsExternal, + WrapperPlaceOrderParamsExternal } from "@cks-systems/manifest-sdk"; import { OrderType } from "@cks-systems/manifest-sdk/client/ts/src/wrapper/types/OrderType"; diff --git a/src/tools/index.ts b/src/tools/index.ts index 62a11de..718c01a 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -9,8 +9,8 @@ export * from "./get_balance_other"; export * from "./mint_nft"; export * from "./transfer"; export * from "./trade"; -export * from "./limit_order"; -export * from "./batch_order"; +// export * from "./limit_order"; +// export * from "./batch_order"; export * from "./cancel_all_orders"; export * from "./withdraw_all"; export * from "./adrena_perp_trading"; From aa4dfdf9c3de1ab97d1c7790f49e5906379e6209 Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Sun, 5 Jan 2025 00:27:18 +0530 Subject: [PATCH 027/138] update manifest sdk --- .env.example | 5 ----- docs/assets/hierarchy.js | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 20 +++++++++++++------ docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 ++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- .../LuloAccountDetailsResponse.html | 4 ++-- .../interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/tools/flash_open_trade.ts | 2 +- 28 files changed, 60 insertions(+), 57 deletions(-) delete mode 100644 .env.example diff --git a/.env.example b/.env.example deleted file mode 100644 index e8004fd..0000000 --- a/.env.example +++ /dev/null @@ -1,5 +0,0 @@ -OPENAI_API_KEY= -RPC_URL= -SOLANA_PRIVATE_KEY= -JUPITER_REFERRAL_ACCOUNT= -JUPITER_FEE_BPS= \ No newline at end of file diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js index fb85f0a..88636f0 100644 --- a/docs/assets/hierarchy.js +++ b/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm" \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 492edcd..2f0a0ee 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNlU1PwkAQhv/LnokIfnMjIH6hEmy8GA/rMqWbLrNNd1Yhxv9uKMRSuh289NB53mfayXT79i0IliR64sUaibI/B6QHTaIlMkmJ6AllpHPg2tX6UUILI1oi1TgTvU738qf1Z+or0hZLg0aCPJYKXHtTqoa7Z+e18PVSLjIDjGNLcKqBNQYKeAiZsasFIAWNIfB/4udsfXUHrFuKV2Ks5w2edYkN5yDJ5uH0psbFR0AqmeRawRRcZtGF517HOOmN/viyeVq0h0i6dArN6iaYa3DvM02QRzYFHEqSQfE+xAnH3ti+UtYjDYGkNo4dRzPONXnUSOViPI0itkcjzbWY+EUWexxLjyph9UHykHrksRgnt/oBjtWuKPnnEoZRTl48xCABlQaFZZmT3EqcGdj5wmiVgWtvb+8lj68uOmfd3TNtEN09P72U6U+Za/lh1ofZplQ1nOyGVfFRbE7fyFqzM/HYY7EYrl2DqsLz05rwFXIFpn93QFnBGCksQXmC/aO/1FUARhRrnDVbyiqjmANV/hHB16tBNeH7L4Zcd8U=" \ No newline at end of file +window.navigationData = "eJyNlcFSwjAQht+lZ0YEBZUbA6IoAgMdL46HELY005B02q3COL67oWVsS9OFSw/Z7/82TZP048dB2KHTc5ZaMsX6G1D4KtBpOCFD34xzyeIY4ma5fuXjVhooEGrt9Frt+9/Gv6nPUWiVG4RCiDzGjSQrlcPtTrcSftyxbSiBcBwJSjXQUkIKDyGUer81U7cabeBl4ll4eMZnrEeKVipPbGo8hxIZjoChjuzprEbFR4Dcn0eCwwLi0EzUvu5VjJI+idW3joK0PbgsDhZQr66DqQYvSSiMwNUBqCFDZhWfQpRwkkjd51wnCoeATMiYXI56nGryZgz5xpiOXLJHLU21mCfb0EvUhCWK+6TeSp5TjxKVLie19S0cqd2jf+EmtKOUPJ3EwAceWIV5mZI8M7WWUDhhuA9N+Dh8krx+uGt12sU7beCOZ9Nlnv5ikWArebjMslLZcFMM8/RQZLevq7UsrLj5dunGiJsVqCzs3laE7xBxkP3xGWUJI6SwA54gnF79ua4EECLPDNVb8iqh2ACW/hHW16tAFeHnH4Zcd8U=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 611142f..39c4130 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 035f908..d398ecd 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 @@ -17,6 +17,8 @@ Provides a unified interface for token operations, NFT management, trading and m fetchTokenDetailedReport fetchTokenPrice fetchTokenReportSummary +flashCloseTrade +flashOpenTrade getAllDomainsTLDs getAllRegisteredAllDomains getBalance @@ -64,8 +66,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
      • orders: OrderParams[]

      Returns Promise<string>

    • 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

      • 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

      • priceFeedID: string

      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

    • 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
      • orders: OrderParams[]

      Returns Promise<string>

    • 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

        +

      Returns Promise<string>

      Transaction signature

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

      • 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

      • priceFeedID: string

      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 ccdcc08..69741ad 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
          | 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 12775cb..b14d924 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 ce82002..3cd61c6 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 3eba58f..be090a6 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 0b133b9..c43549d 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 00c6ccf..1e9a535 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 4af324b..25fb2e0 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/CollectionDeployment.html b/docs/interfaces/CollectionDeployment.html index 60ae6f2..d89428c 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 6f5e64b..07b9e0d 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 94e8716..7ee328a 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 8ff6cce..2e2a18a 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 1ba2522..18869fa 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 9443f14..fd5ba86 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 f2c23b6..28f3512 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 20d1ec5..23d1d77 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 0706240..0c39ca7 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/PumpFunTokenOptions.html b/docs/interfaces/PumpFunTokenOptions.html index 2abe435..acb07b4 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 67dc930..fad18b9 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 ff637f4..0ea9b6a 100644 --- a/docs/interfaces/PythFetchPriceResponse.html +++ b/docs/interfaces/PythFetchPriceResponse.html @@ -1,6 +1,6 @@ -PythFetchPriceResponse | solana-agent-kit

    Interface PythFetchPriceResponse

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

    Properties

    code? +PythFetchPriceResponse | solana-agent-kit

    Interface PythFetchPriceResponse

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

    Properties

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

    Properties

    code?: string
    message?: string
    price?: string
    priceFeedID: string
    status: "success" | "error"
    diff --git a/docs/interfaces/TokenCheck.html b/docs/interfaces/TokenCheck.html index ede4846..36f40af 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 687ab38..8c41fa6 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 81c4e42..7c4f00d 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/tools/flash_open_trade.ts b/src/tools/flash_open_trade.ts index b0a968f..4c46e6b 100644 --- a/src/tools/flash_open_trade.ts +++ b/src/tools/flash_open_trade.ts @@ -1,4 +1,4 @@ -import { PublicKey, ComputeBudgetProgram } from "@solana/web3.js"; +import { ComputeBudgetProgram } from "@solana/web3.js"; import { PerpetualsClient, OraclePrice, From 0b654b064eba39a3bb793a552aaabb16d1ddf1f8 Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Sun, 5 Jan 2025 00:31:25 +0530 Subject: [PATCH 028/138] Revert "update manifest sdk" This reverts commit aa4dfdf9c3de1ab97d1c7790f49e5906379e6209. revert docs --- .env.example | 5 +++++ docs/assets/hierarchy.js | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 20 ++++++------------- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 ++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- .../LuloAccountDetailsResponse.html | 4 ++-- .../interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/tools/flash_open_trade.ts | 2 +- 28 files changed, 57 insertions(+), 60 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e8004fd --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +OPENAI_API_KEY= +RPC_URL= +SOLANA_PRIVATE_KEY= +JUPITER_REFERRAL_ACCOUNT= +JUPITER_FEE_BPS= \ No newline at end of file diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js index 88636f0..fb85f0a 100644 --- a/docs/assets/hierarchy.js +++ b/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm" \ No newline at end of file +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 2f0a0ee..492edcd 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNlcFSwjAQht+lZ0YEBZUbA6IoAgMdL46HELY005B02q3COL67oWVsS9OFSw/Z7/82TZP048dB2KHTc5ZaMsX6G1D4KtBpOCFD34xzyeIY4ma5fuXjVhooEGrt9Frt+9/Gv6nPUWiVG4RCiDzGjSQrlcPtTrcSftyxbSiBcBwJSjXQUkIKDyGUer81U7cabeBl4ll4eMZnrEeKVipPbGo8hxIZjoChjuzprEbFR4Dcn0eCwwLi0EzUvu5VjJI+idW3joK0PbgsDhZQr66DqQYvSSiMwNUBqCFDZhWfQpRwkkjd51wnCoeATMiYXI56nGryZgz5xpiOXLJHLU21mCfb0EvUhCWK+6TeSp5TjxKVLie19S0cqd2jf+EmtKOUPJ3EwAceWIV5mZI8M7WWUDhhuA9N+Dh8krx+uGt12sU7beCOZ9Nlnv5ikWArebjMslLZcFMM8/RQZLevq7UsrLj5dunGiJsVqCzs3laE7xBxkP3xGWUJI6SwA54gnF79ua4EECLPDNVb8iqh2ACW/hHW16tAFeHnH4Zcd8U=" \ No newline at end of file +window.navigationData = "eJyNlU1PwkAQhv/LnokIfnMjIH6hEmy8GA/rMqWbLrNNd1Yhxv9uKMRSuh289NB53mfayXT79i0IliR64sUaibI/B6QHTaIlMkmJ6AllpHPg2tX6UUILI1oi1TgTvU738qf1Z+or0hZLg0aCPJYKXHtTqoa7Z+e18PVSLjIDjGNLcKqBNQYKeAiZsasFIAWNIfB/4udsfXUHrFuKV2Ks5w2edYkN5yDJ5uH0psbFR0AqmeRawRRcZtGF517HOOmN/viyeVq0h0i6dArN6iaYa3DvM02QRzYFHEqSQfE+xAnH3ti+UtYjDYGkNo4dRzPONXnUSOViPI0itkcjzbWY+EUWexxLjyph9UHykHrksRgnt/oBjtWuKPnnEoZRTl48xCABlQaFZZmT3EqcGdj5wmiVgWtvb+8lj68uOmfd3TNtEN09P72U6U+Za/lh1ofZplQ1nOyGVfFRbE7fyFqzM/HYY7EYrl2DqsLz05rwFXIFpn93QFnBGCksQXmC/aO/1FUARhRrnDVbyiqjmANV/hHB16tBNeH7L4Zcd8U=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 39c4130..611142f 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 d398ecd..035f908 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 @@ -17,8 +17,6 @@ Provides a unified interface for token operations, NFT management, trading and m fetchTokenDetailedReport fetchTokenPrice fetchTokenReportSummary -flashCloseTrade -flashOpenTrade getAllDomainsTLDs getAllRegisteredAllDomains getBalance @@ -66,14 +64,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
      • orders: OrderParams[]

      Returns Promise<string>

    • 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

        -

      Returns Promise<string>

      Transaction signature

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

      • 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

      • priceFeedID: string

      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

    • 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
      • orders: OrderParams[]

      Returns Promise<string>

    • 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

      • 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

      • priceFeedID: string

      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 69741ad..ccdcc08 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
          | 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 b14d924..12775cb 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 3cd61c6..ce82002 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 be090a6..3eba58f 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index c43549d..0b133b9 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 1e9a535..00c6ccf 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 25fb2e0..4af324b 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/CollectionDeployment.html b/docs/interfaces/CollectionDeployment.html index d89428c..60ae6f2 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 07b9e0d..6f5e64b 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 7ee328a..94e8716 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 2e2a18a..8ff6cce 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 18869fa..1ba2522 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 fd5ba86..9443f14 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 28f3512..f2c23b6 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 23d1d77..20d1ec5 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 0c39ca7..0706240 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/PumpFunTokenOptions.html b/docs/interfaces/PumpFunTokenOptions.html index acb07b4..2abe435 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 fad18b9..67dc930 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 0ea9b6a..ff637f4 100644 --- a/docs/interfaces/PythFetchPriceResponse.html +++ b/docs/interfaces/PythFetchPriceResponse.html @@ -1,6 +1,6 @@ -PythFetchPriceResponse | solana-agent-kit

    Interface PythFetchPriceResponse

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

    Properties

    code? +PythFetchPriceResponse | solana-agent-kit

    Interface PythFetchPriceResponse

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

    Properties

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

    Properties

    code?: string
    message?: string
    price?: string
    priceFeedID: string
    status: "success" | "error"
    diff --git a/docs/interfaces/TokenCheck.html b/docs/interfaces/TokenCheck.html index 36f40af..ede4846 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 8c41fa6..687ab38 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 7c4f00d..81c4e42 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/tools/flash_open_trade.ts b/src/tools/flash_open_trade.ts index 4c46e6b..b0a968f 100644 --- a/src/tools/flash_open_trade.ts +++ b/src/tools/flash_open_trade.ts @@ -1,4 +1,4 @@ -import { ComputeBudgetProgram } from "@solana/web3.js"; +import { PublicKey, ComputeBudgetProgram } from "@solana/web3.js"; import { PerpetualsClient, OraclePrice, From 42ffa3da29afff96fe88d53653e246d42d546e83 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 00:48:31 +0530 Subject: [PATCH 029/138] fix: pyth price feed --- src/tools/pyth_fetch_price.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/tools/pyth_fetch_price.ts b/src/tools/pyth_fetch_price.ts index 3ed87f5..96ed636 100644 --- a/src/tools/pyth_fetch_price.ts +++ b/src/tools/pyth_fetch_price.ts @@ -49,7 +49,6 @@ export async function fetchPythPriceFeedID( /** * Fetch the price of a given price feed from Pyth - * @param agent SolanaAgentKit instance * @param priceFeedID Price feed ID * @returns Latest price value from feed * @@ -72,10 +71,19 @@ export async function fetchPythPrice(feedID: string): Promise { } const price = new BN(parsedData[0].price.price); - const exponent = new BN(parsedData[0].price.expo); + const exponent = parsedData[0].price.expo; - const scaledPrice = price.div(new BN(10).pow(exponent)); + if (exponent < 0) { + const adjustedPrice = price.mul(new BN(100)); + const divisor = new BN(10).pow(new BN(-exponent)); + const scaledPrice = adjustedPrice.div(divisor); + + const priceStr = scaledPrice.toString(); + const formattedPrice = `${priceStr.slice(0, -2)}.${priceStr.slice(-2)}`; + return formattedPrice.startsWith('.') ? `0${formattedPrice}` : formattedPrice; + } + const scaledPrice = price.div(new BN(10).pow(new BN(exponent))); return scaledPrice.toString(); } catch (error: any) { throw new Error(`Fetching price from Pyth failed: ${error.message}`); From 7fc51c530216b6ba71f1a6af3d2c37ec40135c99 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 00:50:19 +0530 Subject: [PATCH 030/138] chore: lint + docs --- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 16 +++++++--------- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/tools/pyth_fetch_price.ts | 8 +++++--- 29 files changed, 63 insertions(+), 63 deletions(-) diff --git a/docs/assets/search.js b/docs/assets/search.js index 86069d6..4e1411f 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "eJy1nV1z4zayhv+LfOtK1PwQpbnT2HLijcf22pqkUq4Ui5Ygm2uK5JLUTHym8t9PAaSkBtCkm5L2KqkxutEEHnz1Swo/BkX2vRx8evoxeIvT5eATOOPzQRqtxeDT4DFLojSavoi0+i2uBueDTZEMPg0WSVSWovxZ//NPr9U6GZxv/zr4NBj8c7716oOz87rI0rIqNosqKzguz/TyyP35II8KkVZ2pPuKYeh4uOZULKo4S7kV74sfU+/3KEkEq/3OdkWPry+MlstClGWPepHJke28il+4bVwX7VmfM/T2nBbivxtRVlfRZiGqq0265D1zY7ZSZqvG7Jg4liJPsvd59iZ4gNXlq6b88TVfZEnSg+/aaIGNjonhRVSfoyRKF4JV+4uonnfFT1PvXfUqeHPKvvKssTkmgnWcVrdXc1bNsmy6OmCEazVWRZSWK+bDosLHjbKXuKxEcZmto5hH2NZkuTU5rv4yS76JxyzpFYEyKrPkJDG8iOq+iNdR8d4jhhdR5bXRSWKoimjJG2LbksfUlsTruLorlkzWVPGsKX5Mvc9RtXjl16uKn6LehZwUkmmSqLp5C0ltEyVJtrU5JoLvcfW6LKLv0yThLd1N+ShJjqw5y0V6L4p8Lrm5yVLeEi6tclHkiraktjpZFI+vWcHbOWlhlI3ZUSQkWSkOCETZ/Q8jYXeMHsgJeiYR6XJalqLiDQtZPNoWP3LWnd8/cufaKj9FfXJTdhlV0ef3aY9ttKxeWi6jKnp+P3g33RHNPF688Tc5KJhqa3hMLCtRLV5VNPdFzNzoKRsVSN7YHMVgtEkXr/ebdX61Sflb7dos36zz1SY9xY67rKI33vNvSx6592HXty971POJdHmRrXMJsFhO42JZZDnveUW6XOwso53lUWtCsYgu1CyYlTH7gCOt6klwb3V0FIWIKnFx8+ULPwRlskjW65PV/xinL4l4jJdieRP/dxMv4+r9Pst4G4Z9TKVyU0o3ydZNXrs5Ns4rOeq3vcWbPKWZmixyZHZsHHe5SC9EWolCLLfh/BFXr7tmY4cmNxiLxtM2Qrn3SpCnU0SL+rY37TJG1Kkn4r45RE2T5uTFTa8oqyhpjl4nWAfvvqdi2TOMF1Fl0uzkcTRBXGXF/OayVyhNHKusqJLl8dHsG2R+c8lulH17VMnRma86iofmuH9IH0VJUuzMT9lXX6I43YfT79guy+5jOU0WI3pfxpt1PY1P1+vfPd5gqs3qaTtar795p4zjol6beoZxghVNjyI/KIr8+HU1F+lzlr3VYXyJijdmtn5rWEey3hoelUuM0nglyqp3LFvDE8Yis13v1ava6l8JsbxmT3P5e/WqdvsrIZbxCea4XRy9Izj27K2a85f4+XtWvM2j8o139FZWL7VVVVsdNU6yxdt9lIvicRGXZcbMS0mrXFqVe6vj22Ie50mc9mmHamdxVN5TpGVW3MQlO9deWyRxeYqMu/J1oTJ9MoaYmYSp7eoMYbKzO80Z/EHkWVE9btYyt9zzLF4o23Jne5qILkUVxYlY1pH1DGnZGBdb454xjTyD1LrkPMuS/XhZbVIldpU/W2U6FWzL+e+ikIni6273WqnOCty9Qj69mF/f3e4TXt+iIo6eE1H+3Pyl05Emxf4xvbmZzcPp5eXD7PExrO0/cHwWhtV7LnRJOIy6NcKtg9q2LZzL2f3N3Z/h/O632W2vYGqtMlScnCaUz9Ob6e3FrFcUjWZ4mgDmD9Pbx6vZQ68ItlreSbvj4u7mZqYMDumTvYB8mqC+XN/Ow9urea9YpKwapqvqZF1z2Y8MlWI/TeUPs39/nT3Ow6uvt5f9RmzzQkOo3mU4VTCPdze/z8LLuy/T6354NOf/sD42nSacX2bzZvK4nM6nvcJ5EVUzfch8+AnDue/XSSqO/ETdczWbX/wa3j9c95zI1KIbqv3xaQJ5nE9/m4V/XM9/Df/19b5XLCpbHcpMWvifTX7ycB7vbqZ/9pxlUUhllkTvp5pvH2a/XD/OZw+HDac6O3LS8XQzu70Mp4+Ps36zrVT2QiXtnSaMi4fZdD4Lf7n+/Mfdw2/hfPr4W6946r1W2Jy3QnngOu3093h3c8wUWGbJSbvt/s/5r+GhY1+ejMOTTwByKrz743Z22bTTY3h19xDOby57T44qRdo0VxmusiKskuXpgrx/uP4yffjzkO6U0TVv8px8VZve3Oxabn7Tc+GXgUVJsms0mdE9dbfiAA/rUhzhKaeN6y/TX/oNgWa+iNfRywnxr3lCzXQgYjVYqLH+F6xtl6Ije1aGuc/bn76LH6Z/Xl5//RI2XX1x/+VLvxm4ThWHTY/LZPH/JLDply/h794xoUXrdfjNO+nAuHu4mIaP17e/3MzCx+vL2WX4x6/XDzf3d3c3hwwXmcYKa3UxVPJi+P01LhIpGJ9oNzL9eiuXtK9f7q++3h6QJajf8gib1zyOzBY4/mjfoPob7bFUgVfRQpQ/13/hJ2Tu7me30+twen8d/jb78wOPSmCI4jDK4/BNtKfpmvBaqvzX1/truel8mF3NHh6msu8v7r7ezj+q/D+bPJYbzkKsRFFEspMX2SZtz8zxwriazcLP6HWuD2pfCRE+d7zSZVWq9ZskF31nguuq/8TvOfNzihZfZx+99bWNqaWaXGYM0yp6ER/WpBXlVqZjvU3d3OX6expapxiF+E2m/sN2edYUb+tnM9aWSjdF3KPOuvSRVRbZe5RU75+jMi7vszitejTkWWP8LI3zrfGRAS3qbu8TBjLpXzkN1aVKEK5FWnXHsS/HR2ufdTTfz+RUcbY3/3C4Uo/TElQZv6RRtSk+gN4MBpsdFARu/i9xWu2L317NH0SZZ2lJxtRamN8RMvPa3/VZY0Y/bvsztAUhqkim9Q4JZG96eDC4A/C7qR3TKlGM3+jV97iqBLmutfk929vQz0nF3Va9SMRLEa371b83OjqA7+K5jCsS6db69zZHVx+ncRVHye4dwse7m16hNPa7NwfLjlcue4RVJnGeRy/ic96LuLOtXdc2q0cYeRFnRVy9X4l+HbS1W4lDO8kchqtNeqOOBF1zIFmQPxQ75/x234xJn36CntNwRwSdU3C/yps59Cu99eqKobHs2ob1CkUUBb3f7whia3NY9Ri6m02STetTUv0qRNlFXnvpHitBVkXJ71GyOaSGM2X9rbGmH7/jkVpnR5kMKqtZVKRieUhYWw9i6+FUoRUiSqp4Lab5+yFxbc2jvP0s3j+oUlTytSByzv4oImR7RDgY4X/V5+7dJ0dUVGaZkxyiSacfnqatcHseRelaO0+i3CrL9/Uz+iTjw0p35Y+rdikW8TpKerQxsjiu6iqiKaarbUofV2WSvWRfH675tUqDrtWG3cxRnLyH37Jk0wcsw+q4EFaFEP8nwmhTvaqNEz8MwvK4UNT7NwcEYtkdF0YuinWUirQKl/K0EdFHBDoU0va4cMTf8vXPthMgHYZm07t6PJPXn2BJibdrE2KX6rH3raJqQz5bi9eznQX9ZETIrfueN5Fek7uLtrqVScfL6PzKlW5+nX59vLzoE4Ayi9NNuVycIIi1KMuWLHFbAHuTYytfZMteNTflD6hWO9O9V688qumSpyC7w/NHdLeE30X4Y+seoisOZfrBdqJfMDnxDQgzGM53IAcEc1AYJwqgY+h1hfDR8OsXRNsQ7Iqgcxh+WD0eis0XMfVnSvK7GPnKf8tgbCt7iuHY6fujAdn6EK372/KNXnO6w5B2HfT3DaMz5fRBg3yYdWIEgzmYqqz47O9onSdkPFoBfo/Hab4hE1q2v7Nt2RaBX4uwpbpsU/Hr2xU+okLxdy4/PNG+7u6uVbfoV7UznATg778w+TVKlwnSD9RLrz83/9rZSXbft4d/vFCM/HSfyZtQWgfMOk4EOX/gGvbFDqlkKcpFEeeMJjnTix5Smai7+MNHQuUOarjFq1iTKSCt3balDqni1UCxpY59MWYlGFR1Urp4FYs3qpr9X/ukXdVv4GRtKpjh86z5/ZusUwBDYXZVO5fvKXHrrOrCh1ZYxOUbCZlZ2bbgoRWVi4xez8yKtgV7VGQeIdAHzdeVoFVMu1iPtYvcIrS5PPtgX2xG25ZZraoift5U9JzQWrlmdkgQZON+2Kz9GvQ5TvEXrp0Oz3aFP3iarsbMo6KkpQuiwl3hfhXihlM/NngfFdGa7D30Z36j/XcTpVVLMs50eIYK00+BI2xdZekDiVVZU/DgilrPf1ZN3Yc+uircL593v0J5H8mXJ8iV3SrURzymm4x22d1wdqxdkuG/O+hoqV3ZfQgKOwzVNw9RSp+jW2JQRkVjdGQAZR4t8Gf8jPbfWRxZdbpZP4vibmX8yOjHEdSG2eqDXxplBxKny/hbvNwcBMTe+Cgq0Kf1qzhdGqeK/Rf1+z92DrAR3iWLxaYSrR61v3Odyt86wscs6uN/qwzl/K9z2fzi78GnH4NvopA5/8GngfOT+9NkcD5YxUL+LtOnp+3haJGtm1cpl9lio/73r6bY72KhXt389FSX/nk4OH8annvjn0aB/9df509bY/UH9Q9bH/t/UYYwOH8CyhAsQ9AMncH5k0MZOpahoxm6g/MnlzJ0LUNXM/QG508eZehZhp5m6A/On/xzz/3JHwWaoW8Z+prhaHD+NKJqHFmGI80wGJw/BZRhYBkGmuF4cP40pgzHluFYM5wMzp8mlOHEMpzoAEgegGQHbHjAoEfhQ/NDAKQTBJILIBkCGyLQKQLJBpAcgQ0S6CSB5ANIlsCGCXSaQDICPmlsAwU6USA5AZIpsKECnSqQrADJFdhggU4WSF6AZAtsuECnCyQzQPIFNmCgE+ZIZhySMMcmzNEJcyQzDkmYYxPmGHOUmqToWYqYpnTCHMmMQxLm2IQ5OmGOZMYhCXNswhydMEcy45CEOTZhjk6YI5lxSMIcmzBHJ8yRzDgkYY5NmKMT5khmHJIwxybM0QlzJDMOSZhjE+bohLmSGZckzLUJc3XCXMmMSxLm2oS5OmGuZMYlCXNtwlxjJVRLIb0WEouhTpgrmXFJwlybMFcnzJXMuCRhrk2YqxPmSmZckjDXJszVCXMlMy5JmGsT5uqEuZIZlyTMtQlzdcJcyYxLEubahLk6YZ5kxiMJ82zCPJ0wTzLjkYR5NmGeTpgnmfFIwjybME8nzJPMeCRhnk2YZ+y31IaL3nERWy6dME8y45GEeTZhnk6YJ5nxSMI8mzBPJ8yTzHgkYZ5NmKcT5klmPJIwzybM0wnzJDMeSZhnE+bphPmSGZ8kzLcJ83XCfMmMTxLm24T5OmG+ZMYnCfNtwnydMF8y45OE+TZhvk6YL5nxScJ8mzDf2NWrbT1JmE9s7HXCfMmMTxLm24T5OmG+ZMYnCfNtwnydMF8y45OE+TZhvk6YL5nxScJ8mzBfJ2wkmRmRhI1swkY6YSPJzIgkbGQTNtIJG0lmRiRhI5uwkU7YSDIzIgkb2YSNdMJGkpkRSdjIJmykEzaSzIxIwkY2YSPj7KgOj/TpkTg+6oSNJDMjkrCRTdhIJ2wkmRmRhI1swkY6YSPJzIgkbGQTNtIJCyQzAUlYYBMW6IQFkpmAJCywCQt0wgLJTEASFtiEBTphgWQmIAkLbMICnbBAMhOQhAU2YYFOWCCZCUjCApuwQCcskMwEJGGBTVhgZChUioLOURBJCp2wQDITkIQFNmGBTlggmQlIwgKbsEAnbCyZGZOEjW3CxjphY8nMmCRsbBM21gkbS2bGJGFjm7CxTthYMjMmCRvbhI11wsaSmTFJ2NgmbKwTNpbMjEnCxjZhY52wsWRmTBI2tgkb64SNJTNjkrCxTdjYyIOpRBidCSNSYTphY8nMmCRsbBM21gmbSGYmJGETm7CJTthEMjMhCZvYhE10wiaSmQlJ2MQmbKITNnHbkpwTG7CJDthEIjMh6ZzYgE10wCYSmQlJ58QGbKIDNpHITEg6JzZgEx2wiURmQtI5sQGb6IBNJDKTgGwwG7CJkWxV2VaSzgmRbzUTroowOpk2pFKuRs51qJKuw+G5N/zJGTqGAyLtOjTyrkOVeB3SadshkXodGrnXoUq+DunU7ZBIvw6N/OtQJWCHdPp2SKRgh0YOdqiSsEM6hTsk0rBDIw87VInYIZ3GHRKp2KGRix2qZOxwRPcCkY4dGvnYoUrIDul07pBIyQ6NnOxQJWWHY4rh+o+mAwPEJvVPk0gl/63sf53+p8UDUgAwSKwlgDYBgSDRVAFqGaBFRKCEAFMJqKWAFiGBEgNMNaCWA1rEBEoQMBWBWhJoERQoUcBUBWpZoEVUoIQBUxmopYEWYYESB0x1oJYHWsYCJRAYCgE4ww6UCZEADJUAnJpEWt4ghAIwlAJwahLpsUCIBWCoBaAEAKBlDiAEAzAUA1AiANBSBxCiARiqASghAGi5AwjhAAzlAJQYALTkAYR4AIZ6AEoQAFr2AEJAAENBACUKAC19ACEigKEigBIG6GUdCB0BDCEB3GHH2kpoCWCICaD0AaD1FyD0BDAEBXBrVZQejISmAIaoAG4NIj0UCF0BDGEB3BpEeigQ2gIY4gIovQBoPQYIfQEMgQGUZgC0JgOExgCGyABKNwBalwFCZwBDaAClHQCtzQChNYAhNoDSD4DWZ4DQG8AQHEBpCEBrNEBoDmCIDqB0BHDpSZnQHcAQHkBpCUBrNUBoD2CID+DVGj1NIqE/gCFAgNIUQGo2xHAmNAgwRAhQugJI3YZyQJBoCBGgtAWgtRsgtAgwxAjwgq5eIEg0BAlQGgPQAhAQmgQYogQonQFoEQgIXQIMYQKU1gBSCCIakdAmwBAnwIeObiT0CTAEClCaQ1s3EhoFGCIFKN0BaDkKCJ0CDKECfK+jGwmtAgyxAvyaRHpdIPQKMAQL8EcdeyxCswBDtAClQwAtjAGhW4AhXIBfk0gPZ0K7AEO8AL8mkV5YCP0CDAEDlCYBtEgGhIYBhogBSpcAKZQRIBE6BhhCBihtAmixDAgtAwwxA0ZuxwaD0DPAEDRAaRRAK25AaBpgiBowqt9folcmQtcAQ9gApVUArbwBoW2AIW6A0iuAVt+A0DfAEDhAaRat3UiQaIgcoHQLoCU8IHQOMIQOCGoS6bFAaB1giB0Q1CTSY4HQO8AQPEBpGEDLeUBoHmCIHqB0DKAlPSB0DzCED1BaBtCyHhDaBxjiByg9A2hpDwj9AwwBBIL6bToaZUIDAUMEAaVrAC3xAaGDgCGEgNI2gJb5gNBCwBBDQOkbQEt9QOghYAgioDQOoOU+IDQRMEQRUDoH0JIfELoIGMIIKK0DAnp1JrQRMMQRGLsdGwxCHwFDIAGleQCtHQKhkYAhkoDSPVofgSDREEpAaR9AC5BAaCVgiCUwrt/tpMcCoZeAIZiA0kCAFiKB0EzAEE1A6SBAi5FA6CZgCCegtBCgBUkgtBMwxBNQegjQoiQQ+gkYAgpMahLpsUBoKGCIKKCEEaDFSSCElO2/qTf7v4miEsvr+g3/p6fB9nfofwzC5rV/9EX2j4HcGnz68c8/+xf9P/34B73rL/8mK6vdiO0H98ibFyBvftDDW4n9jFBQ3Ji2P9K29zJBwUzGtZ1Mr7DcoW8S0fPtv8H4MZBTN8eVeWMfekwfPabPdFYtXtWXN1pcYxTWuKejfPtZGfIXAHbo8Tw2Hz3i5hrh5uIFVt9TGiXJ9vsi5G+C3PH6cZFkpchFkavb8ZJMfjm1d+ig7nR4T6k7LF/VNaHIo4s8ujyP6gdR8CAaosf0/AZcnzcOiF8VR66HiDipH/XzuEQ/po6d4kEx5HG8d5rl1vCf4H4eDpkO6+sx9l7QozZtOOF2SJoKa7CiKYnbE2lZFZuFuvwBNRd6Np6fjpvF9m4D1GYBc2xQVxDtPY7R4B0zUeHf0oJ6G7XIpE+TaHdbo35HQ9Bn9rjyV6p7eKv6Ml00S6PhOGLCqN85jWLDUDJHivL1TV3iG8V2dKj1Rj1aT4dygvp6wlu295c14KnAxSOXN6Pqv0eJnLl4HnR5rbX/HVHkyMG7Epc3ettvlkVtj/yOeK1GXiKMPKKpdMRsPuVxH6c2hNEI7uFMRadNLmhuYfpBvy6Dd5t4qWBueZqfxkZetH2Aw+vP/a/Q4HDwcjjizXHNB7vEVjrAu7AJNyz0i0o4Msw+c9bBP9uJhxFuc5e3NFB3MyIckMeAR6lyWH85v/vJRBwj7giP97jtt7aj+RaR4vd49Oa3ctQvN6AtAPLGPEe03naPYkTY+LxhKj9DpwDE8xxzKbV/hhd3C96suLzx0XkRJJqaEEPMAwbzsj9UB57/eC3LufwQVYAafMybGbvvokSu0YgY8ybKj28uRe7RdnbMm6o6rh5FftEGYMzbfLXcio2mGxRrwI8V33CNnKEAA3aAWsZDn14D7VDK95gkTS/JAYI9eihCr4+//bjYO9ccoyHnsYdck77Qdotos9jTTVa9GqkLvNDxJv4XUcln2z9k/R/tUdHo8dijRw2elrZDM6HHm1m3Dhtvq6yokqXmE3HtsbluhqD9zIDXUPYzy6uYrYUOJwWZeQfsavtLu8ghaj6f3Xz14h5V0fM7kczAu3qHPfkin1W8eNNhdNCC4bAXjCrX40JnKYe5ZtYn2ebYGJVvhbD3SJ7Wv7yJYfeThRgTvKjXR8bzgdQjOQ71bpVKGUrw8aCjfrIHz6c4ZzjhzQjkZVb4wIC3wMyx0fyiK+4AvL9n7tTMa2TwqRRn3h1eUNaNpGhSRnhMeNi1366K3KKmm/QKcjfS9KfGFDPHWOeduihU1KDM41ftuXFsHXtxAsLlkZiIdBnK31eqqL0HAoiZDZf+lDt9ikGNyCQniddxZQsH+MTAm0N3l5fgTsV7IJe3tUg2SdbwVp/fSvJk6OD9ATOjvo7SeCXKqp5P11HxJvRTIfLp8/p197vp+HSEn7reUMk8PW9529/5iPdC2CNzN6RdX4bnPDxbOcygYjO1j50MJ80jOszIjItVcNPhuc/lgafcpStqYI1QmMyFTHrbJ83SVUXSN8TjY8j3nK70dsRLLq8rVHEtFG2jvF2262lJrt+8oWH+eB+eCvDMPOZt7M3LwdFkjHYGE96MIJ09Z9lb27D10Ojw+PG1q3+oV5gDRPNni39YI+ItQFIqqSXFrIxNrHHmjjmrKn+q/RbJeq05Q93LTKbvndVijtJydpssKedoFaCNGzNXJCuoM4PN02tEumjwMecI6VD2kbyTXB6Et36/x9XrLnCtDjRzuLzxva0DtQnZeYhWZta1kePrn+DFu2xN3udNvtsLAvD+Fa8uzGzo9oeFcTTanoHpBl0Tj+YI9FwTtiPrhiy8ruDzCLM/rdMv4EQJ+NsZlpnOajkBA07rAHP60m5rwo+JgWDmiPDP1uJZH4fFzGFqt+TiVQ4f3ZjbyWbvXW/EyTVY26My327BO3riBQPQsk7MFVmmN8JuYWSMVpQx3+sH4gjOPcmvObhuEYmx+jF0PIjxBoyp4ex82t7w1iHgdTx5+B/hKYrZgkX0vow367B5+SBar8NvHnU8RH3OzCsYrhf5ek31OgqauW9qHNd+o/X6m6dtdNA4Yva35tBc+vFbeR6vd3R/ueEPTT8eb0Bq19bi4x2efpjZsm2eu12FwEIYE8etUyKvqq0pTGf/3YiyCleblBS/AoRiwESxdrmKNgtRKb/aAQidf5juyiz5JjqaEE06AXMgNj7LLOkQiNCjM7cyjd+WxDzyxxSOG39llhCdjZd+3rQo03vRmzZl4+Mt832T5vISPBfiNYqpexXZ4i2PclGUi7gsjbdz8MsXPvPZsvcoqd6fozIu8yxOK+N1H7yKDHljY3tTD85I430D80Wa5g4W3F54mWRKe6VIl4tsnUttQSyjuFgWWa71JBr8Ltfn9j5sPM9hrphqRX3VAt6rYSJq1VbuS3mHOXTtGu5B3PTDoHEJ20yPz5tNdrdW4U7F0ybzXaYyifM8ehFGahs0aQuYMam3+aIXkVZvsXYQQq3ImzB2dy7gvsAdyny5wJ4nELIub5JVPkJ5ng3/s8mpiRu1FVORQT5lq72LgvKLSGG++b69+hCvpZg3b5vF8rbgMael7b2ieIBhx8y2rG//xk7wuYo53LcXK+I1BMfCfM2zksdZdTMX5h7Pr8y9h3wHTKYo5Fv0SVxWBrg+2hoxP9CoPUpfRloTz9vMmUKdyBb1NWh4ssBnvBFvD727Sxnjhf0wNXX9XjQcFKaBuU3Trr3FSOCeZO6Z0eVpOCp8RGLuzIxrc/A0huNivuWtvH2Lko2h1OD1l/k1hcqj6qs4BoHvgxIFUENxkSqitFwZEpkm0/ZyQwWFd+rM5/seyw909IlBExR4UZkC0RD7GPJ8fI+SRE/K4/1RDxch8UIHfj3pAFdUa6PomALJd/FcxkZWUTsBMk8FcjVdFpEMUZMI0OaDI6P9dT7I41wkcSoGn57++uef/we4PB6x"; \ 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 a009592..f8872a0 100644 --- a/docs/classes/SolanaAgentKit.html +++ b/docs/classes/SolanaAgentKit.html @@ -1,13 +1,12 @@ 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

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

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
  • Parameters

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

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index f949e7f..40c059b 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
          | 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
          | 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 255cefb..4900cf6 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 94c6c4a..f138d97 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 92f4899..7532dff 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 46823a7..1d3478f 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 35ef6c2..2102f86 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 e1ea07a..5c96b15 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 2719bbb..31508ed 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 7881a39..c8bfe83 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 dbef805..6c3fd74 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 c19e999..5a3ca46 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 e016a58..2f4ea54 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 88aa827..923975d 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 e68d6d1..87ecb48 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 7d6d5cc..36352ec 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 99bce11..098cdff 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 253fb78..d6ac59d 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 97d2aee..c86dede 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 00067df..a2d5e9e 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 2caabdc..94ff87e 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 3dc346f..36750a0 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 360af6b..6930839 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 859ba51..477b285 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 5ce7351..2cc6151 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 caa75d1..79d7158 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 7b3f78d..7721160 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/tools/pyth_fetch_price.ts b/src/tools/pyth_fetch_price.ts index 96ed636..0946af4 100644 --- a/src/tools/pyth_fetch_price.ts +++ b/src/tools/pyth_fetch_price.ts @@ -11,7 +11,7 @@ export async function fetchPythPriceFeedID( ): Promise { try { const stableHermesServiceUrl: string = "https://hermes.pyth.network"; - + const response = await fetch( `${stableHermesServiceUrl}/v2/price_feeds?query=${tokenSymbol}&asset_type=crypto`, ); @@ -77,10 +77,12 @@ export async function fetchPythPrice(feedID: string): Promise { const adjustedPrice = price.mul(new BN(100)); const divisor = new BN(10).pow(new BN(-exponent)); const scaledPrice = adjustedPrice.div(divisor); - + const priceStr = scaledPrice.toString(); const formattedPrice = `${priceStr.slice(0, -2)}.${priceStr.slice(-2)}`; - return formattedPrice.startsWith('.') ? `0${formattedPrice}` : formattedPrice; + return formattedPrice.startsWith(".") + ? `0${formattedPrice}` + : formattedPrice; } const scaledPrice = price.div(new BN(10).pow(new BN(exponent))); From 3752d3f656d23f5106424711c4516dba134eff53 Mon Sep 17 00:00:00 2001 From: DonDuala Date: Sat, 4 Jan 2025 16:39:52 -0400 Subject: [PATCH 031/138] Fix manifest integration --- package.json | 4 +- pnpm-lock.yaml | 533 ++++++++++++++++++++++++++++++++++++++- src/agent/index.ts | 34 +-- src/langchain/index.ts | 243 +++++++++--------- src/tools/batch_order.ts | 2 +- src/tools/index.ts | 4 +- src/tools/limit_order.ts | 2 +- 7 files changed, 673 insertions(+), 149 deletions(-) diff --git a/package.json b/package.json index 95bb3ce..7b2a016 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solana-agent-kit", - "version": "1.3.6", + "version": "1.3.7", "description": "connect any ai agents to solana protocols", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -24,7 +24,7 @@ "dependencies": { "@ai-sdk/openai": "^1.0.11", "@bonfida/spl-name-service": "^3.0.7", - "@cks-systems/manifest-sdk": "^0.1.73", + "@cks-systems/manifest-sdk": "0.1.59", "@coral-xyz/anchor": "0.29", "@langchain/core": "^0.3.26", "@langchain/groq": "^0.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05add17..f01ffd7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^3.0.7 version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@cks-systems/manifest-sdk': - specifier: ^0.1.73 - version: 0.1.73(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + specifier: 0.1.59 + version: 0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@coral-xyz/anchor': specifier: '0.29' version: 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -210,8 +210,8 @@ packages: '@cfworker/json-schema@4.0.3': resolution: {integrity: sha512-ZykIcDTVv5UNmKWSTLAs3VukO6NDJkkSKxrgUTDPBkAlORVT3H9n5DbRjRl8xIotklscHdbLIa0b9+y3mQq73g==} - '@cks-systems/manifest-sdk@0.1.73': - resolution: {integrity: sha512-IcRM7k3YZ/jK5nJwE3xGp2Xg7Um4/XCeqrLs5yB3+IjS7W089Qs/prJXdRGKbFwCLkMt9ds6pElHufQr8an0Iw==} + '@cks-systems/manifest-sdk@0.1.59': + resolution: {integrity: sha512-ZYTwwDxrC2u74kF30iWZPZPYXB9MtOydLd4/SQdlMXrb6bj1OooMtZxukSCu/Tlkp+KR26bEr6gYuErFHdUFjg==} '@coral-xyz/anchor@0.26.0': resolution: {integrity: sha512-PxRl+wu5YyptWiR9F2MBHOLLibm87Z4IMUBPreX+DYBtPM+xggvcPi0KAN7+kIL4IrIhXI8ma5V0MCXxSN1pHg==} @@ -849,6 +849,9 @@ packages: '@types/bn.js@5.1.6': resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + '@types/chai@5.0.1': resolution: {integrity: sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA==} @@ -864,15 +867,27 @@ packages: '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/express-serve-static-core@4.19.6': + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + '@types/node-fetch@2.6.12': resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} @@ -888,12 +903,24 @@ packages: '@types/promise-retry@1.1.6': resolution: {integrity: sha512-EC1+OMXV0PZb0pf+cmyxc43MEP2CDumZe4AfuxWboxxEixztIebknpJPZAX5XlodGF1OY+C1E/RAeNGzxf+bJA==} + '@types/qs@6.9.17': + resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} '@types/retry@0.12.5': resolution: {integrity: sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==} + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -967,6 +994,10 @@ packages: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1029,6 +1060,9 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} @@ -1093,6 +1127,10 @@ packages: bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + borsh@0.7.0: resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} @@ -1138,6 +1176,10 @@ packages: resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} engines: {node: '>=6.14.2'} + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + call-bind-apply-helpers@1.0.1: resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} engines: {node: '>= 0.4'} @@ -1211,6 +1253,21 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -1231,6 +1288,14 @@ packages: dayjs@1.11.13: resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -1273,10 +1338,18 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -1309,6 +1382,9 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} @@ -1318,6 +1394,14 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -1343,6 +1427,9 @@ packages: es6-promisify@5.0.0: resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1423,6 +1510,10 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + ethereum-bloom-filters@1.2.0: resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} @@ -1450,6 +1541,16 @@ packages: exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + express-prom-bundle@7.0.2: + resolution: {integrity: sha512-ffFV4HGHvCKnkNJFqm42sYztRJE5mLgOj8MpGey1HOatuFhtcwXoBD2m5gca7ZbcyjkIf7lOH5ZdrhlrBf0sGw==} + engines: {node: '>=18'} + peerDependencies: + prom-client: '>=15.0.0' + + express@4.21.2: + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + engines: {node: '>= 0.10.0'} + eyes@0.1.8: resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} engines: {node: '> 0.1.90'} @@ -1494,6 +1595,10 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + find-process@1.4.8: resolution: {integrity: sha512-W2PIdgXfhYeIlTzGiDyGJhjslZcwQCRcSw6plgyLu3CFk1PhQrKkTbQ5jkJ2NhOabMwETTrhl7c+xBcQ7B2jRg==} hasBin: true @@ -1540,6 +1645,14 @@ packages: resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} engines: {node: '>= 12.20'} + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1630,9 +1743,17 @@ packages: html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1655,6 +1776,10 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + ipaddr.js@2.2.0: resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} engines: {node: '>= 10'} @@ -1925,6 +2050,13 @@ packages: mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1933,6 +2065,10 @@ packages: resolution: {integrity: sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==} engines: {node: '>= 7.6.0'} + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + micro-ftch@0.3.1: resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} @@ -1963,6 +2099,11 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -1984,6 +2125,9 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1999,6 +2143,10 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} @@ -2026,6 +2174,10 @@ packages: resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} engines: {node: '>=6.5.0', npm: '>=3'} + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + engines: {node: '>= 0.4'} + object-is@1.1.6: resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} engines: {node: '>= 0.4'} @@ -2038,6 +2190,10 @@ packages: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -2097,6 +2253,10 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -2117,6 +2277,9 @@ packages: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} engines: {node: 20 || >=22} + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + pathval@2.0.0: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} @@ -2164,6 +2327,10 @@ packages: property-information@6.5.0: resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -2175,12 +2342,24 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + react@19.0.0: resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} @@ -2244,6 +2423,9 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} @@ -2256,10 +2438,21 @@ packages: engines: {node: '>=10'} hasBin: true + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -2271,6 +2464,22 @@ packages: shiki@1.26.1: resolution: {integrity: sha512-Gqg6DSTk3wYqaZ5OaYtzjcdxcBvX5kCy24yvRJEgjT5U+WHlmqCThLuBUx0juyxQBi+6ug53IGeuQS07DWwpcw==} + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -2292,6 +2501,10 @@ packages: spok@1.5.5: resolution: {integrity: sha512-IrJIXY54sCNFASyHPOY+jEirkiJ26JDqsGiI0Dvhwcnkl0PEWi1PSsrkYql0rzDw8LFVTcA7rdUCAJdE2HE+2Q==} + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -2375,6 +2588,10 @@ packages: toformat@2.0.0: resolution: {integrity: sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ==} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + toml@3.0.0: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} @@ -2432,6 +2649,10 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -2493,9 +2714,17 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + url-value-parser@2.2.0: + resolution: {integrity: sha512-yIQdxJpgkPamPPAPuGdS7Q548rLhny42tg8d4vyTNzFqvOnwqrgHXvgehT09U7fwrzxi3RxCiXjoNUNnNOlQ8A==} + engines: {node: '>=6.0.0'} + use-sync-external-store@1.4.0: resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} peerDependencies: @@ -2514,6 +2743,10 @@ packages: util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + uuid@10.0.0: resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} hasBin: true @@ -2529,6 +2762,10 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} @@ -2702,7 +2939,7 @@ snapshots: '@cfworker/json-schema@4.0.3': {} - '@cks-systems/manifest-sdk@0.1.73(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@cks-systems/manifest-sdk@0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 '@metaplex-foundation/rustbin': 0.3.5 @@ -2712,6 +2949,8 @@ snapshots: bn.js: 5.2.1 borsh: 0.7.0 bs58: 6.0.0 + express: 4.21.2 + express-prom-bundle: 7.0.2(prom-client@15.1.3) js-sha256: 0.11.0 keccak256: 1.0.6 percentile: 1.6.0 @@ -3942,6 +4181,11 @@ snapshots: dependencies: '@types/node': 22.10.5 + '@types/body-parser@1.19.5': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 22.10.5 + '@types/chai@5.0.1': dependencies: '@types/deep-eql': 4.0.2 @@ -3956,16 +4200,34 @@ snapshots: '@types/estree@1.0.6': {} + '@types/express-serve-static-core@4.19.6': + dependencies: + '@types/node': 22.10.5 + '@types/qs': 6.9.17 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express@4.17.21': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.9.17 + '@types/serve-static': 1.15.7 + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 + '@types/http-errors@2.0.4': {} + '@types/json-schema@7.0.15': {} '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 + '@types/mime@1.3.5': {} + '@types/node-fetch@2.6.12': dependencies: '@types/node': 22.10.5 @@ -3985,10 +4247,25 @@ snapshots: dependencies: '@types/retry': 0.12.5 + '@types/qs@6.9.17': {} + + '@types/range-parser@1.2.7': {} + '@types/retry@0.12.0': {} '@types/retry@0.12.5': {} + '@types/send@0.17.4': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 22.10.5 + + '@types/serve-static@1.15.7': + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 22.10.5 + '@types/send': 0.17.4 + '@types/unist@3.0.3': {} '@types/uuid@10.0.0': {} @@ -4091,6 +4368,11 @@ snapshots: dependencies: event-target-shim: 5.0.1 + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 @@ -4143,6 +4425,8 @@ snapshots: argparse@2.0.1: {} + array-flatten@1.1.1: {} + assert@2.1.0: dependencies: call-bind: 1.0.8 @@ -4212,6 +4496,23 @@ snapshots: bn.js@5.2.1: {} + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + borsh@0.7.0: dependencies: bn.js: 5.2.1 @@ -4266,6 +4567,8 @@ snapshots: node-gyp-build: 4.8.4 optional: true + bytes@3.1.2: {} + call-bind-apply-helpers@1.0.1: dependencies: es-errors: 1.3.0 @@ -4330,6 +4633,16 @@ snapshots: concat-map@0.0.1: {} + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + cookie-signature@1.0.6: {} + + cookie@0.7.1: {} + create-require@1.1.1: {} cross-fetch@3.2.0: @@ -4350,6 +4663,10 @@ snapshots: dayjs@1.11.13: {} + debug@2.6.9: + dependencies: + ms: 2.0.0 + debug@4.4.0: dependencies: ms: 2.1.3 @@ -4380,8 +4697,12 @@ snapshots: delayed-stream@1.0.0: {} + depd@2.0.0: {} + dequal@2.0.3: {} + destroy@1.2.0: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -4411,12 +4732,18 @@ snapshots: eastasianwidth@0.2.0: {} + ee-first@1.1.1: {} + emoji-regex-xs@1.0.0: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + entities@4.5.0: {} err-code@2.0.3: {} @@ -4435,6 +4762,8 @@ snapshots: dependencies: es6-promise: 4.2.8 + escape-html@1.0.3: {} + escape-string-regexp@4.0.0: {} eslint-config-prettier@9.1.0(eslint@8.57.1): @@ -4570,6 +4899,8 @@ snapshots: esutils@2.0.3: {} + etag@1.8.1: {} + ethereum-bloom-filters@1.2.0: dependencies: '@noble/hashes': 1.7.0 @@ -4596,6 +4927,52 @@ snapshots: exponential-backoff@3.1.1: {} + express-prom-bundle@7.0.2(prom-client@15.1.3): + dependencies: + '@types/express': 4.17.21 + express: 4.21.2 + on-finished: 2.4.1 + prom-client: 15.1.3 + url-value-parser: 2.2.0 + transitivePeerDependencies: + - supports-color + + express@4.21.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + eyes@0.1.8: {} fast-deep-equal@3.1.3: {} @@ -4636,6 +5013,18 @@ snapshots: dependencies: to-regex-range: 5.0.1 + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + find-process@1.4.8: dependencies: chalk: 5.4.1 @@ -4691,6 +5080,10 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 4.0.0-beta.3 + forwarded@0.2.0: {} + + fresh@0.5.2: {} + fs.realpath@1.0.0: {} function-bind@1.1.2: {} @@ -4820,10 +5213,22 @@ snapshots: html-void-elements@3.0.0: {} + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + humanize-ms@1.2.1: dependencies: ms: 2.1.3 + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + ieee754@1.2.1: {} ignore@5.3.2: {} @@ -4842,6 +5247,8 @@ snapshots: inherits@2.0.4: {} + ipaddr.js@1.9.1: {} + ipaddr.js@2.2.0: {} is-arguments@1.2.0: @@ -5095,6 +5502,10 @@ snapshots: mdurl@2.0.0: {} + media-typer@0.3.0: {} + + merge-descriptors@1.0.3: {} + merge2@1.4.1: {} merkletreejs@0.3.11: @@ -5105,6 +5516,8 @@ snapshots: treeify: 1.1.0 web3-utils: 1.10.4 + methods@1.1.2: {} + micro-ftch@0.3.1: {} micromark-util-character@2.1.1: @@ -5135,6 +5548,8 @@ snapshots: dependencies: mime-db: 1.52.0 + mime@1.6.0: {} + minimalistic-assert@1.0.1: {} minimatch@10.0.1: @@ -5153,6 +5568,8 @@ snapshots: minipass@7.1.2: {} + ms@2.0.0: {} + ms@2.1.3: {} mustache@4.2.0: {} @@ -5161,6 +5578,8 @@ snapshots: natural-compare@1.4.0: {} + negotiator@0.6.3: {} + no-case@3.0.4: dependencies: lower-case: 2.0.2 @@ -5181,6 +5600,8 @@ snapshots: bn.js: 4.11.6 strip-hex-prefix: 1.0.0 + object-inspect@1.13.3: {} + object-is@1.1.6: dependencies: call-bind: 1.0.8 @@ -5197,6 +5618,10 @@ snapshots: has-symbols: 1.1.0 object-keys: 1.1.1 + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -5266,6 +5691,8 @@ snapshots: dependencies: callsites: 3.1.0 + parseurl@1.3.3: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -5282,6 +5709,8 @@ snapshots: lru-cache: 11.0.2 minipass: 7.1.2 + path-to-regexp@0.1.12: {} + pathval@2.0.0: {} percentile@1.6.0: {} @@ -5316,18 +5745,36 @@ snapshots: property-information@6.5.0: {} + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + proxy-from-env@1.1.0: {} punycode.js@2.3.1: {} punycode@2.3.1: {} + qs@6.13.0: + dependencies: + side-channel: 1.1.0 + queue-microtask@1.2.3: {} randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + react@19.0.0: {} readable-stream@3.6.2: @@ -5395,12 +5842,41 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 + safer-buffer@2.1.2: {} + secure-json-parse@2.7.0: {} semaphore@1.1.0: {} semver@7.6.3: {} + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -5410,6 +5886,8 @@ snapshots: gopd: 1.2.0 has-property-descriptors: 1.0.2 + setprototypeof@1.2.0: {} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -5427,6 +5905,34 @@ snapshots: '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + object-inspect: 1.13.3 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + object-inspect: 1.13.3 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + signal-exit@4.1.0: {} snake-case@3.0.4: @@ -5457,6 +5963,8 @@ snapshots: - jiti - supports-color + statuses@2.0.1: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -5535,6 +6043,8 @@ snapshots: toformat@2.0.0: {} + toidentifier@1.0.1: {} + toml@3.0.0: {} tr46@0.0.3: {} @@ -5585,6 +6095,11 @@ snapshots: type-fest@0.20.2: {} + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 @@ -5649,10 +6164,14 @@ snapshots: universalify@2.0.1: {} + unpipe@1.0.0: {} + uri-js@4.4.1: dependencies: punycode: 2.3.1 + url-value-parser@2.2.0: {} + use-sync-external-store@1.4.0(react@19.0.0): dependencies: react: 19.0.0 @@ -5674,6 +6193,8 @@ snapshots: is-typed-array: 1.1.15 which-typed-array: 1.1.18 + utils-merge@1.0.1: {} + uuid@10.0.0: {} uuid@8.3.2: {} @@ -5682,6 +6203,8 @@ snapshots: v8-compile-cache-lib@3.0.1: {} + vary@1.1.2: {} + vfile-message@4.0.2: dependencies: '@types/unist': 3.0.3 diff --git a/src/agent/index.ts b/src/agent/index.ts index e82a464..a28c899 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -23,8 +23,8 @@ import { registerDomain, request_faucet_funds, trade, - // limitOrder, - // batchOrder, + limitOrder, + batchOrder, cancelAllOrders, withdrawAll, closePerpTradeShort, @@ -69,7 +69,7 @@ import { MintCollectionNFTResponse, PumpfunLaunchResponse, PumpFunTokenOptions, - // OrderParams, + OrderParams, } from "../types"; /** @@ -190,21 +190,21 @@ export class SolanaAgentKit { return trade(this, outputMint, inputAmount, inputMint, slippageBps); } - // async limitOrder( - // marketId: PublicKey, - // quantity: number, - // side: string, - // price: number, - // ): Promise { - // return limitOrder(this, marketId, quantity, side, price); - // } + async limitOrder( + marketId: PublicKey, + quantity: number, + side: string, + price: number, + ): Promise { + return limitOrder(this, marketId, quantity, side, price); + } - // async batchOrder( - // marketId: PublicKey, - // orders: OrderParams[], - // ): Promise { - // return batchOrder(this, marketId, orders); - // } + async batchOrder( + marketId: PublicKey, + orders: OrderParams[], + ): Promise { + return batchOrder(this, marketId, orders); + } async cancelAllOrders(marketId: PublicKey): Promise { return cancelAllOrders(this, marketId); diff --git a/src/langchain/index.ts b/src/langchain/index.ts index ac6319f..97810e8 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -4,10 +4,11 @@ import Decimal from "decimal.js"; import { Tool } from "langchain/tools"; import { GibworkCreateTaskReponse, + OrderParams, PythFetchPriceResponse, SolanaAgentKit, } from "../index"; -import { create_image, FEE_TIERS } from "../tools"; +import { create_image, FEE_TIERS, generateOrdersfromPattern } from "../tools"; export class SolanaBalanceTool extends Tool { name = "solana_balance"; @@ -413,143 +414,143 @@ export class SolanaTradeTool extends Tool { } } -// export class SolanaLimitOrderTool extends Tool { -// name = "solana_limit_order"; -// description = `This tool can be used to place limit orders using Manifest. +export class SolanaLimitOrderTool extends Tool { + name = "solana_limit_order"; + description = `This tool can be used to place limit orders using Manifest. -// Do not allow users to place multiple orders with this instruction, use solana_batch_order instead. + Do not allow users to place multiple orders with this instruction, use solana_batch_order instead. -// Inputs ( input is a JSON string ): -// marketId: PublicKey, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required) -// quantity: number, eg 1 or 0.01 (required) -// side: string, eg "Buy" or "Sell" (required) -// price: number, in tokens eg 200 for SOL/USDC (required)`; + Inputs ( input is a JSON string ): + marketId: PublicKey, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required) + quantity: number, eg 1 or 0.01 (required) + side: string, eg "Buy" or "Sell" (required) + price: number, in tokens eg 200 for SOL/USDC (required)`; -// constructor(private solanaKit: SolanaAgentKit) { -// super(); -// } + constructor(private solanaKit: SolanaAgentKit) { + super(); + } -// protected async _call(input: string): Promise { -// try { -// const parsedInput = JSON.parse(input); + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); -// const tx = await this.solanaKit.limitOrder( -// new PublicKey(parsedInput.marketId), -// parsedInput.quantity, -// parsedInput.side, -// parsedInput.price, -// ); + const tx = await this.solanaKit.limitOrder( + new PublicKey(parsedInput.marketId), + parsedInput.quantity, + parsedInput.side, + parsedInput.price, + ); -// return JSON.stringify({ -// status: "success", -// message: "Trade executed successfully", -// transaction: tx, -// marketId: parsedInput.marketId, -// quantity: parsedInput.quantity, -// side: parsedInput.side, -// price: parsedInput.price, -// }); -// } catch (error: any) { -// return JSON.stringify({ -// status: "error", -// message: error.message, -// code: error.code || "UNKNOWN_ERROR", -// }); -// } -// } -// } + return JSON.stringify({ + status: "success", + message: "Trade executed successfully", + transaction: tx, + marketId: parsedInput.marketId, + quantity: parsedInput.quantity, + side: parsedInput.side, + price: parsedInput.price, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} -// export class SolanaBatchOrderTool extends Tool { -// name = "solana_batch_order"; -// description = `Places multiple limit orders in one transaction using Manifest. Submit orders either as a list or pattern: +export class SolanaBatchOrderTool extends Tool { + name = "solana_batch_order"; + description = `Places multiple limit orders in one transaction using Manifest. Submit orders either as a list or pattern: -// 1. List format: -// { -// "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", -// "orders": [ -// { "quantity": 1, "side": "Buy", "price": 200 }, -// { "quantity": 0.5, "side": "Sell", "price": 205 } -// ] -// } + 1. List format: + { + "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", + "orders": [ + { "quantity": 1, "side": "Buy", "price": 200 }, + { "quantity": 0.5, "side": "Sell", "price": 205 } + ] + } -// 2. Pattern format: -// { -// "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", -// "pattern": { -// "side": "Buy", -// "totalQuantity": 100, -// "priceRange": { "max": 1.0 }, -// "spacing": { "type": "percentage", "value": 1 }, -// "numberOfOrders": 5 -// } -// } + 2. Pattern format: + { + "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", + "pattern": { + "side": "Buy", + "totalQuantity": 100, + "priceRange": { "max": 1.0 }, + "spacing": { "type": "percentage", "value": 1 }, + "numberOfOrders": 5 + } + } -// Examples: -// - "Place 5 buy orders totaling 100 tokens, 1% apart below $1" -// - "Create 3 sell orders of 10 tokens each between $50-$55" -// - "Place buy orders worth 50 tokens, $0.10 spacing from $0.80" + Examples: + - "Place 5 buy orders totaling 100 tokens, 1% apart below $1" + - "Create 3 sell orders of 10 tokens each between $50-$55" + - "Place buy orders worth 50 tokens, $0.10 spacing from $0.80" -// Important: All orders must be in one transaction. Combine buy and sell orders into a single pattern or list. Never break the orders down to individual buy or sell orders.`; + Important: All orders must be in one transaction. Combine buy and sell orders into a single pattern or list. Never break the orders down to individual buy or sell orders.`; -// constructor(private solanaKit: SolanaAgentKit) { -// super(); -// } + constructor(private solanaKit: SolanaAgentKit) { + super(); + } -// protected async _call(input: string): Promise { -// try { -// const parsedInput = JSON.parse(input); -// let ordersToPlace: OrderParams[] = []; + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + let ordersToPlace: OrderParams[] = []; -// if (!parsedInput.marketId) { -// throw new Error("Market ID is required"); -// } + if (!parsedInput.marketId) { + throw new Error("Market ID is required"); + } -// if (parsedInput.pattern) { -// ordersToPlace = generateOrdersfromPattern(parsedInput.pattern); -// } else if (Array.isArray(parsedInput.orders)) { -// ordersToPlace = parsedInput.orders; -// } else { -// throw new Error("Either pattern or orders array is required"); -// } + if (parsedInput.pattern) { + ordersToPlace = generateOrdersfromPattern(parsedInput.pattern); + } else if (Array.isArray(parsedInput.orders)) { + ordersToPlace = parsedInput.orders; + } else { + throw new Error("Either pattern or orders array is required"); + } -// if (ordersToPlace.length === 0) { -// throw new Error("No orders generated or provided"); -// } + if (ordersToPlace.length === 0) { + throw new Error("No orders generated or provided"); + } -// ordersToPlace.forEach((order: OrderParams, index: number) => { -// if (!order.quantity || !order.side || !order.price) { -// throw new Error( -// `Invalid order at index ${index}: quantity, side, and price are required`, -// ); -// } -// if (order.side !== "Buy" && order.side !== "Sell") { -// throw new Error( -// `Invalid side at index ${index}: must be "Buy" or "Sell"`, -// ); -// } -// }); + ordersToPlace.forEach((order: OrderParams, index: number) => { + if (!order.quantity || !order.side || !order.price) { + throw new Error( + `Invalid order at index ${index}: quantity, side, and price are required`, + ); + } + if (order.side !== "Buy" && order.side !== "Sell") { + throw new Error( + `Invalid side at index ${index}: must be "Buy" or "Sell"`, + ); + } + }); -// const tx = await this.solanaKit.batchOrder( -// new PublicKey(parsedInput.marketId), -// parsedInput.orders, -// ); + const tx = await this.solanaKit.batchOrder( + new PublicKey(parsedInput.marketId), + parsedInput.orders, + ); -// return JSON.stringify({ -// status: "success", -// message: "Batch order executed successfully", -// transaction: tx, -// marketId: parsedInput.marketId, -// orders: parsedInput.orders, -// }); -// } catch (error: any) { -// return JSON.stringify({ -// status: "error", -// message: error.message, -// code: error.code || "UNKNOWN_ERROR", -// }); -// } -// } -// } + return JSON.stringify({ + status: "success", + message: "Batch order executed successfully", + transaction: tx, + marketId: parsedInput.marketId, + orders: parsedInput.orders, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} export class SolanaCancelAllOrdersTool extends Tool { name = "solana_cancel_all_orders"; @@ -2152,8 +2153,8 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaRaydiumCreateCpmm(solanaKit), new SolanaOpenbookCreateMarket(solanaKit), new SolanaManifestCreateMarket(solanaKit), - // new SolanaLimitOrderTool(solanaKit), - // new SolanaBatchOrderTool(solanaKit), + new SolanaLimitOrderTool(solanaKit), + new SolanaBatchOrderTool(solanaKit), new SolanaCancelAllOrdersTool(solanaKit), new SolanaWithdrawAllTool(solanaKit), new SolanaClosePosition(solanaKit), diff --git a/src/tools/batch_order.ts b/src/tools/batch_order.ts index c27fa98..83080fe 100644 --- a/src/tools/batch_order.ts +++ b/src/tools/batch_order.ts @@ -7,8 +7,8 @@ import { import { ManifestClient, WrapperPlaceOrderParamsExternal, + OrderType, } from "@cks-systems/manifest-sdk"; -import { OrderType } from "@cks-systems/manifest-sdk/client/ts/src/wrapper/types/OrderType"; import { SolanaAgentKit } from "../index"; import { BatchOrderPattern, OrderParams } from "../types"; diff --git a/src/tools/index.ts b/src/tools/index.ts index 1f6e9f5..2544fed 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -1,5 +1,5 @@ export * from "./adrena_perp_trading"; -// export * from "./batch_order"; +export * from "./batch_order"; export * from "./cancel_all_orders"; export * from "./create_gibwork_task"; export * from "./create_image"; @@ -20,7 +20,7 @@ export * from "./get_tps"; export * from "./get_wallet_address"; export * from "./launch_pumpfun_token"; export * from "./lend"; -// export * from "./limit_order"; +export * from "./limit_order"; export * from "./manifest_create_market"; export * from "./mint_nft"; export * from "./openbook_create_market"; diff --git a/src/tools/limit_order.ts b/src/tools/limit_order.ts index ad05bf6..bdbb63d 100644 --- a/src/tools/limit_order.ts +++ b/src/tools/limit_order.ts @@ -8,8 +8,8 @@ import { SolanaAgentKit } from "../index"; import { ManifestClient, WrapperPlaceOrderParamsExternal, + OrderType, } from "@cks-systems/manifest-sdk"; -import { OrderType } from "@cks-systems/manifest-sdk/client/ts/src/wrapper/types/OrderType"; /** * Place limit orders using Manifest From 52adc3f9badc5a74aca9ea0af9d5ef955e72f4a7 Mon Sep 17 00:00:00 2001 From: Vini murafa <06.poems_races@icloud.com> Date: Sat, 4 Jan 2025 22:15:28 +0100 Subject: [PATCH 032/138] Typo fix Update orca_open_centered_position_with_liquidity.ts --- src/tools/orca_open_centered_position_with_liquidity.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/orca_open_centered_position_with_liquidity.ts b/src/tools/orca_open_centered_position_with_liquidity.ts index dfe8ee3..63a8972 100644 --- a/src/tools/orca_open_centered_position_with_liquidity.ts +++ b/src/tools/orca_open_centered_position_with_liquidity.ts @@ -26,7 +26,7 @@ import { TOKEN_2022_PROGRAM_ID } from "@solana/spl-token"; * # Opens a Centered Liquidity Position in an Orca Whirlpool * * This function opens a centered liquidity position in a specified Orca Whirlpool. The user defines - * a basis point (bps) offset from the cuurent price of the pool to set the lower and upper bounds of the position. + * a basis point (bps) offset from the current price of the pool to set the lower and upper bounds of the position. * The user also specifies the token mint and the amount to deposit. The required amount of the other token * is calculated automatically. * From deb53b4905566d0b71aa0b5dd853a5c7dfb48313 Mon Sep 17 00:00:00 2001 From: DonDuala Date: Sat, 4 Jan 2025 18:04:56 -0400 Subject: [PATCH 033/138] AI guide market making --- test/index.ts | 141 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 139 insertions(+), 2 deletions(-) diff --git a/test/index.ts b/test/index.ts index 00f9976..d28b626 100644 --- a/test/index.ts +++ b/test/index.ts @@ -165,7 +165,139 @@ async function runChatMode(agent: any, config: any) { } } -async function chooseMode(): Promise<"chat" | "auto"> { +interface MarketMakerConfig { + marketId: string; + baseToken: string; + quoteToken: string; + quoteParams: { + number: number; // Number of quotes on each side + minDepth: number; // Minimum distance from mid (%) + maxDepth: number; // Maximum distance from mid (%) + }; + allowance: { + base: number; + quote: number; + }; + intervalSeconds: number; +} + +function createReadlineInterface() { + return readline.createInterface({ + input: process.stdin, + output: process.stdout + }); +} + +async function askQuestion(rl: readline.Interface, question: string): Promise { + return new Promise((resolve) => { + rl.question(question, (answer) => { + resolve(answer); + }); + }); +} + +async function configureMarketMaker(): Promise { + const rl = createReadlineInterface(); + + try { + console.log("\n=== Market Maker Configuration ===\n"); + + // Basic market information + const marketId = await askQuestion(rl, "Enter the market ID: "); + const baseToken = await askQuestion(rl, "Enter the base token symbol (e.g., SEND): "); + const quoteToken = await askQuestion(rl, "Enter the quote token symbol (e.g., USDC): "); + + // Quote parameters + console.log("\n=== Quote Parameters (applies to both buy and sell sides) ==="); + const quoteNumber = parseInt(await askQuestion(rl, "Enter number of quotes to place on each side: ")); + const minDepth = parseFloat(await askQuestion(rl, "Enter minimum quote depth (% distance from mid price): ")); + const maxDepth = parseFloat(await askQuestion(rl, "Enter maximum quote depth (% distance from mid price): ")); + + // Token allowances + console.log("\n=== Token Allowances ==="); + const baseAllowance = parseFloat(await askQuestion(rl, `Enter total ${baseToken} allowance: `)); + const quoteAllowance = parseFloat(await askQuestion(rl, `Enter total ${quoteToken} allowance: `)); + + // Update interval + const interval = parseInt(await askQuestion(rl, "\nEnter update interval in seconds: ")); + + const config: MarketMakerConfig = { + marketId, + baseToken, + quoteToken, + quoteParams: { + number: quoteNumber, + minDepth: minDepth, + maxDepth: maxDepth + }, + allowance: { + base: baseAllowance, + quote: quoteAllowance + }, + intervalSeconds: interval + }; + + // Display summary + console.log("\n=== Configuration Summary ==="); + console.log(JSON.stringify(config, null, 2)); + + const confirm = await askQuestion(rl, "\nIs this configuration correct? (yes/no): "); + if (confirm.toLowerCase() !== 'yes') { + throw new Error("Configuration cancelled by user"); + } + + return config; + + } finally { + rl.close(); + } +} + +async function runMarketMakerMode(agent: any, config: any) { + try { + const marketMakerConfig = await configureMarketMaker(); + console.log(`\nStarting market maker mode for ${marketMakerConfig.baseToken}/${marketMakerConfig.quoteToken}...`); + + while (true) { + try { + const thought = + `You are an on-chain Solana market maker for the ${marketMakerConfig.baseToken}/${marketMakerConfig.quoteToken} Manifest market, ${marketMakerConfig.marketId}. + Find the ${marketMakerConfig.baseToken}/${marketMakerConfig.quoteToken} live price by checking Jupiter. + Use solana_batch_order to provide ${marketMakerConfig.quoteParams.number} buys at different prices between -${marketMakerConfig.quoteParams.minDepth}% to -${marketMakerConfig.quoteParams.maxDepth}% and ${marketMakerConfig.quoteParams.number} sells at different prices between +${marketMakerConfig.quoteParams.minDepth}% to +${marketMakerConfig.quoteParams.maxDepth}% with increasing quantities further from the live price. + You have an allowance of ${marketMakerConfig.allowance.base} ${marketMakerConfig.baseToken} and ${marketMakerConfig.allowance.quote} ${marketMakerConfig.quoteToken}. + Important! Only send 1 transaction, buy and sells can be combined into a single solana_batch_order.`; + + const stream = await agent.stream( + { messages: [new HumanMessage(thought)] }, + config, + ); + + for await (const chunk of stream) { + if ("agent" in chunk) { + console.log(chunk.agent.messages[0].content); + } else if ("tools" in chunk) { + console.log(chunk.tools.messages[0].content); + } + console.log("-------------------"); + } + + await new Promise((resolve) => + setTimeout(resolve, marketMakerConfig.intervalSeconds * 1000) + ); + } catch (error) { + if (error instanceof Error) { + console.error("Error:", error); + } + process.exit(1); + } + } + } catch (error) { + console.error("Configuration error:", error); + process.exit(1); + } +} + +async function chooseMode(): Promise<"chat" | "auto" | "mm"> { const rl = readline.createInterface({ input: process.stdin, output: process.stdout, @@ -178,6 +310,7 @@ async function chooseMode(): Promise<"chat" | "auto"> { console.log("\nAvailable modes:"); console.log("1. chat - Interactive chat mode"); console.log("2. auto - Autonomous action mode"); + console.log("3. mm - AI guided market making") const choice = (await question("\nChoose a mode (enter number or name): ")) .toLowerCase() @@ -189,6 +322,8 @@ async function chooseMode(): Promise<"chat" | "auto"> { return "chat"; } else if (choice === "2" || choice === "auto") { return "auto"; + } else if (choice === "3" || choice === "mm") { + return "mm"; } console.log("Invalid choice. Please try again."); } @@ -202,8 +337,10 @@ async function main() { if (mode === "chat") { await runChatMode(agent, config); - } else { + } else if( mode === "auto") { await runAutonomousMode(agent, config); + } else { + await runMarketMakerMode(agent, config); } } catch (error) { if (error instanceof Error) { From 534d88b47ad1596ff6af15b304e364cac9392203 Mon Sep 17 00:00:00 2001 From: DonDuala Date: Sat, 4 Jan 2025 18:14:28 -0400 Subject: [PATCH 034/138] Combine manifest tool files --- src/tools/cancel_all_orders.ts | 37 ---- src/tools/index.ts | 6 +- src/tools/limit_order.ts | 61 ------- src/tools/manifest_create_market.ts | 43 ----- .../{batch_order.ts => manifest_trade.ts} | 161 +++++++++++++++++- src/tools/withdraw_all.ts | 37 ---- 6 files changed, 153 insertions(+), 192 deletions(-) delete mode 100644 src/tools/cancel_all_orders.ts delete mode 100644 src/tools/limit_order.ts delete mode 100644 src/tools/manifest_create_market.ts rename src/tools/{batch_order.ts => manifest_trade.ts} (50%) delete mode 100644 src/tools/withdraw_all.ts diff --git a/src/tools/cancel_all_orders.ts b/src/tools/cancel_all_orders.ts deleted file mode 100644 index d8e3639..0000000 --- a/src/tools/cancel_all_orders.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { - PublicKey, - sendAndConfirmTransaction, - Transaction, -} from "@solana/web3.js"; -import { SolanaAgentKit } from "../index"; -import { ManifestClient } from "@cks-systems/manifest-sdk"; - -/** - * Cancels all orders from Manifest - * @param agent SolanaAgentKit instance - * @param marketId Public key for the manifest market - * @returns Transaction signature - */ -export async function cancelAllOrders( - agent: SolanaAgentKit, - marketId: PublicKey, -): Promise { - try { - const mfxClient = await ManifestClient.getClientForMarket( - agent.connection, - marketId, - agent.wallet, - ); - - const cancelAllOrdersIx = await mfxClient.cancelAllIx(); - const signature = await sendAndConfirmTransaction( - agent.connection, - new Transaction().add(cancelAllOrdersIx), - [agent.wallet], - ); - - return signature; - } catch (error: any) { - throw new Error(`Cancel all orders failed: ${error.message}`); - } -} diff --git a/src/tools/index.ts b/src/tools/index.ts index 2544fed..2bead34 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -1,6 +1,4 @@ export * from "./adrena_perp_trading"; -export * from "./batch_order"; -export * from "./cancel_all_orders"; export * from "./create_gibwork_task"; export * from "./create_image"; export * from "./create_tiplinks"; @@ -20,8 +18,7 @@ export * from "./get_tps"; export * from "./get_wallet_address"; export * from "./launch_pumpfun_token"; export * from "./lend"; -export * from "./limit_order"; -export * from "./manifest_create_market"; +export * from "./manifest_trade"; export * from "./mint_nft"; export * from "./openbook_create_market"; export * from "./orca_close_position"; @@ -46,4 +43,3 @@ export * from "./stake_with_solayer"; export * from "./tensor_trade"; export * from "./trade"; export * from "./transfer"; -export * from "./withdraw_all"; diff --git a/src/tools/limit_order.ts b/src/tools/limit_order.ts deleted file mode 100644 index bdbb63d..0000000 --- a/src/tools/limit_order.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { - PublicKey, - Transaction, - sendAndConfirmTransaction, - TransactionInstruction, -} from "@solana/web3.js"; -import { SolanaAgentKit } from "../index"; -import { - ManifestClient, - WrapperPlaceOrderParamsExternal, - OrderType, -} from "@cks-systems/manifest-sdk"; - -/** - * Place limit orders using Manifest - * @param agent SolanaAgentKit instance - * @param marketId Public key for the manifest market - * @param quantity Amount to trade in tokens - * @param side Buy or Sell - * @param price Price in tokens ie. SOL/USDC - * @returns Transaction signature - */ -export async function limitOrder( - agent: SolanaAgentKit, - marketId: PublicKey, - quantity: number, - side: string, - price: number, -): Promise { - try { - const mfxClient = await ManifestClient.getClientForMarket( - agent.connection, - marketId, - agent.wallet, - ); - - const orderParams: WrapperPlaceOrderParamsExternal = { - numBaseTokens: quantity, - tokenPrice: price, - isBid: side === "Buy", - lastValidSlot: 0, - orderType: OrderType.Limit, - clientOrderId: Number(Math.random() * 1000), - }; - - const depositPlaceOrderIx: TransactionInstruction[] = - await mfxClient.placeOrderWithRequiredDepositIx( - agent.wallet.publicKey, - orderParams, - ); - const signature = await sendAndConfirmTransaction( - agent.connection, - new Transaction().add(...depositPlaceOrderIx), - [agent.wallet], - ); - - return signature; - } catch (error: any) { - throw new Error(`Limit Order failed: ${error.message}`); - } -} diff --git a/src/tools/manifest_create_market.ts b/src/tools/manifest_create_market.ts deleted file mode 100644 index e0960f4..0000000 --- a/src/tools/manifest_create_market.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { ManifestClient } from "@cks-systems/manifest-sdk"; -import { - Keypair, - PublicKey, - sendAndConfirmTransaction, - SystemProgram, - Transaction, - TransactionInstruction, -} from "@solana/web3.js"; -import { SolanaAgentKit } from "../index"; - -export async function manifestCreateMarket( - agent: SolanaAgentKit, - baseMint: PublicKey, - quoteMint: PublicKey, -): Promise { - const marketKeypair: Keypair = Keypair.generate(); - const FIXED_MANIFEST_HEADER_SIZE: number = 256; - const createAccountIx: TransactionInstruction = SystemProgram.createAccount({ - fromPubkey: agent.wallet.publicKey, - newAccountPubkey: marketKeypair.publicKey, - space: FIXED_MANIFEST_HEADER_SIZE, - lamports: await agent.connection.getMinimumBalanceForRentExemption( - FIXED_MANIFEST_HEADER_SIZE, - ), - programId: new PublicKey("MNFSTqtC93rEfYHB6hF82sKdZpUDFWkViLByLd1k1Ms"), - }); - const createMarketIx = ManifestClient["createMarketIx"]( - agent.wallet.publicKey, - baseMint, - quoteMint, - marketKeypair.publicKey, - ); - - const tx: Transaction = new Transaction(); - tx.add(createAccountIx); - tx.add(createMarketIx); - const signature = await sendAndConfirmTransaction(agent.connection, tx, [ - agent.wallet, - marketKeypair, - ]); - return [signature, marketKeypair.publicKey.toBase58()]; -} diff --git a/src/tools/batch_order.ts b/src/tools/manifest_trade.ts similarity index 50% rename from src/tools/batch_order.ts rename to src/tools/manifest_trade.ts index 83080fe..e65aef7 100644 --- a/src/tools/batch_order.ts +++ b/src/tools/manifest_trade.ts @@ -1,16 +1,159 @@ -import { - PublicKey, - Transaction, - sendAndConfirmTransaction, - TransactionInstruction, -} from "@solana/web3.js"; import { ManifestClient, - WrapperPlaceOrderParamsExternal, OrderType, + WrapperPlaceOrderParamsExternal, } from "@cks-systems/manifest-sdk"; -import { SolanaAgentKit } from "../index"; -import { BatchOrderPattern, OrderParams } from "../types"; +import { + Keypair, + PublicKey, + sendAndConfirmTransaction, + SystemProgram, + Transaction, + TransactionInstruction, +} from "@solana/web3.js"; +import { BatchOrderPattern, OrderParams, SolanaAgentKit } from "../index"; + +export async function manifestCreateMarket( + agent: SolanaAgentKit, + baseMint: PublicKey, + quoteMint: PublicKey, +): Promise { + const marketKeypair: Keypair = Keypair.generate(); + const FIXED_MANIFEST_HEADER_SIZE: number = 256; + const createAccountIx: TransactionInstruction = SystemProgram.createAccount({ + fromPubkey: agent.wallet.publicKey, + newAccountPubkey: marketKeypair.publicKey, + space: FIXED_MANIFEST_HEADER_SIZE, + lamports: await agent.connection.getMinimumBalanceForRentExemption( + FIXED_MANIFEST_HEADER_SIZE, + ), + programId: new PublicKey("MNFSTqtC93rEfYHB6hF82sKdZpUDFWkViLByLd1k1Ms"), + }); + const createMarketIx = ManifestClient["createMarketIx"]( + agent.wallet.publicKey, + baseMint, + quoteMint, + marketKeypair.publicKey, + ); + + const tx: Transaction = new Transaction(); + tx.add(createAccountIx); + tx.add(createMarketIx); + const signature = await sendAndConfirmTransaction(agent.connection, tx, [ + agent.wallet, + marketKeypair, + ]); + return [signature, marketKeypair.publicKey.toBase58()]; +} + +/** + * Place limit orders using Manifest + * @param agent SolanaAgentKit instance + * @param marketId Public key for the manifest market + * @param quantity Amount to trade in tokens + * @param side Buy or Sell + * @param price Price in tokens ie. SOL/USDC + * @returns Transaction signature + */ +export async function limitOrder( + agent: SolanaAgentKit, + marketId: PublicKey, + quantity: number, + side: string, + price: number, +): Promise { + try { + const mfxClient = await ManifestClient.getClientForMarket( + agent.connection, + marketId, + agent.wallet, + ); + + const orderParams: WrapperPlaceOrderParamsExternal = { + numBaseTokens: quantity, + tokenPrice: price, + isBid: side === "Buy", + lastValidSlot: 0, + orderType: OrderType.Limit, + clientOrderId: Number(Math.random() * 1000), + }; + + const depositPlaceOrderIx: TransactionInstruction[] = + await mfxClient.placeOrderWithRequiredDepositIx( + agent.wallet.publicKey, + orderParams, + ); + const signature = await sendAndConfirmTransaction( + agent.connection, + new Transaction().add(...depositPlaceOrderIx), + [agent.wallet], + ); + + return signature; + } catch (error: any) { + throw new Error(`Limit Order failed: ${error.message}`); + } +} + +/** + * Cancels all orders from Manifest + * @param agent SolanaAgentKit instance + * @param marketId Public key for the manifest market + * @returns Transaction signature + */ +export async function cancelAllOrders( + agent: SolanaAgentKit, + marketId: PublicKey, +): Promise { + try { + const mfxClient = await ManifestClient.getClientForMarket( + agent.connection, + marketId, + agent.wallet, + ); + + const cancelAllOrdersIx = await mfxClient.cancelAllIx(); + const signature = await sendAndConfirmTransaction( + agent.connection, + new Transaction().add(cancelAllOrdersIx), + [agent.wallet], + ); + + return signature; + } catch (error: any) { + throw new Error(`Cancel all orders failed: ${error.message}`); + } +} + +/** + * Withdraws all funds from Manifest + * @param agent SolanaAgentKit instance + * @param marketId Public key for the manifest market + * @returns Transaction signature + */ +export async function withdrawAll( + agent: SolanaAgentKit, + marketId: PublicKey, +): Promise { + try { + const mfxClient = await ManifestClient.getClientForMarket( + agent.connection, + marketId, + agent.wallet, + ); + + const withdrawAllIx = await mfxClient.withdrawAllIx(); + const signature = await sendAndConfirmTransaction( + agent.connection, + new Transaction().add(...withdrawAllIx), + [agent.wallet], + ); + + return signature; + } catch (error: any) { + throw new Error(`Withdraw all failed: ${error.message}`); + } +} /** * Generates an array of orders based on the specified pattern diff --git a/src/tools/withdraw_all.ts b/src/tools/withdraw_all.ts deleted file mode 100644 index 99e3bc1..0000000 --- a/src/tools/withdraw_all.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { - PublicKey, - sendAndConfirmTransaction, - Transaction, -} from "@solana/web3.js"; -import { SolanaAgentKit } from "../index"; -import { ManifestClient } from "@cks-systems/manifest-sdk"; - -/** - * Withdraws all funds from Manifest - * @param agent SolanaAgentKit instance - * @param marketId Public key for the manifest market - * @returns Transaction signature - */ -export async function withdrawAll( - agent: SolanaAgentKit, - marketId: PublicKey, -): Promise { - try { - const mfxClient = await ManifestClient.getClientForMarket( - agent.connection, - marketId, - agent.wallet, - ); - - const withdrawAllIx = await mfxClient.withdrawAllIx(); - const signature = await sendAndConfirmTransaction( - agent.connection, - new Transaction().add(...withdrawAllIx), - [agent.wallet], - ); - - return signature; - } catch (error: any) { - throw new Error(`Withdraw all failed: ${error.message}`); - } -} From 94ffce288e1a632bc829d143e72d4d854ea2c7a3 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 11:00:08 +0530 Subject: [PATCH 035/138] feat: add basic ci workflow --- .github/workflows/build.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..fb3c724 --- /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 \ No newline at end of file From c5588a0b00923cd3153dd0fc13005fcac9080f12 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 11:09:07 +0530 Subject: [PATCH 036/138] fix --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb3c724..8917bd9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,4 +26,4 @@ jobs: - run: pnpm install - run: pnpm run lint - run: pnpm run build - - run: pnpm run test \ No newline at end of file + # - run: pnpm run test # TODO: add mock env for testing \ No newline at end of file From b773f43c3c2532c481f466f55c7f7f1ff87487c0 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 11:14:26 +0530 Subject: [PATCH 037/138] feat: add husky and lint-staged --- .huskyrc | 5 + .lintstagedrc | 6 ++ package.json | 10 +- pnpm-lock.yaml | 284 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 301 insertions(+), 4 deletions(-) create mode 100644 .huskyrc create mode 100644 .lintstagedrc diff --git a/.huskyrc b/.huskyrc new file mode 100644 index 0000000..40b707d --- /dev/null +++ b/.huskyrc @@ -0,0 +1,5 @@ +{ + "hooks": { + "pre-commit": "tsc && lint-staged" + } +} \ No newline at end of file diff --git a/.lintstagedrc b/.lintstagedrc new file mode 100644 index 0000000..16472f9 --- /dev/null +++ b/.lintstagedrc @@ -0,0 +1,6 @@ +{ + "**/*.+(js|jsx|css|less|scss|ts|tsx|md)": [ + "prettier --write", + "git add" + ] +} \ No newline at end of file diff --git a/package.json b/package.json index 95bb3ce..3414942 100644 --- a/package.json +++ b/package.json @@ -44,20 +44,20 @@ "@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 05add17..c9fe3e9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -141,6 +141,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 @@ -1000,6 +1006,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'} @@ -1183,6 +1193,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'} @@ -1190,6 +1208,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'} @@ -1312,6 +1333,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==} @@ -1322,6 +1346,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==} @@ -1447,6 +1475,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==} @@ -1546,6 +1578,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'} @@ -1554,6 +1590,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'} @@ -1630,9 +1670,18 @@ packages: html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + 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 + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1675,6 +1724,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'} @@ -1707,6 +1764,10 @@ packages: 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==} engines: {node: '>= 0.4'} @@ -1872,9 +1933,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'} @@ -1885,6 +1959,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'} @@ -1925,6 +2003,9 @@ packages: mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + 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'} @@ -1963,6 +2044,14 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} + 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==} @@ -2022,6 +2111,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'} @@ -2041,6 +2134,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==} @@ -2109,6 +2210,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'} @@ -2128,6 +2233,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==} @@ -2205,6 +2315,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'} @@ -2217,6 +2331,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 @@ -2275,6 +2392,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==} @@ -2292,6 +2417,10 @@ packages: spok@1.5.5: resolution: {integrity: sha512-IrJIXY54sCNFASyHPOY+jEirkiJ26JDqsGiI0Dvhwcnkl0PEWi1PSsrkYql0rzDw8LFVTcA7rdUCAJdE2HE+2Q==} + 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'} @@ -2300,6 +2429,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==} @@ -2318,6 +2451,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'} @@ -2574,6 +2711,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==} @@ -2604,6 +2745,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'} @@ -4125,6 +4271,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: {} @@ -4310,12 +4460,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 @@ -4413,12 +4574,16 @@ snapshots: emoji-regex-xs@1.0.0: {} + emoji-regex@10.4.0: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} entities@4.5.0: {} + environment@1.1.0: {} + err-code@2.0.3: {} es-define-property@1.0.1: {} @@ -4594,6 +4759,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: {} eyes@0.1.8: {} @@ -4695,6 +4872,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 @@ -4713,6 +4892,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 @@ -4820,10 +5001,14 @@ snapshots: html-void-elements@3.0.0: {} + human-signals@5.0.0: {} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 + husky@9.1.7: {} + ieee754@1.2.1: {} ignore@5.3.2: {} @@ -4855,6 +5040,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 @@ -4886,6 +5077,8 @@ snapshots: is-retry-allowed@2.2.0: {} + is-stream@3.0.0: {} + is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.18 @@ -5040,10 +5233,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 @@ -5052,6 +5271,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: {} @@ -5095,6 +5322,8 @@ snapshots: mdurl@2.0.0: {} + merge-stream@2.0.0: {} + merge2@1.4.1: {} merkletreejs@0.3.11: @@ -5135,6 +5364,10 @@ snapshots: dependencies: mime-db: 1.52.0 + mimic-fn@4.0.0: {} + + mimic-function@5.0.1: {} + minimalistic-assert@1.0.1: {} minimatch@10.0.1: @@ -5176,6 +5409,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 @@ -5201,6 +5438,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 @@ -5272,6 +5517,8 @@ snapshots: path-key@3.1.1: {} + path-key@4.0.0: {} + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -5288,6 +5535,8 @@ snapshots: picomatch@2.3.1: {} + pidtree@0.6.0: {} + poly1305-js@0.4.4: dependencies: big-integer: 1.6.52 @@ -5351,12 +5600,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 @@ -5429,6 +5685,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 @@ -5457,6 +5723,8 @@ snapshots: - jiti - supports-color + string-argv@0.3.2: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -5469,6 +5737,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 @@ -5488,6 +5762,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 @@ -5741,6 +6017,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): @@ -5755,6 +6037,8 @@ snapshots: xsalsa20@1.2.0: {} + yaml@2.6.1: {} + yaml@2.7.0: {} yn@3.1.1: {} From d58417a4440425b91186c03712cacdd7014ffe72 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 11:15:14 +0530 Subject: [PATCH 038/138] test --- src/langchain/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/langchain/index.ts b/src/langchain/index.ts index ac6319f..5ecba3a 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -1471,7 +1471,7 @@ export class SolanaRaydiumCreateClmm extends Tool { startTime: number(seconds), eg: now number or zero (required) `; - constructor(private solanaKit: SolanaAgentKit) { + constructor (private solanaKit: SolanaAgentKit) { super(); } From f9d8261a16647229f958334ff43fc6a41e44a7f4 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 11:17:41 +0530 Subject: [PATCH 039/138] fix --- .husky/pre-commit | 1 + .huskyrc | 5 ----- package.json | 3 ++- 3 files changed, 3 insertions(+), 6 deletions(-) create mode 100644 .husky/pre-commit delete mode 100644 .huskyrc diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..d42474c --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +tsc && lint-staged \ No newline at end of file diff --git a/.huskyrc b/.huskyrc deleted file mode 100644 index 40b707d..0000000 --- a/.huskyrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "hooks": { - "pre-commit": "tsc && lint-staged" - } -} \ No newline at end of file diff --git a/package.json b/package.json index 3414942..9ac0e53 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", From 2d3336c5327e112794b803a610da28e35fc0ec3b Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 11:19:11 +0530 Subject: [PATCH 040/138] fix --- .lintstagedrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.lintstagedrc b/.lintstagedrc index 16472f9..d2aefcf 100644 --- a/.lintstagedrc +++ b/.lintstagedrc @@ -1,6 +1,6 @@ { "**/*.+(js|jsx|css|less|scss|ts|tsx|md)": [ "prettier --write", - "git add" + "eslint --fix" ] } \ No newline at end of file From 0f8edf180a7822ac5a89f487b2a5bb25852f11c6 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 11:19:38 +0530 Subject: [PATCH 041/138] fix --- src/langchain/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 5ecba3a..ac6319f 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -1471,7 +1471,7 @@ export class SolanaRaydiumCreateClmm extends Tool { startTime: number(seconds), eg: now number or zero (required) `; - constructor (private solanaKit: SolanaAgentKit) { + constructor(private solanaKit: SolanaAgentKit) { super(); } From ca38d872b9359a00476474c25c4c8b94d5acb76e Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 11:21:40 +0530 Subject: [PATCH 042/138] chore: docs --- docs/classes/SolanaAgentKit.html | 12 ++++++------ docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- 27 files changed, 56 insertions(+), 56 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index f8872a0..04d317e 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 @@ -63,8 +63,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

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

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 40c059b..05aeb31 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
          | 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..1106683 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..95b51c1 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..75abad6 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 1d3478f..efb8a7e 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 2102f86..cb369cc 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..f609818 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..de6b5b1 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..7a6bb70 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..56dae1c 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..791c3ba 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..0634c31 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..512e044 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..f8cd397 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..8e18d9c 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..c8ea348 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..e3a8c1f 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..3471b75 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..a52256e 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..6e31967 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..25016ed 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..c77bc8e 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..057c0e6 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..22b417b 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..68daef5 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 7721160..2046df3 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
    From 01341e584f698ac7191c303bba34cb40633c54c7 Mon Sep 17 00:00:00 2001 From: thrishank Date: Sun, 5 Jan 2025 12:41:04 +0530 Subject: [PATCH 043/138] fix request --- src/agent/index.ts | 2 +- src/tools/close_empty_token_accounts.ts | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/agent/index.ts b/src/agent/index.ts index 74aa052..8dea198 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -470,7 +470,7 @@ export class SolanaAgentKit { async tensorListNFT(nftMint: PublicKey, price: number): Promise { return listNFTForSale(this, nftMint, price); } - 1; + async tensorCancelListing(nftMint: PublicKey): Promise { return cancelListing(this, nftMint); } diff --git a/src/tools/close_empty_token_accounts.ts b/src/tools/close_empty_token_accounts.ts index 984e27d..428a5ec 100644 --- a/src/tools/close_empty_token_accounts.ts +++ b/src/tools/close_empty_token_accounts.ts @@ -73,7 +73,6 @@ async function create_close_instruction( const accountExceptions = [ "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", // USDC - "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", // USDT ]; for (let i = 0; i < size; i++) { From a8ea9b48213a0a0e58bb87923dbc1d4e0dd079f1 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 12:45:31 +0530 Subject: [PATCH 044/138] chore: docs --- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 16 +++++++++------- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- 28 files changed, 60 insertions(+), 58 deletions(-) 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 04d317e..00ab271 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

    • 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

      • 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 05aeb31..6e91e21 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 1106683..c893d8c 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 95b51c1..e9b5415 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 75abad6..fa2a6db 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index efb8a7e..bf34664 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index cb369cc..e119050 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 f609818..c87f193 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 de6b5b1..e0a23b3 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 7a6bb70..c21f473 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 56dae1c..88a25ce 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 791c3ba..4b58b7a 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 0634c31..7bfab7b 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 512e044..e4bdfcb 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 f8cd397..4220fd0 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 8e18d9c..b7c5c24 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 c8ea348..3b00202 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 e3a8c1f..b7256c2 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 3471b75..5b3d147 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 a52256e..9069138 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 6e31967..c3f7945 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 25016ed..eb543b9 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 c77bc8e..54757dc 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 057c0e6..654d669 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 22b417b..5f81eff 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 68daef5..b938cf0 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 2046df3..a232923 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
    From fabcf636c46a3a93f83192ce7f3a95fe0adc9e1b Mon Sep 17 00:00:00 2001 From: thrishank Date: Sun, 5 Jan 2025 13:04:32 +0530 Subject: [PATCH 045/138] add action file --- src/actions/closeEmptyTokenAccounts.ts | 71 ++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/actions/closeEmptyTokenAccounts.ts diff --git a/src/actions/closeEmptyTokenAccounts.ts b/src/actions/closeEmptyTokenAccounts.ts new file mode 100644 index 0000000..867c25e --- /dev/null +++ b/src/actions/closeEmptyTokenAccounts.ts @@ -0,0 +1,71 @@ +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { closeEmptyTokenAccounts } from "../tools"; + +const closeEmptyTokenAccountsAction: Action = { + name: "CLOSE_EMPTY_TOKEN_ACCOUNTS", + similes: [ + "close token accounts", + "remove empty accounts", + "clean up token accounts", + "close SPL token accounts", + "clean wallet", + ], + description: `Close empty SPL Token accounts associated with your wallet to reclaim rent. + This action will close both regular SPL Token accounts and Token-2022 accounts that have zero balance. `, + examples: [ + [ + { + input: {}, + output: { + status: "success", + signature: + "3KmPyiZvJQk8CfBVVaz8nf3c2crb6iqjQVDqNxknnusyb1FTFpXqD8zVSCBAd1X3rUcD8WiG1bdSjFbeHsmcYGXY", + accountsClosed: 10, + }, + explanation: "Closed 10 empty token accounts successfully.", + }, + ], + [ + { + input: {}, + output: { + status: "success", + signature: "", + accountsClosed: 0, + }, + explanation: "No empty token accounts were found to close.", + }, + ], + ], + schema: z.object({}), + handler: async (agent: SolanaAgentKit) => { + try { + const result = await closeEmptyTokenAccounts(agent); + + if (result.size === 0) { + return { + status: "success", + signature: "", + accountsClosed: 0, + message: "No empty token accounts found to close", + }; + } + + return { + status: "success", + signature: result.signature, + accountsClosed: result.size, + message: `Successfully closed ${result.size} empty token accounts`, + }; + } catch (error: any) { + return { + status: "error", + message: `Failed to close empty token accounts: ${error.message}`, + }; + } + }, +}; + +export default closeEmptyTokenAccountsAction; From 8d2d65904ab73c4a202abe0e105bd8845161dcbf Mon Sep 17 00:00:00 2001 From: thrishank Date: Sun, 5 Jan 2025 13:08:01 +0530 Subject: [PATCH 046/138] lint & format --- src/agent/index.ts | 3 ++- src/tools/index.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/agent/index.ts b/src/agent/index.ts index 9925fb8..3a61d42 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -540,7 +540,8 @@ export class SolanaAgentKit { size: number; }> { return closeEmptyTokenAccounts(this); - + } + async fetchTokenReportSummary(mint: string): Promise { return fetchTokenReportSummary(mint); } diff --git a/src/tools/index.ts b/src/tools/index.ts index f3b132e..f208c26 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -44,9 +44,9 @@ 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 "./withdraw_all"; From 454cb3b8db0a30cd9ae955bcff48ba0fd9a7e6a3 Mon Sep 17 00:00:00 2001 From: thrishank Date: Sun, 5 Jan 2025 13:12:24 +0530 Subject: [PATCH 047/138] add the tool in langchain --- src/langchain/index.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 2e39f5b..05324f2 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -2125,6 +2125,34 @@ export class SolanaFetchTokenDetailedReportTool extends Tool { } } +export class SolanaCloseEmptyTokenAccounts extends Tool { + name = "close_empty_token_accounts"; + description = `Close all empty spl-token accounts and reclaim the rent`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(): Promise { + try { + const { signature, size } = + await this.solanaKit.closeEmptyTokenAccounts(); + + return JSON.stringify({ + status: "success", + message: `${size} accounts closed successfully. ${size === 48 ? "48 accounts can be closed in a single transaction try again to close more accounts" : ""}`, + signature, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), From 46491bc2a4fc309dc6dc28a5433b3c5fadbdfaa5 Mon Sep 17 00:00:00 2001 From: thrishank Date: Sun, 5 Jan 2025 13:47:19 +0530 Subject: [PATCH 048/138] update instructions processing logic --- src/tools/close_empty_token_accounts.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/tools/close_empty_token_accounts.ts b/src/tools/close_empty_token_accounts.ts index 428a5ec..ebc7f78 100644 --- a/src/tools/close_empty_token_accounts.ts +++ b/src/tools/close_empty_token_accounts.ts @@ -27,8 +27,15 @@ export async function closeEmptyTokenAccounts( ); const transaction = new Transaction(); - spl_token.forEach((instruction) => transaction.add(instruction)); - token_2022.forEach((instruction) => transaction.add(instruction)); + const MAX_INSTRUCTIONS = 48; // 25 instructions can be processed in a single transaction without failing + + spl_token + .slice(0, Math.min(MAX_INSTRUCTIONS, spl_token.length)) + .forEach((instruction) => transaction.add(instruction)); + + token_2022 + .slice(0, Math.max(0, MAX_INSTRUCTIONS - spl_token.length)) + .forEach((instruction) => transaction.add(instruction)); const size = spl_token.length + token_2022.length; @@ -69,13 +76,12 @@ async function create_close_instruction( ); const tokens = ata_accounts.value; - const size = tokens.length > 25 ? 24 : tokens.length; // closing 24 accounts in a single transaction const accountExceptions = [ "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", // USDC ]; - for (let i = 0; i < size; i++) { + for (let i = 0; i < tokens.length; i++) { const token_data = AccountLayout.decode(tokens[i].account.data); if ( token_data.amount === BigInt(0) && From 0aa4e5f77ecc297587aba559d34e9f556bad1dd5 Mon Sep 17 00:00:00 2001 From: A91y Date: Sun, 5 Jan 2025 15:44:56 +0530 Subject: [PATCH 049/138] feat: add approve proposal functionality to SolanaAgentKit --- src/agent/index.ts | 8 +++ src/tools/squads_multisig/approve_proposal.ts | 52 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 src/tools/squads_multisig/approve_proposal.ts diff --git a/src/agent/index.ts b/src/agent/index.ts index f8054cf..96b693b 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -53,6 +53,7 @@ import { create_squads_multisig } from "../tools/squads_multisig/create_multisig import { deposit_to_multisig } from "../tools/squads_multisig/deposit_to_multisig"; import { transfer_from_multisig } from "../tools/squads_multisig/transfer_from_multisig"; import { create_proposal } from "../tools/squads_multisig/create_proposal"; +import { approve_proposal } from "../tools/squads_multisig/approve_proposal"; /** * Main class for interacting with Solana blockchain @@ -388,4 +389,11 @@ export class SolanaAgentKit { ): Promise { return create_proposal(this, transactionIndex); } + + async approveMultisigProposal( + proposalId: PublicKey, + transactionIndex?: number | bigint, + ): Promise { + return approve_proposal(this, transactionIndex); + } } diff --git a/src/tools/squads_multisig/approve_proposal.ts b/src/tools/squads_multisig/approve_proposal.ts new file mode 100644 index 0000000..178f4d5 --- /dev/null +++ b/src/tools/squads_multisig/approve_proposal.ts @@ -0,0 +1,52 @@ +import { SolanaAgentKit } from "../../index"; +import * as multisig from "@sqds/multisig"; +const { Multisig } = multisig.accounts; + +/** + * Approves a proposal in a Solana multisig wallet. + * + * @param {SolanaAgentKit} agent - The Solana agent kit instance. + * @param {number | bigint} [transactionIndex] - The index of the transaction to approve. If not provided, the current transaction index will be used. + * @returns {Promise} - A promise that resolves to the transaction ID of the approved proposal. + * @throws {Error} - Throws an error if the approval process fails. + */ +export async function approve_proposal( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + // const [proposalPda, proposalBump] = multisig.getProposalPda({ + // multisigPda, + // transactionIndex, + // }); + const multisigTx = multisig.transactions.proposalApprove({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet.publicKey, + multisigPda, + transactionIndex: transactionIndex, + member: agent.wallet.publicKey, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} From 9cb3477831fcaf466453044ec8b3bf1809f8873f Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 15:45:44 +0530 Subject: [PATCH 050/138] chore: husky docs --- .husky/pre-commit | 2 +- docs/classes/SolanaAgentKit.html | 12 ++++++------ docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/actions/pythFetchPrice.ts | 4 +++- 29 files changed, 60 insertions(+), 58 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index d42474c..58ad181 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1 @@ -tsc && lint-staged \ No newline at end of file +pnpm run docs && git add docs/ && tsc && lint-staged \ No newline at end of file diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 00ab271..149719f 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 @@ -65,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

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
  • Parameters

    • 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

      • 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 6e91e21..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
          | 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
      )[]

    +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 c893d8c..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 e9b5415..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 fa2a6db..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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index bf34664..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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index e119050..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 c87f193..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 e0a23b3..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 c21f473..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 88a25ce..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 4b58b7a..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 7bfab7b..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 e4bdfcb..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 4220fd0..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 b7c5c24..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 3b00202..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 b7256c2..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 5b3d147..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 9069138..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 c3f7945..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 eb543b9..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 54757dc..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 654d669..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 5f81eff..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 b938cf0..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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index a232923..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/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); From 0f7c11982180a0c3c0759fc182cc2eb4f416a66d Mon Sep 17 00:00:00 2001 From: A91y Date: Sun, 5 Jan 2025 15:48:08 +0530 Subject: [PATCH 051/138] refactor: remove unused proposalId parameter from approveMultisigProposal method --- src/agent/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/agent/index.ts b/src/agent/index.ts index 96b693b..c3e7ac5 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -391,7 +391,6 @@ export class SolanaAgentKit { } async approveMultisigProposal( - proposalId: PublicKey, transactionIndex?: number | bigint, ): Promise { return approve_proposal(this, transactionIndex); From ab39b66e40f371129457173a93394e0e970d812a Mon Sep 17 00:00:00 2001 From: A91y Date: Sun, 5 Jan 2025 15:48:45 +0530 Subject: [PATCH 052/138] feat: add executeMultisigTransaction method to SolanaAgentKit and implement transaction execution functionality --- src/agent/index.ts | 7 +++ src/tools/squads_multisig/execute_proposal.ts | 49 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 src/tools/squads_multisig/execute_proposal.ts diff --git a/src/agent/index.ts b/src/agent/index.ts index c3e7ac5..f11177f 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -54,6 +54,7 @@ import { deposit_to_multisig } from "../tools/squads_multisig/deposit_to_multisi import { transfer_from_multisig } from "../tools/squads_multisig/transfer_from_multisig"; import { create_proposal } from "../tools/squads_multisig/create_proposal"; import { approve_proposal } from "../tools/squads_multisig/approve_proposal"; +import { execute_transaction } from "../tools/squads_multisig/execute_proposal"; /** * Main class for interacting with Solana blockchain @@ -395,4 +396,10 @@ export class SolanaAgentKit { ): Promise { return approve_proposal(this, transactionIndex); } + + async executeMultisigTransaction( + transactionIndex?: number | bigint, + ): Promise { + return execute_transaction(this, transactionIndex); + } } diff --git a/src/tools/squads_multisig/execute_proposal.ts b/src/tools/squads_multisig/execute_proposal.ts new file mode 100644 index 0000000..60c21f4 --- /dev/null +++ b/src/tools/squads_multisig/execute_proposal.ts @@ -0,0 +1,49 @@ +import { SolanaAgentKit } from "../../index"; +import * as multisig from "@sqds/multisig"; +const { Multisig } = multisig.accounts; + +/** + * Executes a transaction on the Solana blockchain using the provided agent. + * + * @param {SolanaAgentKit} agent - The Solana agent kit instance containing the wallet and connection. + * @param {number | bigint} [transactionIndex] - Optional transaction index to execute. If not provided, the current transaction index from the multisig account will be used. + * @returns {Promise} - A promise that resolves to the transaction signature string. + * @throws {Error} - Throws an error if the transaction execution fails. + */ +export async function execute_transaction( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + const multisigTx = await multisig.transactions.vaultTransactionExecute({ + connection: agent.connection, + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet.publicKey, + multisigPda, + transactionIndex, + member: agent.wallet.publicKey, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} From e1989c8f7170e24332f7be7f00449c875f33e54d Mon Sep 17 00:00:00 2001 From: A91y Date: Sun, 5 Jan 2025 15:51:30 +0530 Subject: [PATCH 053/138] feat: add rejectMultisigProposal method to SolanaAgentKit and implement proposal rejection functionality --- src/agent/index.ts | 7 +++ src/tools/squads_multisig/reject_proposal.ts | 52 ++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 src/tools/squads_multisig/reject_proposal.ts diff --git a/src/agent/index.ts b/src/agent/index.ts index f11177f..3daa991 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -55,6 +55,7 @@ import { transfer_from_multisig } from "../tools/squads_multisig/transfer_from_m import { create_proposal } from "../tools/squads_multisig/create_proposal"; import { approve_proposal } from "../tools/squads_multisig/approve_proposal"; import { execute_transaction } from "../tools/squads_multisig/execute_proposal"; +import { reject_proposal } from "../tools/squads_multisig/reject_proposal"; /** * Main class for interacting with Solana blockchain @@ -397,6 +398,12 @@ export class SolanaAgentKit { return approve_proposal(this, transactionIndex); } + async rejectMultisigProposal( + transactionIndex?: number | bigint, + ): Promise { + return reject_proposal(this, transactionIndex); + } + async executeMultisigTransaction( transactionIndex?: number | bigint, ): Promise { diff --git a/src/tools/squads_multisig/reject_proposal.ts b/src/tools/squads_multisig/reject_proposal.ts new file mode 100644 index 0000000..1736b6d --- /dev/null +++ b/src/tools/squads_multisig/reject_proposal.ts @@ -0,0 +1,52 @@ +import { SolanaAgentKit } from "../../index"; +import * as multisig from "@sqds/multisig"; +const { Multisig } = multisig.accounts; + +/** + * Rejects a proposal in a Solana multisig setup. + * + * @param agent - The SolanaAgentKit instance containing the wallet and connection. + * @param transactionIndex - Optional. The index of the transaction to reject. If not provided, the current transaction index will be used. + * @returns A promise that resolves to the transaction ID of the rejection transaction. + * @throws Will throw an error if the transaction fails. + */ +export async function reject_proposal( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + // const [proposalPda, proposalBump] = multisig.getProposalPda({ + // multisigPda, + // transactionIndex, + // }); + const multisigTx = multisig.transactions.proposalReject({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet.publicKey, + multisigPda, + transactionIndex: transactionIndex, + member: agent.wallet.publicKey, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} From 8af1b22e9158b4640100e34dcd9b12f958d8e538 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 5 Jan 2025 16:09:00 +0530 Subject: [PATCH 054/138] fix: install pnpm --- .github/workflows/build.yml | 15 +++++++++++---- docs/classes/SolanaAgentKit.html | 12 ++++++------ docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- 28 files changed, 67 insertions(+), 60 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8917bd9..4b967a1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,7 +23,14 @@ jobs: 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 + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 8 + - name: Install dependencies + run: pnpm install + - name: Run lint + run: pnpm run lint + - name: Run build + run: pnpm run build + # - run: pnpm run test # TODO: add mock env for testing diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 149719f..f0aebb1 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 @@ -65,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

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
  • Parameters

    • 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

      • 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 62e32dc..69f6cbd 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
          | 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 0a4cfc3..17d1f55 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 97a7bdc..06d59ce 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 77ebfb5..d525326 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 2e9477e..57fa5b3 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 5aabff3..23e24a4 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 f34c92f..2377d21 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 5d5da73..eee6848 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 6d63f5a..c35a066 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 1dd31ef..1861667 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 e8ffb49..de80422 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 4ce2cdc..d4e44be 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 56c062e..33ede0e 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 f6970cd..3d19c9a 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 5e81a93..2d333d5 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 4b755d0..f8b32c0 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 1434d20..205dbd5 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 37eb2da..6a6d2bb 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 1ab198a..3cd7f3b 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 a8b1ca2..c9caddc 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 dd040f2..b22faef 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 a37f6df..26c3c7c 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 ea18d2c..4a8f6bc 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 93f9306..fae93c8 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 6076f3e..fca3028 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 10cd80e..67af484 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
    From 56d638cd9616eaec3eea9d52b8a69e7dd019bc89 Mon Sep 17 00:00:00 2001 From: aryan Date: Sun, 5 Jan 2025 18:20:06 +0530 Subject: [PATCH 055/138] cache pnpm config --- .github/pull_request_template.md | 64 ++++++++++++++++---------------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index ed52648..6952050 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,33 +1,31 @@ -# Pull Request Description - -## Related Issue -Fixes # (issue number) - -## Changes Made -This PR adds the following changes: - -- -- - -## Implementation Details - -- -- - -## Transaction executed by agent - -Example transaction: - -## Prompt Used - -``` -``` - -## Additional Notes - - -## Checklist -- [ ] I have tested these changes locally -- [ ] I have updated the documentation -- [ ] I have added a transaction link -- [ ] I have added the prompt used to test it +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: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 8 + - 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 + - name: Install dependencies + run: pnpm install + - name: Run lint + run: pnpm run lint + - name: Run build + run: pnpm run build \ No newline at end of file From 0aacffb78d3ee9ed9ea6f44719e8fde37e415c7b Mon Sep 17 00:00:00 2001 From: aryan Date: Sun, 5 Jan 2025 18:21:47 +0530 Subject: [PATCH 056/138] rever pull req template + add build --- .github/pull_request_template.md | 64 ++++++++++++++++---------------- .github/workflows/build.yml | 15 +++----- 2 files changed, 38 insertions(+), 41 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 6952050..ed52648 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,31 +1,33 @@ -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: Install pnpm - uses: pnpm/action-setup@v2 - with: - version: 8 - - 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 - - name: Install dependencies - run: pnpm install - - name: Run lint - run: pnpm run lint - - name: Run build - run: pnpm run build \ No newline at end of file +# Pull Request Description + +## Related Issue +Fixes # (issue number) + +## Changes Made +This PR adds the following changes: + +- +- + +## Implementation Details + +- +- + +## Transaction executed by agent + +Example transaction: + +## Prompt Used + +``` +``` + +## Additional Notes + + +## Checklist +- [ ] I have tested these changes locally +- [ ] I have updated the documentation +- [ ] I have added a transaction link +- [ ] I have added the prompt used to test it diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4b967a1..6952050 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,36 +1,31 @@ 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: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 8 - 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 - - name: Install pnpm - uses: pnpm/action-setup@v2 - with: - version: 8 - name: Install dependencies run: pnpm install - name: Run lint run: pnpm run lint - name: Run build - run: pnpm run build - # - run: pnpm run test # TODO: add mock env for testing + run: pnpm run build \ No newline at end of file From da050d0147cba5ac02318b05553fa37a8771773b Mon Sep 17 00:00:00 2001 From: aryan Date: Sun, 5 Jan 2025 18:27:05 +0530 Subject: [PATCH 057/138] rm explcitiy cache --- .github/workflows/build.yml | 48 ++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6952050..2c836bf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,31 +1,29 @@ -name: Typescript Client CI +name: ci on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] jobs: - build: + check: runs-on: ubuntu-latest - strategy: - matrix: - node-version: [22.x] steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install pnpm - uses: pnpm/action-setup@v2 - with: - version: 8 - - 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 - - name: Install dependencies - run: pnpm install - - name: Run lint - run: pnpm run lint - - name: Run build - run: pnpm run build \ No newline at end of file + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v3 + with: + version: 9.4.0 + + - uses: actions/setup-node@v4 + with: + node-version: "23" + cache: "pnpm" + + - name: Install dependencies + run: pnpm install -r --no-frozen-lockfile + + - name: Run lint + run: pnpm run lint + + - name: Build packages + run: pnpm run build \ No newline at end of file From 07d058e6e7fcb3d197311d53f73ab2d879cbed76 Mon Sep 17 00:00:00 2001 From: aryan Date: Sun, 5 Jan 2025 18:29:59 +0530 Subject: [PATCH 058/138] lint fix --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2c836bf..c862186 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,9 +21,9 @@ jobs: - name: Install dependencies run: pnpm install -r --no-frozen-lockfile - - - name: Run lint - run: pnpm run lint + + - name: Run lint and fix + run: pnpm run lint:fix - name: Build packages - run: pnpm run build \ No newline at end of file + run: pnpm run build From d90ee517d65e103e9f22419090119f621e544b4f Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Sun, 5 Jan 2025 20:34:28 +0530 Subject: [PATCH 059/138] hermes client for flash price feed --- docs/assets/hierarchy.js | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 20 +- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +- docs/interfaces/ActionExample.html | 4 +- docs/interfaces/BatchOrderPattern.html | 4 +- docs/interfaces/CollectionDeployment.html | 4 +- docs/interfaces/CollectionOptions.html | 4 +- docs/interfaces/Config.html | 4 +- docs/interfaces/Creator.html | 4 +- docs/interfaces/FetchPriceResponse.html | 4 +- docs/interfaces/GibworkCreateTaskReponse.html | 4 +- docs/interfaces/JupiterTokenData.html | 4 +- .../LuloAccountDetailsResponse.html | 4 +- .../interfaces/MintCollectionNFTResponse.html | 4 +- docs/interfaces/OrderParams.html | 4 +- docs/interfaces/PumpFunTokenOptions.html | 4 +- docs/interfaces/PumpfunLaunchResponse.html | 4 +- docs/interfaces/PythFetchPriceResponse.html | 4 +- docs/interfaces/PythPriceFeedIDItem.html | 4 +- docs/interfaces/PythPriceItem.html | 4 +- docs/interfaces/TokenCheck.html | 4 +- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- package.json | 1 + pnpm-lock.yaml | 121 ++++ src/langchain/index.ts | 14 +- src/utils/flashUtils.ts | 590 +++++++++--------- 34 files changed, 472 insertions(+), 380 deletions(-) diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js index fb85f0a..88636f0 100644 --- a/docs/assets/hierarchy.js +++ b/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm" \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 4268dc8..3e76375 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNlcFu2zAMQP9F52Bps7XdcsuSZU3XNUFr7DLswMp0LFiWDIneEgz79yFOUNuxTOfig/n4KEuU+fOvINyRmIoXq8HAbIuGvikSI1EApWIqpAbv0Y/b8Xcp5VqMRKZMLKbXk4//Rm+mmSRlTW1QhtAlINGPj6F28uTmtpP8ZQd5oZFxnAhO9RlIpmsXo9sAEbrwkjoUp5xbrbGqv8BC232OhoLWEHiZeF0cnn7AeqJ4pUnUtsdzCLHJDoGsC2cfY1z6EkmmG6ckPqMvrPHho+xinPSrev1jXVaVxwh89oz96j6YK/BQForQRTZDswCCoPgc4oSPpbYzKW1paIEESnt2O/pxrsh3ZahujKdlxNbopbkSp+vhIA/3ZSPOaTZlXiSleYTSyJRdZZAcUi9LU50Kd4MCHKvdU3phL4fRIXkFLxHj1WJFmPeaz7iLtMPCIVW1TfMUZRb01GFOcg8m1tj4ldC+QD8+vT7LvPp0d30zac6DebRaP73U2b/BKXjVh0FwDLUN75vJsrr9x8kVWasbPZGUproBftyB2sLbDx3hD3QS9Ww1oGxhjBR3KEvC87FZ61oAI0qUifstdZRRbJFa8zX4eR2oI/z1H/fI5D8=" \ No newline at end of file +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 diff --git a/docs/assets/search.js b/docs/assets/search.js index 86069d6..c1760b6 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 149719f..1c0e5e1 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 @@ -17,6 +17,8 @@ Provides a unified interface for token operations, NFT management, trading and m fetchTokenDetailedReport fetchTokenPrice fetchTokenReportSummary +flashCloseTrade +flashOpenTrade getAllDomainsTLDs getAllRegisteredAllDomains getBalance @@ -65,8 +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>

    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
  • Parameters

    • 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

        +

      Returns Promise<string>

      Transaction signature

      +
    • 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 62e32dc..86f1f2d 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
          | 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 0a4cfc3..56fc5d3 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 97a7bdc..05914e1 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 77ebfb5..b374d5c 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 2e9477e..0900b3a 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 5aabff3..e7bb267 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 f34c92f..d7bd2e4 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 5d5da73..c359c78 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 6d63f5a..79dde67 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 1dd31ef..76285b3 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 e8ffb49..6ab645a 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 4ce2cdc..82a2fe5 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 56c062e..bfbc2bc 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 f6970cd..2e13301 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 5e81a93..0bd1b89 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 4b755d0..655faa4 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 1434d20..0aeceb9 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 37eb2da..e84bf9e 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 1ab198a..f136e80 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 a8b1ca2..6323ce2 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 dd040f2..b529966 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 a37f6df..38d24b1 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 ea18d2c..89d6f9a 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 93f9306..85972e3 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 6076f3e..516c690 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 10cd80e..2397c2d 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 5118f5a..0f396d2 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "@onsol/tldparser": "^0.6.7", "@orca-so/common-sdk": "0.6.4", "@orca-so/whirlpools-sdk": "^0.13.12", + "@pythnetwork/hermes-client": "^1.3.0", "@raydium-io/raydium-sdk-v2": "0.1.95-alpha", "@solana/spl-token": "^0.4.9", "@solana/web3.js": "^1.98.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c33cd86..157d2bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -65,6 +65,9 @@ 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/hermes-client': + specifier: ^1.3.0 + version: 1.3.0(axios@1.7.9) '@raydium-io/raydium-sdk-v2': specifier: 0.1.95-alpha version: 0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -618,6 +621,21 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pythnetwork/client@2.22.0': + resolution: {integrity: sha512-Cyv23YqewKUL1pcm99jfmdetUa2aaUXjyRF9jvSeFcY895FddRu7uSWftYiaevsnx7vn4WbJgQR6ExxH+aONow==} + peerDependencies: + '@solana/web3.js': ^1.30.2 + + '@pythnetwork/hermes-client@1.3.0': + resolution: {integrity: sha512-SneB+LJSD6pNnG2JUuAgbHNi1qFDcnrIiMuU60FQxZMtIWP09YFMR64vxWxVawyqR93t0iQHcV5HT/hhfmqYOQ==} + + '@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==} @@ -1007,6 +1025,12 @@ packages: '@ungap/structured-clone@1.2.1': resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + '@zodios/core@10.9.6': + resolution: {integrity: sha512-aH4rOdb3AcezN7ws8vDgBfGboZMk2JGGzEq/DtW65MhnRxyTGRuLJRWVQ/2KxDgWvV2F5oTkAS+5pnjKbl0n+A==} + peerDependencies: + axios: ^0.x || ^1.0.0 + zod: ^3.x + JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -1102,6 +1126,9 @@ 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==} @@ -1582,6 +1609,10 @@ packages: resolution: {integrity: sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==} engines: {node: '>=18.0.0'} + eventsource@2.0.2: + resolution: {integrity: sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==} + engines: {node: '>=12.0.0'} + execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -1700,6 +1731,10 @@ packages: resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} engines: {node: '>= 12.20'} + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -1911,6 +1946,10 @@ 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} @@ -2777,6 +2816,9 @@ 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 @@ -3780,6 +3822,43 @@ snapshots: '@pkgr/core@0.1.1': {} + '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@pythnetwork/hermes-client@1.3.0(axios@1.7.9)': + dependencies: + '@zodios/core': 10.9.6(axios@1.7.9)(zod@3.24.1) + eventsource: 2.0.2 + zod: 3.24.1 + transitivePeerDependencies: + - axios + + '@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 @@ -4598,6 +4677,11 @@ snapshots: '@ungap/structured-clone@1.2.1': {} + '@zodios/core@10.9.6(axios@1.7.9)(zod@3.24.1)': + dependencies: + axios: 1.7.9 + zod: 3.24.1 + JSONStream@1.3.5: dependencies: jsonparse: 1.3.1 @@ -4686,6 +4770,11 @@ 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 @@ -5180,6 +5269,8 @@ snapshots: eventsource-parser@3.0.0: {} + eventsource@2.0.2: {} + execa@8.0.1: dependencies: cross-spawn: 7.0.6 @@ -5380,6 +5471,10 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 4.0.0-beta.3 + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + forwarded@0.2.0: {} fresh@0.5.2: {} @@ -5607,6 +5702,8 @@ 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: @@ -5621,6 +5718,10 @@ 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 @@ -6460,6 +6561,26 @@ snapshots: dependencies: typescript: 5.7.2 + ts-log@2.2.7: {} + + ts-node@10.9.2(@types/node@20.17.11)(typescript@5.7.2): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.17.11 + acorn: 8.14.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.7.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 5201d2b..3e3c375 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -782,15 +782,7 @@ export class SolanaFlashOpenTrade extends Tool { token: string, one of ["SOL", "BTC", "ETH"] (required) side: string, either "long" or "short" (required) collateralUsd: number, amount in USD for collateral eg 10 (required) - leverage: number, eg 5 for 5x leverage (required) - - Example: - { - "token": "SOL", - "side": "long", - "collateralUsd": 10, - "leverage": 5 - }`; + leverage: number, eg 5 for 5 times the leverage on collateral amount (required)`; constructor(private solanaKit: SolanaAgentKit) { super(); @@ -817,6 +809,8 @@ export class SolanaFlashOpenTrade extends Tool { throw new Error("Leverage must be positive"); } + console.log(parsedInput); + const tx = await this.solanaKit.flashOpenTrade({ token: parsedInput.token, side: parsedInput.side, @@ -898,7 +892,6 @@ export class SolanaFlashCloseTrade extends Tool { } } - export class SolanaPumpfunTokenLaunchTool extends Tool { name = "solana_launch_pumpfun_token"; @@ -2308,4 +2301,3 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaFlashCloseTrade(solanaKit), ]; } - diff --git a/src/utils/flashUtils.ts b/src/utils/flashUtils.ts index 0b1a2ef..87cda80 100644 --- a/src/utils/flashUtils.ts +++ b/src/utils/flashUtils.ts @@ -1,310 +1,280 @@ -import { PriceServiceConnection } from "@pythnetwork/price-service-client"; -import { OraclePrice } from "flash-sdk"; -import { AnchorProvider, BN, Wallet } from "@coral-xyz/anchor"; -import { PoolConfig, Token, Referral, PerpetualsClient } from "flash-sdk"; -import { Cluster, PublicKey, Connection, Keypair } from "@solana/web3.js"; -import { getAssociatedTokenAddressSync } from "@solana/spl-token"; - -const POOL_NAMES = [ - "Crypto.1", - "Virtual.1", - "Governance.1", - "Community.1", - "Community.2", - "Community.3", -]; - -const DEFAULT_CLUSTER: Cluster = "mainnet-beta"; -export const POOL_CONFIGS = POOL_NAMES.map((f) => - PoolConfig.fromIdsByName(f, DEFAULT_CLUSTER), -); - -const DUPLICATE_TOKENS = POOL_CONFIGS.map((f) => f.tokens).flat(); -const tokenMap = new Map(); -for (const token of DUPLICATE_TOKENS) { - tokenMap.set(token.symbol, token); -} -export const ALL_TOKENS: Token[] = Array.from(tokenMap.values()); -export const ALL_CUSTODIES = POOL_CONFIGS.map((f) => f.custodies).flat(); -const PROGRAM_ID = POOL_CONFIGS[0].programId; - -// CU for trade instructions -export const OPEN_POSITION_CU = 150_000; -export const CLOSE_POSITION_CU = 180_000; - -const HERMES_URL = "https://hermes.pyth.network"; // Replace with the actual Hermes URL if different - -// Create a map of symbol to Pyth price ID -const PRICE_FEED_IDS = ALL_TOKENS.reduce( - (acc, token) => { - acc[token.symbol] = token.pythPriceId; - return acc; - }, - {} as { [key: string]: string }, -); - -const priceServiceConnection = new PriceServiceConnection(HERMES_URL, { - priceFeedRequestConfig: { - binary: true, - }, -}); - -export interface PythPriceEntry { - price: OraclePrice; - emaPrice: OraclePrice; - isStale: boolean; - status: PriceStatus; -} - -export enum PriceStatus { - Trading, - Unknown, - Halted, - Auction, -} - -export const fetchOraclePrice = async ( - symbol: string, -): Promise => { - const priceFeedId = PRICE_FEED_IDS[symbol]; - if (!priceFeedId) { - throw new Error(`Price feed ID not found for symbol: ${symbol}`); - } - - try { - const priceFeed = await priceServiceConnection.getLatestPriceFeeds([ - priceFeedId, - ]); - - if (!priceFeed || priceFeed.length === 0) { - throw new Error(`No price feed received for ${symbol}`); - } - - const price = priceFeed[0].getPriceUnchecked(); - const emaPrice = priceFeed[0].getEmaPriceUnchecked(); - - const priceOracle = new OraclePrice({ - price: new BN(price.price), - exponent: new BN(price.expo), - confidence: new BN(price.conf), - timestamp: new BN(price.publishTime), - }); - - const emaPriceOracle = new OraclePrice({ - price: new BN(emaPrice.price), - exponent: new BN(emaPrice.expo), - confidence: new BN(emaPrice.conf), - timestamp: new BN(emaPrice.publishTime), - }); - - const token = ALL_TOKENS.find((t) => t.pythPriceId === priceFeedId); - if (!token) { - throw new Error(`Token not found for price feed ID: ${priceFeedId}`); - } - - const status = !token.isVirtual ? PriceStatus.Trading : PriceStatus.Unknown; - - const pythPriceEntry: PythPriceEntry = { - price: priceOracle, - emaPrice: emaPriceOracle, - isStale: false, - status: status, - }; - - return pythPriceEntry; - } catch (error) { - console.error(`Error in fetchOraclePrice for ${symbol}:`, error); - throw error; - } -}; - -// If you need to get all price IDs for subscription or other purposes -export const getAllPriceIds = () => ALL_TOKENS.map((t) => t.pythPriceId); - -export const subscribeToPriceFeeds = ( - callback: (symbol: string, priceEntry: PythPriceEntry) => void, -) => { - const priceIds = getAllPriceIds(); - priceServiceConnection.subscribePriceFeedUpdates(priceIds, (priceFeed) => { - const token = ALL_TOKENS.find((f) => f.pythPriceId === `0x${priceFeed.id}`); - if (token) { - const priceOracle = new OraclePrice({ - price: new BN(priceFeed.getPriceUnchecked().price), - exponent: new BN(priceFeed.getPriceUnchecked().expo), - confidence: new BN(priceFeed.getPriceUnchecked().conf), - timestamp: new BN(priceFeed.getPriceUnchecked().publishTime), - }); - const emaPriceOracle = new OraclePrice({ - price: new BN(priceFeed.getEmaPriceUnchecked().price), - exponent: new BN(priceFeed.getEmaPriceUnchecked().expo), - confidence: new BN(priceFeed.getEmaPriceUnchecked().conf), - timestamp: new BN(priceFeed.getEmaPriceUnchecked().publishTime), - }); - - const status = !token.isVirtual - ? PriceStatus.Trading - : PriceStatus.Unknown; - const priceEntry: PythPriceEntry = { - price: priceOracle, - emaPrice: emaPriceOracle, - isStale: false, - status: status, - }; - callback(token.symbol, priceEntry); - } - }); -}; - -export interface MarketInfo { - [key: string]: { - tokenPair: string; - token: string; - side: string; - pool: string; - }; -} - -const marketSdkInfo: MarketInfo = {}; - -// Loop through POOL_CONFIGS to process each market -POOL_CONFIGS.forEach((poolConfig) => { - poolConfig.markets.forEach((market) => { - const targetToken = ALL_TOKENS.find( - (token) => token.mintKey.toString() === market.targetMint.toString(), - ); - - // Find collateral token by matching mintKey - const collateralToken = ALL_TOKENS.find( - (token) => token.mintKey.toString() === market.collateralMint.toString(), - ); - - if (targetToken?.symbol && collateralToken?.symbol) { - marketSdkInfo[market.marketAccount.toString()] = { - tokenPair: `${targetToken.symbol}/${collateralToken.symbol}`, - token: targetToken.symbol, - side: Object.keys(market.side)[0], - pool: poolConfig.poolName, - }; - } - }); -}); - -export { marketSdkInfo }; - -export interface MarketTokenSides { - [token: string]: { - long?: { marketID: string }; - short?: { marketID: string }; - }; -} - -const marketTokenMap: MarketTokenSides = {}; - -// Convert marketSdkInfo into marketTokenMap -Object.entries(marketSdkInfo).forEach(([marketID, info]) => { - if (!marketTokenMap[info.token]) { - marketTokenMap[info.token] = {}; - } - - marketTokenMap[info.token][info.side.toLowerCase() as 'long' | 'short'] = { - marketID - }; -}); - -export { marketTokenMap }; - -interface TradingAccountResult { - nftReferralAccountPK: PublicKey | null; - nftTradingAccountPk: PublicKey | null; - nftOwnerRebateTokenAccountPk: PublicKey | null; -} - -export async function getNftTradingAccountInfo( - userPublicKey: PublicKey, - perpClient: PerpetualsClient, - poolConfig: PoolConfig, - collateralCustodySymbol: string, -): Promise { - const getNFTReferralAccountPK = (publicKey: PublicKey) => { - return PublicKey.findProgramAddressSync( - [Buffer.from("referral"), publicKey.toBuffer()], - PROGRAM_ID, - )[0]; - }; - const nftReferralAccountPK = getNFTReferralAccountPK(userPublicKey); - const nftReferralAccountInfo = - await perpClient.provider.connection.getAccountInfo(nftReferralAccountPK); - - let nftTradingAccountPk: PublicKey | null = null; - let nftOwnerRebateTokenAccountPk: PublicKey | null = null; - - if (nftReferralAccountInfo) { - const nftReferralAccountData = perpClient.program.coder.accounts.decode( - "referral", - nftReferralAccountInfo.data, - ) as Referral; - - nftTradingAccountPk = nftReferralAccountData.refererTradingAccount; - - if (nftTradingAccountPk) { - const nftTradingAccountInfo = - await perpClient.provider.connection.getAccountInfo( - nftTradingAccountPk, - ); - if (nftTradingAccountInfo) { - const nftTradingAccount = perpClient.program.coder.accounts.decode( - "trading", - nftTradingAccountInfo.data, - ) as { owner: PublicKey }; - - nftOwnerRebateTokenAccountPk = getAssociatedTokenAddressSync( - poolConfig.getTokenFromSymbol(collateralCustodySymbol).mintKey, - nftTradingAccount.owner, - ); - // Check if the account exists - const accountExists = - await perpClient.provider.connection.getAccountInfo( - nftOwnerRebateTokenAccountPk, - ); - if (!accountExists) { - console.log( - "NFT owner rebate token account does not exist and may need to be created", - ); - } - } - } - } - - return { - nftReferralAccountPK, - nftTradingAccountPk, - nftOwnerRebateTokenAccountPk, - }; -} - -/** - * Creates a new PerpetualsClient instance with the given connection and wallet - * @param connection Solana connection - * @param wallet Solana wallet - * @returns PerpetualsClient instance - */ -export function createPerpClient(connection: Connection, wallet: Keypair): PerpetualsClient { - const provider = new AnchorProvider( - connection, - new Wallet(wallet), - { - commitment: 'confirmed', - preflightCommitment: 'confirmed', - skipPreflight: true - } - ); - - return new PerpetualsClient( - provider, - POOL_CONFIGS[0].programId, - POOL_CONFIGS[0].perpComposibilityProgramId, - POOL_CONFIGS[0].fbNftRewardProgramId, - POOL_CONFIGS[0].rewardDistributionProgram.programId, - {} - ); -} \ No newline at end of file +import { HermesClient } from "@pythnetwork/hermes-client"; +import { OraclePrice } from "flash-sdk"; +import { AnchorProvider, BN, Wallet } from "@coral-xyz/anchor"; +import { PoolConfig, Token, Referral, PerpetualsClient } from "flash-sdk"; +import { Cluster, PublicKey, Connection, Keypair } from "@solana/web3.js"; +import { getAssociatedTokenAddressSync } from "@solana/spl-token"; + +const POOL_NAMES = [ + "Crypto.1", + "Virtual.1", + "Governance.1", + "Community.1", + "Community.2", + "Community.3", +]; + +const DEFAULT_CLUSTER: Cluster = "mainnet-beta"; +export const POOL_CONFIGS = POOL_NAMES.map((f) => + PoolConfig.fromIdsByName(f, DEFAULT_CLUSTER), +); + +const DUPLICATE_TOKENS = POOL_CONFIGS.map((f) => f.tokens).flat(); +const tokenMap = new Map(); +for (const token of DUPLICATE_TOKENS) { + tokenMap.set(token.symbol, token); +} +export const ALL_TOKENS: Token[] = Array.from(tokenMap.values()); +export const ALL_CUSTODIES = POOL_CONFIGS.map((f) => f.custodies).flat(); +const PROGRAM_ID = POOL_CONFIGS[0].programId; + +// CU for trade instructions +export const OPEN_POSITION_CU = 150_000; +export const CLOSE_POSITION_CU = 180_000; + +const HERMES_URL = "https://hermes.pyth.network"; // Replace with the actual Hermes URL if different + +// Create a map of symbol to Pyth price ID +const PRICE_FEED_IDS = ALL_TOKENS.reduce( + (acc, token) => { + acc[token.symbol] = token.pythPriceId; + return acc; + }, + {} as { [key: string]: string }, +); + +const hermesClient = new HermesClient(HERMES_URL, {}); + +export interface PythPriceEntry { + price: OraclePrice; + emaPrice: OraclePrice; + isStale: boolean; + status: PriceStatus; +} + +export enum PriceStatus { + Trading, + Unknown, + Halted, + Auction, +} + +export const fetchOraclePrice = async ( + symbol: string, +): Promise => { + const priceFeedId = PRICE_FEED_IDS[symbol]; + if (!priceFeedId) { + throw new Error(`Price feed ID not found for symbol: ${symbol}`); + } + + try { + const hermesPriceFeed = await hermesClient.getPriceFeeds({ + query: symbol, + filter: "crypto", + }); + + if (!hermesPriceFeed || hermesPriceFeed.length === 0) { + throw new Error(`No price feed received for ${symbol}`); + } + + const hemrmesPriceUdpate = await hermesClient.getLatestPriceUpdates( + [priceFeedId], + { + encoding: "hex", + parsed: true, + }, + ); + + if (!hemrmesPriceUdpate.parsed) { + throw new Error(`No price feed received for ${symbol}`); + } + const hermesEma = hemrmesPriceUdpate.parsed[0].ema_price; + const hermesPrice = hemrmesPriceUdpate.parsed[0].price; + + const hermesPriceOracle = new OraclePrice({ + price: new BN(hermesPrice.price), + exponent: new BN(hermesPrice.expo), + confidence: new BN(hermesPrice.conf), + timestamp: new BN(hermesPrice.publish_time), + }); + + const hermesEmaOracle = new OraclePrice({ + price: new BN(hermesEma.price), + exponent: new BN(hermesEma.expo), + confidence: new BN(hermesEma.conf), + timestamp: new BN(hermesEma.publish_time), + }); + + const token = ALL_TOKENS.find((t) => t.pythPriceId === priceFeedId); + if (!token) { + throw new Error(`Token not found for price feed ID: ${priceFeedId}`); + } + + const status = !token.isVirtual ? PriceStatus.Trading : PriceStatus.Unknown; + + const pythPriceEntry: PythPriceEntry = { + price: hermesPriceOracle, + emaPrice: hermesEmaOracle, + isStale: false, + status: status, + }; + + return pythPriceEntry; + } catch (error) { + console.error(`Error in fetchOraclePrice for ${symbol}:`, error); + throw error; + } +}; + +export interface MarketInfo { + [key: string]: { + tokenPair: string; + token: string; + side: string; + pool: string; + }; +} + +const marketSdkInfo: MarketInfo = {}; + +// Loop through POOL_CONFIGS to process each market +POOL_CONFIGS.forEach((poolConfig) => { + poolConfig.markets.forEach((market) => { + const targetToken = ALL_TOKENS.find( + (token) => token.mintKey.toString() === market.targetMint.toString(), + ); + + // Find collateral token by matching mintKey + const collateralToken = ALL_TOKENS.find( + (token) => token.mintKey.toString() === market.collateralMint.toString(), + ); + + if (targetToken?.symbol && collateralToken?.symbol) { + marketSdkInfo[market.marketAccount.toString()] = { + tokenPair: `${targetToken.symbol}/${collateralToken.symbol}`, + token: targetToken.symbol, + side: Object.keys(market.side)[0], + pool: poolConfig.poolName, + }; + } + }); +}); + +export { marketSdkInfo }; + +export interface MarketTokenSides { + [token: string]: { + long?: { marketID: string }; + short?: { marketID: string }; + }; +} + +const marketTokenMap: MarketTokenSides = {}; + +// Convert marketSdkInfo into marketTokenMap +Object.entries(marketSdkInfo).forEach(([marketID, info]) => { + if (!marketTokenMap[info.token]) { + marketTokenMap[info.token] = {}; + } + + marketTokenMap[info.token][info.side.toLowerCase() as "long" | "short"] = { + marketID, + }; +}); + +export { marketTokenMap }; + +interface TradingAccountResult { + nftReferralAccountPK: PublicKey | null; + nftTradingAccountPk: PublicKey | null; + nftOwnerRebateTokenAccountPk: PublicKey | null; +} + +export async function getNftTradingAccountInfo( + userPublicKey: PublicKey, + perpClient: PerpetualsClient, + poolConfig: PoolConfig, + collateralCustodySymbol: string, +): Promise { + const getNFTReferralAccountPK = (publicKey: PublicKey) => { + return PublicKey.findProgramAddressSync( + [Buffer.from("referral"), publicKey.toBuffer()], + PROGRAM_ID, + )[0]; + }; + const nftReferralAccountPK = getNFTReferralAccountPK(userPublicKey); + const nftReferralAccountInfo = + await perpClient.provider.connection.getAccountInfo(nftReferralAccountPK); + + let nftTradingAccountPk: PublicKey | null = null; + let nftOwnerRebateTokenAccountPk: PublicKey | null = null; + + if (nftReferralAccountInfo) { + const nftReferralAccountData = perpClient.program.coder.accounts.decode( + "referral", + nftReferralAccountInfo.data, + ) as Referral; + + nftTradingAccountPk = nftReferralAccountData.refererTradingAccount; + + if (nftTradingAccountPk) { + const nftTradingAccountInfo = + await perpClient.provider.connection.getAccountInfo( + nftTradingAccountPk, + ); + if (nftTradingAccountInfo) { + const nftTradingAccount = perpClient.program.coder.accounts.decode( + "trading", + nftTradingAccountInfo.data, + ) as { owner: PublicKey }; + + nftOwnerRebateTokenAccountPk = getAssociatedTokenAddressSync( + poolConfig.getTokenFromSymbol(collateralCustodySymbol).mintKey, + nftTradingAccount.owner, + ); + // Check if the account exists + const accountExists = + await perpClient.provider.connection.getAccountInfo( + nftOwnerRebateTokenAccountPk, + ); + if (!accountExists) { + console.log( + "NFT owner rebate token account does not exist and may need to be created", + ); + } + } + } + } + + return { + nftReferralAccountPK, + nftTradingAccountPk, + nftOwnerRebateTokenAccountPk, + }; +} + +/** + * Creates a new PerpetualsClient instance with the given connection and wallet + * @param connection Solana connection + * @param wallet Solana wallet + * @returns PerpetualsClient instance + */ +export function createPerpClient( + connection: Connection, + wallet: Keypair, +): PerpetualsClient { + const provider = new AnchorProvider(connection, new Wallet(wallet), { + commitment: "confirmed", + preflightCommitment: "confirmed", + skipPreflight: true, + }); + + return new PerpetualsClient( + provider, + POOL_CONFIGS[0].programId, + POOL_CONFIGS[0].perpComposibilityProgramId, + POOL_CONFIGS[0].fbNftRewardProgramId, + POOL_CONFIGS[0].rewardDistributionProgram.programId, + {}, + ); +} From 6f85cbddcde18aa12ec85616d125554144158b9a Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Mon, 6 Jan 2025 10:07:58 +0530 Subject: [PATCH 060/138] flash open and close position --- docs/classes/SolanaAgentKit.html | 16 ++--- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 ++-- docs/interfaces/ActionExample.html | 4 +- docs/interfaces/BatchOrderPattern.html | 4 +- docs/interfaces/CollectionDeployment.html | 4 +- docs/interfaces/CollectionOptions.html | 4 +- docs/interfaces/Config.html | 4 +- docs/interfaces/Creator.html | 4 +- docs/interfaces/FetchPriceResponse.html | 4 +- docs/interfaces/GibworkCreateTaskReponse.html | 4 +- docs/interfaces/JupiterTokenData.html | 4 +- .../LuloAccountDetailsResponse.html | 4 +- .../interfaces/MintCollectionNFTResponse.html | 4 +- docs/interfaces/OrderParams.html | 4 +- docs/interfaces/PumpFunTokenOptions.html | 4 +- docs/interfaces/PumpfunLaunchResponse.html | 4 +- docs/interfaces/PythFetchPriceResponse.html | 4 +- docs/interfaces/PythPriceFeedIDItem.html | 4 +- docs/interfaces/PythPriceItem.html | 4 +- docs/interfaces/TokenCheck.html | 4 +- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/langchain/index.ts | 69 +++++++++++-------- 28 files changed, 97 insertions(+), 88 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 1c0e5e1..b197b99 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

    • 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

      Returns Promise<string>

      Transaction signature

      -
    • Opens a new trading position on Flash.Trade

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

    +
    • 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 86f1f2d..d7b0810 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 56fc5d3..52ea314 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 05914e1..1667fa0 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 b374d5c..90b280e 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 0900b3a..d8b9d1c 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index e7bb267..2acfea9 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 d7bd2e4..de5901b 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 c359c78..e878ad4 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 79dde67..aad01cf 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 76285b3..691cad1 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 6ab645a..de0cf1d 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 82a2fe5..5ba7578 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 bfbc2bc..dc5f168 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 2e13301..6ee732f 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 0bd1b89..904e265 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 655faa4..c7d0ea0 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 0aeceb9..c08a446 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 e84bf9e..215537b 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 f136e80..085151e 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 6323ce2..cb76516 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 b529966..ec9c7f5 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 38d24b1..8fe5270 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 89d6f9a..9591b0b 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 85972e3..5c3520f 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 516c690..dcfcf14 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 2397c2d..b9c85c6 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/langchain/index.ts b/src/langchain/index.ts index 3e3c375..bcb824d 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -776,13 +776,15 @@ export class SolanaGetWalletAddressTool extends Tool { export class SolanaFlashOpenTrade extends Tool { name = "solana_flash_open_trade"; - description = `Opens a new leveraged trading position on Flash.Trade exchange. + description = `This tool can be used to open a new leveraged trading position on Flash.Trade exchange. - Inputs (input is a JSON string): - token: string, one of ["SOL", "BTC", "ETH"] (required) - side: string, either "long" or "short" (required) - collateralUsd: number, amount in USD for collateral eg 10 (required) - leverage: number, eg 5 for 5 times the leverage on collateral amount (required)`; + Inputs ( input is a JSON string ): + token: string, eg "SOL", "BTC", "ETH" (required) + type: string, eg "long", "short" (required) + collateral: number, eg 10, 100, 1000 (required) + leverage: number, eg 5, 10, 20 (required) + + Example prompt is Open a 20x leveraged trade for SOL on long side using flash trade with 500 USD as collateral`; constructor(private solanaKit: SolanaAgentKit) { super(); @@ -792,29 +794,40 @@ export class SolanaFlashOpenTrade extends Tool { try { const parsedInput = JSON.parse(input); + console.log(parsedInput); + // Validate input parameters if (!parsedInput.token) { - throw new Error("Token is required"); + throw new Error("Token is required, received: " + parsedInput.token); } - if (!["SOL", "BTC", "ETH"].includes(parsedInput.token)) { - throw new Error('Token must be one of ["SOL", "BTC", "ETH"]'); + if (!["SOL", "BTC", "ETH", "USDC"].includes(parsedInput.token)) { + throw new Error( + 'Token must be one of ["SOL", "BTC", "ETH", "USDC"], received: ' + + parsedInput.token, + ); } - if (!["long", "short"].includes(parsedInput.side)) { - throw new Error('Side must be either "long" or "short"'); + if (!["long", "short"].includes(parsedInput.type)) { + throw new Error( + 'Type must be either "long" or "short", received: ' + + parsedInput.type, + ); } - if (!parsedInput.collateralUsd || parsedInput.collateralUsd <= 0) { - throw new Error("Collateral USD amount must be positive"); + if (!parsedInput.collateral || parsedInput.collateral <= 0) { + throw new Error( + "Collateral amount must be positive, received: " + + parsedInput.collateral, + ); } if (!parsedInput.leverage || parsedInput.leverage <= 0) { - throw new Error("Leverage must be positive"); + throw new Error( + "Leverage must be positive, received: " + parsedInput.leverage, + ); } - console.log(parsedInput); - const tx = await this.solanaKit.flashOpenTrade({ token: parsedInput.token, - side: parsedInput.side, - collateralUsd: parsedInput.collateralUsd, + side: parsedInput.type, + collateralUsd: parsedInput.collateral, leverage: parsedInput.leverage, }); @@ -823,8 +836,8 @@ export class SolanaFlashOpenTrade extends Tool { message: "Flash trade position opened successfully", transaction: tx, token: parsedInput.token, - side: parsedInput.side, - collateralUsd: parsedInput.collateralUsd, + side: parsedInput.type, + collateral: parsedInput.collateral, leverage: parsedInput.leverage, }); } catch (error: any) { @@ -839,17 +852,13 @@ export class SolanaFlashOpenTrade extends Tool { export class SolanaFlashCloseTrade extends Tool { name = "solana_flash_close_trade"; - description = `Closes an existing leveraged trading position on Flash.Trade exchange. + description = `Close an existing leveraged trading position on Flash.Trade exchange. - Inputs (input is a JSON string): - token: string, one of ["SOL", "BTC", "ETH"] (required) - side: string, either "long" or "short" (required) - - Example: - { - "token": "SOL", - "side": "long" - }`; + Inputs ( input is a JSON string ): + token: string, eg "SOL", "BTC", "ETH" (required) + side: string, eg "long", "short" (required) + + Example prompt is Close a 20x leveraged trade for SOL on long side`; constructor(private solanaKit: SolanaAgentKit) { super(); From 224d7ff5b3f42a777d5ea7f78b54e7a2fae873b2 Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Mon, 6 Jan 2025 10:10:48 +0530 Subject: [PATCH 061/138] flash docs --- docs/classes/SolanaAgentKit.html | 16 ++++++++-------- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- 27 files changed, 58 insertions(+), 58 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index b197b99..313b7e5 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

    • 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

      Returns Promise<string>

      Transaction signature

      -
    • Opens a new trading position on Flash.Trade

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

    +
    • 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 d7b0810..bdf4e85 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 52ea314..4c35c1c 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 1667fa0..59e086c 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 90b280e..9797012 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index d8b9d1c..46d7eec 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 2acfea9..aeb60a1 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 de5901b..f3bf81b 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 e878ad4..946021a 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 aad01cf..a392a7d 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 691cad1..4cb12ab 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 de0cf1d..ba902c0 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 5ba7578..5ef3e97 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 dc5f168..f2a0b9e 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 6ee732f..5689ddc 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 904e265..c7d497b 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 c7d0ea0..8e5b319 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 c08a446..e34b942 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 215537b..edfca61 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 085151e..a6f761f 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 cb76516..de81320 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 ec9c7f5..68a3a4d 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 8fe5270..9bf6726 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 9591b0b..c18784d 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 5c3520f..109c5d1 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 dcfcf14..116b609 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index b9c85c6..0b64780 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
    From 6c29c84f547b6c31800d53582074c4bafeab401f Mon Sep 17 00:00:00 2001 From: A91y Date: Mon, 6 Jan 2025 15:24:20 +0530 Subject: [PATCH 062/138] fix --- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 21 +- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +- docs/interfaces/ActionExample.html | 4 +- docs/interfaces/BatchOrderPattern.html | 4 +- docs/interfaces/CollectionDeployment.html | 4 +- docs/interfaces/CollectionOptions.html | 4 +- docs/interfaces/Config.html | 4 +- docs/interfaces/Creator.html | 4 +- docs/interfaces/FetchPriceResponse.html | 4 +- docs/interfaces/GibworkCreateTaskReponse.html | 4 +- docs/interfaces/JupiterTokenData.html | 4 +- .../LuloAccountDetailsResponse.html | 4 +- .../interfaces/MintCollectionNFTResponse.html | 4 +- docs/interfaces/OrderParams.html | 4 +- docs/interfaces/PumpFunTokenOptions.html | 4 +- docs/interfaces/PumpfunLaunchResponse.html | 4 +- docs/interfaces/PythFetchPriceResponse.html | 4 +- docs/interfaces/PythPriceFeedIDItem.html | 4 +- docs/interfaces/PythPriceItem.html | 4 +- docs/interfaces/TokenCheck.html | 4 +- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- pnpm-lock.yaml | 833 ++++++++---------- 29 files changed, 451 insertions(+), 505 deletions(-) diff --git a/docs/assets/search.js b/docs/assets/search.js index 86069d6..646bc49 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 f0aebb1..83f14f0 100644 --- a/docs/classes/SolanaAgentKit.html +++ b/docs/classes/SolanaAgentKit.html @@ -1,19 +1,24 @@ SolanaAgentKit | solana-agent-kit

    Class SolanaAgentKit

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

    SolanaAgentKit

    -

    Constructors

    Constructors

    • Parameters

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

      Returns SolanaAgentKit

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

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

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

      Returns SolanaAgentKit

    Properties

    config: Config

    Configuration object

    -
    connection: Connection

    Solana RPC connection

    -
    wallet: Keypair

    Wallet keypair for signing transactions

    -
    wallet_address: PublicKey

    Public key of the wallet

    -

    Methods

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • amount: number
      • OptionalsplmintAddress: PublicKey

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

    • Parameters

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

      Returns Promise<{ mint: PublicKey }>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
  • Parameters

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 69f6cbd..883fe13 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
          | 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 17d1f55..76f28d7 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 06d59ce..6e7c90b 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 d525326..04bd27d 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 57fa5b3..8a1c28f 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 23e24a4..a1bb6ad 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 2377d21..25d0c71 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 eee6848..98770e2 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 c35a066..d81675e 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 1861667..d93628a 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 de80422..6ca117b 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 d4e44be..2bee02b 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 33ede0e..d3eea8d 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 3d19c9a..ed58256 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 2d333d5..bc2a6d2 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 f8b32c0..a13550c 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 205dbd5..0b1c769 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 6a6d2bb..ffdf5ad 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 3cd7f3b..59a9ebd 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 c9caddc..3beafc6 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 b22faef..ddc219d 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 26c3c7c..f8be0ff 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 4a8f6bc..66af332 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 fae93c8..74feefb 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 fca3028..3fc7d5d 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 67af484..8d225a9 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/pnpm-lock.yaml b/pnpm-lock.yaml index 9dcaeb6..edcdc8e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,37 +10,37 @@ importers: dependencies: '@ai-sdk/openai': specifier: ^1.0.11 - version: 1.0.11(zod@3.24.1) + version: 1.0.13(zod@3.24.1) '@bonfida/spl-name-service': specifier: ^3.0.7 - version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@cks-systems/manifest-sdk': specifier: 0.1.59 - version: 0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.1.59(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@coral-xyz/anchor': specifier: '0.29' - version: 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@langchain/core': specifier: ^0.3.26 - version: 0.3.27(openai@4.77.3(zod@3.24.1)) + version: 0.3.26(openai@4.77.0(zod@3.24.1)) '@langchain/groq': specifier: ^0.1.2 - version: 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + version: 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) '@langchain/langgraph': specifier: ^0.2.36 - version: 0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + version: 0.2.39(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) '@langchain/openai': specifier: ^0.3.16 - version: 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + version: 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) '@lightprotocol/compressed-token': specifier: ^0.17.1 - version: 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@lightprotocol/stateless.js': specifier: ^0.17.1 - version: 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/mpl-core': specifier: ^1.1.1 - version: 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0) + version: 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1) '@metaplex-foundation/mpl-token-metadata': specifier: ^3.3.0 version: 3.3.0(@metaplex-foundation/umi@0.9.2) @@ -52,40 +52,40 @@ importers: version: 0.9.2 '@metaplex-foundation/umi-bundle-defaults': specifier: ^0.9.2 - version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-web3js-adapters': specifier: ^0.9.2 - version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@onsol/tldparser': specifier: ^0.6.7 - version: 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@orca-so/common-sdk': specifier: 0.6.4 - version: 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + version: 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) '@orca-so/whirlpools-sdk': specifier: ^0.13.12 - version: 0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + version: 0.13.12(@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) '@raydium-io/raydium-sdk-v2': specifier: 0.1.95-alpha - version: 0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.1.95-alpha(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/spl-token': specifier: ^0.4.9 - version: 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/web3.js': specifier: ^1.98.0 - version: 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@tensor-oss/tensorswap-sdk': - specifier: ^4.5.0 - version: 4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@sqds/multisig': specifier: ^2.1.3 version: 2.1.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@tensor-oss/tensorswap-sdk': + specifier: ^4.5.0 + version: 4.5.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@tiplink/api': specifier: ^0.3.1 - version: 0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) + version: 0.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) ai: specifier: ^4.0.22 - version: 4.0.22(react@19.0.0)(zod@3.24.1) + version: 4.0.26(react@19.0.0)(zod@3.24.1) bn.js: specifier: ^5.2.1 version: 5.2.1 @@ -106,10 +106,10 @@ importers: version: 4.0.1 langchain: specifier: ^0.3.8 - version: 0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)) + version: 0.3.9(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)) openai: specifier: ^4.77.0 - version: 4.77.3(zod@3.24.1) + version: 4.77.0(zod@3.24.1) typedoc: specifier: ^0.27.6 version: 0.27.6(typescript@5.7.2) @@ -125,7 +125,7 @@ importers: version: 5.0.1 '@types/node': specifier: ^22.10.2 - version: 22.10.5 + version: 22.10.2 '@typescript-eslint/eslint-plugin': specifier: ^8.18.2 version: 8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) @@ -152,15 +152,15 @@ importers: version: 3.4.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) + version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) typescript: specifier: ^5.7.2 version: 5.7.2 packages: - '@ai-sdk/openai@1.0.11': - resolution: {integrity: sha512-qI9s7Slma5i5bB4yYVlFdcG3PNDwdqivPT1Dr8adDX92nSSpILjgFIooS5yys9sXjvvcfOi/WXbDvVhLSRRlvg==} + '@ai-sdk/openai@1.0.13': + resolution: {integrity: sha512-kuSLNM6nFy+lgEd6d0X9Bp4hXjPbEwtUbnIrI4jqa9uZZupHc9vh8rOF6XO8s6ZhrWYjnuYZmhvK0S4k+sHrsg==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 @@ -349,8 +349,8 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@langchain/core@0.3.27': - resolution: {integrity: sha512-jtJKbJWB1NPU1YvtrExOB2rumvUFgkJwlWGxyjSIV9A6zcLVmUbcZGV8fCSuXgl5bbzOIQLJ1xcLYQmbW9TkTg==} + '@langchain/core@0.3.26': + resolution: {integrity: sha512-6RUQHEp8wv+JwtYIIEBYBzbLlcAQZFc7EDOgAM0ukExjh9HiXoJzoWpgMRRCrr/koIbtwXPJUqBprZK1I1CXHQ==} engines: {node: '>=18'} '@langchain/groq@0.1.2': @@ -365,11 +365,11 @@ packages: peerDependencies: '@langchain/core': '>=0.2.31 <0.4.0' - '@langchain/langgraph-sdk@0.0.33': - resolution: {integrity: sha512-l/hRbI6roLzplBXy2VyDUwqY1TkK7RcjPmrMUuVdvCCH4LTwLfIXh/G1kHatNiN7VUTskw0FkfBbgq6gtj0ang==} + '@langchain/langgraph-sdk@0.0.32': + resolution: {integrity: sha512-KQyM9kLO7T6AxwNrceajH7JOybP3pYpvUPnhiI2rrVndI1WyZUJ1eVC1e722BVRAPi6o+WcoTT4uMSZVinPOtA==} - '@langchain/langgraph@0.2.38': - resolution: {integrity: sha512-mVy99pMftBGgUTBTCepSyzTovWCvpgdNcXsAjxTiMrMX6lzueNiBz0ljkY7UFoIoHYwurQbyl2WmMPFuxkSIAw==} + '@langchain/langgraph@0.2.39': + resolution: {integrity: sha512-zoQT5LViPlB5hRS7RNwixcAonUBAHcW+IzVkGR/4vcKoE49z5rPBdZsWjJ6b1YIV1K2bdSDJWl5KSEHilvnR1Q==} engines: {node: '>=18'} peerDependencies: '@langchain/core': '>=0.2.36 <0.3.0 || >=0.3.9 < 0.4.0' @@ -400,9 +400,6 @@ packages: '@metaplex-foundation/beet-solana@0.4.0': resolution: {integrity: sha512-B1L94N3ZGMo53b0uOSoznbuM5GBNJ8LwSeznxBxJ+OThvfHQ4B5oMUqb+0zdLRfkKGS7Q6tpHK9P+QK0j3w2cQ==} - '@metaplex-foundation/beet-solana@0.4.0': - resolution: {integrity: sha512-B1L94N3ZGMo53b0uOSoznbuM5GBNJ8LwSeznxBxJ+OThvfHQ4B5oMUqb+0zdLRfkKGS7Q6tpHK9P+QK0j3w2cQ==} - '@metaplex-foundation/beet-solana@0.4.1': resolution: {integrity: sha512-/6o32FNUtwK8tjhotrvU/vorP7umBuRFvBZrC6XCk51aKidBHe5LPVPA5AjGPbV3oftMfRuXPNd9yAGeEqeCDQ==} @@ -415,9 +412,6 @@ packages: '@metaplex-foundation/beet@0.7.1': resolution: {integrity: sha512-hNCEnS2WyCiYyko82rwuISsBY3KYpe828ubsd2ckeqZr7tl0WVLivGkoyA/qdiaaHEBGdGl71OpfWa2rqL3DiA==} - '@metaplex-foundation/beet@0.7.1': - resolution: {integrity: sha512-hNCEnS2WyCiYyko82rwuISsBY3KYpe828ubsd2ckeqZr7tl0WVLivGkoyA/qdiaaHEBGdGl71OpfWa2rqL3DiA==} - '@metaplex-foundation/beet@0.7.2': resolution: {integrity: sha512-K+g3WhyFxKPc0xIvcIjNyV1eaTVJTiuaHZpig7Xx0MuYRMoJLLvhLTnUXhFdR5Tu2l2QSyKwfyXDgZlzhULqFg==} @@ -430,9 +424,6 @@ packages: '@metaplex-foundation/mpl-bubblegum@0.7.0': resolution: {integrity: sha512-HCo6q+nh8M3KRv9/aUaZcJo5/vPJEeZwPGRDWkqN7lUXoMIvhd83fZi7MB1rIg1gwpVHfHqim0A02LCYKisWFg==} - '@metaplex-foundation/cusper@0.0.2': - resolution: {integrity: sha512-S9RulC2fFCFOQraz61bij+5YCHhSO9llJegK8c8Y6731fSi6snUSQJdCUqYS8AIgR0TKbQvdvgSyIIdbDFZbBA==} - '@metaplex-foundation/mpl-core@1.1.1': resolution: {integrity: sha512-h1kLw+cGaV8SiykoHDb1/G01+VYqtJXAt0uGuO5+2Towsdtc6ET4M62iqUnh4EacTVMIW1yYHsKsG/LYWBCKaA==} peerDependencies: @@ -546,8 +537,8 @@ packages: '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - '@noble/curves@1.8.0': - resolution: {integrity: sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==} + '@noble/curves@1.7.0': + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} engines: {node: ^14.21.3 || >=16} '@noble/hashes@1.4.0': @@ -558,8 +549,12 @@ packages: resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.7.0': - resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==} + '@noble/hashes@1.6.0': + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.6.1': + resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} engines: {node: ^14.21.3 || >=16} '@nodelib/fs.scandir@2.1.5': @@ -594,8 +589,8 @@ packages: '@solana/web3.js': ^1.90.0 decimal.js: ^10.4.3 - '@orca-so/whirlpools-sdk@0.13.13': - resolution: {integrity: sha512-S3ovmnihBdZ5cmn3ylvJv+kAIUcGX5Y5RSWzv/WvF6etv/tLuO8FKc5mYxVenTa/NG78turTMbhujDdfGaahDw==} + '@orca-so/whirlpools-sdk@0.13.12': + resolution: {integrity: sha512-+LOqGTe0DYUsYwemltOU4WQIviqoICQlIcAmmEX/WnBh6wntpcLDcXkPV6dBHW7NA2/J8WEVAZ50biLJb4subg==} peerDependencies: '@coral-xyz/anchor': ~0.29.0 '@orca-so/common-sdk': 0.6.4 @@ -635,20 +630,20 @@ packages: '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - '@shikijs/core@1.26.1': - resolution: {integrity: sha512-yeo7sG+WZQblKPclUOKRPwkv1PyoHYkJ4gP9DzhFJbTdueKR7wYTI1vfF/bFi1NTgc545yG/DzvVhZgueVOXMA==} + '@shikijs/core@1.24.3': + resolution: {integrity: sha512-VRcf4GYUIkxIchGM9DrapRcxtgojg4IWKUtX5EtW+4PJiGzF2xQqZSv27PJt+WLc18KT3CNLpNWow9JYV5n+Rg==} - '@shikijs/engine-javascript@1.26.1': - resolution: {integrity: sha512-CRhA0b8CaSLxS0E9A4Bzcb3LKBNpykfo9F85ozlNyArxjo2NkijtiwrJZ6eHa+NT5I9Kox2IXVdjUsP4dilsmw==} + '@shikijs/engine-javascript@1.24.3': + resolution: {integrity: sha512-De8tNLvYjeK6V0Gb47jIH2M+OKkw+lWnSV1j3HVDFMlNIglmVcTMG2fASc29W0zuFbfEEwKjO8Fe4KYSO6Ce3w==} + + '@shikijs/engine-oniguruma@1.24.3': + resolution: {integrity: sha512-iNnx950gs/5Nk+zrp1LuF+S+L7SKEhn8k9eXgFYPGhVshKppsYwRmW8tpmAMvILIMSDfrgqZ0w+3xWVQB//1Xw==} '@shikijs/engine-oniguruma@1.26.1': resolution: {integrity: sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==} - '@shikijs/langs@1.26.1': - resolution: {integrity: sha512-oz/TQiIqZejEIZbGtn68hbJijAOTtYH4TMMSWkWYozwqdpKR3EXgILneQy26WItmJjp3xVspHdiUxUCws4gtuw==} - - '@shikijs/themes@1.26.1': - resolution: {integrity: sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==} + '@shikijs/types@1.24.3': + resolution: {integrity: sha512-FPMrJ69MNxhRtldRk69CghvaGlbbN3pKRuvko0zvbfa2dXp4pAngByToqS5OY5jvN8D7LKR4RJE8UvzlCOuViw==} '@shikijs/types@1.26.1': resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} @@ -656,6 +651,9 @@ packages: '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} + '@shikijs/vscode-textmate@9.3.1': + resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} + '@solana/buffer-layout-utils@0.2.0': resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} engines: {node: '>= 10'} @@ -906,11 +904,11 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.69': - resolution: {integrity: sha512-ECPdY1nlaiO/Y6GUnwgtAAhLNaQ53AyIVz+eILxpEo5OvuqE6yWkqWBIb5dU0DqhKQtMeny+FBD3PK6lm7L5xQ==} + '@types/node@18.19.68': + resolution: {integrity: sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw==} - '@types/node@22.10.5': - resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} + '@types/node@22.10.2': + resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} '@types/promise-retry@1.1.6': resolution: {integrity: sha512-EC1+OMXV0PZb0pf+cmyxc43MEP2CDumZe4AfuxWboxxEixztIebknpJPZAX5XlodGF1OY+C1E/RAeNGzxf+bJA==} @@ -1024,12 +1022,12 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - agentkeepalive@4.6.0: - resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} engines: {node: '>= 8.0.0'} - ai@4.0.22: - resolution: {integrity: sha512-yvcjWtofI2HZwgT3jMkoNnDUhAY+S9cOvZ6xbbOzrS0ZeFl1/gcbasFnwAqUJ7uL/t72/3a0Vy/pKg6N19A2Mw==} + ai@4.0.26: + resolution: {integrity: sha512-IDnSkiH0C+s+9jfKA5M8vO6PO279b5N/OtkbIy4gYtajLT5i52OobssG6LdZExZQxlYgBvXvTl3YskKJE/kD8Q==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -1185,8 +1183,8 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bufferutil@4.0.9: - resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} + bufferutil@4.0.8: + resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} engines: {node: '>=6.14.2'} bytes@3.1.2: @@ -1224,6 +1222,10 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chalk@5.4.0: + resolution: {integrity: sha512-ZkD35Mx92acjB2yNJgziGqT9oKHEOxjTBTDRpOsRWtdecL/0jM3z5kM/CTzHWvHIen1GvkM85p6TuFfDGfc8/Q==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.4.1: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -1295,8 +1297,8 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - cross-fetch@3.2.0: - resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + cross-fetch@3.1.8: + resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} @@ -1634,8 +1636,8 @@ packages: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} - find-process@1.4.8: - resolution: {integrity: sha512-W2PIdgXfhYeIlTzGiDyGJhjslZcwQCRcSw6plgyLu3CFk1PhQrKkTbQ5jkJ2NhOabMwETTrhl7c+xBcQ7B2jRg==} + find-process@1.4.9: + resolution: {integrity: sha512-x+1gcT3k+7ipx8chx1Z7cViSdeQ/RBwDk+6GiWnMTO0+YtGFrahToxarIZM6TzDZ9UFfYPUGpBf/85v5GpBXKA==} hasBin: true find-up@5.0.0: @@ -1698,12 +1700,8 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} - get-intrinsic@1.2.7: - resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} - engines: {node: '>= 0.4'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + get-intrinsic@1.2.6: + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} engines: {node: '>= 0.4'} get-stream@8.0.1: @@ -1828,13 +1826,13 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - ipaddr.js@2.2.0: resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} engines: {node: '>= 10'} @@ -1863,8 +1861,8 @@ packages: resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} engines: {node: '>=18'} - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} is-glob@4.0.3: @@ -1887,10 +1885,6 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2039,8 +2033,8 @@ packages: typeorm: optional: true - langsmith@0.2.14: - resolution: {integrity: sha512-ClAuAgSf3m9miMYotLEaZKQyKdaWlfjhebCuYco8bc6g72dU2VwTg31Bv4YINBq7EH2i1cMwbOiJxbOXPqjGig==} + langsmith@0.2.13: + resolution: {integrity: sha512-16EOM5nhU6GlMCKGm5sgBIAKOKzS2d30qcDZmF21kSLZJiUhUNTROwvYdqgZLrGfIIzmSMJHCKA7RFd5qf50uw==} peerDependencies: openai: '*' peerDependenciesMeta: @@ -2307,11 +2301,11 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} - oniguruma-to-es@0.10.0: - resolution: {integrity: sha512-zapyOUOCJxt+xhiNRPPMtfJkHGsZ98HHB9qJEkdT8BGytO/+kpe4m1Ngf0MzbzTmhacn11w9yGeDP6tzDhnCdg==} + oniguruma-to-es@0.8.0: + resolution: {integrity: sha512-rY+/a6b+uCgoYIL9itjY0x99UUDHXmGaw7Jjk5ZvM/3cxDJifyxFr/Zm4tTmF6Tre18gAakJo7AzhKUeMNLgHA==} - openai@4.77.3: - resolution: {integrity: sha512-wLDy4+KWHz31HRFMW2+9KQuVuT2QWhs0z94w1Gm1h2Ut9vIHr9/rHZggbykZEfyiaJRVgw8ZS9K6AylDWzvPYw==} + openai@4.77.0: + resolution: {integrity: sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==} hasBin: true peerDependencies: zod: ^3.23.8 @@ -2490,14 +2484,14 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex-recursion@5.1.1: - resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + regex-recursion@5.0.0: + resolution: {integrity: sha512-UwyOqeobrCCqTXPcsSqH4gDhOjD5cI/b8kjngWgSZbxYh5yVjAwTjO5+hAuPRNiuR70+5RlWSs+U9PVcVcW9Lw==} regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - regex@5.1.1: - resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + regex@5.0.2: + resolution: {integrity: sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==} resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} @@ -2545,10 +2539,6 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -2587,8 +2577,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.26.1: - resolution: {integrity: sha512-Gqg6DSTk3wYqaZ5OaYtzjcdxcBvX5kCy24yvRJEgjT5U+WHlmqCThLuBUx0juyxQBi+6ug53IGeuQS07DWwpcw==} + shiki@1.24.3: + resolution: {integrity: sha512-eMeX/ehE2IDKVs71kB4zVcDHjutNcOtm+yIRuR4sA6ThBbdFI0DffGJiyoKCodj0xRGxIoWC3pk/Anmm5mzHmA==} side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} @@ -2993,11 +2983,6 @@ packages: engines: {node: '>= 14'} hasBin: true - yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} - engines: {node: '>= 14'} - hasBin: true - yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -3022,7 +3007,7 @@ packages: snapshots: - '@ai-sdk/openai@1.0.11(zod@3.24.1)': + '@ai-sdk/openai@1.0.13(zod@3.24.1)': dependencies: '@ai-sdk/provider': 1.0.3 '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) @@ -3063,20 +3048,20 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 - '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) borsh: 1.0.0 bs58: 5.0.0 buffer: 6.0.3 - '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@noble/curves': 1.8.0 + '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 '@scure/base': 1.2.1 - '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) borsh: 2.0.0 buffer: 6.0.3 graphemesplit: 2.4.4 @@ -3091,13 +3076,13 @@ snapshots: '@cfworker/json-schema@4.0.3': {} - '@cks-systems/manifest-sdk@0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@cks-systems/manifest-sdk@0.1.59(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 '@metaplex-foundation/rustbin': 0.3.5 - '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 0.7.0 bs58: 6.0.0 @@ -3109,7 +3094,7 @@ snapshots: prom-client: 15.1.3 rimraf: 5.0.10 typedoc: 0.26.11(typescript@5.7.2) - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) zstddec: 0.0.2 transitivePeerDependencies: - bufferutil @@ -3120,16 +3105,16 @@ snapshots: - typescript - utf-8-validate - '@coral-xyz/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.2.0 + cross-fetch: 3.1.8 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -3142,16 +3127,16 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@noble/hashes': 1.7.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.6.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.2.0 + cross-fetch: 3.1.8 crypto-hash: 1.3.0 eventemitter3: 4.0.7 pako: 2.1.0 @@ -3163,15 +3148,15 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 @@ -3308,14 +3293,14 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))': + '@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))': dependencies: '@cfworker/json-schema': 4.0.3 ansi-styles: 5.2.0 camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.16 - langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) + langsmith: 0.2.13(openai@4.77.0(zod@3.24.1)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 @@ -3325,57 +3310,57 @@ snapshots: transitivePeerDependencies: - openai - '@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + '@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) - '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) groq-sdk: 0.5.0 zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - encoding - '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) uuid: 10.0.0 - '@langchain/langgraph-sdk@0.0.33': + '@langchain/langgraph-sdk@0.0.32': dependencies: '@types/json-schema': 7.0.15 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 9.0.1 - '@langchain/langgraph@0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + '@langchain/langgraph@0.2.39(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) - '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) - '@langchain/langgraph-sdk': 0.0.33 + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/langgraph-sdk': 0.0.32 uuid: 10.0.0 zod: 3.24.1 - '@langchain/openai@0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + '@langchain/openai@0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) js-tiktoken: 1.0.16 - openai: 4.77.3(zod@3.24.1) + openai: 4.77.0(zod@3.24.1) zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - encoding - '@langchain/textsplitters@0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) js-tiktoken: 1.0.16 - '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 tweetnacl: 1.0.3 transitivePeerDependencies: @@ -3385,11 +3370,11 @@ snapshots: - typescript - utf-8-validate - '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@noble/hashes': 1.5.0 - '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 superstruct: 2.0.2 tweetnacl: 1.0.3 @@ -3398,6 +3383,18 @@ snapshots: - encoding - utf-8-validate + '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bs58: 5.0.0 + debug: 4.4.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 @@ -3410,34 +3407,10 @@ snapshots: - supports-color - utf-8-validate - '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - bs58: 5.0.0 - debug: 4.4.0 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - - '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': - dependencies: - '@metaplex-foundation/beet': 0.7.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - bs58: 5.0.0 - debug: 4.4.0 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - - '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': - dependencies: - '@metaplex-foundation/beet': 0.7.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -3470,14 +3443,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@metaplex-foundation/beet@0.7.1': - dependencies: - ansicolors: 0.3.2 - bn.js: 5.2.1 - debug: 4.4.0 - transitivePeerDependencies: - - supports-color - '@metaplex-foundation/beet@0.7.2': dependencies: ansicolors: 0.3.2 @@ -3489,15 +3454,13 @@ snapshots: '@metaplex-foundation/cusper@0.0.2': {} - '@metaplex-foundation/cusper@0.0.2': {} - - '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.6.1 - '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 transitivePeerDependencies: - bufferutil @@ -3507,15 +3470,15 @@ snapshots: - typescript - utf-8-validate - '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 - '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.1.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) js-sha3: 0.8.0 transitivePeerDependencies: - bufferutil @@ -3525,19 +3488,19 @@ snapshots: - typescript - utf-8-validate - '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0)': + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1)': dependencies: '@metaplex-foundation/umi': 0.9.2 '@msgpack/msgpack': 3.0.0-beta2 - '@noble/hashes': 1.7.0 + '@noble/hashes': 1.6.1 - '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@metaplex-foundation/beet': 0.7.1 - '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 debug: 4.4.0 transitivePeerDependencies: @@ -3566,12 +3529,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.4.0 - '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/rustbin': 0.3.5 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) camelcase: 6.3.0 debug: 4.4.0 js-sha256: 0.9.0 @@ -3585,18 +3548,18 @@ snapshots: - supports-color - utf-8-validate - '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 '@metaplex-foundation/umi-downloader-http': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-http-fetch': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-program-repository': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-rpc-chunk-get-accounts': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-serializer-data-view': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - encoding @@ -3604,12 +3567,12 @@ snapshots: dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@noble/curves': 1.8.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: @@ -3632,11 +3595,11 @@ snapshots: dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: @@ -3660,16 +3623,16 @@ snapshots: '@metaplex-foundation/umi-serializers-encodings': 0.8.9 '@metaplex-foundation/umi-serializers-numbers': 0.8.9 - '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 '@metaplex-foundation/umi@0.9.2': @@ -3686,15 +3649,17 @@ snapshots: dependencies: '@noble/hashes': 1.4.0 - '@noble/curves@1.8.0': + '@noble/curves@1.7.0': dependencies: - '@noble/hashes': 1.7.0 + '@noble/hashes': 1.6.0 '@noble/hashes@1.4.0': {} '@noble/hashes@1.5.0': {} - '@noble/hashes@1.7.0': {} + '@noble/hashes@1.6.0': {} + + '@noble/hashes@1.6.1': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -3708,11 +3673,11 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.18.0 - '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/sha2': 5.7.0 - '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 2.0.0 buffer: 6.0.3 @@ -3724,19 +3689,19 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': dependencies: - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) decimal.js: 10.4.3 tiny-invariant: 1.3.3 - '@orca-so/whirlpools-sdk@0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + '@orca-so/whirlpools-sdk@0.13.12(@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) decimal.js: 10.4.3 tiny-invariant: 1.3.3 @@ -3745,11 +3710,11 @@ snapshots: '@pkgr/core@0.1.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)': + '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) axios: 1.7.9 big.js: 6.2.2 bn.js: 5.2.1 @@ -3771,11 +3736,11 @@ snapshots: dependencies: tslib: 2.8.1 - '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)': + '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)': dependencies: '@saberhq/option-utils': 1.15.0 '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@types/promise-retry': 1.1.6 '@types/retry': 0.12.5 bn.js: 5.2.1 @@ -3799,33 +3764,35 @@ snapshots: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - '@shikijs/core@1.26.1': + '@shikijs/core@1.24.3': dependencies: - '@shikijs/engine-javascript': 1.26.1 - '@shikijs/engine-oniguruma': 1.26.1 - '@shikijs/types': 1.26.1 - '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/engine-javascript': 1.24.3 + '@shikijs/engine-oniguruma': 1.24.3 + '@shikijs/types': 1.24.3 + '@shikijs/vscode-textmate': 9.3.1 '@types/hast': 3.0.4 hast-util-to-html: 9.0.4 - '@shikijs/engine-javascript@1.26.1': + '@shikijs/engine-javascript@1.24.3': dependencies: - '@shikijs/types': 1.26.1 - '@shikijs/vscode-textmate': 10.0.1 - oniguruma-to-es: 0.10.0 + '@shikijs/types': 1.24.3 + '@shikijs/vscode-textmate': 9.3.1 + oniguruma-to-es: 0.8.0 + + '@shikijs/engine-oniguruma@1.24.3': + dependencies: + '@shikijs/types': 1.24.3 + '@shikijs/vscode-textmate': 9.3.1 '@shikijs/engine-oniguruma@1.26.1': dependencies: '@shikijs/types': 1.26.1 '@shikijs/vscode-textmate': 10.0.1 - '@shikijs/langs@1.26.1': + '@shikijs/types@1.24.3': dependencies: - '@shikijs/types': 1.26.1 - - '@shikijs/themes@1.26.1': - dependencies: - '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 '@shikijs/types@1.26.1': dependencies: @@ -3834,10 +3801,12 @@ snapshots: '@shikijs/vscode-textmate@10.0.1': {} - '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@shikijs/vscode-textmate@9.3.1': {} + + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bigint-buffer: 1.1.5 bignumber.js: 9.1.2 transitivePeerDependencies: @@ -3994,24 +3963,24 @@ snapshots: '@solana/errors@2.0.0-preview.2': dependencies: - chalk: 5.4.1 + chalk: 5.4.0 commander: 12.1.0 '@solana/errors@2.0.0-preview.4(typescript@5.7.2)': dependencies: - chalk: 5.4.1 + chalk: 5.4.0 commander: 12.1.0 typescript: 5.7.2 '@solana/errors@2.0.0-rc.1(typescript@4.9.5)': dependencies: - chalk: 5.4.1 + chalk: 5.4.0 commander: 12.1.0 typescript: 4.9.5 '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': dependencies: - chalk: 5.4.1 + chalk: 5.4.0 commander: 12.1.0 typescript: 5.7.2 @@ -4053,11 +4022,11 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 0.7.0 js-sha3: 0.8.0 @@ -4068,59 +4037,59 @@ snapshots: - supports-color - utf-8-validate - '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': + '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: '@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) '@solana/spl-type-length-value': 0.1.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@solana/spl-type-length-value': 0.1.0 - '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token@0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.1.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer: 6.0.3 buffer-layout: 1.2.2 @@ -4130,12 +4099,12 @@ snapshots: - encoding - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4158,12 +4127,13 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4172,13 +4142,13 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4187,28 +4157,13 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) - buffer: 6.0.3 - transitivePeerDependencies: - - bufferutil - - encoding - - fastestsmallesttextencoderdecoder - - typescript - - utf-8-validate - - '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': - dependencies: - '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4221,20 +4176,20 @@ snapshots: dependencies: buffer: 6.0.3 - '@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.8.0 - '@noble/hashes': 1.7.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 '@solana/buffer-layout': 4.0.1 - agentkeepalive: 4.6.0 + agentkeepalive: 4.5.0 bigint-buffer: 1.1.5 bn.js: 5.2.1 borsh: 0.7.0 bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -4243,20 +4198,20 @@ snapshots: - encoding - utf-8-validate - '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.8.0 - '@noble/hashes': 1.7.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 '@solana/buffer-layout': 4.0.1 - agentkeepalive: 4.6.0 + agentkeepalive: 4.5.0 bigint-buffer: 1.1.5 bn.js: 5.2.1 borsh: 0.7.0 bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -4289,14 +4244,14 @@ snapshots: dependencies: tslib: 2.8.1 - '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@metaplex-foundation/mpl-bubblegum': 0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-bubblegum': 0.7.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) axios: 0.28.1 big.js: 6.2.2 bn.js: 5.2.1 @@ -4314,14 +4269,14 @@ snapshots: - typescript - utf-8-validate - '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@msgpack/msgpack': 2.8.0 - '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@tensor-hq/tensor-common': 8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@tensor-hq/tensor-common': 8.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@types/bn.js': 5.1.6 big.js: 6.2.2 bn.js: 5.2.1 @@ -4339,11 +4294,11 @@ snapshots: - typescript - utf-8-validate - '@tiplink/api@0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': + '@tiplink/api@0.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bs58: 5.0.0 libsodium: 0.7.15 libsodium-wrappers-sumo: 0.7.15 @@ -4369,12 +4324,12 @@ snapshots: '@types/bn.js@5.1.6': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/chai@5.0.1': dependencies: @@ -4382,7 +4337,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/deep-eql@4.0.2': {} @@ -4392,7 +4347,7 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -4420,16 +4375,16 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 form-data: 4.0.1 '@types/node@12.20.55': {} - '@types/node@18.19.69': + '@types/node@18.19.68': dependencies: undici-types: 5.26.5 - '@types/node@22.10.5': + '@types/node@22.10.2': dependencies: undici-types: 6.20.0 @@ -4448,12 +4403,12 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/send': 0.17.4 '@types/unist@3.0.3': {} @@ -4464,11 +4419,11 @@ snapshots: '@types/ws@7.4.7': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/ws@8.5.13': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': dependencies: @@ -4573,11 +4528,11 @@ snapshots: acorn@8.14.0: {} - agentkeepalive@4.6.0: + agentkeepalive@4.5.0: dependencies: humanize-ms: 1.2.1 - ai@4.0.22(react@19.0.0)(zod@3.24.1): + ai@4.0.26(react@19.0.0)(zod@3.24.1): dependencies: '@ai-sdk/provider': 1.0.3 '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) @@ -4751,7 +4706,7 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bufferutil@4.0.9: + bufferutil@4.0.8: dependencies: node-gyp-build: 4.8.4 optional: true @@ -4767,13 +4722,13 @@ snapshots: dependencies: call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 set-function-length: 1.2.2 call-bound@1.0.3: dependencies: call-bind-apply-helpers: 1.0.1 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 callsites@3.1.0: {} @@ -4794,6 +4749,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chalk@5.4.0: {} + chalk@5.4.1: {} character-entities-html4@2.1.0: {} @@ -4845,7 +4802,7 @@ snapshots: create-require@1.1.1: {} - cross-fetch@3.2.0: + cross-fetch@3.1.8: dependencies: node-fetch: 2.7.0 transitivePeerDependencies: @@ -5107,7 +5064,7 @@ snapshots: ethereum-bloom-filters@1.2.0: dependencies: - '@noble/hashes': 1.7.0 + '@noble/hashes': 1.6.1 ethereum-cryptography@2.2.1: dependencies: @@ -5241,9 +5198,9 @@ snapshots: transitivePeerDependencies: - supports-color - find-process@1.4.8: + find-process@1.4.9: dependencies: - chalk: 5.4.1 + chalk: 4.1.2 commander: 12.1.0 debug: 4.4.0 eslint: 9.17.0 @@ -5306,24 +5263,19 @@ snapshots: get-east-asian-width@1.3.0: {} - get-intrinsic@1.2.7: + get-intrinsic@1.2.6: dependencies: call-bind-apply-helpers: 1.0.1 + dunder-proto: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.0.0 function-bind: 1.1.2 - get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 math-intrinsics: 1.1.0 - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.0.0 - get-stream@8.0.1: {} glob-parent@5.1.2: @@ -5381,10 +5333,10 @@ snapshots: groq-sdk@0.5.0: dependencies: - '@types/node': 18.19.69 + '@types/node': 18.19.68 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 - agentkeepalive: 4.6.0 + agentkeepalive: 4.5.0 form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0 @@ -5471,6 +5423,10 @@ snapshots: inherits@2.0.4: {} + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + ipaddr.js@1.9.1: {} ipaddr.js@2.2.0: {} @@ -5492,12 +5448,9 @@ snapshots: dependencies: get-east-asian-width: 1.3.0 - is-generator-function@1.1.0: + is-generator-function@1.0.10: dependencies: - call-bound: 1.0.3 - get-proto: 1.0.1 has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 is-glob@4.0.3: dependencies: @@ -5514,13 +5467,6 @@ snapshots: is-path-inside@3.0.3: {} - is-regex@1.2.1: - dependencies: - call-bound: 1.0.3 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - is-stream@3.0.0: {} is-typed-array@1.1.15: @@ -5531,9 +5477,9 @@ snapshots: isexe@2.0.0: {} - isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: - ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) jackspeak@3.4.3: dependencies: @@ -5545,7 +5491,7 @@ snapshots: dependencies: '@isaacs/cliui': 8.0.2 - jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + jayson@4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@types/connect': 3.4.38 '@types/node': 12.20.55 @@ -5555,10 +5501,10 @@ snapshots: delay: 5.0.0 es6-promisify: 5.0.0 eyes: 0.1.8 - isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)) json-stringify-safe: 5.0.1 uuid: 8.3.2 - ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -5596,7 +5542,7 @@ snapshots: jsondiffpatch@0.6.0: dependencies: '@types/diff-match-patch': 1.0.36 - chalk: 5.4.1 + chalk: 5.4.0 diff-match-patch: 1.0.5 jsonfile@6.1.0: @@ -5625,29 +5571,29 @@ snapshots: dependencies: json-buffer: 3.0.1 - langchain@0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)): + langchain@0.3.9(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)): dependencies: - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) - '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) - '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) js-tiktoken: 1.0.16 js-yaml: 4.1.0 jsonpointer: 5.0.1 - langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) + langsmith: 0.2.13(openai@4.77.0(zod@3.24.1)) openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 10.0.0 - yaml: 2.7.0 + yaml: 2.6.1 zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) optionalDependencies: - '@langchain/groq': 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/groq': 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) axios: 1.7.9 transitivePeerDependencies: - encoding - openai - langsmith@0.2.14(openai@4.77.3(zod@3.24.1)): + langsmith@0.2.13(openai@4.77.0(zod@3.24.1)): dependencies: '@types/uuid': 10.0.0 commander: 10.0.1 @@ -5656,7 +5602,7 @@ snapshots: semver: 7.6.3 uuid: 10.0.0 optionalDependencies: - openai: 4.77.3(zod@3.24.1) + openai: 4.77.0(zod@3.24.1) levn@0.4.1: dependencies: @@ -5723,6 +5669,10 @@ snapshots: loglevel@1.9.2: {} + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + loupe@3.1.2: {} lower-case@2.0.2: @@ -5906,18 +5856,18 @@ snapshots: dependencies: mimic-function: 5.0.1 - oniguruma-to-es@0.10.0: + oniguruma-to-es@0.8.0: dependencies: emoji-regex-xs: 1.0.0 - regex: 5.1.1 - regex-recursion: 5.1.1 + regex: 5.0.2 + regex-recursion: 5.0.0 - openai@4.77.3(zod@3.24.1): + openai@4.77.0(zod@3.24.1): dependencies: - '@types/node': 18.19.69 + '@types/node': 18.19.68 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 - agentkeepalive: 4.6.0 + agentkeepalive: 4.5.0 form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0 @@ -6069,14 +6019,13 @@ snapshots: regenerator-runtime@0.14.1: {} - regex-recursion@5.1.1: + regex-recursion@5.0.0: dependencies: - regex: 5.1.1 regex-utilities: 2.3.0 regex-utilities@2.3.0: {} - regex@5.1.1: + regex@5.0.2: dependencies: regex-utilities: 2.3.0 @@ -6116,9 +6065,9 @@ snapshots: buffer: 6.0.3 eventemitter3: 5.0.1 uuid: 8.3.2 - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.0.8 utf-8-validate: 5.0.10 run-parallel@1.2.0: @@ -6127,12 +6076,6 @@ snapshots: safe-buffer@5.2.1: {} - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - is-regex: 1.2.1 - safer-buffer@2.1.2: {} secure-json-parse@2.7.0: {} @@ -6173,7 +6116,7 @@ snapshots: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 gopd: 1.2.0 has-property-descriptors: 1.0.2 @@ -6185,15 +6128,13 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.26.1: + shiki@1.24.3: dependencies: - '@shikijs/core': 1.26.1 - '@shikijs/engine-javascript': 1.26.1 - '@shikijs/engine-oniguruma': 1.26.1 - '@shikijs/langs': 1.26.1 - '@shikijs/themes': 1.26.1 - '@shikijs/types': 1.26.1 - '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/core': 1.24.3 + '@shikijs/engine-javascript': 1.24.3 + '@shikijs/engine-oniguruma': 1.24.3 + '@shikijs/types': 1.24.3 + '@shikijs/vscode-textmate': 9.3.1 '@types/hast': 3.0.4 side-channel-list@1.0.0: @@ -6205,14 +6146,14 @@ snapshots: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 object-inspect: 1.13.3 side-channel-map: 1.0.1 @@ -6259,7 +6200,7 @@ snapshots: spok@1.5.5: dependencies: ansicolors: 0.3.2 - find-process: 1.4.8 + find-process: 1.4.9 transitivePeerDependencies: - jiti - supports-color @@ -6368,14 +6309,14 @@ snapshots: dependencies: typescript: 5.7.2 - ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2): + ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.5 + '@types/node': 22.10.2 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -6418,9 +6359,9 @@ snapshots: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - shiki: 1.26.1 + shiki: 1.24.3 typescript: 5.7.2 - yaml: 2.7.0 + yaml: 2.6.1 typedoc@0.27.6(typescript@5.7.2): dependencies: @@ -6429,7 +6370,7 @@ snapshots: markdown-it: 14.1.0 minimatch: 9.0.5 typescript: 5.7.2 - yaml: 2.7.0 + yaml: 2.6.1 typescript-collections@1.3.3: {} @@ -6498,7 +6439,7 @@ snapshots: dependencies: inherits: 2.0.4 is-arguments: 1.2.0 - is-generator-function: 1.1.0 + is-generator-function: 1.0.10 is-typed-array: 1.1.15 which-typed-array: 1.1.18 @@ -6581,22 +6522,20 @@ snapshots: wrappy@1.0.2: {} - ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.0.8 utf-8-validate: 5.0.10 - ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.0.8 utf-8-validate: 5.0.10 xsalsa20@1.2.0: {} yaml@2.6.1: {} - yaml@2.7.0: {} - yn@3.1.1: {} yocto-queue@0.1.0: {} From d909e8012a1884ec73ac185293c19e16f8a6e681 Mon Sep 17 00:00:00 2001 From: A91y Date: Mon, 6 Jan 2025 15:35:56 +0530 Subject: [PATCH 063/138] add Solana 2-of-2 multisig account creation and deposit tools --- docs/classes/SolanaAgentKit.html | 12 ++-- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 ++-- docs/interfaces/ActionExample.html | 4 +- docs/interfaces/BatchOrderPattern.html | 4 +- docs/interfaces/CollectionDeployment.html | 4 +- docs/interfaces/CollectionOptions.html | 4 +- docs/interfaces/Config.html | 4 +- docs/interfaces/Creator.html | 4 +- docs/interfaces/FetchPriceResponse.html | 4 +- docs/interfaces/GibworkCreateTaskReponse.html | 4 +- docs/interfaces/JupiterTokenData.html | 4 +- .../LuloAccountDetailsResponse.html | 4 +- .../interfaces/MintCollectionNFTResponse.html | 4 +- docs/interfaces/OrderParams.html | 4 +- docs/interfaces/PumpFunTokenOptions.html | 4 +- docs/interfaces/PumpfunLaunchResponse.html | 4 +- docs/interfaces/PythFetchPriceResponse.html | 4 +- docs/interfaces/PythPriceFeedIDItem.html | 4 +- docs/interfaces/PythPriceItem.html | 4 +- docs/interfaces/TokenCheck.html | 4 +- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/langchain/index.ts | 69 +++++++++++++++++++ 28 files changed, 125 insertions(+), 56 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 83f14f0..f71f7ac 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 @@ -72,8 +72,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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 883fe13..1779d2d 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
          | 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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 76f28d7..134e801 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 6e7c90b..94c29bf 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 04bd27d..5d2780b 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 8a1c28f..d380df8 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index a1bb6ad..3fdf6e9 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 25d0c71..24d53cc 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 98770e2..781b325 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 d81675e..e59c665 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 d93628a..d939489 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 6ca117b..52a8582 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 2bee02b..b044a1a 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 d3eea8d..7228bb4 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 ed58256..a048b0b 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 bc2a6d2..58ef359 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 a13550c..c540af7 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 0b1c769..f7e0053 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 ffdf5ad..0408c3e 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 59a9ebd..4f961b8 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 3beafc6..7da5ccb 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 ddc219d..c91f1ab 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 f8be0ff..4053aff 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 66af332..cef3f77 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 74feefb..7fd3c61 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 3fc7d5d..79ed75c 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 8d225a9..5c06b16 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/langchain/index.ts b/src/langchain/index.ts index 97810e8..5723591 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -2125,6 +2125,73 @@ export class SolanaFetchTokenDetailedReportTool extends Tool { } } +export class SolanaCreate2by2Multisig extends Tool { + name = "create_2by2_multisig"; + description = `Create a 2-of-2 multisig account on Solana. + + Inputs (JSON string): + - creator: string, the public key of the creator (required).`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const creator = new PublicKey(inputFormat.creator); + + const multisig = await this.solanaKit.createSquadsMultisig(creator); + + return JSON.stringify({ + status: "success", + message: "2-by-2 multisig account created successfully", + multisig, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "CREATE_2BY2_MULTISIG_ERROR", + }); + } + } +} + +export class SolanaDepositTo2by2Multisig extends Tool { + name = "deposit_to_2by2_multisig"; + description = `Deposit funds to a 2-of-2 multisig account on Solana. + + Inputs (JSON string): + - amount: number, the amount to deposit in SOL (required).`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const amount = new Decimal(inputFormat.amount); + + const tx = await this.solanaKit.depositToMultisig(amount.toNumber()); + + return JSON.stringify({ + status: "success", + message: "Funds deposited to 2-by-2 multisig account successfully", + transaction: tx, + amount: amount.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "DEPOSIT_TO_2BY2_MULTISIG_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), @@ -2179,5 +2246,7 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaFetchTokenDetailedReportTool(solanaKit), new SolanaPerpOpenTradeTool(solanaKit), new SolanaPerpCloseTradeTool(solanaKit), + new SolanaCreate2by2Multisig(solanaKit), + new SolanaDepositTo2by2Multisig(solanaKit), ]; } From 14c7bd451e19a16a398b1941f7778881320e1d10 Mon Sep 17 00:00:00 2001 From: A91y Date: Mon, 6 Jan 2025 15:42:32 +0530 Subject: [PATCH 064/138] added 2by2 multisig transaction creation --- docs/classes/SolanaAgentKit.html | 12 +++--- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++---- docs/interfaces/ActionExample.html | 4 +- docs/interfaces/BatchOrderPattern.html | 4 +- docs/interfaces/CollectionDeployment.html | 4 +- docs/interfaces/CollectionOptions.html | 4 +- docs/interfaces/Config.html | 4 +- docs/interfaces/Creator.html | 4 +- docs/interfaces/FetchPriceResponse.html | 4 +- docs/interfaces/GibworkCreateTaskReponse.html | 4 +- docs/interfaces/JupiterTokenData.html | 4 +- .../LuloAccountDetailsResponse.html | 4 +- .../interfaces/MintCollectionNFTResponse.html | 4 +- docs/interfaces/OrderParams.html | 4 +- docs/interfaces/PumpFunTokenOptions.html | 4 +- docs/interfaces/PumpfunLaunchResponse.html | 4 +- docs/interfaces/PythFetchPriceResponse.html | 4 +- docs/interfaces/PythPriceFeedIDItem.html | 4 +- docs/interfaces/PythPriceItem.html | 4 +- docs/interfaces/TokenCheck.html | 4 +- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/langchain/index.ts | 40 +++++++++++++++++++ 28 files changed, 96 insertions(+), 56 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index f71f7ac..9d4dd4f 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 @@ -72,8 +72,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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 1779d2d..9fac11d 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
          | 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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
      )[]

    +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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 134e801..95c6986 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 94c29bf..dfa7c8f 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 5d2780b..c42346a 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index d380df8..21cce2d 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 3fdf6e9..138fcfe 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 24d53cc..10a29a3 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 781b325..4bfa31f 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 e59c665..9d2f97e 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 d939489..5ffba7e 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 52a8582..488284e 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 b044a1a..a0e0ad5 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 7228bb4..922263b 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 a048b0b..c9dbc7a 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 58ef359..3821487 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 c540af7..fbed80d 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 f7e0053..3b53267 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 0408c3e..a8d9210 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 4f961b8..b0c5d50 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 7da5ccb..da8271a 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 c91f1ab..c46b2e2 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 4053aff..c465d6b 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 cef3f77..d42cf08 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 7fd3c61..063541e 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 79ed75c..481e5f7 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 5c06b16..a229a0c 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/langchain/index.ts b/src/langchain/index.ts index 5723591..05dabf1 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -2192,6 +2192,46 @@ export class SolanaDepositTo2by2Multisig extends Tool { } } +export class SolanaTransferFrom2by2Multisig extends Tool { + name = "transfer_from_2by2_multisig"; + description = `Create a transaction to transfer funds from a 2-of-2 multisig account on Solana. + + Inputs (JSON string): + - amount: number, the amount to transfer in SOL (required). + - recipient: string, the public key of the recipient (required).`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const amount = new Decimal(inputFormat.amount); + const recipient = new PublicKey(inputFormat.recipient); + + const tx = await this.solanaKit.transferFromMultisig( + amount.toNumber(), + recipient, + ); + + return JSON.stringify({ + status: "success", + message: "Transaction added to 2-by-2 multisig account successfully", + transaction: tx, + amount: amount.toString(), + recipient: recipient.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "TRANSFER_FROM_2BY2_MULTISIG_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), From b5afb035f15a9f94b26a46ace50902c6f8bacdcf Mon Sep 17 00:00:00 2001 From: A91y Date: Mon, 6 Jan 2025 15:45:48 +0530 Subject: [PATCH 065/138] added 2by2 multisig proposal creation --- docs/classes/SolanaAgentKit.html | 12 +++---- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 ++++---- docs/interfaces/ActionExample.html | 4 +-- docs/interfaces/BatchOrderPattern.html | 4 +-- docs/interfaces/CollectionDeployment.html | 4 +-- docs/interfaces/CollectionOptions.html | 4 +-- docs/interfaces/Config.html | 4 +-- docs/interfaces/Creator.html | 4 +-- docs/interfaces/FetchPriceResponse.html | 4 +-- docs/interfaces/GibworkCreateTaskReponse.html | 4 +-- docs/interfaces/JupiterTokenData.html | 4 +-- .../LuloAccountDetailsResponse.html | 4 +-- .../interfaces/MintCollectionNFTResponse.html | 4 +-- docs/interfaces/OrderParams.html | 4 +-- docs/interfaces/PumpFunTokenOptions.html | 4 +-- docs/interfaces/PumpfunLaunchResponse.html | 4 +-- docs/interfaces/PythFetchPriceResponse.html | 4 +-- docs/interfaces/PythPriceFeedIDItem.html | 4 +-- docs/interfaces/PythPriceItem.html | 4 +-- docs/interfaces/TokenCheck.html | 4 +-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/langchain/index.ts | 36 +++++++++++++++++++ 28 files changed, 92 insertions(+), 56 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 9d4dd4f..7f17e5f 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 @@ -72,8 +72,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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 9fac11d..b004b48 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
          | 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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
      )[]

    +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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 95c6986..29a37eb 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 dfa7c8f..814ecb9 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 c42346a..0d24bc4 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 21cce2d..699725b 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 138fcfe..393b3b2 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 10a29a3..ff71fde 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 4bfa31f..35bcc6f 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 9d2f97e..8482022 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 5ffba7e..df7ffb8 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 488284e..8f740fd 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 a0e0ad5..519b3f5 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 922263b..7a81637 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 c9dbc7a..3b6e0f4 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 3821487..0e3e401 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 fbed80d..7a3a3fb 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 3b53267..e9ad46e 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 a8d9210..d4af124 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 b0c5d50..d061fa8 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 da8271a..827b7bc 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 c46b2e2..f05ee9f 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 c465d6b..d8ce61e 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 d42cf08..487a0fd 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 063541e..8e9b220 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 481e5f7..70d7fd2 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index a229a0c..1e694c9 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/langchain/index.ts b/src/langchain/index.ts index 05dabf1..ba1e17e 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -2232,6 +2232,40 @@ export class SolanaTransferFrom2by2Multisig extends Tool { } } +export class SolanaCreateProposal2by2Multisig extends Tool { + name = "create_proposal_2by2_multisig"; + description = `Create a proposal to transfer funds from a 2-of-2 multisig account on Solana. + + Inputs (JSON string): + - transactionIndex: number, the index of the transaction (optional).`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const transactionIndex = inputFormat.transactionIndex ?? undefined; + + const tx = await this.solanaKit.createMultisigProposal(transactionIndex); + + return JSON.stringify({ + status: "success", + message: "Proposal created successfully", + transaction: tx, + transactionIndex: transactionIndex?.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "CREATE_PROPOSAL_2BY2_MULTISIG_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), @@ -2288,5 +2322,7 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaPerpCloseTradeTool(solanaKit), new SolanaCreate2by2Multisig(solanaKit), new SolanaDepositTo2by2Multisig(solanaKit), + new SolanaTransferFrom2by2Multisig(solanaKit), + new SolanaCreateProposal2by2Multisig(solanaKit), ]; } From 2e22cadd2799337a7f8fa4e2d8b971ba7ed62af1 Mon Sep 17 00:00:00 2001 From: A91y Date: Mon, 6 Jan 2025 15:48:49 +0530 Subject: [PATCH 066/138] added 2by2 multisig proposal approval --- docs/classes/SolanaAgentKit.html | 12 +++---- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 ++++---- docs/interfaces/ActionExample.html | 4 +-- docs/interfaces/BatchOrderPattern.html | 4 +-- docs/interfaces/CollectionDeployment.html | 4 +-- docs/interfaces/CollectionOptions.html | 4 +-- docs/interfaces/Config.html | 4 +-- docs/interfaces/Creator.html | 4 +-- docs/interfaces/FetchPriceResponse.html | 4 +-- docs/interfaces/GibworkCreateTaskReponse.html | 4 +-- docs/interfaces/JupiterTokenData.html | 4 +-- .../LuloAccountDetailsResponse.html | 4 +-- .../interfaces/MintCollectionNFTResponse.html | 4 +-- docs/interfaces/OrderParams.html | 4 +-- docs/interfaces/PumpFunTokenOptions.html | 4 +-- docs/interfaces/PumpfunLaunchResponse.html | 4 +-- docs/interfaces/PythFetchPriceResponse.html | 4 +-- docs/interfaces/PythPriceFeedIDItem.html | 4 +-- docs/interfaces/PythPriceItem.html | 4 +-- docs/interfaces/TokenCheck.html | 4 +-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/langchain/index.ts | 35 +++++++++++++++++++ 28 files changed, 91 insertions(+), 56 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 7f17e5f..18c243f 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 @@ -72,8 +72,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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index b004b48..23f5c97 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
          | 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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
      )[]

    +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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 29a37eb..eaf6a58 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 814ecb9..15c152e 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 0d24bc4..7725ebb 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 699725b..5fb3ce1 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 393b3b2..24fd2fe 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 ff71fde..a3dbd6e 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 35bcc6f..57d28c4 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 8482022..6201957 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 df7ffb8..8feab4a 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 8f740fd..9c2e928 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 519b3f5..da0361f 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 7a81637..3e35f1a 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 3b6e0f4..47a4333 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 0e3e401..adc985e 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 7a3a3fb..0be206f 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 e9ad46e..5da6a57 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 d4af124..cc30385 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 d061fa8..61dd24f 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 827b7bc..c4fb78a 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 f05ee9f..4738645 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 d8ce61e..5594a65 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 487a0fd..2d9488f 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 8e9b220..43b039b 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 70d7fd2..3527752 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 1e694c9..30b1665 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/langchain/index.ts b/src/langchain/index.ts index ba1e17e..2e89895 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -2266,6 +2266,40 @@ export class SolanaCreateProposal2by2Multisig extends Tool { } } +export class SolanaApproveProposal2by2Multisig extends Tool { + name = "approve_proposal_2by2_multisig"; + description = `Approve a proposal to transfer funds from a 2-of-2 multisig account on Solana. + + Inputs (JSON string): + - proposalIndex: number, the index of the proposal (required).`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const proposalIndex = inputFormat.proposalIndex; + + const tx = await this.solanaKit.approveMultisigProposal(proposalIndex); + + return JSON.stringify({ + status: "success", + message: "Proposal approved successfully", + transaction: tx, + proposalIndex: proposalIndex.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "APPROVE_PROPOSAL_2BY2_MULTISIG_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), @@ -2324,5 +2358,6 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaDepositTo2by2Multisig(solanaKit), new SolanaTransferFrom2by2Multisig(solanaKit), new SolanaCreateProposal2by2Multisig(solanaKit), + new SolanaApproveProposal2by2Multisig(solanaKit), ]; } From 9900627ad42b3723fae2a697201d433d9da97874 Mon Sep 17 00:00:00 2001 From: A91y Date: Mon, 6 Jan 2025 15:51:33 +0530 Subject: [PATCH 067/138] added 2by2 multisig proposal rejection --- docs/classes/SolanaAgentKit.html | 12 +++---- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 ++++---- docs/interfaces/ActionExample.html | 4 +-- docs/interfaces/BatchOrderPattern.html | 4 +-- docs/interfaces/CollectionDeployment.html | 4 +-- docs/interfaces/CollectionOptions.html | 4 +-- docs/interfaces/Config.html | 4 +-- docs/interfaces/Creator.html | 4 +-- docs/interfaces/FetchPriceResponse.html | 4 +-- docs/interfaces/GibworkCreateTaskReponse.html | 4 +-- docs/interfaces/JupiterTokenData.html | 4 +-- .../LuloAccountDetailsResponse.html | 4 +-- .../interfaces/MintCollectionNFTResponse.html | 4 +-- docs/interfaces/OrderParams.html | 4 +-- docs/interfaces/PumpFunTokenOptions.html | 4 +-- docs/interfaces/PumpfunLaunchResponse.html | 4 +-- docs/interfaces/PythFetchPriceResponse.html | 4 +-- docs/interfaces/PythPriceFeedIDItem.html | 4 +-- docs/interfaces/PythPriceItem.html | 4 +-- docs/interfaces/TokenCheck.html | 4 +-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/langchain/index.ts | 35 +++++++++++++++++++ 28 files changed, 91 insertions(+), 56 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 18c243f..720d26f 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 @@ -72,8 +72,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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 23f5c97..112a9f1 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
          | 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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
      )[]

    +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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index eaf6a58..41927cf 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 15c152e..ffb7944 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 7725ebb..5d14b8c 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 5fb3ce1..2642e7a 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 24fd2fe..ecfb888 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 a3dbd6e..467887c 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 57d28c4..f5ba315 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 6201957..c6b771a 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 8feab4a..483f49d 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 9c2e928..e36396d 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 da0361f..b79a08d 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 3e35f1a..977c902 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 47a4333..c97e0e8 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 adc985e..bfa76e4 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 0be206f..e7b4750 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 5da6a57..f757aad 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 cc30385..e942989 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 61dd24f..286d624 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 c4fb78a..d7708d7 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 4738645..1137b1a 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 5594a65..061a175 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 2d9488f..9a3f019 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 43b039b..c197672 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 3527752..bb586cc 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 30b1665..7df506a 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/langchain/index.ts b/src/langchain/index.ts index 2e89895..f01af48 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -2300,6 +2300,40 @@ export class SolanaApproveProposal2by2Multisig extends Tool { } } +export class SolanaRejectProposal2by2Multisig extends Tool { + name = "reject_proposal_2by2_multisig"; + description = `Reject a proposal to transfer funds from a 2-of-2 multisig account on Solana. + + Inputs (JSON string): + - proposalIndex: number, the index of the proposal (required).`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const proposalIndex = inputFormat.proposalIndex; + + const tx = await this.solanaKit.rejectMultisigProposal(proposalIndex); + + return JSON.stringify({ + status: "success", + message: "Proposal rejected successfully", + transaction: tx, + proposalIndex: proposalIndex.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "REJECT_PROPOSAL_2BY2_MULTISIG_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), @@ -2359,5 +2393,6 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaTransferFrom2by2Multisig(solanaKit), new SolanaCreateProposal2by2Multisig(solanaKit), new SolanaApproveProposal2by2Multisig(solanaKit), + new SolanaRejectProposal2by2Multisig(solanaKit), ]; } From 6e0b575324bb648f63caa3aed66872cac8cf1788 Mon Sep 17 00:00:00 2001 From: A91y Date: Mon, 6 Jan 2025 15:55:11 +0530 Subject: [PATCH 068/138] added 2by2 multisig proposal/tx execution --- docs/classes/SolanaAgentKit.html | 12 +++--- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++---- docs/interfaces/ActionExample.html | 4 +- docs/interfaces/BatchOrderPattern.html | 4 +- docs/interfaces/CollectionDeployment.html | 4 +- docs/interfaces/CollectionOptions.html | 4 +- docs/interfaces/Config.html | 4 +- docs/interfaces/Creator.html | 4 +- docs/interfaces/FetchPriceResponse.html | 4 +- docs/interfaces/GibworkCreateTaskReponse.html | 4 +- docs/interfaces/JupiterTokenData.html | 4 +- .../LuloAccountDetailsResponse.html | 4 +- .../interfaces/MintCollectionNFTResponse.html | 4 +- docs/interfaces/OrderParams.html | 4 +- docs/interfaces/PumpFunTokenOptions.html | 4 +- docs/interfaces/PumpfunLaunchResponse.html | 4 +- docs/interfaces/PythFetchPriceResponse.html | 4 +- docs/interfaces/PythPriceFeedIDItem.html | 4 +- docs/interfaces/PythPriceItem.html | 4 +- docs/interfaces/TokenCheck.html | 4 +- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/langchain/index.ts | 39 ++++++++++++++++++- 28 files changed, 93 insertions(+), 58 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 720d26f..1589c59 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 @@ -72,8 +72,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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 112a9f1..102c53e 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
          | 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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
      )[]

    +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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaExecuteProposal2by2Multisig
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 41927cf..7805ecf 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 ffb7944..31255a8 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 5d14b8c..905f4aa 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 2642e7a..9b83667 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index ecfb888..6228d69 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 467887c..88fa9bf 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 f5ba315..63695fa 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 c6b771a..a62b557 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 483f49d..33b71ec 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 e36396d..d7513d0 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 b79a08d..c2ac75b 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 977c902..b19b37e 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 c97e0e8..4f56d9c 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 bfa76e4..2cfa290 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 e7b4750..c61a2a2 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 f757aad..e95d46b 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 e942989..d7ce5b0 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 286d624..fc2467a 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 d7708d7..6eafeb3 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 1137b1a..5163fe8 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 061a175..47026b1 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 9a3f019..6e532bf 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 c197672..778263e 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 bb586cc..1f0371b 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 7df506a..6631397 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/langchain/index.ts b/src/langchain/index.ts index f01af48..e3a96ed 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -2271,7 +2271,7 @@ export class SolanaApproveProposal2by2Multisig extends Tool { description = `Approve a proposal to transfer funds from a 2-of-2 multisig account on Solana. Inputs (JSON string): - - proposalIndex: number, the index of the proposal (required).`; + - proposalIndex: number, the index of the proposal (optional).`; constructor(private solanaKit: SolanaAgentKit) { super(); @@ -2305,7 +2305,7 @@ export class SolanaRejectProposal2by2Multisig extends Tool { description = `Reject a proposal to transfer funds from a 2-of-2 multisig account on Solana. Inputs (JSON string): - - proposalIndex: number, the index of the proposal (required).`; + - proposalIndex: number, the index of the proposal (optional).`; constructor(private solanaKit: SolanaAgentKit) { super(); @@ -2334,6 +2334,40 @@ export class SolanaRejectProposal2by2Multisig extends Tool { } } +export class SolanaExecuteProposal2by2Multisig extends Tool { + name = "execute_proposal_2by2_multisig"; + description = `Execute a proposal/transaction to transfer funds from a 2-of-2 multisig account on Solana. + + Inputs (JSON string): + - proposalIndex: number, the index of the proposal (optional).`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const proposalIndex = inputFormat.proposalIndex; + + const tx = await this.solanaKit.executeMultisigTransaction(proposalIndex); + + return JSON.stringify({ + status: "success", + message: "Proposal executed successfully", + transaction: tx, + proposalIndex: proposalIndex.toString(), + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "EXECUTE_PROPOSAL_2BY2_MULTISIG_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), @@ -2394,5 +2428,6 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaCreateProposal2by2Multisig(solanaKit), new SolanaApproveProposal2by2Multisig(solanaKit), new SolanaRejectProposal2by2Multisig(solanaKit), + new SolanaExecuteProposal2by2Multisig(solanaKit), ]; } From 41417aa7cf559bd09754f3eee479d77b14bfb414 Mon Sep 17 00:00:00 2001 From: A91y Date: Mon, 6 Jan 2025 16:01:29 +0530 Subject: [PATCH 069/138] updated 2by2 multisig desc --- docs/classes/SolanaAgentKit.html | 12 ++++---- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 ++++----- docs/interfaces/ActionExample.html | 4 +-- docs/interfaces/BatchOrderPattern.html | 4 +-- docs/interfaces/CollectionDeployment.html | 4 +-- docs/interfaces/CollectionOptions.html | 4 +-- docs/interfaces/Config.html | 4 +-- docs/interfaces/Creator.html | 4 +-- docs/interfaces/FetchPriceResponse.html | 4 +-- docs/interfaces/GibworkCreateTaskReponse.html | 4 +-- docs/interfaces/JupiterTokenData.html | 4 +-- .../LuloAccountDetailsResponse.html | 4 +-- .../interfaces/MintCollectionNFTResponse.html | 4 +-- docs/interfaces/OrderParams.html | 4 +-- docs/interfaces/PumpFunTokenOptions.html | 4 +-- docs/interfaces/PumpfunLaunchResponse.html | 4 +-- docs/interfaces/PythFetchPriceResponse.html | 4 +-- docs/interfaces/PythPriceFeedIDItem.html | 4 +-- docs/interfaces/PythPriceItem.html | 4 +-- docs/interfaces/TokenCheck.html | 4 +-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/langchain/index.ts | 30 ++++++++++++------- 28 files changed, 76 insertions(+), 66 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 1589c59..2bf0055 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 @@ -72,8 +72,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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • 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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 102c53e..05ad190 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
          | 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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaExecuteProposal2by2Multisig
      )[]

    +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
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaExecuteProposal2by2Multisig
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 7805ecf..dd00683 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 31255a8..dc29e01 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 905f4aa..4cdb2e2 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 9b83667..b1dbd62 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 6228d69..91420d3 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 88fa9bf..d68c26e 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 63695fa..5fb43bf 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 a62b557..b7f00bb 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 33b71ec..eabe118 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 d7513d0..6df9fe9 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 c2ac75b..8dac088 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 b19b37e..b41fc9a 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 4f56d9c..c8ba23d 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 2cfa290..dce72ef 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 c61a2a2..6cd6465 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 e95d46b..343a4fd 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 d7ce5b0..b4055b3 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 fc2467a..ee94ddd 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 6eafeb3..b718d96 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 5163fe8..224e8ed 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 47026b1..7f41dcf 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 6e532bf..3804971 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 778263e..813c492 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 1f0371b..3dc4624 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 6631397..32dcdc8 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/langchain/index.ts b/src/langchain/index.ts index e3a96ed..c9a8af9 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -2127,7 +2127,9 @@ export class SolanaFetchTokenDetailedReportTool extends Tool { export class SolanaCreate2by2Multisig extends Tool { name = "create_2by2_multisig"; - description = `Create a 2-of-2 multisig account on Solana. + description = `Create a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + Note: For one AI agent, only one 2-by-2 multisig can be created as it is pair-wise. Inputs (JSON string): - creator: string, the public key of the creator (required).`; @@ -2160,7 +2162,7 @@ export class SolanaCreate2by2Multisig extends Tool { export class SolanaDepositTo2by2Multisig extends Tool { name = "deposit_to_2by2_multisig"; - description = `Deposit funds to a 2-of-2 multisig account on Solana. + description = `Deposit funds to a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. Inputs (JSON string): - amount: number, the amount to deposit in SOL (required).`; @@ -2194,7 +2196,7 @@ export class SolanaDepositTo2by2Multisig extends Tool { export class SolanaTransferFrom2by2Multisig extends Tool { name = "transfer_from_2by2_multisig"; - description = `Create a transaction to transfer funds from a 2-of-2 multisig account on Solana. + description = `Create a transaction to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. Inputs (JSON string): - amount: number, the amount to transfer in SOL (required). @@ -2234,7 +2236,9 @@ export class SolanaTransferFrom2by2Multisig extends Tool { export class SolanaCreateProposal2by2Multisig extends Tool { name = "create_proposal_2by2_multisig"; - description = `Create a proposal to transfer funds from a 2-of-2 multisig account on Solana. + description = `Create a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + If transactionIndex is not provided, the latest index will automatically be fetched and used. Inputs (JSON string): - transactionIndex: number, the index of the transaction (optional).`; @@ -2268,7 +2272,9 @@ export class SolanaCreateProposal2by2Multisig extends Tool { export class SolanaApproveProposal2by2Multisig extends Tool { name = "approve_proposal_2by2_multisig"; - description = `Approve a proposal to transfer funds from a 2-of-2 multisig account on Solana. + description = `Approve a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + If proposalIndex is not provided, the latest index will automatically be fetched and used. Inputs (JSON string): - proposalIndex: number, the index of the proposal (optional).`; @@ -2280,7 +2286,7 @@ export class SolanaApproveProposal2by2Multisig extends Tool { protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); - const proposalIndex = inputFormat.proposalIndex; + const proposalIndex = inputFormat.proposalIndex ?? undefined; const tx = await this.solanaKit.approveMultisigProposal(proposalIndex); @@ -2302,7 +2308,9 @@ export class SolanaApproveProposal2by2Multisig extends Tool { export class SolanaRejectProposal2by2Multisig extends Tool { name = "reject_proposal_2by2_multisig"; - description = `Reject a proposal to transfer funds from a 2-of-2 multisig account on Solana. + description = `Reject a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + If proposalIndex is not provided, the latest index will automatically be fetched and used. Inputs (JSON string): - proposalIndex: number, the index of the proposal (optional).`; @@ -2314,7 +2322,7 @@ export class SolanaRejectProposal2by2Multisig extends Tool { protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); - const proposalIndex = inputFormat.proposalIndex; + const proposalIndex = inputFormat.proposalIndex ?? undefined; const tx = await this.solanaKit.rejectMultisigProposal(proposalIndex); @@ -2336,7 +2344,9 @@ export class SolanaRejectProposal2by2Multisig extends Tool { export class SolanaExecuteProposal2by2Multisig extends Tool { name = "execute_proposal_2by2_multisig"; - description = `Execute a proposal/transaction to transfer funds from a 2-of-2 multisig account on Solana. + description = `Execute a proposal/transaction to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + If proposalIndex is not provided, the latest index will automatically be fetched and used. Inputs (JSON string): - proposalIndex: number, the index of the proposal (optional).`; @@ -2348,7 +2358,7 @@ export class SolanaExecuteProposal2by2Multisig extends Tool { protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); - const proposalIndex = inputFormat.proposalIndex; + const proposalIndex = inputFormat.proposalIndex ?? undefined; const tx = await this.solanaKit.executeMultisigTransaction(proposalIndex); From de4e72436564572dcc816019b3681a1e30a7aae6 Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Mon, 6 Jan 2025 17:50:39 +0530 Subject: [PATCH 070/138] move types and created actions --- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 20 ++--- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 ++-- docs/interfaces/ActionExample.html | 4 +- docs/interfaces/BatchOrderPattern.html | 4 +- docs/interfaces/CollectionDeployment.html | 4 +- docs/interfaces/CollectionOptions.html | 4 +- docs/interfaces/Config.html | 4 +- docs/interfaces/Creator.html | 4 +- docs/interfaces/FetchPriceResponse.html | 4 +- docs/interfaces/FlashCloseTradeParams.html | 3 + docs/interfaces/FlashTradeParams.html | 5 ++ docs/interfaces/GibworkCreateTaskReponse.html | 4 +- docs/interfaces/JupiterTokenData.html | 4 +- .../LuloAccountDetailsResponse.html | 4 +- .../interfaces/MintCollectionNFTResponse.html | 4 +- docs/interfaces/OrderParams.html | 4 +- docs/interfaces/PumpFunTokenOptions.html | 4 +- docs/interfaces/PumpfunLaunchResponse.html | 4 +- docs/interfaces/PythFetchPriceResponse.html | 4 +- docs/interfaces/PythPriceFeedIDItem.html | 4 +- docs/interfaces/PythPriceItem.html | 4 +- docs/interfaces/TokenCheck.html | 4 +- docs/modules.html | 2 +- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/actions/flashCloseTrade.ts | 68 ++++++++++++++++ src/actions/flashOpenTrade.ts | 78 +++++++++++++++++++ src/agent/index.ts | 4 +- src/tools/flash_close_trade.ts | 11 ++- src/tools/flash_open_trade.ts | 13 ++-- src/types/index.ts | 12 +++ 38 files changed, 241 insertions(+), 79 deletions(-) create mode 100644 docs/interfaces/FlashCloseTradeParams.html create mode 100644 docs/interfaces/FlashTradeParams.html create mode 100644 src/actions/flashCloseTrade.ts create mode 100644 src/actions/flashOpenTrade.ts 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 = "eJy1XV1z27bS/i/2babV8lPsnWI7rU+d2Md22ulkOhxaomMeUxIPSSX12+l/fwGQlBbAklpKOjdpbWM/CDxYLPYBib/PyvX36uynL3+fvWarxdlP4Ezfna2SZXr209nDOk9Wyexruqp/zeqzd2ebMhe/nudJVaXVj/qff3ipl7lo0/5VtDv7512n1Qdnq3W+XlV1uZnX65Kj8lxvj9S/OyuSUrS0Pd0ZhonjYcurdF5n6xXX8K75MXa/J3mesvrvfNv0eHtxsliUaVWNsItEjuzn5+wrt4+bpiPtORNvh9My/e8mreoPyWae1h82qwXvmVuxZyX23Iod48ciLfL12+P6NeUBrGlft+2Pt3yxFoPIx3cjNMdCx/jwNa3fJ6LhPGVZF82fts1PY/e2fkl5MWVnfN3KHOPBMlvVnz48sizLtqvnA2a4ZrEuk1X1zHxY1Pi4WfY1q+q0vFwvk4yHsE5k0YkcZ79a599S0XiUB0pI/HMSHwRu7spsmZRvI3wQQkUjdBIfxHAueFOsa3mMtTxbZvVtuWBiTTVft82PsfuU1PMXvl3V/BR25zIo5LM8V7Z5C0kjI1bQdSdzjAffs/plUSbfhQ+8pbttn+T5kZbXRbq6S8viUeLmZr3iLeFSqhBSCm15I3UyLx7EoPIyJ82NqhU7Cgn5ukoPcETJ/Q89YQ+M7sgJRiZPV4uZkK5500I2T7rmR0bdx7sHbqyti1PYk0nZZVIn799mI9JoaV5KLoTk09vB2fSAN4/Z/JWf5CBn6k7wGF+eUxFmlTdiGWQmekpGOVK0MkdhMNms5i93m2UhEn1+qt2IFUJMJPqnyLirOnnlPX/X8sjch21v1/ao5xO4uVgvCwngdDHLykW5LnjPKyTnW8lkK3nUmlDOkwsVBddVxt7gSKkmCO6kjvaiTJM6vbj5+JHvghKZ58vlyew/ZKuvufh3kS5usv9uskVWv92t17yEYedTpdRUUk3eqSkaNcf6+UHO+m60eMFTiqlgUSCxY/24FWnBhWiWlumic+d3kTFtu43tmkww5q2mzkOZe+VI0ym8RWM7Gu3SRzSoJ8J9u4kSCWmz6+GWV5SUSEsXW6kj18Hb7ysRi8a5IcTWUuzkfrROfFiXjzeXo1xp/XgWmWG+ON6bXYcIR9idsusP4cQJ+kR4cd9u9w8ZI+FOuRU/5Vh9FGp27ozbtsu2O19OU8VI3hbZZtmE8dly+ZvHm0yNWBO2k+Xym3dKPy6atWmkGydY0XQvioO8KI5fV0XUfFqvXxs3PiblK7Na3wk2niw7waNqickqexYZ3GhfOsET+iKrXW/1i0r1P6Tp4pod5gohprL9ZyGWnSDGbf0Y7cGxe2/VnT9nT9/X5etjUr3ytt5K6msjVTdSR82T9fz1LhF7+Yd5VlVrZl1KShVSqtpJHd8Xj1mRZ6sx/VBvJY6qe4rUZl3eiCWCW2tvJHIhcYKKu9J1oSp90oeMWYRp5JoKYb6VO80e/F5sbMr6YbOUteWRe/FSyVZb2dN4dCkW8ixPF41nI11atMJlJ3yUT0L2RabTj+xyuRKRIf0UdXOlTG1ZRzqgNqwHehB4xlxtWj6KLd0uYjxvVoruq3602gxy+Jby39JSlsqvh9VrrQYNuLszArOLx+vbT7uS37ekzJInsav5sf3LoCKNjP59dnNz9RjPLi/vrx4e4kZ+j+LzOBYb4VQnxeNkmCXtFDSyfe5cXt3d3P4RP97+evVplDMNWxurmXIaV97PbmafLq5GedGypqdx4PF+9unhw9X9KA86NvOkw3FxK0CiBA4Zkx2FfhqnPl5/eozFIjfKF0ksx2KdO9nQXI5DhgpZpzF+f/Xvz1cPj/GHz58ux83Y9khHrE5znMqZh9ub367iy9uPs+tx8GgrIHGzcTyNOz+LWNYEj8vZ42yUOyIrbsOHZARO6M7duEFSfhQnGp4PV48Xv8R399cjA5lKO2K1QziNIw+Ps1+v4t+vH3+J//X5bpQvql4fy1pi/J9NcXJ3BH5nf4yMssglgeHk7VTx9v7q5+uHR+HMQdOpqQ+ddD7dXH26jGcPD1fjoq3kNmNFbp7GjYv7q9njVfzz9fvfb+9/jR9nD7+O8qfJteJ2xxnLLedpw5/495gQKP496bDd/SGAfejcl7WB+OQBQIbC298/XV22/fQQf7i9jx9vLkcHR1Ukbrurip/XZVzni9M5KTrs4+z+j0OGU3rXnmU6+aom8vRtz4leG7+miGx922mypn3qYcUOHjak2MNThg0xnj+PmwJtvBAj+fWE8G/whLrpQIg1wEKd9b/AWrcUHTmy0s0dc3H6Ib6f/XF5/flj3A71xd3Hj+MicFMsj9sRl+Xy/4ljM+HXb94xriXCs2/eSSfG7f3FLH64/vTzjVjBri/FUP/+y/X9zd2tWM0OmC6ykBc3/GqsCNb4+0tW5pIyP1E2Mvv8SS5pnz/eic3PAVWC5pxL3B50ObJa4PjBrkP1M/2Z5MGfk7nwovkLvyBze3f1aXYdz+6u41+v/tijUVEsSRYnRRa/pv2Fyta9HpMiIb+WSef91Yer+/uZHPuL28+fHvcZF9l4JhPOUmwXyjKRgzxfb1b9tUmeGx+uruL36EDbHuvPaRo/DRxqs4xq4yaRi960wbaaP/FHznyhpEfX+b5zb51PPWYKWTFc1WJl2mtJa8o1psO6K93cFvpJFW1QjEb8LlP/Yas8b5v3jbPpa4/RTZmNsNm0PtJkuX5L8vrtfVJl1d1aGB3Rkeet8JMULjrhIx2aN8M+xg0kMt44DapLVSBcpqt62I9dOz60dlVH84Qqx8T5TnzvdKUep8epKvu6SupNuQf0pjNY7CAncPd/FCZ3zT99eLxPBaxWFelTb2P+QMjK63jV560Y/bj9z9DnRFonsqx3iCM70cOdwQOAT+cOhFWiGb/T6+9ZXafkutan93wnQz8n5Xef+TRPv5bJcpz9ndDRDnxPnyqRHYyyv5M52ny2yuosybenKB9ub0a50spvz05WA4dOR7hV5VlRiGzgfTEKceed3FCaNcKNoszWpXiqD+m4AerkntNDB8mchmITcKO2BEMxkGzIn4qDMb9fNyPo008wMgwPeDAYgscZb2PoZzr1GvKhlRxKw0a5InYqdL4/4EQnc5h5DLqbTb6eNbuk5jBINYS8/tYjVoJ1neS/JfnmEAvnSvpbK00//sAj9UZHWQyq6qukXKWLQ9zqNKSdhlO5JnLcvM6W6ax4O8SvTjwp+vfi452q0loejCJj9j6PkOwR7mAI/6vZd29fuqK8MtucZBNNKt27m7bcHbkVpa0O7kS5Jqu35RN6KWWv0W3748wu0nm2TPIRfYwkjjNdJzSKabNt6+NM5uuv68/313yrUmBotWF3s5hLb/G3db4ZAyxD6jgXnss0/b80Tjb1i0qc+G4Qkse5os7fHOCIJXecG0VaLpOVkIkXcreR0FsE2hVS9jh30r/kAdi+HSDthiYz2jyO5M1LaJLiHUpC7FYjct9aZLDks/VoPd9K0E9GuNyb94iHvyaziz7bSmTgOD7fuOLNr1efHy4vxjigxLLVplrMT+DEUiyLPVXiPgd2Iscan68Xoyy37Q8wq+3p3uoXHqrplqdA9oDmfejucX8I4Q+9OcSQH0p0TzoxzpmCeAuG6QznTZgDnDnIjRM5MDD1hlzYN/3GOdE3BYc8GJyGe83jqdi+E9S8qCXfDJIvPfRMxr62p5iOg7r3Tcjeh+jNb6tXes0ZdkPKDaB/rBuDJac9HbK36sRwBuNgpqriV38lyyIn/dEa8Ec8WxUbsqBl6zvv2vYQ/JqHPebWm5pvb9v4CIPpX4V88UR7v33Yqi4xzrQziULwd2+Y/JKsFjniD9Sh1x/b3w4Okj32/e4fTxQjPcN78taV3gmzzPKUjB/Ywq7ZIUYWaTUvs4LRJed600OMpc0Q730k1O6gjpu/pEuyBKT1W9fqEBMvBhR7bOyaMY1goKqd0sVLOn+lzOz+Oqbsqr4CtO5jwQyd5+0XgNaDBBhyc8jsozynxLVZN40PNVhm1SsJMtNY1/BQQ9V8Ta9npqGu4QhD5hYCvdJ9Xac0i2k3G7F2kSlCn8rzPXmx6W1fZbWuy+xpU9Mxode4JnaIE2Tn7u3WcR36lK3wO76DCs+3jfc8zVBnitYVTV0QBreNxxnEHac+t3iXiOBAjh76M7/T/rtJVnVPMc5UeI4a00+BPexdZekNiWWsbXiwod79n2VpeNNHm8Lj8n77Hc67RB6eIFd2q9EY8pjuMlrlcMfZvg5Rhv8eQEePdSW3FyhsN9TY3Ccreh/d44MSKluhIx2oimSOP2TA6P+txJGmV5vlU1rePhufWd3vQSO4ft7zrVW2I+I32bdssTkIEDvho1Ch1ayF9Iv6ZkB/NDTbjMza2CrPh7+UaLk6co7TNgenONekPN0odu9lkn+u6BI5aXsntqkGyuRMJ/L0m1DVU6Am7SOJ0aYtEO2+PrEHSWbDU8GJ1MvBlOX5IcCire9H14Bx9AmMZ/ELY/e/+/LF7o+DXRng3Ww6Fylor0bt71yl8qtsuBxCfaTDakMp//OdDJPpX2c//X0mACq5OfF75wf3h0i0fM5S+QW5n750RYz5etkeeV6s5xv1v3+2zX5L5+qI9U9fmtY/Ts7efZm886IfIPT//PPdl05Y/UH9otOx+40SBPETUIJgCYIm6IifHErQsQQdTdAVP7mUoGsJupqgJ37yKEHPEvQ0QV/85L/zvB8mQagJ+pagrwkG4qeAshhYgoEmGIqfQkowtARDTXAqfppSglNLcKoJCgR9iSjByBKMdABIPACJHbDBAwZ6FHxo/BAA0hEEEhdAYghsEIGOIpDYABJHYAMJdCSBxAeQWAIbTKCjCSRGwCeFbUCBjiiQOAESU2CDCnRUgcQKkLgCG1igIwskXoDEFtjgAh1dIDEDJL7ABhjoCHMkZhwSYY6NMEdHmCMx45AIc2yEOUaMUkGKjlJEmNIR5kjMOCTCHBthjo4wR2LGIRHm2AhzdIQ5EjMOiTDHRpijI8yRmHFIhDk2whwdYY7EjEMizLER5ugIcyRmHBJhjo0wR0eYIzHjkAhzbIQ5OsJciRmXRJhrI8zVEeZKzLgkwlwbYa6OMFdixiUR5toIc42VUC2F9FpILIY6wlyJGZdEmGsjzNUR5krMuCTCXBthro4wV2LGJRHm2ghzdYS5EjMuiTDXRpirI8yVmHFJhLk2wlwdYa7EjEsizLUR5uoI8yRmPBJhno0wT0eYJzHjkQjzbIR5OsI8iRmPRJhnI8zTEeZJzHgkwjwbYZ6Rb6mEi864iJRLR5gnMeORCPNshHk6wjyJGY9EmGcjzNMR5knMeCTCPBthno4wT2LGIxHm2QjzdIR5EjMeiTDPRpinI8yXmPFJhPk2wnwdYb7EjE8izLcR5usI8yVmfBJhvo0wX0eYLzHjkwjzbYT5OsJ8iRmfRJhvI8w3snqV1pMI84nEXkeYLzHjkwjzbYT5OsJ8iRmfRJhvI8zXEeZLzPgkwnwbYb6OMF9ixicR5tsI83WEBRIzAYmwwEZYoCMskJgJSIQFNsICHWGBxExAIiywERboCAskZgISYYGNsEBHWCAxE5AIC2yEBTrCAomZgERYYCMsMPaOavNI7x6J7aOOsEBiJiARFtgIC3SEBRIzAYmwwEZYoCMskJgJSIQFNsICHWGhxExIIiy0ERbqCAslZkISYaGNsFBHWCgxE5IIC22EhTrCQomZkERYaCMs1BEWSsyEJMJCG2GhjrBQYiYkERbaCAt1hIUSMyGJsNBGWGhUKFSJgq5REEUKHWGhxExIIiy0ERbqCAslZkISYaGNsFBH2FRiZkoibGojbKojbCoxMyURNrURNtURNpWYmZIIm9oIm+oIm0rMTEmETW2ETXWETSVmpiTCpjbCpjrCphIzUxJhUxthUx1hU4mZKYmwqY2wqY6wqcTMlETY1EbY1KiDqUIYXQkjSmE6wqYSM1MSYVMbYVMdYZHETEQiLLIRFukIiyRmIhJhkY2wSEdYJDETkQiLbIRFOsIiiZmIRFhkIyzSERZJzEQkwiIbYZGOsKi3vBrZAIt0gEUSMhGJzsgGWKQDLJKQiUh0RjbAIh1gkYRMRKIzsgEWGcVWVW0l0RkR9Vaz4KoQFlE91vxNF0e/a+VV0XXSU7Ilyq4To+46UYXXCV22nRCl14lRe52o4utEQHXyQzhxDAVE+XVi1F8nqgA7ocu3E6IEOzFqsBNVhJ3QJdwJUYadGHXYiSrETugy7oQoxU6MWuxEFWMndCl3QpRjJ0Y9dqIKshO6nDshSrIToyY7UUXZyZQeBaIsOzGA2Jb+6bIuVfy3qv9N+X9CQpkkAAwkNhRAH4FAINFkARoaoIdEoIgAkwloqIAeIoEiA0w2oKEDesgEihAwGYGGEughFChSwGQFGlqgh1SgiAGTGWiogR5igSIHTHagoQd6yAWKIDAYAlBFf+ghGAiSAAyWABwYmAsEUQAGUwCOMwBlgiwAgy0ARQAATXMAQRiAwRiAIgGApjqAIA3AYA1AEQFA0x1AEAdgMAegyACgKQ8gyAMw2ANQhADQtAcQBAIYDAIoUgBo6gMIEgEMFgEUMQA0/QEEkQAGkwCKHACaAgGCTACDTQBFEPSs7gSfAAahAK4zsLYSnAIYpAK4DRDpyUjwCmAQC+A2QKQnI8EtgEEugOILgOZjgOAXwCAYQHEGQHMyQHAMYJAMoHgDoHkZIHgGMIgGUNwB0NwMEFwDGGQDKP4AaH4GCL4BDMIBFIcANEcDBOcABukAikcAmqcBgncAg3gAxSUAzdUAwT2AQT6A13D0dFAm+AcwCAhQnALQnA0QHAQYJAQoXgFo3gYIHgIMIgIUtwCSuyGmM8FFgEFGgOIXQPI3lAICiQYhAYpjAJrDAYKTAIOUAC8aGgUCiQYxAYprAJoIAoKbAIOcAMU3AE0GAcFPgEFQgOIcQBJCRCcSHAUYJAUo3qFvGAmeAgyiAnxvYBgJrgIMsgL8Bon0ZCL4CjAIC/CDgWEkOAswSAvwGyTS6wLBW4BBXIA/HcixCO4CDPICFB8BNEEGBH8BBoEBipMAmiQDgsMAg8QAxUsATZQBwWOAQWSA4iaAJsuA4DLAIDNA8RMgCTMCSASfAQahAYqjAJo0A4LTAIPUgMAfSDAIXgMMYgMUVwE08wYEtwEGuQGKrwCafQOC3wCD4ADFWQDNwAHBcYBBcoDiLYBm4YDgOcAgOiCcDAwjwXWAQXZA2CCRngsE3wEG4QGKwwCazgOC8wCD9ADFYwBN6QHBe4BBfIDiMoCm9YDgPsAgP0DxGUBTe0DwH2AQIBA2p+nouUBwIGCQIKB4DaApPiB4EDCIEFDcBtA0HxBcCBhkCCh+A2iqDwg+BAxCBBTHATTdBwQnAgYpAornAJryA4IXAYMYAcV1AE37AcGNgEGOgOI7gKb+gOBHwCBIQHEeAuDv3OkPMI0MBQQSDZIEpv5AgkHwJGAQJaC4D6A5RCC4EjDIEpiGQ49AINEgTEBxIEATkUBwJmCQJqB4EKDJSCB4EzCIE1BcCNCEJBDcCRjkCSg+BGhSEgj+BAwCBaIGifRcIDgUMEgUiBok9hx0JZBoECmguBGY0mUkgksBg0wBRZD04YAgVMBgVECRJECznECQKmCwKqCIEqCZTiCIFTCYFYiak8b0XCDIFTDYFVCESW8nUueNzQPHk/5OdAiKxTEoFqehWGjO1SEoFsegWJyGYqF5V4egWByDYnEaioXmXh2CYul+p94x+ZaWdbq4bt41+fLlrLu55O+zuH0BRSaQypJ8F0WmiD/9/c8/u1dOxE/orRP5N2msUZN2n2hB2kROv9Mmsna+tgrrCZBTXJ+6z3rutETYGTGySlDW2Vj60Gvs6AGDAOkUazhHlXnJK3rOED1nyFRWz1/Uy5qaX1PkFterTlHRvYmM9IkVDCkMeBrb9+Rxd2l+TVhqmsu9kzzvXklF+vCI8tCl7n8uxEOqC1XztXzZdqfQQUBzeEDTFVYv6m5tpBF1nOPyNKpvaOFZ5KDH9MIWuD7TP/2dS4wRwL3HG1PiWgukcRLiGcbD3U7jAt3mgZXiKTbhzYqd0nVhRRPJcCONDlNjc0HTTo2/U+I3QpHPVbVKrbmPxpjtUVWXm7m6fgg9HXo2np6Buy13ajFYpqMU65fgIY0oFkyZWOHfE4bCPpqBEXMGKjttj8gO0cYd6fPH6KvUTfB1c507Cvpo5APm0Ct9dVbk2Ur3DYOSiUal65u6Rj7JbO/Q0wYjnlYHZYTGOmIG6u11QXjm+njm8kKW/kVkpMzFYdXlBZbdl6yRIgcvQy4vLPffbY76HukNeL1GXmOPNKJYGjC7T2nc+alNYTSDRyhrX1Hf6UHLBncY0PfNcPaK1wpmBtVezoDHE8dQZhqw+w4adgevhwGvi9pX0YnUfIrA7zCXLe2bftgzjH1m1MEfjsbTCPe5x1saqNuBERyQxpCHUqWw+XbL9qO92Ec8EB7vcZVKBdWFutcgFflOYWR3PpqhzO3NTm377SCUAiBtzlhtjXPVZrk0km4fzVKfh0H5gQUKgDg7njBHWn7zQeXIKj/WghGaZsFB2or2wxvYR7xRiZiPK7XKmzBtFyfIRd52RSnr8y7UNiy85dT+lD4GNn5cl/e4g5c5o+COZiFzx8e8sBflBah/I17/ci4wRg+BOnzKm1LD90kj1SimTHlLzf7bx5F6NNmmvDVo4PpwpBetIlNeiij1NhmFvEmJCtjI15Dva11Q/RoiB0O2g1oNyggJAQ5bvEknNeZ5O0pygmCNHpp03hh9u3mxU64pRv3osfuxrSdp8wpNq5Fq1vWLUUtCcxTYc1Q+2+4hm/9oj4pG2WOPspo8PX2HVhNmFtIpbLWJuShGWtOJsiRm1iB0tlPQfmbAuxf2Mxdv9YuVKuD8zed71qnqvpaPFKLu89nd16RHIig8vRH1IAdFSIcdIZHOOpu/6mB0UDLjsJe7utD9wgGBubI1tYB2451Ur2VqZ5kezjKZ2+/tZ4cxTPCi3my6353JkwIchfqwSg4bFah5g0B9dg8nMbiIG/HAR15IiXQC3kQA1031kXTccThUMfM18yo4vA/EXAgTwNat4igoI3gwM9P+G9KRWtR10SgntzNNf2qMYpfXibm6uzAumpsMe8sPEerQiLe+NZpbxVbhwEUDznVVPHIsv71WU8kR0sekJ6Q+pU4PMXivzosEu48T4twF79OZo5tny6y2KSE8rExF3U1meMOBayMuL3jmm3zdArfZSlfkJt3Bz8rstGWyyp7F7G0Cs1h2X1N9g44G1OcN6PYSFRzZ8VN7QRuRmdXf3QXQOOBhjcALotpdprjjcNhjkkzN3azYIawEoH1Eh+mZccsaBgwOoi4vG1XqVs/UDA2Rm8wVUWrb1S+FWhJ9E7w1Z+a5UrPQp/cjVsPSopprruCJMOnWf9dp/yfgTQ3zS744FOBYEPG8lPWRJIuTIotfU22IIxTrmDSiVPa0Xr/2TVt8bsDjYUaq7Od10ag4/OcdoHUxXcebI5K1asjidZWZsMazhMkgKH2q/+b5cqkpQwPi8sCyU9bwaopW22ZrklnTDKCUg7kGSANNkbZ9eg2RuD7LZGKkQjlG81QlcItO7/esftk6rtlAaSuzUtbZQH1CDh5CKzPCtQct7AIhjsJTJrDa24JwIoyjELO22t0ygDcPOCYyWd9CMomr2lxBJ1oVga3KujATryx4a+PxIra1kZaHO9GmrYuxzMpYz2YaPG2nz3xafHkj1oV7jlkqwV+xx+jCbjHLoUKVWtTFU+rrHN4FMg/ftGl8k9OTq7B2osdhjinaHFDHPQAvp8BLj2SlJB5mqTDTMOVr3cNU4dqifGWLqxYhMVN3o+BpjFMwJqG21Wlr0zYSvIGn6wg4SDF7sEzeFtlmGbcnQZLlMv7mUTtNNObMEoWhel4I3YRi5DQzc2oVN3qFx988LdVB8cfjjY2m0Fz8cRHK4y2lur7C0IfmOROP2i32eJ+Cww+zeteVzPsJDcypMeHYKSVKtBqfxlT2343YgcYiBJE8WoigGDKh2Kh8TjbztFZ6NVIScZJMddU6/5YOdCF66pD71I1O8e8A14QenZnMtHp7avxoKWQu+K0+8Q8x2Dgu8pJuWSlMXrWQjY8RucyHbO4yw0EVr1FMCq1cz1+LRCRJ1TyrKuOoFD7HzTwpWq7fxLx9e0qqTCxMYmtrnL3CvTXh5SHdxX04NcV5A/NUU3slG+4vPE+ZLGGVrhaiRSFpinSRZOWiXBfaSCKlLm8aVGldi82BcR4Mp5TMgxzNxRl4dcSIaAhgmZd2p3+j9sypM+HNA3QvKx5TPBiTqNXtdNUf5nGR7bWWeJhxrGceNavyrCjExsGom4NWumQeZ28OWwplq/o10zZHKIYwu667lAmPDh5i5skFO3KgXIL5GoLSEcs9bvyfTUGFcnyWjrf8I52y197EYkvoRUhhvufQ3Y2MV1eMN6+rbHkd8HwmTtqLx/GUw4qZc1fsUQ3v8E6LWTjpbl7Gqwr2xeeNQS03uOrqTox7HHGZhLE8oifLFvKdiVwkOQZw8YlEtmtSo9RllDrxYUvmyFkEDmDGBaIuzDHPCCt18+baVRx78CYy5E0spcoYSFzXAeZ5DP0eVrxi4Qdl5oFKGYF2fE4EmLQGuqwVe4X3YMzUz7imD0dF7BfzTL/S9i3JNwYZhBd4JklvHd/TWOUROqj4hzqKC6kyWVXPBguncVyj1FDHuVGkYR4vrkWcrw2ftE0PMxE2OagJ1jHh6fgusny97o8TsBEqYuLwCT5KdYAqqrdRSsPkYL6nT1VmlC21U0BMVMrFeVEm0kWNhUAxhVMs+/PdWZEVaZ6thMiXP//55/8BliIobw=="; \ 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>

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

    • query: string

    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

    • action: Action

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

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

        Returns Promise<Record<string, any>>

    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"; +} From 9adc80ee32c1049acbef4f7c6eefc4bf488c7963 Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Mon, 6 Jan 2025 17:56:13 +0530 Subject: [PATCH 071/138] export actions --- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 16 ++++++++-------- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/FlashCloseTradeParams.html | 4 ++-- docs/interfaces/FlashTradeParams.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/actions/index.ts | 4 ++++ 31 files changed, 67 insertions(+), 63 deletions(-) diff --git a/docs/assets/search.js b/docs/assets/search.js index ff746f8..adec9f3 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "eJy1XV1z27bS/i/2babV8lPsnWI7rU+d2Md22ulkOhxaomMeUxIPSSX12+l/fwGQlBbAklpKOjdpbWM/CDxYLPYBib/PyvX36uynL3+fvWarxdlP4Ezfna2SZXr209nDOk9Wyexruqp/zeqzd2ebMhe/nudJVaXVj/qff3ipl7lo0/5VtDv7512n1Qdnq3W+XlV1uZnX65Kj8lxvj9S/OyuSUrS0Pd0ZhonjYcurdF5n6xXX8K75MXa/J3mesvrvfNv0eHtxsliUaVWNsItEjuzn5+wrt4+bpiPtORNvh9My/e8mreoPyWae1h82qwXvmVuxZyX23Iod48ciLfL12+P6NeUBrGlft+2Pt3yxFoPIx3cjNMdCx/jwNa3fJ6LhPGVZF82fts1PY/e2fkl5MWVnfN3KHOPBMlvVnz48sizLtqvnA2a4ZrEuk1X1zHxY1Pi4WfY1q+q0vFwvk4yHsE5k0YkcZ79a599S0XiUB0pI/HMSHwRu7spsmZRvI3wQQkUjdBIfxHAueFOsa3mMtTxbZvVtuWBiTTVft82PsfuU1PMXvl3V/BR25zIo5LM8V7Z5C0kjI1bQdSdzjAffs/plUSbfhQ+8pbttn+T5kZbXRbq6S8viUeLmZr3iLeFSqhBSCm15I3UyLx7EoPIyJ82NqhU7Cgn5ukoPcETJ/Q89YQ+M7sgJRiZPV4uZkK5500I2T7rmR0bdx7sHbqyti1PYk0nZZVIn799mI9JoaV5KLoTk09vB2fSAN4/Z/JWf5CBn6k7wGF+eUxFmlTdiGWQmekpGOVK0MkdhMNms5i93m2UhEn1+qt2IFUJMJPqnyLirOnnlPX/X8sjch21v1/ao5xO4uVgvCwngdDHLykW5LnjPKyTnW8lkK3nUmlDOkwsVBddVxt7gSKkmCO6kjvaiTJM6vbj5+JHvghKZ58vlyew/ZKuvufh3kS5usv9uskVWv92t17yEYedTpdRUUk3eqSkaNcf6+UHO+m60eMFTiqlgUSCxY/24FWnBhWiWlumic+d3kTFtu43tmkww5q2mzkOZe+VI0ym8RWM7Gu3SRzSoJ8J9u4kSCWmz6+GWV5SUSEsXW6kj18Hb7ysRi8a5IcTWUuzkfrROfFiXjzeXo1xp/XgWmWG+ON6bXYcIR9idsusP4cQJ+kR4cd9u9w8ZI+FOuRU/5Vh9FGp27ozbtsu2O19OU8VI3hbZZtmE8dly+ZvHm0yNWBO2k+Xym3dKPy6atWmkGydY0XQvioO8KI5fV0XUfFqvXxs3PiblK7Na3wk2niw7waNqickqexYZ3GhfOsET+iKrXW/1i0r1P6Tp4pod5gohprL9ZyGWnSDGbf0Y7cGxe2/VnT9nT9/X5etjUr3ytt5K6msjVTdSR82T9fz1LhF7+Yd5VlVrZl1KShVSqtpJHd8Xj1mRZ6sx/VBvJY6qe4rUZl3eiCWCW2tvJHIhcYKKu9J1oSp90oeMWYRp5JoKYb6VO80e/F5sbMr6YbOUteWRe/FSyVZb2dN4dCkW8ixPF41nI11atMJlJ3yUT0L2RabTj+xyuRKRIf0UdXOlTG1ZRzqgNqwHehB4xlxtWj6KLd0uYjxvVoruq3602gxy+Jby39JSlsqvh9VrrQYNuLszArOLx+vbT7uS37ekzJInsav5sf3LoCKNjP59dnNz9RjPLi/vrx4e4kZ+j+LzOBYb4VQnxeNkmCXtFDSyfe5cXt3d3P4RP97+evVplDMNWxurmXIaV97PbmafLq5GedGypqdx4PF+9unhw9X9KA86NvOkw3FxK0CiBA4Zkx2FfhqnPl5/eozFIjfKF0ksx2KdO9nQXI5DhgpZpzF+f/Xvz1cPj/GHz58ux83Y9khHrE5znMqZh9ub367iy9uPs+tx8GgrIHGzcTyNOz+LWNYEj8vZ42yUOyIrbsOHZARO6M7duEFSfhQnGp4PV48Xv8R399cjA5lKO2K1QziNIw+Ps1+v4t+vH3+J//X5bpQvql4fy1pi/J9NcXJ3BH5nf4yMssglgeHk7VTx9v7q5+uHR+HMQdOpqQ+ddD7dXH26jGcPD1fjoq3kNmNFbp7GjYv7q9njVfzz9fvfb+9/jR9nD7+O8qfJteJ2xxnLLedpw5/495gQKP496bDd/SGAfejcl7WB+OQBQIbC298/XV22/fQQf7i9jx9vLkcHR1Ukbrurip/XZVzni9M5KTrs4+z+j0OGU3rXnmU6+aom8vRtz4leG7+miGx922mypn3qYcUOHjak2MNThg0xnj+PmwJtvBAj+fWE8G/whLrpQIg1wEKd9b/AWrcUHTmy0s0dc3H6Ib6f/XF5/flj3A71xd3Hj+MicFMsj9sRl+Xy/4ljM+HXb94xriXCs2/eSSfG7f3FLH64/vTzjVjBri/FUP/+y/X9zd2tWM0OmC6ykBc3/GqsCNb4+0tW5pIyP1E2Mvv8SS5pnz/eic3PAVWC5pxL3B50ObJa4PjBrkP1M/2Z5MGfk7nwovkLvyBze3f1aXYdz+6u41+v/tijUVEsSRYnRRa/pv2Fyta9HpMiIb+WSef91Yer+/uZHPuL28+fHvcZF9l4JhPOUmwXyjKRgzxfb1b9tUmeGx+uruL36EDbHuvPaRo/DRxqs4xq4yaRi960wbaaP/FHznyhpEfX+b5zb51PPWYKWTFc1WJl2mtJa8o1psO6K93cFvpJFW1QjEb8LlP/Yas8b5v3jbPpa4/RTZmNsNm0PtJkuX5L8vrtfVJl1d1aGB3Rkeet8JMULjrhIx2aN8M+xg0kMt44DapLVSBcpqt62I9dOz60dlVH84Qqx8T5TnzvdKUep8epKvu6SupNuQf0pjNY7CAncPd/FCZ3zT99eLxPBaxWFelTb2P+QMjK63jV560Y/bj9z9DnRFonsqx3iCM70cOdwQOAT+cOhFWiGb/T6+9ZXafkutan93wnQz8n5Xef+TRPv5bJcpz9ndDRDnxPnyqRHYyyv5M52ny2yuosybenKB9ub0a50spvz05WA4dOR7hV5VlRiGzgfTEKceed3FCaNcKNoszWpXiqD+m4AerkntNDB8mchmITcKO2BEMxkGzIn4qDMb9fNyPo008wMgwPeDAYgscZb2PoZzr1GvKhlRxKw0a5InYqdL4/4EQnc5h5DLqbTb6eNbuk5jBINYS8/tYjVoJ1neS/JfnmEAvnSvpbK00//sAj9UZHWQyq6qukXKWLQ9zqNKSdhlO5JnLcvM6W6ax4O8SvTjwp+vfi452q0loejCJj9j6PkOwR7mAI/6vZd29fuqK8MtucZBNNKt27m7bcHbkVpa0O7kS5Jqu35RN6KWWv0W3748wu0nm2TPIRfYwkjjNdJzSKabNt6+NM5uuv68/313yrUmBotWF3s5hLb/G3db4ZAyxD6jgXnss0/b80Tjb1i0qc+G4Qkse5os7fHOCIJXecG0VaLpOVkIkXcreR0FsE2hVS9jh30r/kAdi+HSDthiYz2jyO5M1LaJLiHUpC7FYjct9aZLDks/VoPd9K0E9GuNyb94iHvyaziz7bSmTgOD7fuOLNr1efHy4vxjigxLLVplrMT+DEUiyLPVXiPgd2Iscan68Xoyy37Q8wq+3p3uoXHqrplqdA9oDmfejucX8I4Q+9OcSQH0p0TzoxzpmCeAuG6QznTZgDnDnIjRM5MDD1hlzYN/3GOdE3BYc8GJyGe83jqdi+E9S8qCXfDJIvPfRMxr62p5iOg7r3Tcjeh+jNb6tXes0ZdkPKDaB/rBuDJac9HbK36sRwBuNgpqriV38lyyIn/dEa8Ec8WxUbsqBl6zvv2vYQ/JqHPebWm5pvb9v4CIPpX4V88UR7v33Yqi4xzrQziULwd2+Y/JKsFjniD9Sh1x/b3w4Okj32/e4fTxQjPcN78taV3gmzzPKUjB/Ywq7ZIUYWaTUvs4LRJed600OMpc0Q730k1O6gjpu/pEuyBKT1W9fqEBMvBhR7bOyaMY1goKqd0sVLOn+lzOz+Oqbsqr4CtO5jwQyd5+0XgNaDBBhyc8jsozynxLVZN40PNVhm1SsJMtNY1/BQQ9V8Ta9npqGu4QhD5hYCvdJ9Xac0i2k3G7F2kSlCn8rzPXmx6W1fZbWuy+xpU9Mxode4JnaIE2Tn7u3WcR36lK3wO76DCs+3jfc8zVBnitYVTV0QBreNxxnEHac+t3iXiOBAjh76M7/T/rtJVnVPMc5UeI4a00+BPexdZekNiWWsbXiwod79n2VpeNNHm8Lj8n77Hc67RB6eIFd2q9EY8pjuMlrlcMfZvg5Rhv8eQEePdSW3FyhsN9TY3Ccreh/d44MSKluhIx2oimSOP2TA6P+txJGmV5vlU1rePhufWd3vQSO4ft7zrVW2I+I32bdssTkIEDvho1Ch1ayF9Iv6ZkB/NDTbjMza2CrPh7+UaLk6co7TNgenONekPN0odu9lkn+u6BI5aXsntqkGyuRMJ/L0m1DVU6Am7SOJ0aYtEO2+PrEHSWbDU8GJ1MvBlOX5IcCire9H14Bx9AmMZ/ELY/e/+/LF7o+DXRng3Ww6Fylor0bt71yl8qtsuBxCfaTDakMp//OdDJPpX2c//X0mACq5OfF75wf3h0i0fM5S+QW5n750RYz5etkeeV6s5xv1v3+2zX5L5+qI9U9fmtY/Ts7efZm886IfIPT//PPdl05Y/UH9otOx+40SBPETUIJgCYIm6IifHErQsQQdTdAVP7mUoGsJupqgJ37yKEHPEvQ0QV/85L/zvB8mQagJ+pagrwkG4qeAshhYgoEmGIqfQkowtARDTXAqfppSglNLcKoJCgR9iSjByBKMdABIPACJHbDBAwZ6FHxo/BAA0hEEEhdAYghsEIGOIpDYABJHYAMJdCSBxAeQWAIbTKCjCSRGwCeFbUCBjiiQOAESU2CDCnRUgcQKkLgCG1igIwskXoDEFtjgAh1dIDEDJL7ABhjoCHMkZhwSYY6NMEdHmCMx45AIc2yEOUaMUkGKjlJEmNIR5kjMOCTCHBthjo4wR2LGIRHm2AhzdIQ5EjMOiTDHRpijI8yRmHFIhDk2whwdYY7EjEMizLER5ugIcyRmHBJhjo0wR0eYIzHjkAhzbIQ5OsJciRmXRJhrI8zVEeZKzLgkwlwbYa6OMFdixiUR5toIc42VUC2F9FpILIY6wlyJGZdEmGsjzNUR5krMuCTCXBthro4wV2LGJRHm2ghzdYS5EjMuiTDXRpirI8yVmHFJhLk2wlwdYa7EjEsizLUR5uoI8yRmPBJhno0wT0eYJzHjkQjzbIR5OsI8iRmPRJhnI8zTEeZJzHgkwjwbYZ6Rb6mEi864iJRLR5gnMeORCPNshHk6wjyJGY9EmGcjzNMR5knMeCTCPBthno4wT2LGIxHm2QjzdIR5EjMeiTDPRpinI8yXmPFJhPk2wnwdYb7EjE8izLcR5usI8yVmfBJhvo0wX0eYLzHjkwjzbYT5OsJ8iRmfRJhvI8w3snqV1pMI84nEXkeYLzHjkwjzbYT5OsJ8iRmfRJhvI8zXEeZLzPgkwnwbYb6OMF9ixicR5tsI83WEBRIzAYmwwEZYoCMskJgJSIQFNsICHWGBxExAIiywERboCAskZgISYYGNsEBHWCAxE5AIC2yEBTrCAomZgERYYCMsMPaOavNI7x6J7aOOsEBiJiARFtgIC3SEBRIzAYmwwEZYoCMskJgJSIQFNsICHWGhxExIIiy0ERbqCAslZkISYaGNsFBHWCgxE5IIC22EhTrCQomZkERYaCMs1BEWSsyEJMJCG2GhjrBQYiYkERbaCAt1hIUSMyGJsNBGWGhUKFSJgq5REEUKHWGhxExIIiy0ERbqCAslZkISYaGNsFBH2FRiZkoibGojbKojbCoxMyURNrURNtURNpWYmZIIm9oIm+oIm0rMTEmETW2ETXWETSVmpiTCpjbCpjrCphIzUxJhUxthUx1hU4mZKYmwqY2wqY6wqcTMlETY1EbY1KiDqUIYXQkjSmE6wqYSM1MSYVMbYVMdYZHETEQiLLIRFukIiyRmIhJhkY2wSEdYJDETkQiLbIRFOsIiiZmIRFhkIyzSERZJzEQkwiIbYZGOsKi3vBrZAIt0gEUSMhGJzsgGWKQDLJKQiUh0RjbAIh1gkYRMRKIzsgEWGcVWVW0l0RkR9Vaz4KoQFlE91vxNF0e/a+VV0XXSU7Ilyq4To+46UYXXCV22nRCl14lRe52o4utEQHXyQzhxDAVE+XVi1F8nqgA7ocu3E6IEOzFqsBNVhJ3QJdwJUYadGHXYiSrETugy7oQoxU6MWuxEFWMndCl3QpRjJ0Y9dqIKshO6nDshSrIToyY7UUXZyZQeBaIsOzGA2Jb+6bIuVfy3qv9N+X9CQpkkAAwkNhRAH4FAINFkARoaoIdEoIgAkwloqIAeIoEiA0w2oKEDesgEihAwGYGGEughFChSwGQFGlqgh1SgiAGTGWiogR5igSIHTHagoQd6yAWKIDAYAlBFf+ghGAiSAAyWABwYmAsEUQAGUwCOMwBlgiwAgy0ARQAATXMAQRiAwRiAIgGApjqAIA3AYA1AEQFA0x1AEAdgMAegyACgKQ8gyAMw2ANQhADQtAcQBAIYDAIoUgBo6gMIEgEMFgEUMQA0/QEEkQAGkwCKHACaAgGCTACDTQBFEPSs7gSfAAahAK4zsLYSnAIYpAK4DRDpyUjwCmAQC+A2QKQnI8EtgEEugOILgOZjgOAXwCAYQHEGQHMyQHAMYJAMoHgDoHkZIHgGMIgGUNwB0NwMEFwDGGQDKP4AaH4GCL4BDMIBFIcANEcDBOcABukAikcAmqcBgncAg3gAxSUAzdUAwT2AQT6A13D0dFAm+AcwCAhQnALQnA0QHAQYJAQoXgFo3gYIHgIMIgIUtwCSuyGmM8FFgEFGgOIXQPI3lAICiQYhAYpjAJrDAYKTAIOUAC8aGgUCiQYxAYprAJoIAoKbAIOcAMU3AE0GAcFPgEFQgOIcQBJCRCcSHAUYJAUo3qFvGAmeAgyiAnxvYBgJrgIMsgL8Bon0ZCL4CjAIC/CDgWEkOAswSAvwGyTS6wLBW4BBXIA/HcixCO4CDPICFB8BNEEGBH8BBoEBipMAmiQDgsMAg8QAxUsATZQBwWOAQWSA4iaAJsuA4DLAIDNA8RMgCTMCSASfAQahAYqjAJo0A4LTAIPUgMAfSDAIXgMMYgMUVwE08wYEtwEGuQGKrwCafQOC3wCD4ADFWQDNwAHBcYBBcoDiLYBm4YDgOcAgOiCcDAwjwXWAQXZA2CCRngsE3wEG4QGKwwCazgOC8wCD9ADFYwBN6QHBe4BBfIDiMoCm9YDgPsAgP0DxGUBTe0DwH2AQIBA2p+nouUBwIGCQIKB4DaApPiB4EDCIEFDcBtA0HxBcCBhkCCh+A2iqDwg+BAxCBBTHATTdBwQnAgYpAornAJryA4IXAYMYAcV1AE37AcGNgEGOgOI7gKb+gOBHwCBIQHEeAuDv3OkPMI0MBQQSDZIEpv5AgkHwJGAQJaC4D6A5RCC4EjDIEpiGQ49AINEgTEBxIEATkUBwJmCQJqB4EKDJSCB4EzCIE1BcCNCEJBDcCRjkCSg+BGhSEgj+BAwCBaIGifRcIDgUMEgUiBok9hx0JZBoECmguBGY0mUkgksBg0wBRZD04YAgVMBgVECRJECznECQKmCwKqCIEqCZTiCIFTCYFYiak8b0XCDIFTDYFVCESW8nUueNzQPHk/5OdAiKxTEoFqehWGjO1SEoFsegWJyGYqF5V4egWByDYnEaioXmXh2CYul+p94x+ZaWdbq4bt41+fLlrLu55O+zuH0BRSaQypJ8F0WmiD/9/c8/u1dOxE/orRP5N2msUZN2n2hB2kROv9Mmsna+tgrrCZBTXJ+6z3rutETYGTGySlDW2Vj60Gvs6AGDAOkUazhHlXnJK3rOED1nyFRWz1/Uy5qaX1PkFterTlHRvYmM9IkVDCkMeBrb9+Rxd2l+TVhqmsu9kzzvXklF+vCI8tCl7n8uxEOqC1XztXzZdqfQQUBzeEDTFVYv6m5tpBF1nOPyNKpvaOFZ5KDH9MIWuD7TP/2dS4wRwL3HG1PiWgukcRLiGcbD3U7jAt3mgZXiKTbhzYqd0nVhRRPJcCONDlNjc0HTTo2/U+I3QpHPVbVKrbmPxpjtUVWXm7m6fgg9HXo2np6Buy13ajFYpqMU65fgIY0oFkyZWOHfE4bCPpqBEXMGKjttj8gO0cYd6fPH6KvUTfB1c507Cvpo5APm0Ct9dVbk2Ur3DYOSiUal65u6Rj7JbO/Q0wYjnlYHZYTGOmIG6u11QXjm+njm8kKW/kVkpMzFYdXlBZbdl6yRIgcvQy4vLPffbY76HukNeL1GXmOPNKJYGjC7T2nc+alNYTSDRyhrX1Hf6UHLBncY0PfNcPaK1wpmBtVezoDHE8dQZhqw+w4adgevhwGvi9pX0YnUfIrA7zCXLe2bftgzjH1m1MEfjsbTCPe5x1saqNuBERyQxpCHUqWw+XbL9qO92Ec8EB7vcZVKBdWFutcgFflOYWR3PpqhzO3NTm377SCUAiBtzlhtjXPVZrk0km4fzVKfh0H5gQUKgDg7njBHWn7zQeXIKj/WghGaZsFB2or2wxvYR7xRiZiPK7XKmzBtFyfIRd52RSnr8y7UNiy85dT+lD4GNn5cl/e4g5c5o+COZiFzx8e8sBflBah/I17/ci4wRg+BOnzKm1LD90kj1SimTHlLzf7bx5F6NNmmvDVo4PpwpBetIlNeiij1NhmFvEmJCtjI15Dva11Q/RoiB0O2g1oNyggJAQ5bvEknNeZ5O0pygmCNHpp03hh9u3mxU64pRv3osfuxrSdp8wpNq5Fq1vWLUUtCcxTYc1Q+2+4hm/9oj4pG2WOPspo8PX2HVhNmFtIpbLWJuShGWtOJsiRm1iB0tlPQfmbAuxf2Mxdv9YuVKuD8zed71qnqvpaPFKLu89nd16RHIig8vRH1IAdFSIcdIZHOOpu/6mB0UDLjsJe7utD9wgGBubI1tYB2451Ur2VqZ5kezjKZ2+/tZ4cxTPCi3my6353JkwIchfqwSg4bFah5g0B9dg8nMbiIG/HAR15IiXQC3kQA1031kXTccThUMfM18yo4vA/EXAgTwNat4igoI3gwM9P+G9KRWtR10SgntzNNf2qMYpfXibm6uzAumpsMe8sPEerQiLe+NZpbxVbhwEUDznVVPHIsv71WU8kR0sekJ6Q+pU4PMXivzosEu48T4twF79OZo5tny6y2KSE8rExF3U1meMOBayMuL3jmm3zdArfZSlfkJt3Bz8rstGWyyp7F7G0Cs1h2X1N9g44G1OcN6PYSFRzZ8VN7QRuRmdXf3QXQOOBhjcALotpdprjjcNhjkkzN3azYIawEoH1Eh+mZccsaBgwOoi4vG1XqVs/UDA2Rm8wVUWrb1S+FWhJ9E7w1Z+a5UrPQp/cjVsPSopprruCJMOnWf9dp/yfgTQ3zS744FOBYEPG8lPWRJIuTIotfU22IIxTrmDSiVPa0Xr/2TVt8bsDjYUaq7Od10ag4/OcdoHUxXcebI5K1asjidZWZsMazhMkgKH2q/+b5cqkpQwPi8sCyU9bwaopW22ZrklnTDKCUg7kGSANNkbZ9eg2RuD7LZGKkQjlG81QlcItO7/esftk6rtlAaSuzUtbZQH1CDh5CKzPCtQct7AIhjsJTJrDa24JwIoyjELO22t0ygDcPOCYyWd9CMomr2lxBJ1oVga3KujATryx4a+PxIra1kZaHO9GmrYuxzMpYz2YaPG2nz3xafHkj1oV7jlkqwV+xx+jCbjHLoUKVWtTFU+rrHN4FMg/ftGl8k9OTq7B2osdhjinaHFDHPQAvp8BLj2SlJB5mqTDTMOVr3cNU4dqifGWLqxYhMVN3o+BpjFMwJqG21Wlr0zYSvIGn6wg4SDF7sEzeFtlmGbcnQZLlMv7mUTtNNObMEoWhel4I3YRi5DQzc2oVN3qFx988LdVB8cfjjY2m0Fz8cRHK4y2lur7C0IfmOROP2i32eJ+Cww+zeteVzPsJDcypMeHYKSVKtBqfxlT2343YgcYiBJE8WoigGDKh2Kh8TjbztFZ6NVIScZJMddU6/5YOdCF66pD71I1O8e8A14QenZnMtHp7avxoKWQu+K0+8Q8x2Dgu8pJuWSlMXrWQjY8RucyHbO4yw0EVr1FMCq1cz1+LRCRJ1TyrKuOoFD7HzTwpWq7fxLx9e0qqTCxMYmtrnL3CvTXh5SHdxX04NcV5A/NUU3slG+4vPE+ZLGGVrhaiRSFpinSRZOWiXBfaSCKlLm8aVGldi82BcR4Mp5TMgxzNxRl4dcSIaAhgmZd2p3+j9sypM+HNA3QvKx5TPBiTqNXtdNUf5nGR7bWWeJhxrGceNavyrCjExsGom4NWumQeZ28OWwplq/o10zZHKIYwu667lAmPDh5i5skFO3KgXIL5GoLSEcs9bvyfTUGFcnyWjrf8I52y197EYkvoRUhhvufQ3Y2MV1eMN6+rbHkd8HwmTtqLx/GUw4qZc1fsUQ3v8E6LWTjpbl7Gqwr2xeeNQS03uOrqTox7HHGZhLE8oifLFvKdiVwkOQZw8YlEtmtSo9RllDrxYUvmyFkEDmDGBaIuzDHPCCt18+baVRx78CYy5E0spcoYSFzXAeZ5DP0eVrxi4Qdl5oFKGYF2fE4EmLQGuqwVe4X3YMzUz7imD0dF7BfzTL/S9i3JNwYZhBd4JklvHd/TWOUROqj4hzqKC6kyWVXPBguncVyj1FDHuVGkYR4vrkWcrw2ftE0PMxE2OagJ1jHh6fgusny97o8TsBEqYuLwCT5KdYAqqrdRSsPkYL6nT1VmlC21U0BMVMrFeVEm0kWNhUAxhVMs+/PdWZEVaZ6thMiXP//55/8BliIobw=="; \ 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 34dc73f..d4a65d6 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

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

    Returns SolanaAgentKit

  • Properties

    config: Config

    Configuration object

    +
    connection: Connection

    Solana RPC connection

    +
    wallet: Keypair

    Wallet keypair for signing transactions

    +
    wallet_address: PublicKey

    Public key of the wallet

    +

    Methods

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • amount: number
      • OptionalsplmintAddress: PublicKey

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

    • Parameters

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

      Returns Promise<{ mint: PublicKey }>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Opens a new trading position on Flash.Trade

      Parameters

      • params: FlashTradeParams

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

      Returns Promise<string>

      Transaction signature

      -
    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
    • 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 9ca150b..fdb8fa1 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 d0a0c48..91f3317 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 468063f..9f4968c 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 632de8f..06169a6 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 38ac5e1..7fd27af 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index fec1876..dcc5035 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 82ad1be..97eb0d5 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 47fafa0..372e5cd 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 90de288..20eae8d 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 6a1c4c2..a69188f 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 f397ec4..73b2590 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 d0d8b44..1759c05 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 98412df..cfcd122 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 index 7c19a68..4bfb26b 100644 --- a/docs/interfaces/FlashCloseTradeParams.html +++ b/docs/interfaces/FlashCloseTradeParams.html @@ -1,3 +1,3 @@ -FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    side +FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    Properties

    side: "long" | "short"
    token: string
    +

    Properties

    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/FlashTradeParams.html b/docs/interfaces/FlashTradeParams.html index 3d75b25..2ce50f7 100644 --- a/docs/interfaces/FlashTradeParams.html +++ b/docs/interfaces/FlashTradeParams.html @@ -1,5 +1,5 @@ -FlashTradeParams | solana-agent-kit

    Interface FlashTradeParams

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

    Properties

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

    Properties

    collateralUsd: number
    leverage: number
    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index f1ff5db..e03f1e9 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 fd7d98b..205f490 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 6fab022..3f3ef38 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 5816d06..9e9fbd0 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 b862c18..0812eba 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 a5c2bff..81dd58e 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 cb329fe..f318deb 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 c39ecd9..6e62690 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 d48c8ab..5582a9b 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 879d29d..3963783 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 4bb5936..14a52b3 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 674da9a..0f2e40c 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index ad45b82..e986d86 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;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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/index.ts b/src/actions/index.ts index 60e7df4..c974209 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -28,6 +28,8 @@ import raydiumCreateAmmV4Action from "./raydiumCreateAmmV4"; import createOrcaSingleSidedWhirlpoolAction from "./createOrcaSingleSidedWhirlpool"; import launchPumpfunTokenAction from "./launchPumpfunToken"; import getWalletAddressAction from "./getWalletAddress"; +import flashOpenTradeAction from "./flashOpenTrade"; +import flashCloseTradeAction from "./flashCloseTrade"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -61,6 +63,8 @@ export const ACTIONS = { CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: createOrcaSingleSidedWhirlpoolAction, LAUNCH_PUMPFUN_TOKEN_ACTION: launchPumpfunTokenAction, + FLASH_OPEN_TRADE_ACTION: flashOpenTradeAction, + FLASH_CLOSE_TRADE_ACTION: flashCloseTradeAction, }; export type { Action, ActionExample, Handler } from "../types/action"; From b78667710c7d618ae7b13fc953cd9186e644a6dc Mon Sep 17 00:00:00 2001 From: aryan Date: Mon, 6 Jan 2025 18:51:46 +0530 Subject: [PATCH 072/138] rm: auto doc generation --- .husky/pre-commit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 58ad181..d42474c 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1 @@ -pnpm run docs && git add docs/ && tsc && lint-staged \ No newline at end of file +tsc && lint-staged \ No newline at end of file From f827b3104c4eb6d1fd6210d2a168852dad1c85b9 Mon Sep 17 00:00:00 2001 From: thrishank Date: Mon, 6 Jan 2025 19:05:13 +0530 Subject: [PATCH 073/138] fix log --- src/tools/close_empty_token_accounts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/close_empty_token_accounts.ts b/src/tools/close_empty_token_accounts.ts index ebc7f78..9a102db 100644 --- a/src/tools/close_empty_token_accounts.ts +++ b/src/tools/close_empty_token_accounts.ts @@ -27,7 +27,7 @@ export async function closeEmptyTokenAccounts( ); const transaction = new Transaction(); - const MAX_INSTRUCTIONS = 48; // 25 instructions can be processed in a single transaction without failing + const MAX_INSTRUCTIONS = 40; // 40 instructions can be processed in a single transaction without failing spl_token .slice(0, Math.min(MAX_INSTRUCTIONS, spl_token.length)) From 2504450e1a04d9218542256b6811ff44f9540332 Mon Sep 17 00:00:00 2001 From: aryan Date: Mon, 6 Jan 2025 20:39:55 +0530 Subject: [PATCH 074/138] chore: docs + lint --- docs/classes/SolanaAgentKit.html | 16 ++++++++-------- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/FlashCloseTradeParams.html | 4 ++-- docs/interfaces/FlashTradeParams.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- package.json | 2 +- src/langchain/index.ts | 2 -- src/tools/flash_close_trade.ts | 12 +++--------- src/tools/flash_open_trade.ts | 2 +- src/tools/index.ts | 2 +- src/utils/flashUtils.ts | 2 +- 35 files changed, 69 insertions(+), 77 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 5e9f212..aef9659 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

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

    Returns SolanaAgentKit

  • Properties

    config: Config

    Configuration object

    +
    connection: Connection

    Solana RPC connection

    +
    wallet: Keypair

    Wallet keypair for signing transactions

    +
    wallet_address: PublicKey

    Public key of the wallet

    +

    Methods

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • amount: number
      • OptionalsplmintAddress: PublicKey

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

    • Parameters

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

      Returns Promise<{ mint: PublicKey }>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Opens a new trading position on Flash.Trade

      Parameters

      • params: FlashTradeParams

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

      Returns Promise<string>

      Transaction signature

      -
    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
    • 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 db89d26..e96b027 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 4876fc2..a07bdef 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 8cbf713..8b452c0 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 df2485a..0091412 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 0b15a4a..6fb7f3f 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 54d476c..6c816ee 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 6f64693..3cbe573 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 e312b6e..6f75427 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 eeba065..26b3c77 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 a78d3bf..573d974 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 71ffa6e..e55da04 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 87f7280..cefbd9a 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 7e7f77c..0e5eb81 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 index 8eac066..8df7242 100644 --- a/docs/interfaces/FlashCloseTradeParams.html +++ b/docs/interfaces/FlashCloseTradeParams.html @@ -1,3 +1,3 @@ -FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    side +FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    Properties

    side: "long" | "short"
    token: string
    +

    Properties

    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/FlashTradeParams.html b/docs/interfaces/FlashTradeParams.html index 19a44df..c23d316 100644 --- a/docs/interfaces/FlashTradeParams.html +++ b/docs/interfaces/FlashTradeParams.html @@ -1,5 +1,5 @@ -FlashTradeParams | solana-agent-kit

    Interface FlashTradeParams

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

    Properties

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

    Properties

    collateralUsd: number
    leverage: number
    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index d2e2526..f2fe654 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 2ad8b8a..eb2c24f 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 5e98744..17f0aa9 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 3d9620b..2039bcf 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 93bb466..fe3c811 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 6fb34c9..d1886e3 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 fb86e22..52421d3 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 9cb1b2d..b2b1875 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 58b75f2..fe13f4f 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 193a1fc..8c47136 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 334e2b4..947cece 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 6e39ac5..feede00 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index ec6bd8b..2a0fff2 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;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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 0f396d2..4f9a325 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solana-agent-kit", - "version": "1.3.7", + "version": "1.3.8", "description": "connect any ai agents to solana protocols", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/src/langchain/index.ts b/src/langchain/index.ts index bcb824d..b127c82 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -794,8 +794,6 @@ export class SolanaFlashOpenTrade extends Tool { try { const parsedInput = JSON.parse(input); - console.log(parsedInput); - // Validate input parameters if (!parsedInput.token) { throw new Error("Token is required, received: " + parsedInput.token); diff --git a/src/tools/flash_close_trade.ts b/src/tools/flash_close_trade.ts index 318eb8d..ffbe0c8 100644 --- a/src/tools/flash_close_trade.ts +++ b/src/tools/flash_close_trade.ts @@ -1,11 +1,5 @@ -import { PublicKey, ComputeBudgetProgram } from "@solana/web3.js"; -import { - PerpetualsClient, - OraclePrice, - PoolConfig, - Privilege, - Side, -} from "flash-sdk"; +import { ComputeBudgetProgram } from "@solana/web3.js"; +import { PoolConfig, Privilege, Side } from "flash-sdk"; import { BN } from "@coral-xyz/anchor"; import { SolanaAgentKit } from "../index"; import { @@ -54,7 +48,7 @@ export async function flashCloseTrade( const [targetSymbol, collateralSymbol] = marketData.tokenPair.split("/"); // Fetch oracle prices - const [targetPrice, collateralPrice] = await Promise.all([ + const [targetPrice] = await Promise.all([ fetchOraclePrice(targetSymbol), fetchOraclePrice(collateralSymbol), ]); diff --git a/src/tools/flash_open_trade.ts b/src/tools/flash_open_trade.ts index 148e373..9896ed4 100644 --- a/src/tools/flash_open_trade.ts +++ b/src/tools/flash_open_trade.ts @@ -1,4 +1,4 @@ -import { PublicKey, ComputeBudgetProgram } from "@solana/web3.js"; +import { ComputeBudgetProgram } from "@solana/web3.js"; import { PerpetualsClient, OraclePrice, diff --git a/src/tools/index.ts b/src/tools/index.ts index 483a77c..4424e98 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -49,4 +49,4 @@ export * from "./transfer"; export * from "./withdraw_all"; export * from "./flash_open_trade"; -export * from "./flash_close_trade"; \ No newline at end of file +export * from "./flash_close_trade"; diff --git a/src/utils/flashUtils.ts b/src/utils/flashUtils.ts index 87cda80..34e89a7 100644 --- a/src/utils/flashUtils.ts +++ b/src/utils/flashUtils.ts @@ -238,7 +238,7 @@ export async function getNftTradingAccountInfo( nftOwnerRebateTokenAccountPk, ); if (!accountExists) { - console.log( + console.error( "NFT owner rebate token account does not exist and may need to be created", ); } From 249cd70d23ed98969774e0f6e9f6a95cd7ee4598 Mon Sep 17 00:00:00 2001 From: aryan Date: Mon, 6 Jan 2025 20:41:14 +0530 Subject: [PATCH 075/138] fix: pkg version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4f9a325..0f396d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solana-agent-kit", - "version": "1.3.8", + "version": "1.3.7", "description": "connect any ai agents to solana protocols", "main": "dist/index.js", "types": "dist/index.d.ts", From f77cada52ac7e1627f9218cc72a2789f712a4532 Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Mon, 6 Jan 2025 21:35:28 +0530 Subject: [PATCH 076/138] updated flash privilige settings and improved token support --- docs/assets/hierarchy.js | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 16 +++++++------- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 ++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/FlashCloseTradeParams.html | 4 ++-- docs/interfaces/FlashTradeParams.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- .../LuloAccountDetailsResponse.html | 4 ++-- .../interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/langchain/index.ts | 11 +++++++--- src/tools/flash_close_trade.ts | 5 +++-- src/tools/flash_open_trade.ts | 4 ++-- src/utils/flashUtils.ts | 21 ++++++++++++++++++- 36 files changed, 98 insertions(+), 73 deletions(-) diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js index fb85f0a..88636f0 100644 --- a/docs/assets/hierarchy.js +++ b/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm" \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 94a19ed..2f5fc3c 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNllGTkzAQgP9LnjvWq96pfaut1ep57dwxvjg+7IWlZAgJkyzajuN/d0o7B5Sw8MID++23sMkSfv4VhAcSc/FkNRhY7NHQN0ViIgqgVMyF1OA9+mk7/iqlXIuJyJSJxfxm9v7f5MW0kKSsqQ3KELoEJPrpOdROnt3edZI/HSAvNDKOC8GpPgLJdOtidDsgQhd+pA7FKZdWa6zqr7DQ9pijoaA1BI4Tb4vT1Q9YLxSvNIna93hOITbZIZB14exzjEtfI8l055TER/SFNT68lF2MlWrw6VJbj5GDGHfgIA/3KUgOqkdZRwo/q+c/1mVVqzACnz1ifxv6YK7A17JQhC6yGZoVEATF1xAnvC+1XUhpS0MrJFDas0vXj3NFvitD9SZ+WEdsjV6aK3EZ5d5VbMQ5za7Mi6Q091AambJPGSSH1OvSVKvCTXuAY7VHSkfOXRgdklfwGjHerDaEea/5ihulHRYOqao2LVOUWdBThznJFzCxxsZnj44F+unl9lXm6w/vbm5nzbNrGW22D0919m9wCp716dA6h9qGN81kWU3/+ZSNrNWNPZGUppoAP+1AbeHd247wBzqJerEZULYwRooHlCXh9RFf61oAI0qUifstdZRR7JFa/wLB1+tAHeGv/7OFIBQ=" \ 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 919304b..adec9f3 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 aef9659..55450f7 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

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

    Returns SolanaAgentKit

  • Properties

    config: Config

    Configuration object

    +
    connection: Connection

    Solana RPC connection

    +
    wallet: Keypair

    Wallet keypair for signing transactions

    +
    wallet_address: PublicKey

    Public key of the wallet

    +

    Methods

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • amount: number
      • OptionalsplmintAddress: PublicKey

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

    • Parameters

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

      Returns Promise<{ mint: PublicKey }>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Opens a new trading position on Flash.Trade

      Parameters

      • params: FlashTradeParams

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

      Returns Promise<string>

      Transaction signature

      -
    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
    • 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 e96b027..b5b75e3 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 a07bdef..80fbd0c 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 8b452c0..a5d951f 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 0091412..f7246b1 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 6fb7f3f..b9b8f7a 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 6c816ee..1abce7a 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 3cbe573..4181708 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 6f75427..0203f22 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 26b3c77..31bb371 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 573d974..9454eac 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 e55da04..34c50d5 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 cefbd9a..458a266 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 0e5eb81..2d062ba 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 index 8df7242..cb36e4e 100644 --- a/docs/interfaces/FlashCloseTradeParams.html +++ b/docs/interfaces/FlashCloseTradeParams.html @@ -1,3 +1,3 @@ -FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    side +FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    Properties

    side: "long" | "short"
    token: string
    +

    Properties

    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/FlashTradeParams.html b/docs/interfaces/FlashTradeParams.html index c23d316..8451e63 100644 --- a/docs/interfaces/FlashTradeParams.html +++ b/docs/interfaces/FlashTradeParams.html @@ -1,5 +1,5 @@ -FlashTradeParams | solana-agent-kit

    Interface FlashTradeParams

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

    Properties

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

    Properties

    collateralUsd: number
    leverage: number
    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index f2fe654..22cf7d8 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 eb2c24f..434cca1 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 17f0aa9..4a747c5 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 2039bcf..475b7c2 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 fe3c811..cead694 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 d1886e3..9e65d95 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 52421d3..5b737cd 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 b2b1875..c95c38c 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 fe13f4f..d62b566 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 8c47136..9c938a1 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 947cece..f0ee614 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 feede00..3f1c2df 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 2a0fff2..9491767 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;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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/langchain/index.ts b/src/langchain/index.ts index b127c82..ebfac61 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -9,6 +9,7 @@ import { SolanaAgentKit, } from "../index"; import { create_image, FEE_TIERS, generateOrdersfromPattern } from "../tools"; +import { marketTokenMap } from "../utils/flashUtils"; export class SolanaBalanceTool extends Tool { name = "solana_balance"; @@ -798,10 +799,14 @@ export class SolanaFlashOpenTrade extends Tool { if (!parsedInput.token) { throw new Error("Token is required, received: " + parsedInput.token); } - if (!["SOL", "BTC", "ETH", "USDC"].includes(parsedInput.token)) { + if (!Object.keys(marketTokenMap).includes(parsedInput.token)) { throw new Error( - 'Token must be one of ["SOL", "BTC", "ETH", "USDC"], received: ' + - parsedInput.token, + "Token must be one of " + + Object.keys(marketTokenMap).join(", ") + + ", received: " + + parsedInput.token + + "\n" + + "Please check https://beast.flash.trade/ for the list of supported tokens", ); } if (!["long", "short"].includes(parsedInput.type)) { diff --git a/src/tools/flash_close_trade.ts b/src/tools/flash_close_trade.ts index ffbe0c8..3a1e4e9 100644 --- a/src/tools/flash_close_trade.ts +++ b/src/tools/flash_close_trade.ts @@ -1,5 +1,5 @@ import { ComputeBudgetProgram } from "@solana/web3.js"; -import { PoolConfig, Privilege, Side } from "flash-sdk"; +import { PoolConfig, Side } from "flash-sdk"; import { BN } from "@coral-xyz/anchor"; import { SolanaAgentKit } from "../index"; import { @@ -9,6 +9,7 @@ import { getNftTradingAccountInfo, fetchOraclePrice, createPerpClient, + get_flash_privilege, } from "../utils/flashUtils"; import { FlashCloseTradeParams } from "../types"; @@ -93,7 +94,7 @@ export async function flashCloseTrade( priceWithSlippage, sideEnum, poolConfig, - Privilege.Referral, + get_flash_privilege(), tradingAccounts.nftTradingAccountPk, tradingAccounts.nftReferralAccountPK, tradingAccounts.nftOwnerRebateTokenAccountPk, diff --git a/src/tools/flash_open_trade.ts b/src/tools/flash_open_trade.ts index 9896ed4..8e1af4e 100644 --- a/src/tools/flash_open_trade.ts +++ b/src/tools/flash_open_trade.ts @@ -3,7 +3,6 @@ import { PerpetualsClient, OraclePrice, PoolConfig, - Privilege, Side, CustodyAccount, Custody, @@ -18,6 +17,7 @@ import { OPEN_POSITION_CU, fetchOraclePrice, createPerpClient, + get_flash_privilege, } from "../utils/flashUtils"; import { FlashTradeParams } from "../types"; @@ -141,7 +141,7 @@ export async function flashOpenTrade( positionSize, side === "long" ? Side.Long : Side.Short, poolConfig, - Privilege.Referral, + get_flash_privilege(), tradingAccounts.nftTradingAccountPk, tradingAccounts.nftReferralAccountPK, tradingAccounts.nftOwnerRebateTokenAccountPk!, diff --git a/src/utils/flashUtils.ts b/src/utils/flashUtils.ts index 34e89a7..a583690 100644 --- a/src/utils/flashUtils.ts +++ b/src/utils/flashUtils.ts @@ -1,7 +1,13 @@ import { HermesClient } from "@pythnetwork/hermes-client"; import { OraclePrice } from "flash-sdk"; import { AnchorProvider, BN, Wallet } from "@coral-xyz/anchor"; -import { PoolConfig, Token, Referral, PerpetualsClient } from "flash-sdk"; +import { + PoolConfig, + Token, + Referral, + PerpetualsClient, + Privilege, +} from "flash-sdk"; import { Cluster, PublicKey, Connection, Keypair } from "@solana/web3.js"; import { getAssociatedTokenAddressSync } from "@solana/spl-token"; @@ -278,3 +284,16 @@ export function createPerpClient( {}, ); } + +const FLASH_PRIVILEGE = process.env.FLASH_PRIVILEGE || "None"; + +export function get_flash_privilege(): Privilege { + switch (FLASH_PRIVILEGE.toLowerCase()) { + case "referral": + return Privilege.Referral; + case "nft": + return Privilege.NFT; + default: + return Privilege.None; + } +} From f03f5dd3ffb01430589f34d4f240794fb7f66bff Mon Sep 17 00:00:00 2001 From: DonDuala Date: Mon, 6 Jan 2025 12:35:52 -0400 Subject: [PATCH 077/138] Move mm agent to examples --- examples/market-making-agent/.env.example | 3 + examples/market-making-agent/README.md | 50 + examples/market-making-agent/index.ts | 389 ++ examples/market-making-agent/package.json | 16 + examples/market-making-agent/pnpm-lock.yaml | 6000 +++++++++++++++++++ test/index.ts | 141 +- 6 files changed, 6460 insertions(+), 139 deletions(-) create mode 100644 examples/market-making-agent/.env.example create mode 100644 examples/market-making-agent/README.md create mode 100644 examples/market-making-agent/index.ts create mode 100644 examples/market-making-agent/package.json create mode 100644 examples/market-making-agent/pnpm-lock.yaml diff --git a/examples/market-making-agent/.env.example b/examples/market-making-agent/.env.example new file mode 100644 index 0000000..fd7d991 --- /dev/null +++ b/examples/market-making-agent/.env.example @@ -0,0 +1,3 @@ +OPENAI_API_KEY= +RPC_URL= +SOLANA_PRIVATE_KEY= \ No newline at end of file diff --git a/examples/market-making-agent/README.md b/examples/market-making-agent/README.md new file mode 100644 index 0000000..7894594 --- /dev/null +++ b/examples/market-making-agent/README.md @@ -0,0 +1,50 @@ +# AI Guided Market Making Agent + +This agent showcases an ai guided market maker on Manifest, Solana's CLOB DEX. The agent guides the user to setup basic two-sided quotes on Manifest markets. +[Reference](https://github.com/CKS-Systems/manifest) + +## Key Features + +- **Automated Quoting**: The agent automatically refreshes quotes on an interval. +- **Reducing Complexity**: Designed to abstract away parameters for setting up market making. +- **Random Model**: The market making introduces randomness to prevent front running or other negative botting behavoirs. + + +## Example +=== Market Maker Configuration === + +Enter the market ID: 2Uj8277fkaVBtTU6Wp2GPRbQC86SkSdgQ2mp1Q5N2LHc +Enter the base token symbol (e.g., SEND): SEND +Enter the quote token symbol (e.g., USDC): USDC + +=== Quote Parameters (applies to both buy and sell sides) === +Enter number of quotes to place on each side: 4 +Enter minimum quote depth (% distance from mid price): 0.1 +Enter maximum quote depth (% distance from mid price): 2 + +=== Token Allowances === +Enter total SEND allowance: 2 +Enter total USDC allowance: 3 + +Enter update interval in seconds: 20 + +=== Configuration Summary === +{ + "marketId": "2Uj8277fkaVBtTU6Wp2GPRbQC86SkSdgQ2mp1Q5N2LHc", + "baseToken": "SEND", + "quoteToken": "USDC", + "quoteParams": { + "number": 4, + "minDepth": 0.1, + "maxDepth": 2 + }, + "allowance": { + "base": 2, + "quote": 3 + }, + "intervalSeconds": 20 +} + +Is this configuration correct? (yes/no): yes + +Starting market maker mode for SEND/USDC... diff --git a/examples/market-making-agent/index.ts b/examples/market-making-agent/index.ts new file mode 100644 index 0000000..06c3df3 --- /dev/null +++ b/examples/market-making-agent/index.ts @@ -0,0 +1,389 @@ +import { HumanMessage } from "@langchain/core/messages"; +import { MemorySaver } from "@langchain/langgraph"; +import { createReactAgent } from "@langchain/langgraph/prebuilt"; +import { ChatOpenAI } from "@langchain/openai"; +import * as dotenv from "dotenv"; +import * as fs from "fs"; +import * as readline from "readline"; +import { createSolanaTools, SolanaAgentKit } from "../../src"; + +dotenv.config(); + +function validateEnvironment(): void { + const missingVars: string[] = []; + const requiredVars = ["OPENAI_API_KEY", "RPC_URL", "SOLANA_PRIVATE_KEY"]; + + requiredVars.forEach((varName) => { + if (!process.env[varName]) { + missingVars.push(varName); + } + }); + + if (missingVars.length > 0) { + console.error("Error: Required environment variables are not set"); + missingVars.forEach((varName) => { + console.error(`${varName}=your_${varName.toLowerCase()}_here`); + }); + process.exit(1); + } +} + +validateEnvironment(); + +const WALLET_DATA_FILE = "wallet_data.txt"; + +async function initializeAgent() { + try { + const llm = new ChatOpenAI({ + modelName: "gpt-4o-mini", + temperature: 0.3, + }); + + let walletDataStr: string | null = null; + + if (fs.existsSync(WALLET_DATA_FILE)) { + try { + walletDataStr = fs.readFileSync(WALLET_DATA_FILE, "utf8"); + } catch (error) { + console.error("Error reading wallet data:", error); + } + } + + const solanaAgent = new SolanaAgentKit( + process.env.SOLANA_PRIVATE_KEY!, + process.env.RPC_URL!, + { + OPENAI_API_KEY: process.env.OPENAI_API_KEY!, + }, + ); + + const tools = createSolanaTools(solanaAgent); + + const memory = new MemorySaver(); + const config = { configurable: { thread_id: "Solana Agent Kit!" } }; + + const agent = createReactAgent({ + llm, + tools, + checkpointSaver: memory, + messageModifier: ` + You are a helpful agent that can interact onchain using the Solana Agent Kit. You are + empowered to interact onchain using your tools. If you ever need funds, you can request them from the + faucet. If not, you can provide your wallet details and request funds from the user. If there is a 5XX + (internal) HTTP error code, ask the user to try again later. If someone asks you to do something you + can't do with your currently available tools, you must say so, and encourage them to implement it + themselves using the Solana Agent Kit, recommend they go to https://www.solanaagentkit.xyz for more information. Be + concise and helpful with your responses. Refrain from restating your tools' descriptions unless it is explicitly requested. + `, + }); + + if (walletDataStr) { + fs.writeFileSync(WALLET_DATA_FILE, walletDataStr); + } + + return { agent, config }; + } catch (error) { + console.error("Failed to initialize agent:", error); + throw error; + } +} + +async function runAutonomousMode(agent: any, config: any, interval = 10) { + console.log("Starting autonomous mode..."); + + while (true) { + try { + const thought = + "Be creative and do something interesting on the blockchain. " + + "Choose an action or set of actions and execute it that highlights your abilities."; + + const stream = await agent.stream( + { messages: [new HumanMessage(thought)] }, + config, + ); + + for await (const chunk of stream) { + if ("agent" in chunk) { + console.log(chunk.agent.messages[0].content); + } else if ("tools" in chunk) { + console.log(chunk.tools.messages[0].content); + } + console.log("-------------------"); + } + + await new Promise((resolve) => setTimeout(resolve, interval * 1000)); + } catch (error) { + if (error instanceof Error) { + console.error("Error:", error.message); + } + process.exit(1); + } + } +} + +async function runChatMode(agent: any, config: any) { + console.log("Starting chat mode... Type 'exit' to end."); + + const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + }); + + const question = (prompt: string): Promise => + new Promise((resolve) => rl.question(prompt, resolve)); + + try { + while (true) { + const userInput = await question("\nPrompt: "); + + if (userInput.toLowerCase() === "exit") { + break; + } + + const stream = await agent.stream( + { messages: [new HumanMessage(userInput)] }, + config, + ); + + for await (const chunk of stream) { + if ("agent" in chunk) { + console.log(chunk.agent.messages[0].content); + } else if ("tools" in chunk) { + console.log(chunk.tools.messages[0].content); + } + console.log("-------------------"); + } + } + } catch (error) { + if (error instanceof Error) { + console.error("Error:", error.message); + } + process.exit(1); + } finally { + rl.close(); + } +} + +interface MarketMakerConfig { + marketId: string; + baseToken: string; + quoteToken: string; + quoteParams: { + number: number; // Number of quotes on each side + minDepth: number; // Minimum distance from mid (%) + maxDepth: number; // Maximum distance from mid (%) + }; + allowance: { + base: number; + quote: number; + }; + intervalSeconds: number; +} + +function createReadlineInterface() { + return readline.createInterface({ + input: process.stdin, + output: process.stdout, + }); +} + +async function askQuestion( + rl: readline.Interface, + question: string, +): Promise { + return new Promise((resolve) => { + rl.question(question, (answer) => { + resolve(answer); + }); + }); +} + +async function configureMarketMaker(): Promise { + const rl = createReadlineInterface(); + + try { + console.log("\n=== Market Maker Configuration ===\n"); + + // Basic market information + const marketId = await askQuestion(rl, "Enter the market ID: "); + const baseToken = await askQuestion( + rl, + "Enter the base token symbol (e.g., SEND): ", + ); + const quoteToken = await askQuestion( + rl, + "Enter the quote token symbol (e.g., USDC): ", + ); + + // Quote parameters + console.log( + "\n=== Quote Parameters (applies to both buy and sell sides) ===", + ); + const quoteNumber = parseInt( + await askQuestion(rl, "Enter number of quotes to place on each side: "), + ); + const minDepth = parseFloat( + await askQuestion( + rl, + "Enter minimum quote depth (% distance from mid price): ", + ), + ); + const maxDepth = parseFloat( + await askQuestion( + rl, + "Enter maximum quote depth (% distance from mid price): ", + ), + ); + + // Token allowances + console.log("\n=== Token Allowances ==="); + const baseAllowance = parseFloat( + await askQuestion(rl, `Enter total ${baseToken} allowance: `), + ); + const quoteAllowance = parseFloat( + await askQuestion(rl, `Enter total ${quoteToken} allowance: `), + ); + + // Update interval + const interval = parseInt( + await askQuestion(rl, "\nEnter update interval in seconds: "), + ); + + const config: MarketMakerConfig = { + marketId, + baseToken, + quoteToken, + quoteParams: { + number: quoteNumber, + minDepth: minDepth, + maxDepth: maxDepth, + }, + allowance: { + base: baseAllowance, + quote: quoteAllowance, + }, + intervalSeconds: interval, + }; + + // Display summary + console.log("\n=== Configuration Summary ==="); + console.log(JSON.stringify(config, null, 2)); + + const confirm = await askQuestion( + rl, + "\nIs this configuration correct? (yes/no): ", + ); + if (confirm.toLowerCase() !== "yes") { + throw new Error("Configuration cancelled by user"); + } + + return config; + } finally { + rl.close(); + } +} + +async function runMarketMakerMode(agent: any, config: any) { + try { + const marketMakerConfig = await configureMarketMaker(); + console.log( + `\nStarting market maker mode for ${marketMakerConfig.baseToken}/${marketMakerConfig.quoteToken}...`, + ); + + while (true) { + try { + const thought = `You are an on-chain Solana market maker for the ${marketMakerConfig.baseToken}/${marketMakerConfig.quoteToken} Manifest market, ${marketMakerConfig.marketId}. + Find the ${marketMakerConfig.baseToken}/${marketMakerConfig.quoteToken} live price by checking Jupiter. + Use solana_batch_order to provide ${marketMakerConfig.quoteParams.number} buys at different prices between -${marketMakerConfig.quoteParams.minDepth}% to -${marketMakerConfig.quoteParams.maxDepth}% and ${marketMakerConfig.quoteParams.number} sells at different prices between +${marketMakerConfig.quoteParams.minDepth}% to +${marketMakerConfig.quoteParams.maxDepth}% with increasing quantities further from the live price. + You have an allowance of ${marketMakerConfig.allowance.base} ${marketMakerConfig.baseToken} and ${marketMakerConfig.allowance.quote} ${marketMakerConfig.quoteToken}. + Important! Only send 1 transaction, buy and sells can be combined into a single solana_batch_order.`; + + const stream = await agent.stream( + { messages: [new HumanMessage(thought)] }, + config, + ); + + for await (const chunk of stream) { + if ("agent" in chunk) { + console.log(chunk.agent.messages[0].content); + } else if ("tools" in chunk) { + console.log(chunk.tools.messages[0].content); + } + console.log("-------------------"); + } + + await new Promise((resolve) => + setTimeout(resolve, marketMakerConfig.intervalSeconds * 1000), + ); + } catch (error) { + if (error instanceof Error) { + console.error("Error:", error); + } + process.exit(1); + } + } + } catch (error) { + console.error("Configuration error:", error); + process.exit(1); + } +} + +async function chooseMode(): Promise<"chat" | "auto" | "mm"> { + const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + }); + + const question = (prompt: string): Promise => + new Promise((resolve) => rl.question(prompt, resolve)); + + while (true) { + console.log("\nAvailable modes:"); + console.log("1. chat - Interactive chat mode"); + console.log("2. auto - Autonomous action mode"); + console.log("3. mm - AI guided market making"); + + const choice = (await question("\nChoose a mode (enter number or name): ")) + .toLowerCase() + .trim(); + + rl.close(); + + if (choice === "1" || choice === "chat") { + return "chat"; + } else if (choice === "2" || choice === "auto") { + return "auto"; + } else if (choice === "3" || choice === "mm") { + return "mm"; + } + console.log("Invalid choice. Please try again."); + } +} + +async function main() { + try { + console.log("Starting Agent..."); + const { agent, config } = await initializeAgent(); + const mode = await chooseMode(); + + if (mode === "chat") { + await runChatMode(agent, config); + } else if (mode === "auto") { + await runAutonomousMode(agent, config); + } else { + await runMarketMakerMode(agent, config); + } + } catch (error) { + if (error instanceof Error) { + console.error("Error:", error.message); + } + process.exit(1); + } +} + +if (require.main === module) { + main().catch((error) => { + console.error("Fatal error:", error); + process.exit(1); + }); +} diff --git a/examples/market-making-agent/package.json b/examples/market-making-agent/package.json new file mode 100644 index 0000000..326802e --- /dev/null +++ b/examples/market-making-agent/package.json @@ -0,0 +1,16 @@ +{ + "name": "market-making-agent", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "main": "ts-node index.ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@langchain/langgraph-checkpoint-postgres": "^0.0.2", + "solana-agent-kit": "^1.3.6" + } +} diff --git a/examples/market-making-agent/pnpm-lock.yaml b/examples/market-making-agent/pnpm-lock.yaml new file mode 100644 index 0000000..7c02f82 --- /dev/null +++ b/examples/market-making-agent/pnpm-lock.yaml @@ -0,0 +1,6000 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@langchain/langgraph-checkpoint-postgres': + specifier: ^0.0.2 + version: 0.0.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))) + solana-agent-kit: + specifier: ^1.3.6 + version: 1.3.7(@noble/hashes@1.6.1)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.0.0)(sodium-native@3.4.1)(typescript@5.6.3)(utf-8-validate@5.0.10) + +packages: + + '@ai-sdk/openai@1.0.13': + resolution: {integrity: sha512-kuSLNM6nFy+lgEd6d0X9Bp4hXjPbEwtUbnIrI4jqa9uZZupHc9vh8rOF6XO8s6ZhrWYjnuYZmhvK0S4k+sHrsg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + + '@ai-sdk/provider-utils@2.0.5': + resolution: {integrity: sha512-2M7vLhYN0ThGjNlzow7oO/lsL+DyMxvGMIYmVQvEYaCWhDzxH5dOp78VNjJIVwHzVLMbBDigX3rJuzAs853idw==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + peerDependenciesMeta: + zod: + optional: true + + '@ai-sdk/provider@1.0.3': + resolution: {integrity: sha512-WiuJEpHTrltOIzv3x2wx4gwksAHW0h6nK3SoDzjqCOJLu/2OJ1yASESTIX+f07ChFykHElVoP80Ol/fe9dw6tQ==} + engines: {node: '>=18'} + + '@ai-sdk/react@1.0.7': + resolution: {integrity: sha512-j2/of4iCNq+r2Bjx0O9vdRhn5C/02t2Esenis71YtnsoynPz74eQlJ3N0RYYPheThiJes50yHdfdVdH9ulxs1A==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + zod: ^3.0.0 + peerDependenciesMeta: + react: + optional: true + zod: + optional: true + + '@ai-sdk/ui-utils@1.0.6': + resolution: {integrity: sha512-ZP6Vjj+VCnSPBIAvWAdKj2olQONJ/f4aZpkVCGkzprdhv8TjHwB6CTlXFS3zypuEGy4asg84dc1dvXKooQXFvg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + peerDependenciesMeta: + zod: + optional: true + + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + + '@bonfida/sns-records@0.0.1': + resolution: {integrity: sha512-i28w9+BMFufhhpmLQCNx1CKKXTsEn+5RT18VFpPqdGO3sqaYlnUWC1m3wDpOvlzGk498dljgRpRo5wmcsnuEMg==} + peerDependencies: + '@solana/web3.js': ^1.87.3 + + '@bonfida/spl-name-service@3.0.7': + resolution: {integrity: sha512-okOLXhy+fQoyQ/sZgMleO5RrIZfTkWEoHMxWgUqg6RP/MTBlrKxlhKC6ymKn4UUe0C5s3Nb8A+3Ams7vX0nMDg==} + peerDependencies: + '@solana/web3.js': ^1.87.3 + + '@cfworker/json-schema@4.0.3': + resolution: {integrity: sha512-ZykIcDTVv5UNmKWSTLAs3VukO6NDJkkSKxrgUTDPBkAlORVT3H9n5DbRjRl8xIotklscHdbLIa0b9+y3mQq73g==} + + '@cks-systems/manifest-sdk@0.1.59': + resolution: {integrity: sha512-ZYTwwDxrC2u74kF30iWZPZPYXB9MtOydLd4/SQdlMXrb6bj1OooMtZxukSCu/Tlkp+KR26bEr6gYuErFHdUFjg==} + + '@coral-xyz/anchor@0.26.0': + resolution: {integrity: sha512-PxRl+wu5YyptWiR9F2MBHOLLibm87Z4IMUBPreX+DYBtPM+xggvcPi0KAN7+kIL4IrIhXI8ma5V0MCXxSN1pHg==} + engines: {node: '>=11'} + + '@coral-xyz/anchor@0.27.0': + resolution: {integrity: sha512-+P/vPdORawvg3A9Wj02iquxb4T0C5m4P6aZBVYysKl4Amk+r6aMPZkUhilBkD6E4Nuxnoajv3CFykUfkGE0n5g==} + engines: {node: '>=11'} + + '@coral-xyz/anchor@0.29.0': + resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} + engines: {node: '>=11'} + + '@coral-xyz/borsh@0.26.0': + resolution: {integrity: sha512-uCZ0xus0CszQPHYfWAqKS5swS1UxvePu83oOF+TWpUkedsNlg6p2p4azxZNSSqwXb9uXMFgxhuMBX9r3Xoi0vQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + + '@coral-xyz/borsh@0.27.0': + resolution: {integrity: sha512-tJKzhLukghTWPLy+n8K8iJKgBq1yLT/AxaNd10yJrX8mI56ao5+OFAKAqW/h0i79KCvb4BK0VGO5ECmmolFz9A==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + + '@coral-xyz/borsh@0.28.0': + resolution: {integrity: sha512-/u1VTzw7XooK7rqeD7JLUSwOyRSesPUk0U37BV9zK0axJc1q0nRbKFGFLYCQ16OtdOJTTwGfGp11Lx9B45bRCQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + + '@coral-xyz/borsh@0.29.0': + resolution: {integrity: sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.19.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.9.1': + resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.17.0': + resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.4': + resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@ethereumjs/rlp@4.0.1': + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} + engines: {node: '>=14'} + hasBin: true + + '@ethereumjs/util@8.1.0': + resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} + engines: {node: '>=14'} + + '@ethersproject/bytes@5.7.0': + resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + + '@ethersproject/logger@5.7.0': + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + + '@ethersproject/sha2@5.7.0': + resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + + '@gerrit0/mini-shiki@1.26.1': + resolution: {integrity: sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@langchain/core@0.3.26': + resolution: {integrity: sha512-6RUQHEp8wv+JwtYIIEBYBzbLlcAQZFc7EDOgAM0ukExjh9HiXoJzoWpgMRRCrr/koIbtwXPJUqBprZK1I1CXHQ==} + engines: {node: '>=18'} + + '@langchain/groq@0.1.2': + resolution: {integrity: sha512-bgQ9yGoNHOwG6LG2ngGvSNxF/1U1c1u3vKmFWmzecFIcBoQQOJY0jb0MrL3g1uTife0Sr3zxkWKXQg2aK/U4Sg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + + '@langchain/langgraph-checkpoint-postgres@0.0.2': + resolution: {integrity: sha512-st4qH1DZkYU6WGymG+TP2DEgxy8HH2EMq5Re51Z1sj11Ac4Q0VGJNlHjvGXR/QJjfmWpgBztvLYaMnUlNAybkg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.31 <0.4.0' + '@langchain/langgraph-checkpoint': ~0.0.6 + + '@langchain/langgraph-checkpoint@0.0.13': + resolution: {integrity: sha512-amdmBcNT8a9xP2VwcEWxqArng4gtRDcnVyVI4DsQIo1Aaz8e8+hH17zSwrUF3pt1pIYztngIfYnBOim31mtKMg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.31 <0.4.0' + + '@langchain/langgraph-sdk@0.0.32': + resolution: {integrity: sha512-KQyM9kLO7T6AxwNrceajH7JOybP3pYpvUPnhiI2rrVndI1WyZUJ1eVC1e722BVRAPi6o+WcoTT4uMSZVinPOtA==} + + '@langchain/langgraph@0.2.36': + resolution: {integrity: sha512-zxk7ZCVxP0/Ut9785EiXCS7BE7sXd8cu943mcZUF2aNFUaQRTBbbiKpNdR3nb1+xO/B+HVktrJT2VFdkAywnng==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.36 <0.3.0 || >=0.3.9 < 0.4.0' + + '@langchain/openai@0.3.16': + resolution: {integrity: sha512-Om9HRlTeI0Ou6D4pfxbWHop4WGfkCdV/7v1W/+Jr7NSf0BNoA9jk5GqGms8ZtOYSGgPvizDu3i0TrM3B4cN4NA==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.26 <0.4.0' + + '@langchain/textsplitters@0.1.0': + resolution: {integrity: sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + + '@lightprotocol/compressed-token@0.17.1': + resolution: {integrity: sha512-493KCmZGw1BcHVRJaeRm8EEs+L7gX8dwY7JG13w2pfgOMtZXZ7Wxt261jFJxQJzRLTrUSlrbRJOmfW1+S1Y8SQ==} + peerDependencies: + '@lightprotocol/stateless.js': 0.17.1 + + '@lightprotocol/stateless.js@0.17.1': + resolution: {integrity: sha512-EjId1n33A6dBwpce33Wsa/fs/CDKtMtRrkxbApH0alXrnEXmbW6QhIViXOrKYXjZ4uJQM1xsBtsKe0vqJ4nbtQ==} + + '@metaplex-foundation/beet-solana@0.3.1': + resolution: {integrity: sha512-tgyEl6dvtLln8XX81JyBvWjIiEcjTkUwZbrM5dIobTmoqMuGewSyk9CClno8qsMsFdB5T3jC91Rjeqmu/6xk2g==} + + '@metaplex-foundation/beet-solana@0.4.0': + resolution: {integrity: sha512-B1L94N3ZGMo53b0uOSoznbuM5GBNJ8LwSeznxBxJ+OThvfHQ4B5oMUqb+0zdLRfkKGS7Q6tpHK9P+QK0j3w2cQ==} + + '@metaplex-foundation/beet-solana@0.4.1': + resolution: {integrity: sha512-/6o32FNUtwK8tjhotrvU/vorP7umBuRFvBZrC6XCk51aKidBHe5LPVPA5AjGPbV3oftMfRuXPNd9yAGeEqeCDQ==} + + '@metaplex-foundation/beet@0.4.0': + resolution: {integrity: sha512-2OAKJnLatCc3mBXNL0QmWVQKAWK2C7XDfepgL0p/9+8oSx4bmRAFHFqptl1A/C0U5O3dxGwKfmKluW161OVGcA==} + + '@metaplex-foundation/beet@0.6.1': + resolution: {integrity: sha512-OYgnijLFzw0cdUlRKH5POp0unQECPOW9muJ2X3QIVyak5G6I6l/rKo72sICgPLIFKdmsi2jmnkuLY7wp14iXdw==} + + '@metaplex-foundation/beet@0.7.1': + resolution: {integrity: sha512-hNCEnS2WyCiYyko82rwuISsBY3KYpe828ubsd2ckeqZr7tl0WVLivGkoyA/qdiaaHEBGdGl71OpfWa2rqL3DiA==} + + '@metaplex-foundation/beet@0.7.2': + resolution: {integrity: sha512-K+g3WhyFxKPc0xIvcIjNyV1eaTVJTiuaHZpig7Xx0MuYRMoJLLvhLTnUXhFdR5Tu2l2QSyKwfyXDgZlzhULqFg==} + + '@metaplex-foundation/cusper@0.0.2': + resolution: {integrity: sha512-S9RulC2fFCFOQraz61bij+5YCHhSO9llJegK8c8Y6731fSi6snUSQJdCUqYS8AIgR0TKbQvdvgSyIIdbDFZbBA==} + + '@metaplex-foundation/mpl-auction-house@2.5.1': + resolution: {integrity: sha512-O+IAdYVaoOvgACB8pm+1lF5BNEjl0COkqny2Ho8KQZwka6aC/vHbZ239yRwAMtJhf5992BPFdT4oifjyE0O+Mw==} + + '@metaplex-foundation/mpl-bubblegum@0.7.0': + resolution: {integrity: sha512-HCo6q+nh8M3KRv9/aUaZcJo5/vPJEeZwPGRDWkqN7lUXoMIvhd83fZi7MB1rIg1gwpVHfHqim0A02LCYKisWFg==} + + '@metaplex-foundation/mpl-core@1.1.1': + resolution: {integrity: sha512-h1kLw+cGaV8SiykoHDb1/G01+VYqtJXAt0uGuO5+2Towsdtc6ET4M62iqUnh4EacTVMIW1yYHsKsG/LYWBCKaA==} + peerDependencies: + '@metaplex-foundation/umi': '>=0.8.2 < 1' + '@noble/hashes': ^1.3.1 + + '@metaplex-foundation/mpl-token-metadata@2.13.0': + resolution: {integrity: sha512-Fl/8I0L9rv4bKTV/RAl5YIbJe9SnQPInKvLz+xR1fEc4/VQkuCn3RPgypfUMEKWmCznzaw4sApDxy6CFS4qmJw==} + + '@metaplex-foundation/mpl-token-metadata@3.3.0': + resolution: {integrity: sha512-t5vO8Wr3ZZZPGrVrGNcosX5FMkwQSgBiVMQMRNDG2De7voYFJmIibD5jdG05EoQ4Y5kZVEiwhYaO+wJB3aO5AA==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/mpl-toolbox@0.9.4': + resolution: {integrity: sha512-fd6JxfoLbj/MM8FG2x91KYVy1U6AjBQw4qjt7+Da3trzQaWnSaYHDcYRG/53xqfvZ9qofY1T2t53GXPlD87lnQ==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/rustbin@0.3.5': + resolution: {integrity: sha512-m0wkRBEQB/8krwMwKBvFugufZtYwMXiGHud2cTDAv+aGXK4M90y0Hx67/wpu+AqqoQfdV8VM9YezUOHKD+Z5kA==} + + '@metaplex-foundation/solita@0.12.2': + resolution: {integrity: sha512-oczMfE43NNHWweSqhXPTkQBUbap/aAiwjDQw8zLKNnd/J8sXr/0+rKcN5yJIEgcHeKRkp90eTqkmt2WepQc8yw==} + hasBin: true + + '@metaplex-foundation/umi-bundle-defaults@0.9.2': + resolution: {integrity: sha512-kV3tfvgvRjVP1p9OFOtH+ibOtN9omVJSwKr0We4/9r45e5LTj+32su0V/rixZUkG1EZzzOYBsxhtIE0kIw/Hrw==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-downloader-http@0.9.2': + resolution: {integrity: sha512-tzPT9hBwenzTzAQg07rmsrqZfgguAXELbcJrsYMoASp5VqWFXYIP00g94KET6XLjWUXH4P1J2zoa6hGennPXHA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-eddsa-web3js@0.9.2': + resolution: {integrity: sha512-hhPCxXbYIp4BC4z9gK78sXpWLkNSrfv4ndhF5ruAkdIp7GcRVYKj0QnOUO6lGYGiIkNlw20yoTwOe1CT//OfTQ==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-http-fetch@0.9.2': + resolution: {integrity: sha512-YCZuBu24T9ZzEDe4+w12LEZm/fO9pkyViZufGgASC5NX93814Lvf6Ssjn/hZzjfA7CvZbvLFbmujc6CV3Q/m9Q==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-options@0.8.9': + resolution: {integrity: sha512-jSQ61sZMPSAk/TXn8v8fPqtz3x8d0/blVZXLLbpVbo2/T5XobiI6/MfmlUosAjAUaQl6bHRF8aIIqZEFkJiy4A==} + + '@metaplex-foundation/umi-program-repository@0.9.2': + resolution: {integrity: sha512-g3+FPqXEmYsBa8eETtUE2gb2Oe3mqac0z3/Ur1TvAg5TtIy3mzRzOy/nza+sgzejnfcxcVg835rmpBaxpBnjDA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-public-keys@0.8.9': + resolution: {integrity: sha512-CxMzN7dgVGOq9OcNCJe2casKUpJ3RmTVoOvDFyeoTQuK+vkZ1YSSahbqC1iGuHEtKTLSjtWjKvUU6O7zWFTw3Q==} + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2': + resolution: {integrity: sha512-YRwVf6xH0jPBAUgMhEPi+UbjioAeqTXmjsN2TnmQCPAmHbrHrMRj0rlWYwFLWAgkmoxazYrXP9lqOFRrfOGAEA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-rpc-web3js@0.9.2': + resolution: {integrity: sha512-MqcsBz8B4wGl6jxsf2Jo/rAEpYReU9VCSR15QSjhvADHMmdFxCIZCCAgE+gDE2Vuanfl437VhOcP3g5Uw8C16Q==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-serializer-data-view@0.9.2': + resolution: {integrity: sha512-5vGptadJxUxvUcyrwFZxXlEc6Q7AYySBesizCtrBFUY8w8PnF2vzmS45CP1MLySEATNH6T9mD4Rs0tLb87iQyA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-serializers-core@0.8.9': + resolution: {integrity: sha512-WT82tkiYJ0Qmscp7uTj1Hz6aWQPETwaKLAENAUN5DeWghkuBKtuxyBKVvEOuoXerJSdhiAk0e8DWA4cxcTTQ/w==} + + '@metaplex-foundation/umi-serializers-encodings@0.8.9': + resolution: {integrity: sha512-N3VWLDTJ0bzzMKcJDL08U3FaqRmwlN79FyE4BHj6bbAaJ9LEHjDQ9RJijZyWqTm0jE7I750fU7Ow5EZL38Xi6Q==} + + '@metaplex-foundation/umi-serializers-numbers@0.8.9': + resolution: {integrity: sha512-NtBf1fnVNQJHFQjLFzRu2i9GGnigb9hOm/Gfrk628d0q0tRJB7BOM3bs5C61VAs7kJs4yd+pDNVAERJkknQ7Lg==} + + '@metaplex-foundation/umi-serializers@0.9.0': + resolution: {integrity: sha512-hAOW9Djl4w4ioKeR4erDZl5IG4iJdP0xA19ZomdaCbMhYAAmG/FEs5khh0uT2mq53/MnzWcXSUPoO8WBN4Q+Vg==} + + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2': + resolution: {integrity: sha512-fR1Kf21uylMFd1Smkltmj4jTNxhqSWf416owsJ+T+cvJi2VCOcOwq/3UFzOrpz78fA0RhsajKYKj0HYsRnQI1g==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-web3js-adapters@0.9.2': + resolution: {integrity: sha512-RQqUTtHYY9fmEMnq7s3Hiv/81flGaoI0ZVVoafnFVaQLnxU6QBKxtboRZHk43XtD9CiFh5f9izrMJX7iK7KlOA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi@0.9.2': + resolution: {integrity: sha512-9i4Acm4pruQfJcpRrc2EauPBwkfDN0I9QTvJyZocIlKgoZwD6A6wH0PViH1AjOVG5CQCd1YI3tJd5XjYE1ElBw==} + + '@msgpack/msgpack@2.8.0': + resolution: {integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==} + engines: {node: '>= 10'} + + '@msgpack/msgpack@3.0.0-beta2': + resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} + engines: {node: '>= 14'} + + '@noble/curves@1.4.2': + resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + + '@noble/curves@1.7.0': + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.6.0': + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.6.1': + resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} + engines: {node: ^14.21.3 || >=16} + + '@onsol/tldparser@0.6.7': + resolution: {integrity: sha512-QwkRDLyC514pxeplCCXZ2kTiRcJSeUrpp+9o2XqLbePy/qzZGGG8I0UbXUKuWVD/bUL1zAm21+D+Eu30OKwcQg==} + engines: {node: '>=14'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + bn.js: ^5.2.1 + borsh: ^0.7.0 + buffer: 6.0.1 + + '@opentelemetry/api@1.9.0': + resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} + engines: {node: '>=8.0.0'} + + '@orca-so/common-sdk@0.6.4': + resolution: {integrity: sha512-iOiC6exTA9t2CEOaUPoWlNP3soN/1yZFjoz1mSf7NvOqo/PJZeIdWpB7BRXwU0mGGatjxU4SFgMGQ8NrSx+ONw==} + peerDependencies: + '@solana/spl-token': ^0.4.1 + '@solana/web3.js': ^1.90.0 + decimal.js: ^10.4.3 + + '@orca-so/whirlpools-sdk@0.13.12': + resolution: {integrity: sha512-+LOqGTe0DYUsYwemltOU4WQIviqoICQlIcAmmEX/WnBh6wntpcLDcXkPV6dBHW7NA2/J8WEVAZ50biLJb4subg==} + peerDependencies: + '@coral-xyz/anchor': ~0.29.0 + '@orca-so/common-sdk': 0.6.4 + '@solana/spl-token': ^0.4.8 + '@solana/web3.js': ^1.90.0 + decimal.js: ^10.4.3 + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pythnetwork/client@2.22.0': + resolution: {integrity: sha512-Cyv23YqewKUL1pcm99jfmdetUa2aaUXjyRF9jvSeFcY895FddRu7uSWftYiaevsnx7vn4WbJgQR6ExxH+aONow==} + peerDependencies: + '@solana/web3.js': ^1.30.2 + + '@pythnetwork/hermes-client@1.3.0': + resolution: {integrity: sha512-SneB+LJSD6pNnG2JUuAgbHNi1qFDcnrIiMuU60FQxZMtIWP09YFMR64vxWxVawyqR93t0iQHcV5HT/hhfmqYOQ==} + + '@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==} + + '@saberhq/option-utils@1.15.0': + resolution: {integrity: sha512-XVbS9H4b8PIGXJGaErkOurxV2FKFyvMwYq0pD8Y1iEPoi6HB//+HnpEKAv8tCssIQ5Nn1zQWzmQ9CmGkrwzcsw==} + + '@saberhq/solana-contrib@1.15.0': + resolution: {integrity: sha512-OExL5qGrNMmIKINU7qFUDmY7+xIwVM2s360g99k8CRNHSnjpnqIzwDjr2CnvEFpeQPp22OdGlS63woDp0w0JsQ==} + peerDependencies: + '@solana/web3.js': ^1.42 + bn.js: ^4 || ^5 + + '@scure/base@1.1.9': + resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} + + '@scure/base@1.2.1': + resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} + + '@scure/bip32@1.4.0': + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + + '@scure/bip39@1.3.0': + resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + + '@shikijs/core@1.24.4': + resolution: {integrity: sha512-jjLsld+xEEGYlxAXDyGwWsKJ1sw5Pc1pnp4ai2ORpjx2UX08YYTC0NNqQYO1PaghYaR+PvgMOGuvzw2he9sk0Q==} + + '@shikijs/engine-javascript@1.24.4': + resolution: {integrity: sha512-TClaQOLvo9WEMJv6GoUsykQ6QdynuKszuORFWCke8qvi6PeLm7FcD9+7y45UenysxEWYpDL5KJaVXTngTE+2BA==} + + '@shikijs/engine-oniguruma@1.24.4': + resolution: {integrity: sha512-Do2ry6flp2HWdvpj2XOwwa0ljZBRy15HKZITzPcNIBOGSeprnA8gOooA/bLsSPuy8aJBa+Q/r34dMmC3KNL/zw==} + + '@shikijs/engine-oniguruma@1.26.1': + resolution: {integrity: sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==} + + '@shikijs/types@1.24.4': + resolution: {integrity: sha512-0r0XU7Eaow0PuDxuWC1bVqmWCgm3XqizIaT7SM42K03vc69LGooT0U8ccSR44xP/hGlNx4FKhtYpV+BU6aaKAA==} + + '@shikijs/types@1.26.1': + resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} + + '@shikijs/vscode-textmate@10.0.1': + resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} + + '@shikijs/vscode-textmate@9.3.1': + resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} + + '@solana/buffer-layout-utils@0.2.0': + resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} + engines: {node: '>= 10'} + + '@solana/buffer-layout@4.0.1': + resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} + engines: {node: '>=5.10'} + + '@solana/codecs-core@2.0.0-preview.2': + resolution: {integrity: sha512-gLhCJXieSCrAU7acUJjbXl+IbGnqovvxQLlimztPoGgfLQ1wFYu+XJswrEVQqknZYK1pgxpxH3rZ+OKFs0ndQg==} + + '@solana/codecs-core@2.0.0-preview.4': + resolution: {integrity: sha512-A0VVuDDA5kNKZUinOqHxJQK32aKTucaVbvn31YenGzHX1gPqq+SOnFwgaEY6pq4XEopSmaK16w938ZQS8IvCnw==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-core@2.0.0-rc.1': + resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-data-structures@2.0.0-preview.2': + resolution: {integrity: sha512-Xf5vIfromOZo94Q8HbR04TbgTwzigqrKII0GjYr21K7rb3nba4hUW2ir8kguY7HWFBcjHGlU5x3MevKBOLp3Zg==} + + '@solana/codecs-data-structures@2.0.0-preview.4': + resolution: {integrity: sha512-nt2k2eTeyzlI/ccutPcG36M/J8NAYfxBPI9h/nQjgJ+M+IgOKi31JV8StDDlG/1XvY0zyqugV3I0r3KAbZRJpA==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-data-structures@2.0.0-rc.1': + resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.0.0-preview.2': + resolution: {integrity: sha512-aLZnDTf43z4qOnpTcDsUVy1Ci9im1Md8thWipSWbE+WM9ojZAx528oAql+Cv8M8N+6ALKwgVRhPZkto6E59ARw==} + + '@solana/codecs-numbers@2.0.0-preview.4': + resolution: {integrity: sha512-Q061rLtMadsO7uxpguT+Z7G4UHnjQ6moVIxAQxR58nLxDPCC7MB1Pk106/Z7NDhDLHTcd18uO6DZ7ajHZEn2XQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.0.0-rc.1': + resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-strings@2.0.0-preview.2': + resolution: {integrity: sha512-EgBwY+lIaHHgMJIqVOGHfIfpdmmUDNoNO/GAUGeFPf+q0dF+DtwhJPEMShhzh64X2MeCZcmSO6Kinx0Bvmmz2g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + + '@solana/codecs-strings@2.0.0-preview.4': + resolution: {integrity: sha512-YDbsQePRWm+xnrfS64losSGRg8Wb76cjK1K6qfR8LPmdwIC3787x9uW5/E4icl/k+9nwgbIRXZ65lpF+ucZUnw==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + + '@solana/codecs-strings@2.0.0-rc.1': + resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + + '@solana/codecs@2.0.0-preview.2': + resolution: {integrity: sha512-4HHzCD5+pOSmSB71X6w9ptweV48Zj1Vqhe732+pcAQ2cMNnN0gMPMdDq7j3YwaZDZ7yrILVV/3+HTnfT77t2yA==} + + '@solana/codecs@2.0.0-preview.4': + resolution: {integrity: sha512-gLMupqI4i+G4uPi2SGF/Tc1aXcviZF2ybC81x7Q/fARamNSgNOCUUoSCg9nWu1Gid6+UhA7LH80sWI8XjKaRog==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs@2.0.0-rc.1': + resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.0.0-preview.2': + resolution: {integrity: sha512-H2DZ1l3iYF5Rp5pPbJpmmtCauWeQXRJapkDg8epQ8BJ7cA2Ut/QEtC3CMmw/iMTcuS6uemFNLcWvlOfoQhvQuA==} + hasBin: true + + '@solana/errors@2.0.0-preview.4': + resolution: {integrity: sha512-kadtlbRv2LCWr8A9V22On15Us7Nn8BvqNaOB4hXsTB3O0fU40D1ru2l+cReqLcRPij4znqlRzW9Xi0m6J5DIhA==} + hasBin: true + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.0.0-rc.1': + resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} + hasBin: true + peerDependencies: + typescript: '>=5' + + '@solana/options@2.0.0-preview.2': + resolution: {integrity: sha512-FAHqEeH0cVsUOTzjl5OfUBw2cyT8d5Oekx4xcn5hn+NyPAfQJgM3CEThzgRD6Q/4mM5pVUnND3oK/Mt1RzSE/w==} + + '@solana/options@2.0.0-preview.4': + resolution: {integrity: sha512-tv2O/Frxql/wSe3jbzi5nVicIWIus/BftH+5ZR+r9r3FO0/htEllZS5Q9XdbmSboHu+St87584JXeDx3xm4jaA==} + peerDependencies: + typescript: '>=5' + + '@solana/options@2.0.0-rc.1': + resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} + peerDependencies: + typescript: '>=5' + + '@solana/spl-account-compression@0.1.10': + resolution: {integrity: sha512-IQAOJrVOUo6LCgeWW9lHuXo6JDbi4g3/RkQtvY0SyalvSWk9BIkHHe4IkAzaQw8q/BxEVBIjz8e9bNYWIAESNw==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.50.1 + + '@solana/spl-token-group@0.0.4': + resolution: {integrity: sha512-7+80nrEMdUKlK37V6kOe024+T7J4nNss0F8LQ9OOPYdWCCfJmsGUzVx2W3oeizZR4IHM6N4yC9v1Xqwc3BTPWw==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.91.6 + + '@solana/spl-token-group@0.0.5': + resolution: {integrity: sha512-CLJnWEcdoUBpQJfx9WEbX3h6nTdNiUzswfFdkABUik7HVwSNA98u5AYvBVK2H93d9PGMOHAak2lHW9xr+zAJGQ==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.94.0 + + '@solana/spl-token-group@0.0.7': + resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token-metadata@0.1.6': + resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token@0.1.8': + resolution: {integrity: sha512-LZmYCKcPQDtJgecvWOgT/cnoIQPWjdH+QVyzPcFvyDUiT0DiRjZaam4aqNUyvchLFhzgunv3d9xOoyE34ofdoQ==} + engines: {node: '>= 10'} + + '@solana/spl-token@0.3.11': + resolution: {integrity: sha512-bvohO3rIMSVL24Pb+I4EYTJ6cL82eFpInEXD/I8K8upOGjpqHsKUoAempR/RnUlI1qSFNyFlWJfu6MNUgfbCQQ==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.88.0 + + '@solana/spl-token@0.4.6': + resolution: {integrity: sha512-1nCnUqfHVtdguFciVWaY/RKcQz1IF4b31jnKgAmjU9QVN1q7dRUkTEWJZgTYIEtsULjVnC9jRqlhgGN39WbKKA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.91.6 + + '@solana/spl-token@0.4.8': + resolution: {integrity: sha512-RO0JD9vPRi4LsAbMUdNbDJ5/cv2z11MGhtAvFeRzT4+hAGE/FUzRi0tkkWtuCfSIU3twC6CtmAihRp/+XXjWsA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.94.0 + + '@solana/spl-token@0.4.9': + resolution: {integrity: sha512-g3wbj4F4gq82YQlwqhPB0gHFXfgsC6UmyGMxtSLf/BozT/oKd59465DbnlUK8L8EcimKMavxsVAMoLcEdeCicg==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-type-length-value@0.1.0': + resolution: {integrity: sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA==} + engines: {node: '>=16'} + + '@solana/web3.js@1.95.3': + resolution: {integrity: sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og==} + + '@solana/web3.js@1.95.8': + resolution: {integrity: sha512-sBHzNh7dHMrmNS5xPD1d0Xa2QffW/RXaxu/OysRXBfwTp+LYqGGmMtCYYwrHPrN5rjAmJCsQRNAwv4FM0t3B6g==} + + '@solana/web3.js@1.98.0': + resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + + '@tensor-hq/tensor-common@8.3.1': + resolution: {integrity: sha512-cgc+Z0nR23pi+1DfJgF1+afWd+xf1e6VYPM9yhECshmERr6BgojQfcuoltHHcgpwSlLrZXnm47kQ48I2M6rxFQ==} + + '@tensor-oss/tensorswap-sdk@4.5.0': + resolution: {integrity: sha512-eNM6k1DT5V/GadxSHm8//z2wlLl8/EcA0KFQXKaxRba/2MirNySsoVGxDXO2UdOI4eZMse8f+8Et3P63WWjsIw==} + + '@tiplink/api@0.3.1': + resolution: {integrity: sha512-HjnXethjKOHTYT0IP1BewlMS7wZJ+hsoDgRa6jA1cNvxvwQjE1WHOyvOUPpAi+DJDw4P4/omFtyHr7dwLfnB/g==} + + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@types/bn.js@5.1.6': + resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} + + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/diff-match-patch@1.0.36': + resolution: {integrity: sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==} + + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/express-serve-static-core@4.19.6': + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/node-fetch@2.6.12': + resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@18.19.68': + resolution: {integrity: sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw==} + + '@types/node@20.17.12': + resolution: {integrity: sha512-vo/wmBgMIiEA23A/knMfn/cf37VnuF52nZh5ZoW0GWt4e4sxNquibrMRJ7UQsA06+MBx9r/H1jsI9grYjQCQlw==} + + '@types/node@22.10.2': + resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + + '@types/promise-retry@1.1.6': + resolution: {integrity: sha512-EC1+OMXV0PZb0pf+cmyxc43MEP2CDumZe4AfuxWboxxEixztIebknpJPZAX5XlodGF1OY+C1E/RAeNGzxf+bJA==} + + '@types/qs@6.9.17': + resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/retry@0.12.5': + resolution: {integrity: sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==} + + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/uuid@10.0.0': + resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} + + '@types/uuid@8.3.4': + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + + '@types/ws@7.4.7': + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + + '@types/ws@8.5.13': + resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + + '@ungap/structured-clone@1.2.1': + resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + + '@zodios/core@10.9.6': + resolution: {integrity: sha512-aH4rOdb3AcezN7ws8vDgBfGboZMk2JGGzEq/DtW65MhnRxyTGRuLJRWVQ/2KxDgWvV2F5oTkAS+5pnjKbl0n+A==} + peerDependencies: + axios: ^0.x || ^1.0.0 + zod: ^3.x + + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + + agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + engines: {node: '>= 8.0.0'} + + ai@4.0.27: + resolution: {integrity: sha512-3wMFXNAR6a269R7k4ZDQ9FfF3fb8gQlnlIE4kWaQfZDUTEM5aWgQdbzFhsr9Q5DULCyZg7l/bFpGd48cRfvLaA==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + zod: ^3.0.0 + peerDependenciesMeta: + react: + optional: true + zod: + optional: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + ansicolors@0.3.2: + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + assert@2.1.0: + resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + available-typed-arrays@1.0.7: + 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==} + + axios@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-x@3.0.10: + resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} + + base-x@4.0.0: + resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} + + base-x@5.0.0: + resolution: {integrity: sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + + big.js@6.2.2: + resolution: {integrity: sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==} + + bigint-buffer@1.1.5: + resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} + engines: {node: '>= 10.0.0'} + + bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + bintrees@1.0.2: + resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} + + bn.js@4.11.6: + resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + borsh@0.7.0: + resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + + borsh@1.0.0: + resolution: {integrity: sha512-fSVWzzemnyfF89EPwlUNsrS5swF5CrtiN4e+h0/lLf4dz2he4L3ndM20PS9wj7ICSkXJe/TQUHdaPTq15b1mNQ==} + + borsh@2.0.0: + resolution: {integrity: sha512-kc9+BgR3zz9+cjbwM8ODoUB4fs3X3I5A/HtX7LZKxCLaMrEeDFoBpnhZY//DTS1VZBSs6S5v46RZRbZjRFspEg==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bs58@5.0.0: + resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} + + bs58@6.0.0: + resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + + buffer-layout@1.2.2: + resolution: {integrity: sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==} + engines: {node: '>=4.5'} + + buffer-reverse@1.0.1: + resolution: {integrity: sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bufferutil@4.0.8: + resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} + engines: {node: '>=6.14.2'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-hash@1.3.0: + resolution: {integrity: sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==} + engines: {node: '>=8'} + + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decimal.js-light@2.5.1: + resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} + + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delay@5.0.0: + resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff-match-patch@1.0.5: + resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==} + + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dotenv@10.0.0: + resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} + engines: {node: '>=10'} + + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.17.0: + resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + ethereum-bloom-filters@1.2.0: + resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} + + ethereum-cryptography@2.2.1: + resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + + ethjs-unit@0.1.6: + resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} + engines: {node: '>=6.5.0', npm: '>=3'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + eventsource-parser@3.0.0: + resolution: {integrity: sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==} + engines: {node: '>=18.0.0'} + + eventsource@2.0.2: + resolution: {integrity: sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==} + engines: {node: '>=12.0.0'} + + exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + + express-prom-bundle@7.0.2: + resolution: {integrity: sha512-ffFV4HGHvCKnkNJFqm42sYztRJE5mLgOj8MpGey1HOatuFhtcwXoBD2m5gca7ZbcyjkIf7lOH5ZdrhlrBf0sGw==} + engines: {node: '>=18'} + peerDependencies: + prom-client: '>=15.0.0' + + express@4.21.2: + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + engines: {node: '>= 0.10.0'} + + eyes@0.1.8: + resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} + engines: {node: '> 0.1.90'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-stable-stringify@1.0.0: + resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + + fastestsmallesttextencoderdecoder@1.0.22: + resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + + find-process@1.4.9: + resolution: {integrity: sha512-x+1gcT3k+7ipx8chx1Z7cViSdeQ/RBwDk+6GiWnMTO0+YtGFrahToxarIZM6TzDZ9UFfYPUGpBf/85v5GpBXKA==} + hasBin: true + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flash-sdk@2.24.3: + resolution: {integrity: sha512-3JdmHZksBgcRlCXVVFZEV64NGKxVHURHoHAMc3+Ev1BdN0Re2S44wxTaQmO6EIvwPYscVG0BPbp6GibpEuMdsw==} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data-encoder@1.7.2: + resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} + + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + engines: {node: '>= 6'} + + formdata-node@4.4.1: + resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} + engines: {node: '>= 12.20'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs@0.0.1-security: + resolution: {integrity: sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==} + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + get-intrinsic@1.2.6: + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + engines: {node: '>= 0.4'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@11.0.0: + resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} + engines: {node: 20 || >=22} + hasBin: true + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemesplit@2.4.4: + resolution: {integrity: sha512-lKrpp1mk1NH26USxC/Asw4OHbhSQf5XfrWZ+CDv/dFVvd1j17kFgMotdJvOesmHkbFX9P9sBfpH8VogxOWLg8w==} + + groq-sdk@0.5.0: + resolution: {integrity: sha512-RVmhW7qZ+XZoy5fIuSdx/LGQJONpL8MHgZEW7dFwTdgkzStub2XQx6OKv28CHogijdwH41J+Npj/z2jBPu3vmw==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-to-html@9.0.4: + resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hex-prefixed@1.0.0: + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} + engines: {node: '>=6.5.0', npm: '>=3'} + + is-nan@1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + + is-retry-allowed@2.2.0: + resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} + engines: {node: '>=10'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jackspeak@4.0.2: + resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} + engines: {node: 20 || >=22} + + jayson@4.1.3: + resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} + engines: {node: '>=8'} + hasBin: true + + js-base64@3.7.7: + resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} + + js-sha256@0.11.0: + resolution: {integrity: sha512-6xNlKayMZvds9h1Y1VWc0fQHQ82BxTXizWPEtEeGvmOUYpBRy4gbWroHLpzowe6xiQhHpelCQiE7HEdznyBL9Q==} + + js-sha256@0.9.0: + resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} + + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + + js-tiktoken@1.0.16: + resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsbi@4.3.0: + resolution: {integrity: sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==} + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsondiffpatch@0.6.0: + resolution: {integrity: sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + + keccak256@1.0.6: + resolution: {integrity: sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw==} + + keccak@3.0.4: + resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} + engines: {node: '>=10.0.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + langchain@0.3.8: + resolution: {integrity: sha512-EiAHFgBdThuXFmIx9j81wjdPItpRsw0Ck4r5dyhB74gyhehRGna/UK2CTqeKVnIUM/f4g4JbxUgAU4voXljDMw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/anthropic': '*' + '@langchain/aws': '*' + '@langchain/cohere': '*' + '@langchain/core': '>=0.2.21 <0.4.0' + '@langchain/google-genai': '*' + '@langchain/google-vertexai': '*' + '@langchain/groq': '*' + '@langchain/mistralai': '*' + '@langchain/ollama': '*' + axios: '*' + cheerio: '*' + handlebars: ^4.7.8 + peggy: ^3.0.2 + typeorm: '*' + peerDependenciesMeta: + '@langchain/anthropic': + optional: true + '@langchain/aws': + optional: true + '@langchain/cohere': + optional: true + '@langchain/google-genai': + optional: true + '@langchain/google-vertexai': + optional: true + '@langchain/groq': + optional: true + '@langchain/mistralai': + optional: true + '@langchain/ollama': + optional: true + axios: + optional: true + cheerio: + optional: true + handlebars: + optional: true + peggy: + optional: true + typeorm: + optional: true + + langsmith@0.2.14: + resolution: {integrity: sha512-ClAuAgSf3m9miMYotLEaZKQyKdaWlfjhebCuYco8bc6g72dU2VwTg31Bv4YINBq7EH2i1cMwbOiJxbOXPqjGig==} + peerDependencies: + openai: '*' + peerDependenciesMeta: + openai: + optional: true + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + libsodium-sumo@0.7.15: + resolution: {integrity: sha512-5tPmqPmq8T8Nikpm1Nqj0hBHvsLFCXvdhBFV7SGOitQPZAA6jso8XoL0r4L7vmfKXr486fiQInvErHtEvizFMw==} + + libsodium-wrappers-sumo@0.7.15: + resolution: {integrity: sha512-aSWY8wKDZh5TC7rMvEdTHoyppVq/1dTSAeAR7H6pzd6QRT3vQWcT5pGwCotLcpPEOLXX6VvqihSPkpEhYAjANA==} + + libsodium-wrappers@0.7.15: + resolution: {integrity: sha512-E4anqJQwcfiC6+Yrl01C1m8p99wEhLmJSs0VQqST66SbQXXBoaJY0pF4BNjRYa/sOQAxx6lXAaAFIlx+15tXJQ==} + + libsodium@0.7.15: + resolution: {integrity: sha512-sZwRknt/tUpE2AwzHq3jEyUU5uvIZHtSssktXq7owd++3CSgn8RGrv6UZJJBpP7+iBghBqe7Z06/2M31rI2NKw==} + + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + loglevel@1.9.2: + resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} + engines: {node: '>= 0.6.0'} + + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@11.0.2: + resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} + engines: {node: 20 || >=22} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true + + math-expression-evaluator@2.0.6: + resolution: {integrity: sha512-DRung1qNcKbgkhFeQ0fBPUFB6voRUMY7KyRyp1TRQ2v95Rp2egC823xLRooM1mDx1rmbkY7ym6ZWmpaE/VimOA==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merkletreejs@0.3.11: + resolution: {integrity: sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==} + engines: {node: '>= 7.6.0'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micro-ftch@0.3.1: + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true + + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-addon-api@2.0.2: + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + + number-to-bn@1.7.0: + resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} + engines: {node: '>=6.5.0', npm: '>=3'} + + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + engines: {node: '>= 0.4'} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + oniguruma-to-es@0.8.1: + resolution: {integrity: sha512-dekySTEvCxCj0IgKcA2uUCO/e4ArsqpucDPcX26w9ajx+DvMWLc5eZeJaRQkd7oC/+rwif5gnT900tA34uN9Zw==} + + openai@4.77.0: + resolution: {integrity: sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==} + hasBin: true + peerDependencies: + zod: ^3.23.8 + peerDependenciesMeta: + zod: + optional: true + + openapi-types@12.1.3: + resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + + pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} + + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + + percentile@1.6.0: + resolution: {integrity: sha512-8vSyjdzwxGDHHwH+cSGch3A9Uj2On3UpgOWxWXMKwUvoAbnujx6DaqmV1duWXNiH/oEWpyVd6nSQccix6DM3Ng==} + + pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + + pg-connection-string@2.7.0: + resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-pool@3.7.0: + resolution: {integrity: sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.7.0: + resolution: {integrity: sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg@8.13.1: + resolution: {integrity: sha512-OUir1A0rPNZlX//c7ksiu7crsGZTKSOXJPgtNiHGIlC9H0lO+NC6ZDYksSgBYY/thSWhnSRBv8w1lieNNGATNQ==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + poly1305-js@0.4.4: + resolution: {integrity: sha512-5B6/S+vg5AOr66wJDkh5LOpU/F3EKANDy4VXKsNZLXea1uCy6CiOWOZ3VhcC0nYdhE7vJUMcLxqcVlrv2g/+Rg==} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + prom-client@15.1.3: + resolution: {integrity: sha512-6ZiOBfCywsD4k1BN9IX0uZhF+tJkV8q8llP64G5Hajs4JOeVLPCwpPVcpXy3BwYiUGgyJzsJJQeOIv7+hDSq8g==} + engines: {node: ^16 || ^18 || >=20} + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + engines: {node: '>=0.10.0'} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regex-recursion@5.1.1: + resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@5.1.1: + resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + hasBin: true + + rimraf@6.0.1: + resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} + engines: {node: 20 || >=22} + hasBin: true + + rpc-websockets@9.0.4: + resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + + semaphore@1.1.0: + resolution: {integrity: sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==} + engines: {node: '>=0.8.0'} + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shiki@1.24.4: + resolution: {integrity: sha512-aVGSFAOAr1v26Hh/+GBIsRVDWJ583XYV7CuNURKRWh9gpGv4OdbisZGq96B9arMYTZhTQkmRF5BrShOSTvNqhw==} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + sodium-native@3.4.1: + resolution: {integrity: sha512-PaNN/roiFWzVVTL6OqjzYct38NSXewdl2wz8SRB51Br/MLIJPrbM3XexhVWkq7D3UWMysfrhKVf1v1phZq6MeQ==} + + sodium-plus@0.9.0: + resolution: {integrity: sha512-WWKxrd81qDL7C1A10yxNmZ135yovEZuIRnZ/BIf/FcajYBupbKbPdgzwlusPHLVxkMDDamcarq9PxxRBUSqpCw==} + peerDependencies: + sodium-native: ^3.2.0 + + solana-agent-kit@1.3.7: + resolution: {integrity: sha512-NiYW7EMMUVSaSa9rQcO2yO9ERsqCixJ2pXsAMw2k3D3bRUlHK3d5c7RUh0lS0Wzu7lv6qKtXQCWg12Kw48D2JQ==} + engines: {node: '>=22.0.0', pnpm: '>=8.0.0'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + spok@1.5.5: + resolution: {integrity: sha512-IrJIXY54sCNFASyHPOY+jEirkiJ26JDqsGiI0Dvhwcnkl0PEWi1PSsrkYql0rzDw8LFVTcA7rdUCAJdE2HE+2Q==} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-hex-prefix@1.0.0: + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} + engines: {node: '>=6.5.0', npm: '>=3'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + superstruct@0.15.5: + resolution: {integrity: sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==} + + superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + swr@2.3.0: + resolution: {integrity: sha512-NyZ76wA4yElZWBHzSgEJc28a0u6QZvhb6w0azeL2k7+Q1gAzVK+IqQYXhVOC/mzi+HZIozrZvBVeSeOZNR2bqA==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + tdigest@0.1.2: + resolution: {integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==} + + text-encoding-utf-8@1.0.2: + resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + throttleit@2.1.0: + resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} + engines: {node: '>=18'} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + toformat@2.0.0: + resolution: {integrity: sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ==} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + treeify@1.1.0: + resolution: {integrity: sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==} + engines: {node: '>=0.6'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + ts-log@2.2.7: + resolution: {integrity: sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==} + + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tweetnacl-util@0.15.1: + resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} + + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typedoc@0.26.11: + resolution: {integrity: sha512-sFEgRRtrcDl2FxVP58Ze++ZK2UQAEvtvvH8rRlig1Ja3o7dDaMHmaBfvJmdGnNEFaLTpQsN8dpvZaTqJSu/Ugw==} + engines: {node: '>= 18'} + hasBin: true + peerDependencies: + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x + + typedoc@0.27.6: + resolution: {integrity: sha512-oBFRoh2Px6jFx366db0lLlihcalq/JzyCVp7Vaq1yphL/tbgx2e+bkpkCgJPunaPvPwoTOXSwasfklWHm7GfAw==} + engines: {node: '>= 18'} + hasBin: true + peerDependencies: + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x + + typescript-collections@1.3.3: + resolution: {integrity: sha512-7sI4e/bZijOzyURng88oOFZCISQPTHozfE2sUu5AviFYk5QV7fYGb6YiDl+vKjF/pICA354JImBImL9XJWUvdQ==} + + typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-value-parser@2.2.0: + resolution: {integrity: sha512-yIQdxJpgkPamPPAPuGdS7Q548rLhny42tg8d4vyTNzFqvOnwqrgHXvgehT09U7fwrzxi3RxCiXjoNUNnNOlQ8A==} + engines: {node: '>=6.0.0'} + + use-sync-external-store@1.4.0: + resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + utf-8-validate@5.0.10: + resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} + engines: {node: '>=6.14.2'} + + utf8@3.0.0: + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + web-streams-polyfill@4.0.0-beta.3: + resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} + engines: {node: '>= 14'} + + web3-utils@1.10.4: + resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} + engines: {node: '>=8.0.0'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-typed-array@1.1.18: + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xsalsa20@1.2.0: + resolution: {integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} + engines: {node: '>= 14'} + hasBin: true + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod-to-json-schema@3.24.1: + resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==} + peerDependencies: + zod: ^3.24.1 + + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + + zstddec@0.0.2: + resolution: {integrity: sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@ai-sdk/openai@1.0.13(zod@3.24.1)': + dependencies: + '@ai-sdk/provider': 1.0.3 + '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) + zod: 3.24.1 + + '@ai-sdk/provider-utils@2.0.5(zod@3.24.1)': + dependencies: + '@ai-sdk/provider': 1.0.3 + eventsource-parser: 3.0.0 + nanoid: 3.3.8 + secure-json-parse: 2.7.0 + optionalDependencies: + zod: 3.24.1 + + '@ai-sdk/provider@1.0.3': + dependencies: + json-schema: 0.4.0 + + '@ai-sdk/react@1.0.7(react@19.0.0)(zod@3.24.1)': + dependencies: + '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) + '@ai-sdk/ui-utils': 1.0.6(zod@3.24.1) + swr: 2.3.0(react@19.0.0) + throttleit: 2.1.0 + optionalDependencies: + react: 19.0.0 + zod: 3.24.1 + + '@ai-sdk/ui-utils@1.0.6(zod@3.24.1)': + dependencies: + '@ai-sdk/provider': 1.0.3 + '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) + zod-to-json-schema: 3.24.1(zod@3.24.1) + optionalDependencies: + zod: 3.24.1 + + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + + '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + borsh: 1.0.0 + bs58: 5.0.0 + buffer: 6.0.3 + + '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 + '@scure/base': 1.2.1 + '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + borsh: 2.0.0 + buffer: 6.0.3 + graphemesplit: 2.4.4 + ipaddr.js: 2.2.0 + punycode: 2.3.1 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@cfworker/json-schema@4.0.3': {} + + '@cks-systems/manifest-sdk@0.1.59(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/rustbin': 0.3.5 + '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 6.0.0 + express: 4.21.2 + express-prom-bundle: 7.0.2(prom-client@15.1.3) + js-sha256: 0.11.0 + keccak256: 1.0.6 + percentile: 1.6.0 + prom-client: 15.1.3 + rimraf: 5.0.10 + typedoc: 0.26.11(typescript@5.6.3) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + zstddec: 0.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - jiti + - supports-color + - typescript + - utf-8-validate + + '@coral-xyz/anchor@0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + base64-js: 1.5.1 + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + js-sha256: 0.9.0 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@coral-xyz/anchor@0.27.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + base64-js: 1.5.1 + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + js-sha256: 0.9.0 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.6.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0)': + dependencies: + eslint: 9.17.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.1': + dependencies: + '@eslint/object-schema': 2.1.5 + debug: 4.4.0 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.9.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.2.0': + dependencies: + ajv: 6.12.6 + debug: 4.4.0 + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.17.0': {} + + '@eslint/object-schema@2.1.5': {} + + '@eslint/plugin-kit@0.2.4': + dependencies: + levn: 0.4.1 + + '@ethereumjs/rlp@4.0.1': {} + + '@ethereumjs/util@8.1.0': + dependencies: + '@ethereumjs/rlp': 4.0.1 + ethereum-cryptography: 2.2.1 + micro-ftch: 0.3.1 + + '@ethersproject/bytes@5.7.0': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/logger@5.7.0': {} + + '@ethersproject/sha2@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + hash.js: 1.1.7 + + '@gerrit0/mini-shiki@1.26.1': + dependencies: + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))': + dependencies: + '@cfworker/json-schema': 4.0.3 + ansi-styles: 5.2.0 + camelcase: 6.3.0 + decamelize: 1.2.0 + js-tiktoken: 1.0.16 + langsmith: 0.2.14(openai@4.77.0(zod@3.24.1)) + mustache: 4.2.0 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 10.0.0 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - openai + + '@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + groq-sdk: 0.5.0 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - encoding + + '@langchain/langgraph-checkpoint-postgres@0.0.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + pg: 8.13.1 + transitivePeerDependencies: + - pg-native + + '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + uuid: 10.0.0 + + '@langchain/langgraph-sdk@0.0.32': + dependencies: + '@types/json-schema': 7.0.15 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 9.0.1 + + '@langchain/langgraph@0.2.36(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/langgraph-sdk': 0.0.32 + uuid: 10.0.0 + zod: 3.24.1 + + '@langchain/openai@0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + js-tiktoken: 1.0.16 + openai: 4.77.0(zod@3.24.1) + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - encoding + + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + js-tiktoken: 1.0.16 + + '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@noble/hashes': 1.5.0 + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + superstruct: 2.0.2 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bs58: 5.0.0 + debug: 4.4.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bs58: 5.0.0 + debug: 4.4.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bs58: 5.0.0 + debug: 4.4.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@metaplex-foundation/beet@0.4.0': + dependencies: + ansicolors: 0.3.2 + bn.js: 5.2.1 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/beet@0.6.1': + dependencies: + ansicolors: 0.3.2 + bn.js: 5.2.1 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/beet@0.7.1': + dependencies: + ansicolors: 0.3.2 + bn.js: 5.2.1 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/beet@0.7.2': + dependencies: + ansicolors: 0.3.2 + assert: 2.1.0 + bn.js: 5.2.1 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/cusper@0.0.2': {} + + '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.6.1 + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.1.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + js-sha3: 0.8.0 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@msgpack/msgpack': 3.0.0-beta2 + '@noble/hashes': 1.6.1 + + '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + debug: 4.4.0 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@metaplex-foundation/mpl-token-metadata@3.3.0(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/rustbin@0.3.5': + dependencies: + debug: 4.4.0 + semver: 7.6.3 + text-table: 0.2.0 + toml: 3.0.0 + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.4.0 + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/rustbin': 0.3.5 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + camelcase: 6.3.0 + debug: 4.4.0 + js-sha256: 0.9.0 + prettier: 2.8.8 + snake-case: 3.0.4 + spok: 1.5.5 + transitivePeerDependencies: + - bufferutil + - encoding + - jiti + - supports-color + - utf-8-validate + + '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-downloader-http': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-http-fetch': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-program-repository': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-rpc-chunk-get-accounts': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-serializer-data-view': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - encoding + + '@metaplex-foundation/umi-downloader-http@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + '@metaplex-foundation/umi-options@0.8.9': {} + + '@metaplex-foundation/umi-program-repository@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-public-keys@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-serializers-core@0.8.9': {} + + '@metaplex-foundation/umi-serializers-encodings@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-core': 0.8.9 + + '@metaplex-foundation/umi-serializers-numbers@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-core': 0.8.9 + + '@metaplex-foundation/umi-serializers@0.9.0': + dependencies: + '@metaplex-foundation/umi-options': 0.8.9 + '@metaplex-foundation/umi-public-keys': 0.8.9 + '@metaplex-foundation/umi-serializers-core': 0.8.9 + '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + '@metaplex-foundation/umi-serializers-numbers': 0.8.9 + + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + + '@metaplex-foundation/umi@0.9.2': + dependencies: + '@metaplex-foundation/umi-options': 0.8.9 + '@metaplex-foundation/umi-public-keys': 0.8.9 + '@metaplex-foundation/umi-serializers': 0.9.0 + + '@msgpack/msgpack@2.8.0': {} + + '@msgpack/msgpack@3.0.0-beta2': {} + + '@noble/curves@1.4.2': + dependencies: + '@noble/hashes': 1.4.0 + + '@noble/curves@1.7.0': + dependencies: + '@noble/hashes': 1.6.0 + + '@noble/hashes@1.4.0': {} + + '@noble/hashes@1.5.0': {} + + '@noble/hashes@1.6.0': {} + + '@noble/hashes@1.6.1': {} + + '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/sha2': 5.7.0 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + borsh: 2.0.0 + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@opentelemetry/api@1.9.0': {} + + '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + dependencies: + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + decimal.js: 10.4.3 + tiny-invariant: 1.3.3 + + '@orca-so/whirlpools-sdk@0.13.12(@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + decimal.js: 10.4.3 + tiny-invariant: 1.3.3 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@pythnetwork/hermes-client@1.3.0(axios@1.7.9)': + dependencies: + '@zodios/core': 10.9.6(axios@1.7.9)(zod@3.24.1) + eventsource: 2.0.2 + zod: 3.24.1 + transitivePeerDependencies: + - axios + + '@pythnetwork/price-service-client@1.9.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@pythnetwork/price-service-sdk': 1.8.0 + '@types/ws': 8.5.13 + axios: 1.7.9 + axios-retry: 3.9.1 + isomorphic-ws: 4.0.1(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + ts-log: 2.2.7 + ws: 8.18.0(bufferutil@4.0.8)(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.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + axios: 1.7.9 + big.js: 6.2.2 + bn.js: 5.2.1 + dayjs: 1.11.13 + decimal.js-light: 2.5.1 + jsonfile: 6.1.0 + lodash: 4.17.21 + toformat: 2.0.0 + tsconfig-paths: 4.2.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@saberhq/option-utils@1.15.0': + dependencies: + tslib: 2.8.1 + + '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)': + dependencies: + '@saberhq/option-utils': 1.15.0 + '@solana/buffer-layout': 4.0.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@types/promise-retry': 1.1.6 + '@types/retry': 0.12.5 + bn.js: 5.2.1 + promise-retry: 2.0.1 + retry: 0.13.1 + tiny-invariant: 1.3.3 + tslib: 2.8.1 + + '@scure/base@1.1.9': {} + + '@scure/base@1.2.1': {} + + '@scure/bip32@1.4.0': + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 + + '@scure/bip39@1.3.0': + dependencies: + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 + + '@shikijs/core@1.24.4': + dependencies: + '@shikijs/engine-javascript': 1.24.4 + '@shikijs/engine-oniguruma': 1.24.4 + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.4 + + '@shikijs/engine-javascript@1.24.4': + dependencies: + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + oniguruma-to-es: 0.8.1 + + '@shikijs/engine-oniguruma@1.24.4': + dependencies: + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + + '@shikijs/engine-oniguruma@1.26.1': + dependencies: + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + + '@shikijs/types@1.24.4': + dependencies: + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 + + '@shikijs/types@1.26.1': + dependencies: + '@shikijs/vscode-textmate': 10.0.1 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.1': {} + + '@shikijs/vscode-textmate@9.3.1': {} + + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bigint-buffer: 1.1.5 + bignumber.js: 9.1.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/buffer-layout@4.0.1': + dependencies: + buffer: 6.0.3 + + '@solana/codecs-core@2.0.0-preview.2': + dependencies: + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-core@2.0.0-preview.4(typescript@5.6.3)': + dependencies: + '@solana/errors': 2.0.0-preview.4(typescript@5.6.3) + typescript: 5.6.3 + + '@solana/codecs-core@2.0.0-rc.1(typescript@4.9.5)': + dependencies: + '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) + typescript: 4.9.5 + + '@solana/codecs-core@2.0.0-rc.1(typescript@5.6.3)': + dependencies: + '@solana/errors': 2.0.0-rc.1(typescript@5.6.3) + typescript: 5.6.3 + + '@solana/codecs-data-structures@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-data-structures@2.0.0-preview.4(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.6.3) + '@solana/errors': 2.0.0-preview.4(typescript@5.6.3) + typescript: 5.6.3 + + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@4.9.5)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@4.9.5) + '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) + typescript: 4.9.5 + + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.6.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.6.3) + typescript: 5.6.3 + + '@solana/codecs-numbers@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-numbers@2.0.0-preview.4(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.6.3) + '@solana/errors': 2.0.0-preview.4(typescript@5.6.3) + typescript: 5.6.3 + + '@solana/codecs-numbers@2.0.0-rc.1(typescript@4.9.5)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) + '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) + typescript: 4.9.5 + + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.6.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.6.3) + typescript: 5.6.3 + + '@solana/codecs-strings@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + fastestsmallesttextencoderdecoder: 1.0.22 + + '@solana/codecs-strings@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.6.3) + '@solana/errors': 2.0.0-preview.4(typescript@5.6.3) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.6.3 + + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@4.9.5) + '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 4.9.5 + + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.6.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.6.3) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.6.3 + + '@solana/codecs@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-data-structures': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/codecs-strings': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/options': 2.0.0-preview.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.6.3) + '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.6.3) + '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/options': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + typescript: 5.6.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + typescript: 5.6.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/errors@2.0.0-preview.2': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + + '@solana/errors@2.0.0-preview.4(typescript@5.6.3)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 5.6.3 + + '@solana/errors@2.0.0-rc.1(typescript@4.9.5)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 4.9.5 + + '@solana/errors@2.0.0-rc.1(typescript@5.6.3)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 5.6.3 + + '@solana/options@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + + '@solana/options@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.6.3) + '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.6.3) + '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/errors': 2.0.0-preview.4(typescript@5.6.3) + typescript: 5.6.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@4.9.5) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.6.3) + typescript: 5.6.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + borsh: 0.7.0 + js-sha3: 0.8.0 + typescript-collections: 1.3.3 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-type-length-value': 0.1.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/spl-type-length-value': 0.1.0 + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token@0.1.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer: 6.0.3 + buffer-layout: 1.2.2 + dotenv: 10.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-type-length-value@0.1.0': + dependencies: + buffer: 6.0.3 + + '@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.5.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.5.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.5.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-bubblegum': 0.7.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + axios: 0.28.1 + big.js: 6.2.2 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 5.0.0 + exponential-backoff: 3.1.1 + js-sha3: 0.8.0 + semaphore: 1.1.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@msgpack/msgpack': 2.8.0 + '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@tensor-hq/tensor-common': 8.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@types/bn.js': 5.1.6 + big.js: 6.2.2 + bn.js: 5.2.1 + js-sha256: 0.9.0 + keccak256: 1.0.6 + math-expression-evaluator: 2.0.6 + merkletreejs: 0.3.11 + uuid: 8.3.2 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@tiplink/api@0.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + bs58: 5.0.0 + libsodium: 0.7.15 + libsodium-wrappers-sumo: 0.7.15 + nanoid: 3.3.8 + sodium-plus: 0.9.0(sodium-native@3.4.1) + tweetnacl: 1.0.3 + tweetnacl-util: 0.15.1 + typescript: 4.9.5 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - sodium-native + - utf-8-validate + + '@tsconfig/node10@1.0.11': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + + '@types/bn.js@5.1.6': + dependencies: + '@types/node': 22.10.2 + + '@types/body-parser@1.19.5': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 22.10.2 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 22.10.2 + + '@types/diff-match-patch@1.0.36': {} + + '@types/estree@1.0.6': {} + + '@types/express-serve-static-core@4.19.6': + dependencies: + '@types/node': 22.10.2 + '@types/qs': 6.9.17 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express@4.17.21': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.9.17 + '@types/serve-static': 1.15.7 + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/http-errors@2.0.4': {} + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mime@1.3.5': {} + + '@types/node-fetch@2.6.12': + dependencies: + '@types/node': 22.10.2 + form-data: 4.0.1 + + '@types/node@12.20.55': {} + + '@types/node@18.19.68': + dependencies: + undici-types: 5.26.5 + + '@types/node@20.17.12': + dependencies: + undici-types: 6.19.8 + + '@types/node@22.10.2': + dependencies: + undici-types: 6.20.0 + + '@types/promise-retry@1.1.6': + dependencies: + '@types/retry': 0.12.5 + + '@types/qs@6.9.17': {} + + '@types/range-parser@1.2.7': {} + + '@types/retry@0.12.0': {} + + '@types/retry@0.12.5': {} + + '@types/send@0.17.4': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 22.10.2 + + '@types/serve-static@1.15.7': + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 22.10.2 + '@types/send': 0.17.4 + + '@types/unist@3.0.3': {} + + '@types/uuid@10.0.0': {} + + '@types/uuid@8.3.4': {} + + '@types/ws@7.4.7': + dependencies: + '@types/node': 22.10.2 + + '@types/ws@8.5.13': + dependencies: + '@types/node': 22.10.2 + + '@ungap/structured-clone@1.2.1': {} + + '@zodios/core@10.9.6(axios@1.7.9)(zod@3.24.1)': + dependencies: + axios: 1.7.9 + zod: 3.24.1 + + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-jsx@5.3.2(acorn@8.14.0): + dependencies: + acorn: 8.14.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.14.0 + + acorn@8.14.0: {} + + agentkeepalive@4.5.0: + dependencies: + humanize-ms: 1.2.1 + + ai@4.0.27(react@19.0.0)(zod@3.24.1): + dependencies: + '@ai-sdk/provider': 1.0.3 + '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) + '@ai-sdk/react': 1.0.7(react@19.0.0)(zod@3.24.1) + '@ai-sdk/ui-utils': 1.0.6(zod@3.24.1) + '@opentelemetry/api': 1.9.0 + jsondiffpatch: 0.6.0 + zod-to-json-schema: 3.24.1(zod@3.24.1) + optionalDependencies: + react: 19.0.0 + zod: 3.24.1 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + ansicolors@0.3.2: {} + + arg@4.1.3: {} + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + assert@2.1.0: + dependencies: + call-bind: 1.0.8 + is-nan: 1.3.2 + object-is: 1.1.6 + object.assign: 4.1.7 + util: 0.12.5 + + assertion-error@2.0.1: {} + + asynckit@0.4.0: {} + + available-typed-arrays@1.0.7: + 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 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + axios@1.7.9: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + balanced-match@1.0.2: {} + + base-x@3.0.10: + dependencies: + safe-buffer: 5.2.1 + + base-x@4.0.0: {} + + base-x@5.0.0: {} + + base64-js@1.5.1: {} + + big-integer@1.6.52: {} + + big.js@6.2.2: {} + + bigint-buffer@1.1.5: + dependencies: + bindings: 1.5.0 + + bignumber.js@9.1.2: {} + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + + bintrees@1.0.2: {} + + bn.js@4.11.6: {} + + bn.js@5.2.1: {} + + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + borsh@0.7.0: + dependencies: + bn.js: 5.2.1 + bs58: 4.0.1 + text-encoding-utf-8: 1.0.2 + + borsh@1.0.0: {} + + borsh@2.0.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + bs58@4.0.1: + dependencies: + base-x: 3.0.10 + + bs58@5.0.0: + dependencies: + base-x: 4.0.0 + + bs58@6.0.0: + dependencies: + base-x: 5.0.0 + + buffer-layout@1.2.2: {} + + buffer-reverse@1.0.1: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bufferutil@4.0.8: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.1: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + get-intrinsic: 1.2.6 + set-function-length: 1.2.2 + + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.1 + get-intrinsic: 1.2.6 + + callsites@3.1.0: {} + + camelcase@6.3.0: {} + + ccount@2.0.1: {} + + chai@5.1.2: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.2 + pathval: 2.0.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.4.1: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + check-error@2.1.1: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@12.1.0: {} + + commander@2.20.3: {} + + concat-map@0.0.1: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + cookie-signature@1.0.6: {} + + cookie@0.7.1: {} + + create-require@1.1.1: {} + + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-hash@1.3.0: {} + + crypto-js@4.2.0: {} + + data-uri-to-buffer@4.0.1: {} + + dayjs@1.11.13: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + decamelize@1.2.0: {} + + decimal.js-light@2.5.1: {} + + decimal.js@10.4.3: {} + + deep-eql@5.0.2: {} + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + delay@5.0.0: {} + + delayed-stream@1.0.0: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + destroy@1.2.0: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + diff-match-patch@1.0.5: {} + + diff@4.0.2: {} + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dotenv@10.0.0: {} + + dotenv@16.4.7: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + emoji-regex-xs@1.0.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + entities@4.5.0: {} + + err-code@2.0.3: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es6-promise@4.2.8: {} + + es6-promisify@5.0.0: + dependencies: + es6-promise: 4.2.8 + + escape-html@1.0.3: {} + + escape-string-regexp@4.0.0: {} + + eslint-scope@8.2.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.0: {} + + eslint@9.17.0: + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.9.1 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.17.0 + '@eslint/plugin-kit': 0.2.4 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0 + escape-string-regexp: 4.0.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@10.3.0: + dependencies: + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + etag@1.8.1: {} + + ethereum-bloom-filters@1.2.0: + dependencies: + '@noble/hashes': 1.6.1 + + ethereum-cryptography@2.2.1: + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 + + ethjs-unit@0.1.6: + dependencies: + bn.js: 4.11.6 + number-to-bn: 1.7.0 + + event-target-shim@5.0.1: {} + + eventemitter3@4.0.7: {} + + eventemitter3@5.0.1: {} + + eventsource-parser@3.0.0: {} + + eventsource@2.0.2: {} + + exponential-backoff@3.1.1: {} + + express-prom-bundle@7.0.2(prom-client@15.1.3): + dependencies: + '@types/express': 4.17.21 + express: 4.21.2 + on-finished: 2.4.1 + prom-client: 15.1.3 + url-value-parser: 2.2.0 + transitivePeerDependencies: + - supports-color + + express@4.21.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + eyes@0.1.8: {} + + fast-deep-equal@3.1.3: {} + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-stable-stringify@1.0.0: {} + + fastestsmallesttextencoderdecoder@1.0.22: {} + + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + file-uri-to-path@1.0.0: {} + + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-process@1.4.9: + dependencies: + chalk: 4.1.2 + commander: 12.1.0 + debug: 4.4.0 + eslint: 9.17.0 + glob: 11.0.0 + loglevel: 1.9.2 + rimraf: 6.0.1 + transitivePeerDependencies: + - jiti + - supports-color + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flash-sdk@2.24.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10): + dependencies: + '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@types/node': 20.17.12 + bignumber.js: 9.1.2 + bs58: 5.0.0 + dotenv: 16.4.7 + fs: 0.0.1-security + js-sha256: 0.9.0 + jsbi: 4.3.0 + node-fetch: 3.3.2 + rimraf: 5.0.10 + ts-node: 10.9.2(@types/node@20.17.12)(typescript@5.6.3) + tweetnacl: 1.0.3 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.2 + keyv: 4.5.4 + + flatted@3.3.2: {} + + follow-redirects@1.15.9: {} + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data-encoder@1.7.2: {} + + form-data@4.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + formdata-node@4.4.1: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 4.0.0-beta.3 + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + + forwarded@0.2.0: {} + + fresh@0.5.2: {} + + fs@0.0.1-security: {} + + function-bind@1.1.2: {} + + get-intrinsic@1.2.6: + dependencies: + call-bind-apply-helpers: 1.0.1 + dunder-proto: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + function-bind: 1.1.2 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@11.0.0: + dependencies: + foreground-child: 3.3.0 + jackspeak: 4.0.2 + minimatch: 10.0.1 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.0 + + globals@14.0.0: {} + + gopd@1.2.0: {} + + graceful-fs@4.2.11: + optional: true + + graphemesplit@2.4.4: + dependencies: + js-base64: 3.7.7 + unicode-trie: 2.0.0 + + groq-sdk@0.5.0: + dependencies: + '@types/node': 18.19.68 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + web-streams-polyfill: 3.3.3 + transitivePeerDependencies: + - encoding + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-to-html@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + html-void-elements@3.0.0: {} + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + inherits@2.0.4: {} + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.2.0: {} + + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hex-prefixed@1.0.0: {} + + is-nan@1.3.2: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + + is-retry-allowed@2.2.0: {} + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.18 + + is-typedarray@1.0.0: {} + + isexe@2.0.0: {} + + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)): + dependencies: + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + + isomorphic-ws@4.0.1(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)): + dependencies: + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jackspeak@4.0.2: + dependencies: + '@isaacs/cliui': 8.0.2 + + jayson@4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + '@types/connect': 3.4.38 + '@types/node': 12.20.55 + '@types/ws': 7.4.7 + JSONStream: 1.3.5 + commander: 2.20.3 + delay: 5.0.0 + es6-promisify: 5.0.0 + eyes: 0.1.8 + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + json-stringify-safe: 5.0.1 + uuid: 8.3.2 + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + js-base64@3.7.7: {} + + js-sha256@0.11.0: {} + + js-sha256@0.9.0: {} + + js-sha3@0.8.0: {} + + js-tiktoken@1.0.16: + dependencies: + base64-js: 1.5.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsbi@4.3.0: {} + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema@0.4.0: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json-stringify-safe@5.0.1: {} + + json5@2.2.3: {} + + jsondiffpatch@0.6.0: + dependencies: + '@types/diff-match-patch': 1.0.36 + chalk: 5.4.1 + diff-match-patch: 1.0.5 + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonparse@1.3.1: {} + + jsonpointer@5.0.1: {} + + keccak256@1.0.6: + dependencies: + bn.js: 5.2.1 + buffer: 6.0.3 + keccak: 3.0.4 + + keccak@3.0.4: + dependencies: + node-addon-api: 2.0.2 + node-gyp-build: 4.8.4 + readable-stream: 3.6.2 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + langchain@0.3.8(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)): + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + js-tiktoken: 1.0.16 + js-yaml: 4.1.0 + jsonpointer: 5.0.1 + langsmith: 0.2.14(openai@4.77.0(zod@3.24.1)) + openapi-types: 12.1.3 + p-retry: 4.6.2 + uuid: 10.0.0 + yaml: 2.6.1 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + optionalDependencies: + '@langchain/groq': 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + axios: 1.7.9 + transitivePeerDependencies: + - encoding + - openai + + langsmith@0.2.14(openai@4.77.0(zod@3.24.1)): + dependencies: + '@types/uuid': 10.0.0 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + semver: 7.6.3 + uuid: 10.0.0 + optionalDependencies: + openai: 4.77.0(zod@3.24.1) + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + libsodium-sumo@0.7.15: {} + + libsodium-wrappers-sumo@0.7.15: + dependencies: + libsodium-sumo: 0.7.15 + + libsodium-wrappers@0.7.15: + dependencies: + libsodium: 0.7.15 + + libsodium@0.7.15: {} + + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.merge@4.6.2: {} + + lodash@4.17.21: {} + + loglevel@1.9.2: {} + + loupe@3.1.2: {} + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lru-cache@10.4.3: {} + + lru-cache@11.0.2: {} + + lunr@2.3.9: {} + + make-error@1.3.6: {} + + markdown-it@14.1.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + math-expression-evaluator@2.0.6: {} + + math-intrinsics@1.1.0: {} + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.1 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdurl@2.0.0: {} + + media-typer@0.3.0: {} + + merge-descriptors@1.0.3: {} + + merkletreejs@0.3.11: + dependencies: + bignumber.js: 9.1.2 + buffer-reverse: 1.0.1 + crypto-js: 4.2.0 + treeify: 1.1.0 + web3-utils: 1.10.4 + + methods@1.1.2: {} + + micro-ftch@0.3.1: {} + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.1: {} + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + minimalistic-assert@1.0.1: {} + + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + mustache@4.2.0: {} + + nanoid@3.3.8: {} + + natural-compare@1.4.0: {} + + negotiator@0.6.3: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-addon-api@2.0.2: {} + + node-domexception@1.0.0: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + + node-gyp-build@4.8.4: {} + + number-to-bn@1.7.0: + dependencies: + bn.js: 4.11.6 + strip-hex-prefix: 1.0.0 + + object-inspect@1.13.3: {} + + object-is@1.1.6: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + oniguruma-to-es@0.8.1: + dependencies: + emoji-regex-xs: 1.0.0 + regex: 5.1.1 + regex-recursion: 5.1.1 + + openai@4.77.0(zod@3.24.1): + dependencies: + '@types/node': 18.19.68 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + optionalDependencies: + zod: 3.24.1 + transitivePeerDependencies: + - encoding + + openapi-types@12.1.3: {} + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-finally@1.0.0: {} + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-queue@6.6.2: + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-timeout@3.2.0: + dependencies: + p-finally: 1.0.0 + + package-json-from-dist@1.0.1: {} + + pako@0.2.9: {} + + pako@2.1.0: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parseurl@1.3.3: {} + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-scurry@2.0.0: + dependencies: + lru-cache: 11.0.2 + minipass: 7.1.2 + + path-to-regexp@0.1.12: {} + + pathval@2.0.0: {} + + percentile@1.6.0: {} + + pg-cloudflare@1.1.1: + optional: true + + pg-connection-string@2.7.0: {} + + pg-int8@1.0.1: {} + + pg-pool@3.7.0(pg@8.13.1): + dependencies: + pg: 8.13.1 + + pg-protocol@1.7.0: {} + + pg-types@2.2.0: + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + pg@8.13.1: + dependencies: + pg-connection-string: 2.7.0 + pg-pool: 3.7.0(pg@8.13.1) + pg-protocol: 1.7.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + pgpass@1.0.5: + dependencies: + split2: 4.2.0 + + poly1305-js@0.4.4: + dependencies: + big-integer: 1.6.52 + + possible-typed-array-names@1.0.0: {} + + postgres-array@2.0.0: {} + + postgres-bytea@1.0.0: {} + + postgres-date@1.0.7: {} + + postgres-interval@1.2.0: + dependencies: + xtend: 4.0.2 + + prelude-ls@1.2.1: {} + + prettier@2.8.8: {} + + prom-client@15.1.3: + dependencies: + '@opentelemetry/api': 1.9.0 + tdigest: 0.1.2 + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + + property-information@6.5.0: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + proxy-from-env@1.1.0: {} + + punycode.js@2.3.1: {} + + punycode@2.3.1: {} + + qs@6.13.0: + dependencies: + side-channel: 1.1.0 + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + react@19.0.0: {} + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + regenerator-runtime@0.14.1: {} + + regex-recursion@5.1.1: + dependencies: + regex: 5.1.1 + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@5.1.1: + dependencies: + regex-utilities: 2.3.0 + + resolve-from@4.0.0: {} + + retry@0.12.0: {} + + retry@0.13.1: {} + + rimraf@5.0.10: + dependencies: + glob: 10.4.5 + + rimraf@6.0.1: + dependencies: + glob: 11.0.0 + package-json-from-dist: 1.0.1 + + rpc-websockets@9.0.4: + dependencies: + '@swc/helpers': 0.5.15 + '@types/uuid': 8.3.4 + '@types/ws': 8.5.13 + buffer: 6.0.3 + eventemitter3: 5.0.1 + uuid: 8.3.2 + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + secure-json-parse@2.7.0: {} + + semaphore@1.1.0: {} + + semver@7.6.3: {} + + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.6 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + setprototypeof@1.2.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shiki@1.24.4: + dependencies: + '@shikijs/core': 1.24.4 + '@shikijs/engine-javascript': 1.24.4 + '@shikijs/engine-oniguruma': 1.24.4 + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.6 + object-inspect: 1.13.3 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.6 + object-inspect: 1.13.3 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@4.1.0: {} + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + sodium-native@3.4.1: + dependencies: + node-gyp-build: 4.8.4 + + sodium-plus@0.9.0(sodium-native@3.4.1): + dependencies: + buffer: 5.7.1 + libsodium-wrappers: 0.7.15 + poly1305-js: 0.4.4 + sodium-native: 3.4.1 + typedarray-to-buffer: 3.1.5 + xsalsa20: 1.2.0 + + solana-agent-kit@1.3.7(@noble/hashes@1.6.1)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.0.0)(sodium-native@3.4.1)(typescript@5.6.3)(utf-8-validate@5.0.10): + dependencies: + '@ai-sdk/openai': 1.0.13(zod@3.24.1) + '@bonfida/spl-name-service': 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@cks-systems/manifest-sdk': 0.1.59(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/groq': 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/langgraph': 0.2.36(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@lightprotocol/compressed-token': 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-core': 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1) + '@metaplex-foundation/mpl-token-metadata': 3.3.0(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-bundle-defaults': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@onsol/tldparser': 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@orca-so/whirlpools-sdk': 0.13.12(@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@pythnetwork/hermes-client': 1.3.0(axios@1.7.9) + '@raydium-io/raydium-sdk-v2': 0.1.95-alpha(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@tensor-oss/tensorswap-sdk': 4.5.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@tiplink/api': 0.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) + ai: 4.0.27(react@19.0.0)(zod@3.24.1) + bn.js: 5.2.1 + bs58: 6.0.0 + chai: 5.1.2 + decimal.js: 10.4.3 + dotenv: 16.4.7 + flash-sdk: 2.24.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + form-data: 4.0.1 + langchain: 0.3.8(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)) + openai: 4.77.0(zod@3.24.1) + typedoc: 0.27.6(typescript@5.6.3) + zod: 3.24.1 + transitivePeerDependencies: + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cohere' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/mistralai' + - '@langchain/ollama' + - '@noble/hashes' + - '@swc/core' + - '@swc/wasm' + - axios + - borsh + - buffer + - bufferutil + - cheerio + - debug + - encoding + - fastestsmallesttextencoderdecoder + - handlebars + - jiti + - peggy + - react + - sodium-native + - supports-color + - typeorm + - typescript + - utf-8-validate + + space-separated-tokens@2.0.2: {} + + split2@4.2.0: {} + + spok@1.5.5: + dependencies: + ansicolors: 0.3.2 + find-process: 1.4.9 + transitivePeerDependencies: + - jiti + - supports-color + + statuses@2.0.1: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom@3.0.0: {} + + strip-hex-prefix@1.0.0: + dependencies: + is-hex-prefixed: 1.0.0 + + strip-json-comments@3.1.1: {} + + superstruct@0.15.5: {} + + superstruct@2.0.2: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + swr@2.3.0(react@19.0.0): + dependencies: + dequal: 2.0.3 + react: 19.0.0 + use-sync-external-store: 1.4.0(react@19.0.0) + + tdigest@0.1.2: + dependencies: + bintrees: 1.0.2 + + text-encoding-utf-8@1.0.2: {} + + text-table@0.2.0: {} + + throttleit@2.1.0: {} + + through@2.3.8: {} + + tiny-inflate@1.0.3: {} + + tiny-invariant@1.3.3: {} + + toformat@2.0.0: {} + + toidentifier@1.0.1: {} + + toml@3.0.0: {} + + tr46@0.0.3: {} + + treeify@1.1.0: {} + + trim-lines@3.0.1: {} + + ts-log@2.2.7: {} + + ts-node@10.9.2(@types/node@20.17.12)(typescript@5.6.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.17.12 + acorn: 8.14.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.6.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@2.8.1: {} + + tweetnacl-util@0.15.1: {} + + tweetnacl@1.0.3: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typedoc@0.26.11(typescript@5.6.3): + dependencies: + lunr: 2.3.9 + markdown-it: 14.1.0 + minimatch: 9.0.5 + shiki: 1.24.4 + typescript: 5.6.3 + yaml: 2.6.1 + + typedoc@0.27.6(typescript@5.6.3): + dependencies: + '@gerrit0/mini-shiki': 1.26.1 + lunr: 2.3.9 + markdown-it: 14.1.0 + minimatch: 9.0.5 + typescript: 5.6.3 + yaml: 2.6.1 + + typescript-collections@1.3.3: {} + + typescript@4.9.5: {} + + typescript@5.6.3: {} + + uc.micro@2.1.0: {} + + undici-types@5.26.5: {} + + undici-types@6.19.8: {} + + undici-types@6.20.0: {} + + unicode-trie@2.0.0: + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-value-parser@2.2.0: {} + + use-sync-external-store@1.4.0(react@19.0.0): + dependencies: + react: 19.0.0 + + utf-8-validate@5.0.10: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + utf8@3.0.0: {} + + util-deprecate@1.0.2: {} + + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.2.0 + is-generator-function: 1.0.10 + is-typed-array: 1.1.15 + which-typed-array: 1.1.18 + + utils-merge@1.0.1: {} + + uuid@10.0.0: {} + + uuid@8.3.2: {} + + uuid@9.0.1: {} + + v8-compile-cache-lib@3.0.1: {} + + vary@1.1.2: {} + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + web-streams-polyfill@3.3.3: {} + + web-streams-polyfill@4.0.0-beta.3: {} + + web3-utils@1.10.4: + dependencies: + '@ethereumjs/util': 8.1.0 + bn.js: 5.2.1 + ethereum-bloom-filters: 1.2.0 + ethereum-cryptography: 2.2.1 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: 2.1.0 + utf8: 3.0.0 + + webidl-conversions@3.0.1: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-typed-array@1.1.18: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + for-each: 0.3.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 + + ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 + + xsalsa20@1.2.0: {} + + xtend@4.0.2: {} + + yaml@2.6.1: {} + + yn@3.1.1: {} + + yocto-queue@0.1.0: {} + + zod-to-json-schema@3.24.1(zod@3.24.1): + dependencies: + zod: 3.24.1 + + zod@3.24.1: {} + + zstddec@0.0.2: {} + + zwitch@2.0.4: {} diff --git a/test/index.ts b/test/index.ts index d28b626..00f9976 100644 --- a/test/index.ts +++ b/test/index.ts @@ -165,139 +165,7 @@ async function runChatMode(agent: any, config: any) { } } -interface MarketMakerConfig { - marketId: string; - baseToken: string; - quoteToken: string; - quoteParams: { - number: number; // Number of quotes on each side - minDepth: number; // Minimum distance from mid (%) - maxDepth: number; // Maximum distance from mid (%) - }; - allowance: { - base: number; - quote: number; - }; - intervalSeconds: number; -} - -function createReadlineInterface() { - return readline.createInterface({ - input: process.stdin, - output: process.stdout - }); -} - -async function askQuestion(rl: readline.Interface, question: string): Promise { - return new Promise((resolve) => { - rl.question(question, (answer) => { - resolve(answer); - }); - }); -} - -async function configureMarketMaker(): Promise { - const rl = createReadlineInterface(); - - try { - console.log("\n=== Market Maker Configuration ===\n"); - - // Basic market information - const marketId = await askQuestion(rl, "Enter the market ID: "); - const baseToken = await askQuestion(rl, "Enter the base token symbol (e.g., SEND): "); - const quoteToken = await askQuestion(rl, "Enter the quote token symbol (e.g., USDC): "); - - // Quote parameters - console.log("\n=== Quote Parameters (applies to both buy and sell sides) ==="); - const quoteNumber = parseInt(await askQuestion(rl, "Enter number of quotes to place on each side: ")); - const minDepth = parseFloat(await askQuestion(rl, "Enter minimum quote depth (% distance from mid price): ")); - const maxDepth = parseFloat(await askQuestion(rl, "Enter maximum quote depth (% distance from mid price): ")); - - // Token allowances - console.log("\n=== Token Allowances ==="); - const baseAllowance = parseFloat(await askQuestion(rl, `Enter total ${baseToken} allowance: `)); - const quoteAllowance = parseFloat(await askQuestion(rl, `Enter total ${quoteToken} allowance: `)); - - // Update interval - const interval = parseInt(await askQuestion(rl, "\nEnter update interval in seconds: ")); - - const config: MarketMakerConfig = { - marketId, - baseToken, - quoteToken, - quoteParams: { - number: quoteNumber, - minDepth: minDepth, - maxDepth: maxDepth - }, - allowance: { - base: baseAllowance, - quote: quoteAllowance - }, - intervalSeconds: interval - }; - - // Display summary - console.log("\n=== Configuration Summary ==="); - console.log(JSON.stringify(config, null, 2)); - - const confirm = await askQuestion(rl, "\nIs this configuration correct? (yes/no): "); - if (confirm.toLowerCase() !== 'yes') { - throw new Error("Configuration cancelled by user"); - } - - return config; - - } finally { - rl.close(); - } -} - -async function runMarketMakerMode(agent: any, config: any) { - try { - const marketMakerConfig = await configureMarketMaker(); - console.log(`\nStarting market maker mode for ${marketMakerConfig.baseToken}/${marketMakerConfig.quoteToken}...`); - - while (true) { - try { - const thought = - `You are an on-chain Solana market maker for the ${marketMakerConfig.baseToken}/${marketMakerConfig.quoteToken} Manifest market, ${marketMakerConfig.marketId}. - Find the ${marketMakerConfig.baseToken}/${marketMakerConfig.quoteToken} live price by checking Jupiter. - Use solana_batch_order to provide ${marketMakerConfig.quoteParams.number} buys at different prices between -${marketMakerConfig.quoteParams.minDepth}% to -${marketMakerConfig.quoteParams.maxDepth}% and ${marketMakerConfig.quoteParams.number} sells at different prices between +${marketMakerConfig.quoteParams.minDepth}% to +${marketMakerConfig.quoteParams.maxDepth}% with increasing quantities further from the live price. - You have an allowance of ${marketMakerConfig.allowance.base} ${marketMakerConfig.baseToken} and ${marketMakerConfig.allowance.quote} ${marketMakerConfig.quoteToken}. - Important! Only send 1 transaction, buy and sells can be combined into a single solana_batch_order.`; - - const stream = await agent.stream( - { messages: [new HumanMessage(thought)] }, - config, - ); - - for await (const chunk of stream) { - if ("agent" in chunk) { - console.log(chunk.agent.messages[0].content); - } else if ("tools" in chunk) { - console.log(chunk.tools.messages[0].content); - } - console.log("-------------------"); - } - - await new Promise((resolve) => - setTimeout(resolve, marketMakerConfig.intervalSeconds * 1000) - ); - } catch (error) { - if (error instanceof Error) { - console.error("Error:", error); - } - process.exit(1); - } - } - } catch (error) { - console.error("Configuration error:", error); - process.exit(1); - } -} - -async function chooseMode(): Promise<"chat" | "auto" | "mm"> { +async function chooseMode(): Promise<"chat" | "auto"> { const rl = readline.createInterface({ input: process.stdin, output: process.stdout, @@ -310,7 +178,6 @@ async function chooseMode(): Promise<"chat" | "auto" | "mm"> { console.log("\nAvailable modes:"); console.log("1. chat - Interactive chat mode"); console.log("2. auto - Autonomous action mode"); - console.log("3. mm - AI guided market making") const choice = (await question("\nChoose a mode (enter number or name): ")) .toLowerCase() @@ -322,8 +189,6 @@ async function chooseMode(): Promise<"chat" | "auto" | "mm"> { return "chat"; } else if (choice === "2" || choice === "auto") { return "auto"; - } else if (choice === "3" || choice === "mm") { - return "mm"; } console.log("Invalid choice. Please try again."); } @@ -337,10 +202,8 @@ async function main() { if (mode === "chat") { await runChatMode(agent, config); - } else if( mode === "auto") { - await runAutonomousMode(agent, config); } else { - await runMarketMakerMode(agent, config); + await runAutonomousMode(agent, config); } } catch (error) { if (error instanceof Error) { From ac7059eefb75e83989092808f76db7d2ef77fd82 Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Mon, 6 Jan 2025 23:08:51 +0530 Subject: [PATCH 078/138] updated Config interface and generated docs --- .env.example | 3 ++- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 16 ++++++++-------- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 5 +++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/FlashCloseTradeParams.html | 4 ++-- docs/interfaces/FlashTradeParams.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/types/index.ts | 1 + 32 files changed, 67 insertions(+), 64 deletions(-) diff --git a/.env.example b/.env.example index e8004fd..52fdf99 100644 --- a/.env.example +++ b/.env.example @@ -2,4 +2,5 @@ OPENAI_API_KEY= RPC_URL= SOLANA_PRIVATE_KEY= JUPITER_REFERRAL_ACCOUNT= -JUPITER_FEE_BPS= \ No newline at end of file +JUPITER_FEE_BPS= +FLASH_PRIVILEGE= referral | nft | none \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index adec9f3..940ddfa 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 55450f7..ca38fd6 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

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

    Returns SolanaAgentKit

  • Properties

    config: Config

    Configuration object

    +
    connection: Connection

    Solana RPC connection

    +
    wallet: Keypair

    Wallet keypair for signing transactions

    +
    wallet_address: PublicKey

    Public key of the wallet

    +

    Methods

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • amount: number
      • OptionalsplmintAddress: PublicKey

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

    • Parameters

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

      Returns Promise<{ mint: PublicKey }>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Opens a new trading position on Flash.Trade

      Parameters

      • params: FlashTradeParams

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

      Returns Promise<string>

      Transaction signature

      -
    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
    • 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 b5b75e3..6670a6b 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 80fbd0c..5f38ba3 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 a5d951f..63adb9c 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 f7246b1..c24b348 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index b9b8f7a..76fc9f6 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 1abce7a..38682fa 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 4181708..1ccbff9 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 0203f22..bb59b51 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 31bb371..39fd7c6 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 9454eac..326ae90 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 34c50d5..7ec97b9 100644 --- a/docs/interfaces/Config.html +++ b/docs/interfaces/Config.html @@ -1,4 +1,5 @@ -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 {
        FLASH_PRIVILEGE?: string;
        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

    FLASH_PRIVILEGE?: string
    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 458a266..b19a317 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 2d062ba..c7eada5 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 index cb36e4e..578f8bd 100644 --- a/docs/interfaces/FlashCloseTradeParams.html +++ b/docs/interfaces/FlashCloseTradeParams.html @@ -1,3 +1,3 @@ -FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    side +FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    Properties

    side: "long" | "short"
    token: string
    +

    Properties

    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/FlashTradeParams.html b/docs/interfaces/FlashTradeParams.html index 8451e63..d894b97 100644 --- a/docs/interfaces/FlashTradeParams.html +++ b/docs/interfaces/FlashTradeParams.html @@ -1,5 +1,5 @@ -FlashTradeParams | solana-agent-kit

    Interface FlashTradeParams

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

    Properties

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

    Properties

    collateralUsd: number
    leverage: number
    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index 22cf7d8..dc40740 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 434cca1..d813c9b 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 4a747c5..5baf956 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 475b7c2..b575886 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 cead694..00df0bd 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 9e65d95..f279978 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 5b737cd..b6b18d1 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 c95c38c..f202f4b 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 d62b566..5fc51fd 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 9c938a1..286dd06 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 f0ee614..668a432 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 3f1c2df..900c63e 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 9491767..5d9a291 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;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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/types/index.ts b/src/types/index.ts index 71dab5d..01ac152 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -6,6 +6,7 @@ export interface Config { OPENAI_API_KEY?: string; JUPITER_REFERRAL_ACCOUNT?: string; JUPITER_FEE_BPS?: number; + FLASH_PRIVILEGE?: string; } export interface Creator { From e680ddd4f3d8ede081a6abb7c89847c960e8f7a5 Mon Sep 17 00:00:00 2001 From: biccsdev Date: Sat, 4 Jan 2025 17:40:04 -0600 Subject: [PATCH 079/138] 3land tools implementation --- README.md | 56 +- package.json | 1 + pnpm-lock.yaml | 2761 +++++++++++++++++++------ src/agent/index.ts | 32 + src/langchain/index.ts | 57 + src/tools/create_3land_collectible.ts | 69 + test/tools/3land.ts | 61 + 7 files changed, 2355 insertions(+), 682 deletions(-) create mode 100644 src/tools/create_3land_collectible.ts create mode 100644 test/tools/3land.ts diff --git a/README.md b/README.md index 893ab25..254b215 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,10 @@ Anyone - whether an SF-based AI researcher or a crypto-native builder - can brin - Balance checks - Stake SOL - Zk compressed Airdrop by Light Protocol and Helius - +- **NFTs on 3.Land** + - Create your own collection + - NFT creation and automatic listing on 3.land + - List your NFT for sale in any SPL token - **NFT Management via Metaplex** - Collection deployment - NFT minting @@ -127,6 +130,57 @@ const result = await agent.deployToken( console.log("Token Mint Address:", result.mint.toString()); ``` +### Create NFT Collection on 3Land +```typescript +const optionsWithBase58: StoreInitOptions = { + privateKey: "", + isMainnet: true, // if false, collection will be created on devnet 3.land (dev.3.land) +}; + + const collectionOpts: CreateCollectionOptions = { + collectionName: "", + collectionSymbol: "", + collectionDescription: "", + mainImageUrl: "" + }; + +const result = await agent.create3LandCollection( + optionsWithBase58, + collectionOpts + ); +``` + +### Create NFT on 3Land +When creating an NFT using 3Land's tool, it automatically goes for sale on 3.land website +```typescript +const optionsWithBase58: StoreInitOptions = { + privateKey: "", + isMainnet: true, // if false, listing will be on devnet 3.land (dev.3.land) +}; +const collectionAccount = ""; //hash for the collection +const createItemOptions: CreateSingleOptions = { + itemName: "", + sellerFee: 500, //5% + itemAmount: 100, //total items to be created + itemSymbol: "", + itemDescription: "", + traits: [ + { trait_type: "", value: "" }, + ], + price: 0, //100000000 == 0.1 sol, can be set to 0 for a free mint + mainImageUrl: "", + splHash: "", //present if listing is on a specific SPL token, if not present sale will be on $SOL +}; + +const result = await agent.create3LandNft( + optionsWithBase58, + collectionAccount, + createItemOptions, + optionsWithBase58.isMainnet +); + +``` + ### Create NFT Collection diff --git a/package.json b/package.json index 0f396d2..e8174dd 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "author": "sendaifun", "license": "Apache-2.0", "dependencies": { + "@3land/listings-sdk": "^0.0.3", "@ai-sdk/openai": "^1.0.11", "@bonfida/spl-name-service": "^3.0.7", "@cks-systems/manifest-sdk": "0.1.59", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 157d2bf..bd15508 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,5 @@ lockfileVersion: '9.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -8,39 +9,51 @@ importers: .: dependencies: + '@3land/listings-sdk': + specifier: ^0.0.3 + version: 0.0.3(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@ai-sdk/openai': specifier: ^1.0.11 version: 1.0.11(zod@3.24.1) '@bonfida/spl-name-service': specifier: ^3.0.7 version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.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) '@cks-systems/manifest-sdk': - specifier: 0.1.59 - version: 0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + specifier: ^0.1.73 + version: 0.1.73(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@coral-xyz/anchor': specifier: '0.29' version: 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@langchain/core': specifier: ^0.3.26 version: 0.3.27(openai@4.77.3(zod@3.24.1)) + version: 0.3.27(openai@4.77.3(zod@3.24.1)) '@langchain/groq': specifier: ^0.1.2 version: 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + version: 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@langchain/langgraph': specifier: ^0.2.36 version: 0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + version: 0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@langchain/openai': specifier: ^0.3.16 version: 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + version: 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@lightprotocol/compressed-token': specifier: ^0.17.1 version: 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@lightprotocol/stateless.js': specifier: ^0.17.1 version: 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/mpl-core': specifier: ^1.1.1 version: 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0) + version: 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0) '@metaplex-foundation/mpl-token-metadata': specifier: ^3.3.0 version: 3.3.0(@metaplex-foundation/umi@0.9.2) @@ -53,36 +66,45 @@ importers: '@metaplex-foundation/umi-bundle-defaults': specifier: ^0.9.2 version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-web3js-adapters': specifier: ^0.9.2 version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@onsol/tldparser': specifier: ^0.6.7 version: 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@orca-so/common-sdk': specifier: 0.6.4 version: 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + version: 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) '@orca-so/whirlpools-sdk': 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/hermes-client': - specifier: ^1.3.0 - version: 1.3.0(axios@1.7.9) + '@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) + version: 0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/spl-token': specifier: ^0.4.9 version: 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.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': specifier: ^1.98.0 version: 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@tensor-oss/tensorswap-sdk': specifier: ^4.5.0 version: 4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@tiplink/api': specifier: ^0.3.1 version: 0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) + version: 0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) ai: specifier: ^4.0.22 version: 4.0.22(react@19.0.0)(zod@3.24.1) @@ -110,9 +132,11 @@ importers: langchain: specifier: ^0.3.8 version: 0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)) + version: 0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)) openai: specifier: ^4.77.0 version: 4.77.3(zod@3.24.1) + version: 4.77.3(zod@3.24.1) typedoc: specifier: ^0.27.6 version: 0.27.6(typescript@5.7.2) @@ -129,12 +153,15 @@ importers: '@types/node': specifier: ^22.10.2 version: 22.10.5 + version: 22.10.5 '@typescript-eslint/eslint-plugin': specifier: ^8.18.2 version: 8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + version: 8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/parser': specifier: ^8.18.2 version: 8.19.0(eslint@8.57.1)(typescript@5.7.2) + version: 8.19.0(eslint@8.57.1)(typescript@5.7.2) eslint: specifier: ^8.56.0 version: 8.57.1 @@ -156,12 +183,16 @@ importers: ts-node: specifier: ^10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) + version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) typescript: specifier: ^5.7.2 version: 5.7.2 packages: + '@3land/listings-sdk@0.0.3': + resolution: {integrity: sha512-nEv2c6VgXLTZ/Gw0UuYq0VqVkoDW8LP3rNrX5S+ROgsttWsju8C5joLbDKVgSARDzhajvlvCoXWSzh+C0dsL/Q==} + '@ai-sdk/openai@1.0.11': resolution: {integrity: sha512-qI9s7Slma5i5bB4yYVlFdcG3PNDwdqivPT1Dr8adDX92nSSpILjgFIooS5yys9sXjvvcfOi/WXbDvVhLSRRlvg==} engines: {node: '>=18'} @@ -202,10 +233,23 @@ packages: zod: optional: true + '@aptos-labs/aptos-cli@1.0.2': + resolution: {integrity: sha512-PYPsd0Kk3ynkxNfe3S4fanI3DiUICCoh4ibQderbvjPFL5A0oK6F4lPEO2t0MDsQySTk2t4vh99Xjy6Bd9y+aQ==} + hasBin: true + + '@aptos-labs/aptos-client@0.1.1': + resolution: {integrity: sha512-kJsoy4fAPTOhzVr7Vwq8s/AUg6BQiJDa7WOqRzev4zsuIS3+JCuIZ6vUd7UBsjnxtmguJJulMRs9qWCzVBt2XA==} + engines: {node: '>=15.10.0'} + + '@aptos-labs/ts-sdk@1.33.1': + resolution: {integrity: sha512-d6nWtUI//fyEN8DeLjm3+ro87Ad6+IKwR9pCqfrs/Azahso1xR1Llxd/O6fj/m1DDsuDj/HAsCsy5TC/aKD6Eg==} + engines: {node: '>=11.0.0'} + '@babel/runtime@7.26.0': resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} + '@bonfida/sns-records@0.0.1': '@bonfida/sns-records@0.0.1': resolution: {integrity: sha512-i28w9+BMFufhhpmLQCNx1CKKXTsEn+5RT18VFpPqdGO3sqaYlnUWC1m3wDpOvlzGk498dljgRpRo5wmcsnuEMg==} peerDependencies: @@ -258,6 +302,12 @@ packages: peerDependencies: '@solana/web3.js': ^1.68.0 + '@coral-xyz/borsh@0.30.1': + resolution: {integrity: sha512-aaxswpPrCFKl8vZTbxLssA2RvwX2zmKLlRCIktJOwW+VpVwYtXRtlWiIP+c2pPRKneiTiWCN2GEMSH9j1zTlWQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -313,15 +363,90 @@ packages: resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} engines: {node: '>=14'} + '@ethersproject/abi@5.7.0': + resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} + + '@ethersproject/abstract-provider@5.7.0': + resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} + + '@ethersproject/abstract-signer@5.7.0': + resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} + + '@ethersproject/address@5.7.0': + resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} + + '@ethersproject/base64@5.7.0': + resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} + + '@ethersproject/basex@5.7.0': + resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==} + + '@ethersproject/bignumber@5.7.0': + resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} + '@ethersproject/bytes@5.7.0': resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + '@ethersproject/constants@5.7.0': + resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} + + '@ethersproject/contracts@5.7.0': + resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} + + '@ethersproject/hash@5.7.0': + resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} + + '@ethersproject/hdnode@5.7.0': + resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} + + '@ethersproject/json-wallets@5.7.0': + resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} + + '@ethersproject/keccak256@5.7.0': + resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} + '@ethersproject/logger@5.7.0': resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + '@ethersproject/networks@5.7.1': + resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} + + '@ethersproject/pbkdf2@5.7.0': + resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} + + '@ethersproject/properties@5.7.0': + resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} + + '@ethersproject/providers@5.7.2': + resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} + + '@ethersproject/random@5.7.0': + resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} + + '@ethersproject/rlp@5.7.0': + resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + '@ethersproject/sha2@5.7.0': resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + '@ethersproject/signing-key@5.7.0': + resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} + + '@ethersproject/strings@5.7.0': + resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} + + '@ethersproject/transactions@5.7.0': + resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} + + '@ethersproject/wallet@5.7.0': + resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} + + '@ethersproject/web@5.7.1': + resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} + + '@ethersproject/wordlists@5.7.0': + resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} + '@gerrit0/mini-shiki@1.26.1': resolution: {integrity: sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==} @@ -354,6 +479,19 @@ packages: resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} engines: {node: '>=18.18'} + '@irys/arweave@0.0.2': + resolution: {integrity: sha512-ddE5h4qXbl0xfGlxrtBIwzflaxZUDlDs43TuT0u1OMfyobHul4AA1VEX72Rpzw2bOh4vzoytSqA1jCM7x9YtHg==} + + '@irys/query@0.0.8': + resolution: {integrity: sha512-J8zCZDos2vFogSbroCJHZJq5gnPZEal01Iy3duXAotjIMgrI2ElDANiqEbaP1JAImR1jdUo1ChJnZB7MRLN9Hw==} + engines: {node: '>=16.10.0'} + + '@irys/sdk@0.2.11': + resolution: {integrity: sha512-z3zKlKYEqRHuCGyyVoikL1lT4Jwt8wv7e4MrMThNfhfT/bdKQHD9lEVsX77DBnLJrBBKKg5rRcEzMtVkpNx3QA==} + engines: {node: '>=16.10.0'} + deprecated: 'Arweave support is deprecated - We recommend migrating to the Irys datachain: https://migrate-to.irys.xyz/' + hasBin: true + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -368,6 +506,8 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@langchain/core@0.3.27': + resolution: {integrity: sha512-jtJKbJWB1NPU1YvtrExOB2rumvUFgkJwlWGxyjSIV9A6zcLVmUbcZGV8fCSuXgl5bbzOIQLJ1xcLYQmbW9TkTg==} '@langchain/core@0.3.27': resolution: {integrity: sha512-jtJKbJWB1NPU1YvtrExOB2rumvUFgkJwlWGxyjSIV9A6zcLVmUbcZGV8fCSuXgl5bbzOIQLJ1xcLYQmbW9TkTg==} engines: {node: '>=18'} @@ -384,9 +524,13 @@ packages: peerDependencies: '@langchain/core': '>=0.2.31 <0.4.0' + '@langchain/langgraph-sdk@0.0.33': + resolution: {integrity: sha512-l/hRbI6roLzplBXy2VyDUwqY1TkK7RcjPmrMUuVdvCCH4LTwLfIXh/G1kHatNiN7VUTskw0FkfBbgq6gtj0ang==} '@langchain/langgraph-sdk@0.0.33': resolution: {integrity: sha512-l/hRbI6roLzplBXy2VyDUwqY1TkK7RcjPmrMUuVdvCCH4LTwLfIXh/G1kHatNiN7VUTskw0FkfBbgq6gtj0ang==} + '@langchain/langgraph@0.2.38': + resolution: {integrity: sha512-mVy99pMftBGgUTBTCepSyzTovWCvpgdNcXsAjxTiMrMX6lzueNiBz0ljkY7UFoIoHYwurQbyl2WmMPFuxkSIAw==} '@langchain/langgraph@0.2.38': resolution: {integrity: sha512-mVy99pMftBGgUTBTCepSyzTovWCvpgdNcXsAjxTiMrMX6lzueNiBz0ljkY7UFoIoHYwurQbyl2WmMPFuxkSIAw==} engines: {node: '>=18'} @@ -553,13 +697,60 @@ packages: resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} engines: {node: '>= 14'} + '@near-js/crypto@0.0.3': + resolution: {integrity: sha512-3WC2A1a1cH8Cqrx+0iDjp1ASEEhxN/KHEMENYb0KZH6Hp5bXIY7Akt4quC7JlgJS5ESvEiLa40tS5h0zAhBWGw==} + + '@near-js/crypto@0.0.4': + resolution: {integrity: sha512-2mSIVv6mZway1rQvmkktrXAFoUvy7POjrHNH3LekKZCMCs7qMM/23Hz2+APgxZPqoV2kjarSNOEYJjxO7zQ/rQ==} + + '@near-js/keystores-browser@0.0.3': + resolution: {integrity: sha512-Ve/JQ1SBxdNk3B49lElJ8Y54AoBY+yOStLvdnUIpe2FBOczzwDCkcnPcMDV0NMwVlHpEnOWICWHbRbAkI5Vs+A==} + + '@near-js/keystores@0.0.3': + resolution: {integrity: sha512-mnwLYUt4Td8u1I4QE1FBx2d9hMt3ofiriE93FfOluJ4XiqRqVFakFYiHg6pExg5iEkej/sXugBUFeQ4QizUnew==} + + '@near-js/keystores@0.0.4': + resolution: {integrity: sha512-+vKafmDpQGrz5py1liot2hYSjPGXwihveeN+BL11aJlLqZnWBgYJUWCXG+uyGjGXZORuy2hzkKK6Hi+lbKOfVA==} + + '@near-js/providers@0.0.4': + resolution: {integrity: sha512-g/2pJTYmsIlTW4mGqeRlqDN9pZeN+1E2/wfoMIf3p++boBVxVlaSebtQgawXAf2lkfhb9RqXz5pHqewXIkTBSw==} + + '@near-js/signers@0.0.3': + resolution: {integrity: sha512-u1R+DDIua5PY1PDFnpVYqdMgQ7c4dyeZsfqMjE7CtgzdqupgTYCXzJjBubqMlAyAx843PoXmLt6CSSKcMm0WUA==} + + '@near-js/signers@0.0.4': + resolution: {integrity: sha512-xCglo3U/WIGsz/izPGFMegS5Q3PxOHYB8a1E7RtVhNm5QdqTlQldLCm/BuMg2G/u1l1ZZ0wdvkqRTG9joauf3Q==} + + '@near-js/transactions@0.1.0': + resolution: {integrity: sha512-OrrDFqhX0rtH+6MV3U3iS+zmzcPQI+L4GJi9na4Uf8FgpaVPF0mtSmVrpUrS5CC3LwWCzcYF833xGYbXOV4Kfg==} + + '@near-js/transactions@0.1.1': + resolution: {integrity: sha512-Fk83oLLFK7nz4thawpdv9bGyMVQ2i48iUtZEVYhuuuqevl17tSXMlhle9Me1ZbNyguJG/cWPdNybe1UMKpyGxA==} + + '@near-js/types@0.0.3': + resolution: {integrity: sha512-gC3iGUT+r2JjVsE31YharT+voat79ToMUMLCGozHjp/R/UW1M2z4hdpqTUoeWUBGBJuVc810gNTneHGx0jvzwQ==} + + '@near-js/types@0.0.4': + resolution: {integrity: sha512-8TTMbLMnmyG06R5YKWuS/qFG1tOA3/9lX4NgBqQPsvaWmDsa+D+QwOkrEHDegped0ZHQwcjAXjKML1S1TyGYKg==} + + '@near-js/utils@0.0.3': + resolution: {integrity: sha512-J72n/EL0VfLRRb4xNUF4rmVrdzMkcmkwJOhBZSTWz3PAZ8LqNeU9ZConPfMvEr6lwdaD33ZuVv70DN6IIjPr1A==} + + '@near-js/utils@0.0.4': + resolution: {integrity: sha512-mPUEPJbTCMicGitjEGvQqOe8AS7O4KkRCxqd0xuE/X6gXF1jz1pYMZn4lNUeUz2C84YnVSGLAM0o9zcN6Y4hiA==} + '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + '@noble/curves@1.8.0': + resolution: {integrity: sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==} '@noble/curves@1.8.0': resolution: {integrity: sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==} engines: {node: ^14.21.3 || >=16} + '@noble/ed25519@1.7.3': + resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} + '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -568,6 +759,8 @@ packages: resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.7.0': + resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==} '@noble/hashes@1.7.0': resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==} engines: {node: ^14.21.3 || >=16} @@ -604,6 +797,8 @@ packages: '@solana/web3.js': ^1.90.0 decimal.js: ^10.4.3 + '@orca-so/whirlpools-sdk@0.13.13': + resolution: {integrity: sha512-S3ovmnihBdZ5cmn3ylvJv+kAIUcGX5Y5RSWzv/WvF6etv/tLuO8FKc5mYxVenTa/NG78turTMbhujDdfGaahDw==} '@orca-so/whirlpools-sdk@0.13.13': resolution: {integrity: sha512-S3ovmnihBdZ5cmn3ylvJv+kAIUcGX5Y5RSWzv/WvF6etv/tLuO8FKc5mYxVenTa/NG78turTMbhujDdfGaahDw==} peerDependencies: @@ -621,13 +816,9 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@pythnetwork/client@2.22.0': - resolution: {integrity: sha512-Cyv23YqewKUL1pcm99jfmdetUa2aaUXjyRF9jvSeFcY895FddRu7uSWftYiaevsnx7vn4WbJgQR6ExxH+aONow==} - peerDependencies: - '@solana/web3.js': ^1.30.2 - - '@pythnetwork/hermes-client@1.3.0': - resolution: {integrity: sha512-SneB+LJSD6pNnG2JUuAgbHNi1qFDcnrIiMuU60FQxZMtIWP09YFMR64vxWxVawyqR93t0iQHcV5HT/hhfmqYOQ==} + '@project-serum/anchor@0.26.0': + resolution: {integrity: sha512-Nq+COIjE1135T7qfnOHEn7E0q39bQTgXLFk837/rgFe6Hkew9WML7eHsS+lSYD2p3OJaTiUOHTAq1lHy36oIqQ==} + engines: {node: '>=11'} '@pythnetwork/price-service-client@1.9.0': resolution: {integrity: sha512-SLm3IFcfmy9iMqHeT4Ih6qMNZhJEefY14T9yTlpsH2D/FE5+BaGGnfcexUifVlfH6M7mwRC4hEFdNvZ6ebZjJg==} @@ -636,6 +827,12 @@ packages: '@pythnetwork/price-service-sdk@1.8.0': resolution: {integrity: sha512-tFZ1thj3Zja06DzPIX2dEWSi7kIfIyqreoywvw5NQ3Z1pl5OJHQGMEhxt6Li3UCGSp2ooYZS9wl8/8XfrfrNSA==} + '@randlabs/communication-bridge@1.0.1': + resolution: {integrity: sha512-CzS0U8IFfXNK7QaJFE4pjbxDGfPjbXBEsEaCn9FN15F+ouSAEUQkva3Gl66hrkBZOGexKFEWMwUHIDKpZ2hfVg==} + + '@randlabs/myalgo-connect@1.4.2': + resolution: {integrity: sha512-K9hEyUi7G8tqOp7kWIALJLVbGCByhilcy6123WfcorxWwiE1sbQupPyIU5f3YdQK6wMjBsyTWiLW52ZBMp7sXA==} + '@raydium-io/raydium-sdk-v2@0.1.95-alpha': resolution: {integrity: sha512-+u7yxo/R1JDysTCzOuAlh90ioBe2DlM2Hbcz/tFsxP/YzmnYQzShvNjcmc0361a4zJhmlrEJfpFXW0J3kkX5vA==} @@ -660,9 +857,13 @@ packages: '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + '@shikijs/core@1.26.1': + resolution: {integrity: sha512-yeo7sG+WZQblKPclUOKRPwkv1PyoHYkJ4gP9DzhFJbTdueKR7wYTI1vfF/bFi1NTgc545yG/DzvVhZgueVOXMA==} '@shikijs/core@1.26.1': resolution: {integrity: sha512-yeo7sG+WZQblKPclUOKRPwkv1PyoHYkJ4gP9DzhFJbTdueKR7wYTI1vfF/bFi1NTgc545yG/DzvVhZgueVOXMA==} + '@shikijs/engine-javascript@1.26.1': + resolution: {integrity: sha512-CRhA0b8CaSLxS0E9A4Bzcb3LKBNpykfo9F85ozlNyArxjo2NkijtiwrJZ6eHa+NT5I9Kox2IXVdjUsP4dilsmw==} '@shikijs/engine-javascript@1.26.1': resolution: {integrity: sha512-CRhA0b8CaSLxS0E9A4Bzcb3LKBNpykfo9F85ozlNyArxjo2NkijtiwrJZ6eHa+NT5I9Kox2IXVdjUsP4dilsmw==} @@ -674,13 +875,27 @@ packages: '@shikijs/themes@1.26.1': resolution: {integrity: sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==} + '@shikijs/engine-oniguruma@1.26.1': + resolution: {integrity: sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==} + '@shikijs/langs@1.26.1': + resolution: {integrity: sha512-oz/TQiIqZejEIZbGtn68hbJijAOTtYH4TMMSWkWYozwqdpKR3EXgILneQy26WItmJjp3xVspHdiUxUCws4gtuw==} + + '@shikijs/themes@1.26.1': + resolution: {integrity: sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==} + + '@shikijs/types@1.26.1': + resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} '@shikijs/types@1.26.1': resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + '@solana/buffer-layout-utils@0.2.0': resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} engines: {node: '>= 10'} @@ -858,9 +1073,17 @@ packages: '@solana/web3.js@1.98.0': resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + '@supercharge/promise-pool@3.2.0': + resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} + engines: {node: '>=8'} + '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + '@tensor-hq/tensor-common@8.3.1': resolution: {integrity: sha512-cgc+Z0nR23pi+1DfJgF1+afWd+xf1e6VYPM9yhECshmERr6BgojQfcuoltHHcgpwSlLrZXnm47kQ48I2M6rxFQ==} @@ -885,8 +1108,8 @@ packages: '@types/bn.js@5.1.6': resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} - '@types/body-parser@1.19.5': - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} '@types/chai@5.0.1': resolution: {integrity: sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA==} @@ -912,12 +1135,15 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/http-errors@2.0.4': - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -927,14 +1153,16 @@ packages: '@types/node-fetch@2.6.12': resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} + '@types/node@11.11.6': + resolution: {integrity: sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==} + '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} '@types/node@18.19.69': resolution: {integrity: sha512-ECPdY1nlaiO/Y6GUnwgtAAhLNaQ53AyIVz+eILxpEo5OvuqE6yWkqWBIb5dU0DqhKQtMeny+FBD3PK6lm7L5xQ==} - - '@types/node@20.17.11': - resolution: {integrity: sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg==} + '@types/node@18.19.69': + resolution: {integrity: sha512-ECPdY1nlaiO/Y6GUnwgtAAhLNaQ53AyIVz+eILxpEo5OvuqE6yWkqWBIb5dU0DqhKQtMeny+FBD3PK6lm7L5xQ==} '@types/node@22.10.5': resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} @@ -942,11 +1170,8 @@ packages: '@types/promise-retry@1.1.6': resolution: {integrity: sha512-EC1+OMXV0PZb0pf+cmyxc43MEP2CDumZe4AfuxWboxxEixztIebknpJPZAX5XlodGF1OY+C1E/RAeNGzxf+bJA==} - '@types/qs@6.9.17': - resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} - - '@types/range-parser@1.2.7': - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -975,6 +1200,8 @@ packages: '@types/ws@8.5.13': resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + '@typescript-eslint/eslint-plugin@8.19.0': + resolution: {integrity: sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==} '@typescript-eslint/eslint-plugin@8.19.0': resolution: {integrity: sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -983,6 +1210,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/parser@8.19.0': + resolution: {integrity: sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==} '@typescript-eslint/parser@8.19.0': resolution: {integrity: sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -990,10 +1219,14 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/scope-manager@8.19.0': + resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} '@typescript-eslint/scope-manager@8.19.0': resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@8.19.0': + resolution: {integrity: sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==} '@typescript-eslint/type-utils@8.19.0': resolution: {integrity: sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1001,16 +1234,22 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/types@8.19.0': + resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} '@typescript-eslint/types@8.19.0': resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.19.0': + resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} '@typescript-eslint/typescript-estree@8.19.0': resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/utils@8.19.0': + resolution: {integrity: sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==} '@typescript-eslint/utils@8.19.0': resolution: {integrity: sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1018,6 +1257,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' + '@typescript-eslint/visitor-keys@8.19.0': + resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} '@typescript-eslint/visitor-keys@8.19.0': resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1057,6 +1298,9 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + aes-js@3.0.0: + resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + agentkeepalive@4.6.0: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} @@ -1076,9 +1320,17 @@ 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'} + algo-msgpack-with-bigint@2.1.1: + resolution: {integrity: sha512-F1tGh056XczEaEAqu7s+hlZUDWwOBT70Eq0lfMpBP2YguSQVyxRbprLq5rELXKQOyOaixTWYhMeMQMzP0U5FoQ==} + engines: {node: '>= 10'} + + algosdk@1.24.1: + resolution: {integrity: sha512-9moZxdqeJ6GdE4N6fA/GlUP4LrbLZMYcYkt141J4Ss68OfEgH9qW0wBuZ3ZOKEx/xjc5bg7mLP2Gjg7nwrkmww==} + engines: {node: '>=14.0.0'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -1103,14 +1355,29 @@ packages: ansicolors@0.3.2: resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + arbundles@0.11.2: + resolution: {integrity: sha512-vyX7vY6S8B4RFhGSoCixbnR/Z7ckpJjK+b/H7zcgRWJqqXjZqQ+3DQIJ19vKl5AvzNSsj5ja9kQDoZhMiGpBFw==} + + arconnect@0.4.2: + resolution: {integrity: sha512-Jkpd4QL3TVqnd3U683gzXmZUVqBUy17DdJDuL/3D9rkysLgX6ymJ2e+sR+xyZF5Rh42CBqDXWNMmCjBXeP7Gbw==} + arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + arweave-stream-tx@1.2.2: + resolution: {integrity: sha512-bNt9rj0hbAEzoUZEF2s6WJbIz8nasZlZpxIw03Xm8fzb9gRiiZlZGW3lxQLjfc9Z0VRUWDzwtqoYeEoB/JDToQ==} + peerDependencies: + arweave: ^1.10.0 + + arweave@1.15.5: + resolution: {integrity: sha512-Zj3b8juz1ZtDaQDPQlzWyk2I4wZPx3RmcGq8pVJeZXl2Tjw0WRy5ueHPelxZtBLqCirGoZxZEAFRs6SZUSCBjg==} + engines: {node: '>=18'} + + asn1.js@5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} @@ -1119,6 +1386,9 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1132,6 +1402,9 @@ packages: axios@0.28.1: resolution: {integrity: sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==} + axios@1.7.4: + resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} + axios@1.7.9: resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} @@ -1150,6 +1423,13 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + base64url@3.0.1: + resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} + engines: {node: '>=6.0.0'} + + bech32@1.1.4: + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + big-integer@1.6.52: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} @@ -1170,15 +1450,26 @@ packages: bintrees@1.0.2: resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} + bip39-light@1.0.7: + resolution: {integrity: sha512-WDTmLRQUsiioBdTs9BmSEmkJza+8xfJmptsNJjxnoq3EydSa/ZBXT6rm66KoT3PJIRYMnhSKNR7S9YL1l7R40Q==} + + bip39@3.0.2: + resolution: {integrity: sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bn.js@4.11.6: resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} + bn.js@4.12.1: + resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==} + bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - body-parser@1.20.3: - resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + bn@1.0.5: + resolution: {integrity: sha512-7TvGbqbZb6lDzsBtNz1VkdXXV0BVmZKPPViPmo2IpvwaryF7P+QKYKACyVkwo2mZPr2CpFiz7EtgPEcc3o/JFQ==} borsh@0.7.0: resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} @@ -1199,6 +1490,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + bs58@4.0.1: resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} @@ -1221,13 +1515,19 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + bufferutil@4.0.9: + resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} bufferutil@4.0.9: resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} engines: {node: '>=6.14.2'} - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} call-bind-apply-helpers@1.0.1: resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} @@ -1270,17 +1570,35 @@ packages: character-entities-legacy@3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + check-error@2.1.1: 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'} + cipher-base@1.0.6: + resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} + engines: {node: '>= 0.10'} - cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -1310,23 +1628,18 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - - cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - - cookie@0.7.1: - resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} - engines: {node: '>= 0.6'} + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -1345,6 +1658,22 @@ packages: crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + csv-generate@3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + + csv-parse@4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + + csv-stringify@5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + + csv@5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + + cyrb53@1.0.0: + resolution: {integrity: sha512-Elxs7damp1axRN+npujLik9K6q1QTd6nvJIVJ0IBTV8lCRsTgDeRnkGDTSxQYAbME7kzpooRXCG4UJYAyTe18w==} + data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} @@ -1379,6 +1708,10 @@ packages: decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -1386,6 +1719,13 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -1402,6 +1742,10 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -1446,8 +1790,11 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + elliptic@6.5.4: + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} @@ -1461,13 +1808,8 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} @@ -1498,8 +1840,9 @@ packages: es6-promisify@5.0.0: resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -1620,15 +1963,9 @@ packages: exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - express-prom-bundle@7.0.2: - resolution: {integrity: sha512-ffFV4HGHvCKnkNJFqm42sYztRJE5mLgOj8MpGey1HOatuFhtcwXoBD2m5gca7ZbcyjkIf7lOH5ZdrhlrBf0sGw==} - engines: {node: '>=18'} - peerDependencies: - prom-client: '>=15.0.0' - - express@4.21.2: - resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} - engines: {node: '>= 0.10.0'} + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} eyes@0.1.8: resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} @@ -1663,6 +2000,10 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1735,27 +2076,18 @@ packages: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} fs@0.0.1-security: resolution: {integrity: sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==} + fs@0.0.1-security: + resolution: {integrity: sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==} + 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'} @@ -1764,9 +2096,9 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -1801,6 +2133,10 @@ packages: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} + got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -1828,6 +2164,10 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} @@ -1841,25 +2181,29 @@ packages: hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + hi-base32@0.5.1: + resolution: {integrity: sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} + http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + + http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.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'} @@ -1886,14 +2230,17 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} + inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} ipaddr.js@2.2.0: resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} engines: {node: '>= 10'} + irys@0.0.1: + resolution: {integrity: sha512-4ZUpC7cj7PjKjPeP/4j/JiEdev89dRoGdLZtv0wHnHCOEtCTbn/pJh1DukQ/NB+kBXCwMWiNke/bZrQoU9EndQ==} + is-arguments@1.2.0: resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} engines: {node: '>= 0.4'} @@ -1910,14 +2257,6 @@ 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'} @@ -1930,6 +2269,10 @@ packages: resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} engines: {node: '>=6.5.0', npm: '>=3'} + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + is-nan@1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} @@ -1946,6 +2289,10 @@ packages: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + is-retry-allowed@2.2.0: resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} engines: {node: '>=10'} @@ -1961,6 +2308,10 @@ packages: is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -1993,6 +2344,9 @@ packages: js-sha3@0.8.0: resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + js-sha512@0.8.0: + resolution: {integrity: sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==} + js-tiktoken@1.0.16: resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} @@ -2000,8 +2354,8 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsbi@4.3.0: - resolution: {integrity: sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==} + json-bigint@1.0.0: + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -2039,6 +2393,10 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} + jwt-decode@4.0.0: + resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} + engines: {node: '>=18'} + keccak256@1.0.6: resolution: {integrity: sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw==} @@ -2049,6 +2407,8 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + langchain@0.3.9: + resolution: {integrity: sha512-uteRutI03Bt9f53nZmx8mWfJXkf6VlFVRuOprRJ0mWdCpkTP359sxrH4v6w4TokLiziPC/aMay662kmOz0dHlA==} langchain@0.3.9: resolution: {integrity: sha512-uteRutI03Bt9f53nZmx8mWfJXkf6VlFVRuOprRJ0mWdCpkTP359sxrH4v6w4TokLiziPC/aMay662kmOz0dHlA==} engines: {node: '>=18'} @@ -2056,6 +2416,7 @@ packages: '@langchain/anthropic': '*' '@langchain/aws': '*' '@langchain/cerebras': '*' + '@langchain/cerebras': '*' '@langchain/cohere': '*' '@langchain/core': '>=0.2.21 <0.4.0' '@langchain/google-genai': '*' @@ -2075,6 +2436,8 @@ packages: optional: true '@langchain/cerebras': optional: true + '@langchain/cerebras': + optional: true '@langchain/cohere': optional: true '@langchain/google-genai': @@ -2148,9 +2511,9 @@ 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'} + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} loglevel@1.9.2: resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} @@ -2162,6 +2525,10 @@ packages: lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -2186,6 +2553,9 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + mdast-util-to-hast@13.2.0: resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} @@ -2244,22 +2614,24 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} 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'} + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimatch@10.0.1: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} @@ -2278,16 +2650,23 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + mixme@0.5.10: + resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} + engines: {node: '>= 8.0.0'} ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + multistream@4.1.0: + resolution: {integrity: sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==} + mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true + mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2296,9 +2675,11 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} + near-hd-key@1.2.1: + resolution: {integrity: sha512-SIrthcL5Wc0sps+2e1xGj3zceEa68TgNZDLuCx0daxmfTP7sFTB3/mtE2pYhlFsCxWoMn+JfID5E1NlzvvbRJg==} + + near-seed-phrase@0.2.1: + resolution: {integrity: sha512-feMuums+kVL3LSuPcP4ld07xHCb2mu6z48SGfP3W+8tl1Qm5xIcjiQzY2IDPBvFgajRDxWSb8GzsRHoInazByw==} no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} @@ -2306,6 +2687,9 @@ packages: node-addon-api@2.0.2: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + node-addon-api@5.1.0: + resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -2323,13 +2707,17 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-gyp-build@4.8.4: 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} + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} number-to-bn@1.7.0: resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} @@ -2358,13 +2746,9 @@ 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'} + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} oniguruma-to-es@0.10.0: resolution: {integrity: sha512-zapyOUOCJxt+xhiNRPPMtfJkHGsZ98HHB9qJEkdT8BGytO/+kpe4m1Ngf0MzbzTmhacn11w9yGeDP6tzDhnCdg==} @@ -2385,6 +2769,18 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} @@ -2457,6 +2853,10 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} + pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + percentile@1.6.0: resolution: {integrity: sha512-8vSyjdzwxGDHHwH+cSGch3A9Uj2On3UpgOWxWXMKwUvoAbnujx6DaqmV1duWXNiH/oEWpyVd6nSQccix6DM3Ng==} @@ -2472,6 +2872,9 @@ packages: poly1305-js@0.4.4: resolution: {integrity: sha512-5B6/S+vg5AOr66wJDkh5LOpU/F3EKANDy4VXKsNZLXea1uCy6CiOWOZ3VhcC0nYdhE7vJUMcLxqcVlrv2g/+Rg==} + poseidon-lite@0.2.1: + resolution: {integrity: sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog==} + possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} @@ -2512,6 +2915,9 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -2527,6 +2933,10 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -2558,13 +2968,19 @@ packages: regex@5.1.1: resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolve-from@4.0.0: 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'} + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} @@ -2595,12 +3011,22 @@ packages: engines: {node: 20 || >=22} hasBin: true + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + rpc-websockets@9.0.4: resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -2611,6 +3037,13 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + scrypt-js@3.0.1: + resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} + + secp256k1@5.0.1: + resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==} + engines: {node: '>=18.0.0'} + secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} @@ -2638,6 +3071,10 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -2649,21 +3086,8 @@ packages: shiki@1.26.1: resolution: {integrity: sha512-Gqg6DSTk3wYqaZ5OaYtzjcdxcBvX5kCy24yvRJEgjT5U+WHlmqCThLuBUx0juyxQBi+6ug53IGeuQS07DWwpcw==} - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} @@ -2694,13 +3118,12 @@ packages: spok@1.5.5: resolution: {integrity: sha512-IrJIXY54sCNFASyHPOY+jEirkiJ26JDqsGiI0Dvhwcnkl0PEWi1PSsrkYql0rzDw8LFVTcA7rdUCAJdE2HE+2Q==} - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} - string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} + stream-transform@2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -2786,6 +3209,17 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -2797,6 +3231,10 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + toml@3.0.0: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} @@ -2854,9 +3292,9 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -2980,6 +3418,12 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vlq@2.0.4: + resolution: {integrity: sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA==} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} @@ -3011,6 +3455,10 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -3026,6 +3474,18 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + ws@7.4.6: + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@7.5.10: resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} @@ -3053,11 +3513,6 @@ 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'} @@ -3087,6 +3542,36 @@ packages: snapshots: + '@3land/listings-sdk@0.0.3(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@project-serum/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn: 1.0.5 + bn.js: 5.2.1 + bs58: 6.0.0 + cyrb53: 1.0.0 + fs: 0.0.1-security + irys: 0.0.1 + node-fetch: 3.3.2 + ts-node: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) + tweetnacl: 1.0.3 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - arweave + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + '@ai-sdk/openai@1.0.11(zod@3.24.1)': dependencies: '@ai-sdk/provider': 1.0.3 @@ -3124,10 +3609,42 @@ snapshots: optionalDependencies: zod: 3.24.1 + '@aptos-labs/aptos-cli@1.0.2': + dependencies: + commander: 12.1.0 + + '@aptos-labs/aptos-client@0.1.1': + dependencies: + axios: 1.7.4 + got: 11.8.6 + transitivePeerDependencies: + - debug + + '@aptos-labs/ts-sdk@1.33.1': + dependencies: + '@aptos-labs/aptos-cli': 1.0.2 + '@aptos-labs/aptos-client': 0.1.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 + eventemitter3: 5.0.1 + form-data: 4.0.1 + js-base64: 3.7.7 + jwt-decode: 4.0.0 + poseidon-lite: 0.2.1 + transitivePeerDependencies: + - debug + '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 + '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + regenerator-runtime: 0.14.1 + '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -3135,13 +3652,18 @@ snapshots: bs58: 5.0.0 buffer: 6.0.3 + '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.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)': dependencies: + '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.8.0 '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@noble/curves': 1.8.0 '@scure/base': 1.2.1 '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.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) borsh: 2.0.0 buffer: 6.0.3 graphemesplit: 2.4.4 @@ -3155,14 +3677,18 @@ snapshots: - utf-8-validate '@cfworker/json-schema@4.0.3': {} + '@cfworker/json-schema@4.0.3': {} - '@cks-systems/manifest-sdk@0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@cks-systems/manifest-sdk@0.1.73(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 '@metaplex-foundation/rustbin': 0.3.5 '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 0.7.0 bs58: 6.0.0 @@ -3185,31 +3711,12 @@ snapshots: - typescript - utf-8-validate + '@coral-xyz/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': '@coral-xyz/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - base64-js: 1.5.1 - bn.js: 5.2.1 - bs58: 4.0.1 - buffer-layout: 1.2.2 - camelcase: 6.3.0 - cross-fetch: 3.2.0 - crypto-hash: 1.3.0 - eventemitter3: 4.0.7 - js-sha256: 0.9.0 - pako: 2.1.0 - snake-case: 3.0.4 - superstruct: 0.15.5 - toml: 3.0.0 - transitivePeerDependencies: - - bufferutil - - encoding - - utf-8-validate - - '@coral-xyz/anchor@0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': - dependencies: - '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 @@ -3241,6 +3748,7 @@ snapshots: cross-fetch: 3.2.0 crypto-hash: 1.3.0 eventemitter3: 4.0.7 + js-sha256: 0.9.0 pako: 2.1.0 snake-case: 3.0.4 superstruct: 0.15.5 @@ -3254,21 +3762,17 @@ snapshots: dependencies: '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 + bs58: 4.0.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))': - dependencies: - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) - bn.js: 5.2.1 - buffer-layout: 1.2.2 - - '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 @@ -3278,18 +3782,23 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': dependencies: + eslint: 8.57.1 eslint: 8.57.1 eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0)': '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0)': dependencies: eslint: 9.17.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} + '@eslint-community/regexpp@4.12.1': {} + '@eslint/config-array@0.19.1': '@eslint/config-array@0.19.1': dependencies: '@eslint/object-schema': 2.1.5 @@ -3298,10 +3807,12 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/core@0.9.1': '@eslint/core@0.9.1': dependencies: '@types/json-schema': 7.0.15 + '@eslint/eslintrc@2.1.4': '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 @@ -3316,6 +3827,7 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/eslintrc@3.2.0': '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 @@ -3331,35 +3843,270 @@ snapshots: - supports-color '@eslint/js@8.57.1': {} + '@eslint/js@8.57.1': {} + '@eslint/js@9.17.0': {} '@eslint/js@9.17.0': {} + '@eslint/object-schema@2.1.5': {} '@eslint/object-schema@2.1.5': {} + '@eslint/plugin-kit@0.2.4': '@eslint/plugin-kit@0.2.4': dependencies: levn: 0.4.1 '@ethereumjs/rlp@4.0.1': {} + '@ethereumjs/util@8.1.0': + '@ethereumjs/rlp@4.0.1': {} + '@ethereumjs/util@8.1.0': dependencies: '@ethereumjs/rlp': 4.0.1 ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 + '@ethersproject/abi@5.7.0': + dependencies: + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + + '@ethersproject/abstract-provider@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/properties': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + + '@ethersproject/abstract-signer@5.7.0': + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + + '@ethersproject/address@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/rlp': 5.7.0 + + '@ethersproject/base64@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + + '@ethersproject/basex@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/properties': 5.7.0 + + '@ethersproject/bignumber@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + bn.js: 5.2.1 + '@ethersproject/bytes@5.7.0': dependencies: '@ethersproject/logger': 5.7.0 + '@ethersproject/constants@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + + '@ethersproject/contracts@5.7.0': + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/transactions': 5.7.0 + + '@ethersproject/hash@5.7.0': + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + + '@ethersproject/hdnode@5.7.0': + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/pbkdf2': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wordlists': 5.7.0 + + '@ethersproject/json-wallets@5.7.0': + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hdnode': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/pbkdf2': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + + '@ethersproject/keccak256@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + js-sha3: 0.8.0 + '@ethersproject/logger@5.7.0': {} + '@ethersproject/networks@5.7.1': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/pbkdf2@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/sha2': 5.7.0 + + '@ethersproject/properties@5.7.0': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/providers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + bech32: 1.1.4 + ws: 7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@ethersproject/random@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + + '@ethersproject/rlp@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/sha2@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 hash.js: 1.1.7 + '@ethersproject/signing-key@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + bn.js: 5.2.1 + elliptic: 6.5.4 + hash.js: 1.1.7 + + '@ethersproject/strings@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/logger': 5.7.0 + + '@ethersproject/transactions@5.7.0': + dependencies: + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + + '@ethersproject/wallet@5.7.0': + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/hdnode': 5.7.0 + '@ethersproject/json-wallets': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wordlists': 5.7.0 + + '@ethersproject/web@5.7.1': + dependencies: + '@ethersproject/base64': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + + '@ethersproject/wordlists@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@gerrit0/mini-shiki@1.26.1': dependencies: '@shikijs/engine-oniguruma': 1.26.1 @@ -3373,6 +4120,7 @@ snapshots: '@humanfs/core': 0.19.1 '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/config-array@0.13.0': '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -3389,24 +4137,83 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} + '@irys/arweave@0.0.2': + dependencies: + asn1.js: 5.4.1 + async-retry: 1.3.3 + axios: 1.7.9 + base64-js: 1.5.1 + bignumber.js: 9.1.2 + transitivePeerDependencies: + - debug + + '@irys/query@0.0.8': + dependencies: + async-retry: 1.3.3 + axios: 1.7.9 + transitivePeerDependencies: + - debug + + '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@aptos-labs/ts-sdk': 1.33.1 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/contracts': 5.7.0 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@ethersproject/wallet': 5.7.0 + '@irys/query': 0.0.8 + '@near-js/crypto': 0.0.3 + '@near-js/keystores-browser': 0.0.3 + '@near-js/providers': 0.0.4 + '@near-js/transactions': 0.1.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@supercharge/promise-pool': 3.2.0 + algosdk: 1.24.1 + arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + async-retry: 1.3.3 + axios: 1.7.9 + base64url: 3.0.1 + bignumber.js: 9.1.2 + bs58: 5.0.0 + commander: 8.3.0 + csv: 5.5.3 + inquirer: 8.2.6 + js-sha256: 0.9.0 + mime-types: 2.1.35 + near-seed-phrase: 0.2.1 + tslib: 2.8.1 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - utf-8-validate + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 + string-width-cjs: string-width@4.2.3 strip-ansi: 7.1.0 strip-ansi-cjs: strip-ansi@6.0.1 + strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/trace-mapping@0.3.9': '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))': '@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))': dependencies: '@cfworker/json-schema': 4.0.3 @@ -3415,6 +4222,7 @@ snapshots: decamelize: 1.2.0 js-tiktoken: 1.0.16 langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) + langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 @@ -3424,8 +4232,11 @@ snapshots: transitivePeerDependencies: - openai + '@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': '@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) groq-sdk: 0.5.0 @@ -3434,11 +4245,14 @@ snapshots: transitivePeerDependencies: - encoding + '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) uuid: 10.0.0 + '@langchain/langgraph-sdk@0.0.33': '@langchain/langgraph-sdk@0.0.33': dependencies: '@types/json-schema': 7.0.15 @@ -3446,31 +4260,44 @@ snapshots: p-retry: 4.6.2 uuid: 9.0.1 + '@langchain/langgraph@0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': '@langchain/langgraph@0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@langchain/langgraph-sdk': 0.0.33 uuid: 10.0.0 zod: 3.24.1 + '@langchain/openai@0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': '@langchain/openai@0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) js-tiktoken: 1.0.16 openai: 4.77.3(zod@3.24.1) + openai: 4.77.3(zod@3.24.1) zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - encoding + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': '@langchain/textsplitters@0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))': dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) js-tiktoken: 1.0.16 + '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.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)': dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -3484,11 +4311,14 @@ snapshots: - typescript - utf-8-validate + '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@noble/hashes': 1.5.0 '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 superstruct: 2.0.2 tweetnacl: 1.0.3 @@ -3497,10 +4327,12 @@ snapshots: - encoding - utf-8-validate + '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -3509,10 +4341,12 @@ snapshots: - supports-color - utf-8-validate + '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -3521,10 +4355,12 @@ snapshots: - supports-color - utf-8-validate + '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -3533,6 +4369,7 @@ snapshots: - supports-color - utf-8-validate + '@metaplex-foundation/beet@0.4.0': '@metaplex-foundation/beet@0.4.0': dependencies: ansicolors: 0.3.2 @@ -3541,6 +4378,7 @@ snapshots: transitivePeerDependencies: - supports-color + '@metaplex-foundation/beet@0.6.1': '@metaplex-foundation/beet@0.6.1': dependencies: ansicolors: 0.3.2 @@ -3549,6 +4387,7 @@ snapshots: transitivePeerDependencies: - supports-color + '@metaplex-foundation/beet@0.7.1': '@metaplex-foundation/beet@0.7.1': dependencies: ansicolors: 0.3.2 @@ -3557,6 +4396,7 @@ snapshots: transitivePeerDependencies: - supports-color + '@metaplex-foundation/beet@0.7.2': '@metaplex-foundation/beet@0.7.2': dependencies: ansicolors: 0.3.2 @@ -3567,14 +4407,19 @@ snapshots: - supports-color '@metaplex-foundation/cusper@0.0.2': {} + '@metaplex-foundation/cusper@0.0.2': {} + '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.6.1 '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.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) bn.js: 5.2.1 transitivePeerDependencies: - bufferutil @@ -3584,15 +4429,21 @@ snapshots: - typescript - utf-8-validate + '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@solana/spl-token': 0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) js-sha3: 0.8.0 transitivePeerDependencies: - bufferutil @@ -3602,19 +4453,25 @@ snapshots: - typescript - utf-8-validate + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0)': '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0)': dependencies: '@metaplex-foundation/umi': 0.9.2 '@msgpack/msgpack': 3.0.0-beta2 '@noble/hashes': 1.7.0 + '@noble/hashes': 1.7.0 + '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.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) bn.js: 5.2.1 debug: 4.4.0 transitivePeerDependencies: @@ -3625,15 +4482,18 @@ snapshots: - typescript - utf-8-validate + '@metaplex-foundation/mpl-token-metadata@3.3.0(@metaplex-foundation/umi@0.9.2)': '@metaplex-foundation/mpl-token-metadata@3.3.0(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@0.9.2)': '@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/rustbin@0.3.5': '@metaplex-foundation/rustbin@0.3.5': dependencies: debug: 4.4.0 @@ -3643,12 +4503,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.4.0 '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/rustbin': 0.3.5 '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) camelcase: 6.3.0 debug: 4.4.0 js-sha256: 0.9.0 @@ -3662,32 +4525,43 @@ snapshots: - supports-color - utf-8-validate + '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 '@metaplex-foundation/umi-downloader-http': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-http-fetch': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-program-repository': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-rpc-chunk-get-accounts': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-serializer-data-view': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - encoding + '@metaplex-foundation/umi-downloader-http@0.9.2(@metaplex-foundation/umi@0.9.2)': '@metaplex-foundation/umi-downloader-http@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@noble/curves': 1.8.0 '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.8.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 @@ -3696,39 +4570,51 @@ snapshots: - encoding '@metaplex-foundation/umi-options@0.8.9': {} + '@metaplex-foundation/umi-options@0.8.9': {} + '@metaplex-foundation/umi-program-repository@0.9.2(@metaplex-foundation/umi@0.9.2)': '@metaplex-foundation/umi-program-repository@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-public-keys@0.8.9': '@metaplex-foundation/umi-public-keys@0.8.9': dependencies: '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2(@metaplex-foundation/umi@0.9.2)': '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/umi': 0.9.2 '@metaplex-foundation/umi-serializers-core@0.8.9': {} + '@metaplex-foundation/umi-serializers-core@0.8.9': {} + '@metaplex-foundation/umi-serializers-encodings@0.8.9': '@metaplex-foundation/umi-serializers-encodings@0.8.9': dependencies: '@metaplex-foundation/umi-serializers-core': 0.8.9 + '@metaplex-foundation/umi-serializers-numbers@0.8.9': '@metaplex-foundation/umi-serializers-numbers@0.8.9': dependencies: '@metaplex-foundation/umi-serializers-core': 0.8.9 + '@metaplex-foundation/umi-serializers@0.9.0': '@metaplex-foundation/umi-serializers@0.9.0': dependencies: '@metaplex-foundation/umi-options': 0.8.9 @@ -3737,18 +4623,24 @@ snapshots: '@metaplex-foundation/umi-serializers-encodings': 0.8.9 '@metaplex-foundation/umi-serializers-numbers': 0.8.9 + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 + '@metaplex-foundation/umi@0.9.2': '@metaplex-foundation/umi@0.9.2': dependencies: '@metaplex-foundation/umi-options': 0.8.9 @@ -3759,14 +4651,113 @@ snapshots: '@msgpack/msgpack@3.0.0-beta2': {} + '@near-js/crypto@0.0.3': + dependencies: + '@near-js/types': 0.0.3 + bn.js: 5.2.1 + borsh: 0.7.0 + tweetnacl: 1.0.3 + + '@near-js/crypto@0.0.4': + dependencies: + '@near-js/types': 0.0.4 + bn.js: 5.2.1 + borsh: 0.7.0 + tweetnacl: 1.0.3 + + '@near-js/keystores-browser@0.0.3': + dependencies: + '@near-js/crypto': 0.0.3 + '@near-js/keystores': 0.0.3 + + '@near-js/keystores@0.0.3': + dependencies: + '@near-js/crypto': 0.0.3 + '@near-js/types': 0.0.3 + + '@near-js/keystores@0.0.4': + dependencies: + '@near-js/crypto': 0.0.4 + '@near-js/types': 0.0.4 + + '@near-js/providers@0.0.4': + dependencies: + '@near-js/transactions': 0.1.0 + '@near-js/types': 0.0.3 + '@near-js/utils': 0.0.3 + bn.js: 5.2.1 + borsh: 0.7.0 + http-errors: 1.8.1 + optionalDependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + '@near-js/signers@0.0.3': + dependencies: + '@near-js/crypto': 0.0.3 + '@near-js/keystores': 0.0.3 + js-sha256: 0.9.0 + + '@near-js/signers@0.0.4': + dependencies: + '@near-js/crypto': 0.0.4 + '@near-js/keystores': 0.0.4 + js-sha256: 0.9.0 + + '@near-js/transactions@0.1.0': + dependencies: + '@near-js/crypto': 0.0.3 + '@near-js/signers': 0.0.3 + '@near-js/types': 0.0.3 + '@near-js/utils': 0.0.3 + bn.js: 5.2.1 + borsh: 0.7.0 + js-sha256: 0.9.0 + + '@near-js/transactions@0.1.1': + dependencies: + '@near-js/crypto': 0.0.4 + '@near-js/signers': 0.0.4 + '@near-js/types': 0.0.4 + '@near-js/utils': 0.0.4 + bn.js: 5.2.1 + borsh: 0.7.0 + js-sha256: 0.9.0 + + '@near-js/types@0.0.3': + dependencies: + bn.js: 5.2.1 + + '@near-js/types@0.0.4': + dependencies: + bn.js: 5.2.1 + + '@near-js/utils@0.0.3': + dependencies: + '@near-js/types': 0.0.3 + bn.js: 5.2.1 + depd: 2.0.0 + mustache: 4.2.0 + + '@near-js/utils@0.0.4': + dependencies: + '@near-js/types': 0.0.4 + bn.js: 5.2.1 + depd: 2.0.0 + mustache: 4.2.0 + '@noble/curves@1.4.2': dependencies: '@noble/hashes': 1.4.0 + '@noble/curves@1.8.0': '@noble/curves@1.8.0': dependencies: '@noble/hashes': 1.7.0 + '@noble/ed25519@1.7.3': {} + '@noble/hashes@1.4.0': {} '@noble/hashes@1.5.0': {} @@ -3779,20 +4770,27 @@ snapshots: run-parallel: 1.2.0 '@nodelib/fs.stat@2.0.5': {} + '@nodelib/fs.stat@2.0.5': {} + '@nodelib/fs.walk@1.2.8': '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.18.0 + '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/sha2': 5.7.0 '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 2.0.0 buffer: 6.0.3 + borsh: 2.0.0 + buffer: 6.0.3 transitivePeerDependencies: - bufferutil - encoding @@ -3801,15 +4799,25 @@ snapshots: '@opentelemetry/api@1.9.0': {} + '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + '@opentelemetry/api@1.9.0': {} + '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': dependencies: + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.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 tiny-invariant: 1.3.3 + '@orca-so/whirlpools-sdk@0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': '@orca-so/whirlpools-sdk@0.13.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)': dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.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) @@ -3817,30 +4825,34 @@ snapshots: decimal.js: 10.4.3 tiny-invariant: 1.3.3 + '@pkgjs/parseargs@0.11.0': '@pkgjs/parseargs@0.11.0': optional: true '@pkgr/core@0.1.1': {} - '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@project-serum/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) - buffer: 6.0.3 + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + base64-js: 1.5.1 + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + js-sha256: 0.9.0 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 transitivePeerDependencies: - bufferutil - encoding - utf-8-validate - '@pythnetwork/hermes-client@1.3.0(axios@1.7.9)': - dependencies: - '@zodios/core': 10.9.6(axios@1.7.9)(zod@3.24.1) - eventsource: 2.0.2 - zod: 3.24.1 - transitivePeerDependencies: - - axios - '@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 @@ -3848,6 +4860,7 @@ snapshots: axios: 1.7.9 axios-retry: 3.9.1 isomorphic-ws: 4.0.1(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + isomorphic-ws: 4.0.1(ws@8.18.0(bufferutil@4.0.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: @@ -3855,15 +4868,27 @@ snapshots: - debug - utf-8-validate + '@pythnetwork/price-service-sdk@1.8.0': '@pythnetwork/price-service-sdk@1.8.0': dependencies: bn.js: 5.2.1 + '@randlabs/communication-bridge@1.0.1': + optional: true + + '@randlabs/myalgo-connect@1.4.2': + dependencies: + '@randlabs/communication-bridge': 1.0.1 + optional: true + + '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.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) axios: 1.7.9 big.js: 6.2.2 bn.js: 5.2.1 @@ -3881,15 +4906,18 @@ snapshots: - typescript - utf-8-validate + '@saberhq/option-utils@1.15.0': '@saberhq/option-utils@1.15.0': dependencies: tslib: 2.8.1 + '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)': '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)': dependencies: '@saberhq/option-utils': 1.15.0 '@solana/buffer-layout': 4.0.1 '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@types/promise-retry': 1.1.6 '@types/retry': 0.12.5 bn.js: 5.2.1 @@ -3899,22 +4927,31 @@ snapshots: tslib: 2.8.1 '@scure/base@1.1.9': {} + '@scure/base@1.1.9': {} + '@scure/base@1.2.1': {} '@scure/base@1.2.1': {} + '@scure/bip32@1.4.0': '@scure/bip32@1.4.0': dependencies: '@noble/curves': 1.4.2 '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 + '@scure/bip39@1.3.0': '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 + '@shikijs/core@1.26.1': '@shikijs/core@1.26.1': dependencies: + '@shikijs/engine-javascript': 1.26.1 + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 '@shikijs/engine-javascript': 1.26.1 '@shikijs/engine-oniguruma': 1.26.1 '@shikijs/types': 1.26.1 @@ -3922,17 +4959,25 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.4 + '@shikijs/engine-javascript@1.26.1': '@shikijs/engine-javascript@1.26.1': dependencies: '@shikijs/types': 1.26.1 '@shikijs/vscode-textmate': 10.0.1 oniguruma-to-es: 0.10.0 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + oniguruma-to-es: 0.10.0 + '@shikijs/engine-oniguruma@1.26.1': '@shikijs/engine-oniguruma@1.26.1': dependencies: '@shikijs/types': 1.26.1 '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/langs@1.26.1': '@shikijs/langs@1.26.1': dependencies: '@shikijs/types': 1.26.1 @@ -3941,6 +4986,15 @@ snapshots: dependencies: '@shikijs/types': 1.26.1 + '@shikijs/types@1.26.1': + dependencies: + '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/types': 1.26.1 + + '@shikijs/themes@1.26.1': + dependencies: + '@shikijs/types': 1.26.1 + '@shikijs/types@1.26.1': dependencies: '@shikijs/vscode-textmate': 10.0.1 @@ -3948,10 +5002,14 @@ snapshots: '@shikijs/vscode-textmate@10.0.1': {} + '@sindresorhus/is@4.6.0': {} + + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bigint-buffer: 1.1.5 bignumber.js: 9.1.2 transitivePeerDependencies: @@ -3959,35 +5017,42 @@ snapshots: - encoding - utf-8-validate + '@solana/buffer-layout@4.0.1': '@solana/buffer-layout@4.0.1': dependencies: buffer: 6.0.3 + '@solana/codecs-core@2.0.0-preview.2': '@solana/codecs-core@2.0.0-preview.2': dependencies: '@solana/errors': 2.0.0-preview.2 + '@solana/codecs-core@2.0.0-preview.4(typescript@5.7.2)': '@solana/codecs-core@2.0.0-preview.4(typescript@5.7.2)': dependencies: '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) typescript: 5.7.2 + '@solana/codecs-core@2.0.0-rc.1(typescript@4.9.5)': '@solana/codecs-core@2.0.0-rc.1(typescript@4.9.5)': dependencies: '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 + '@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2)': '@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2)': dependencies: '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) typescript: 5.7.2 + '@solana/codecs-data-structures@2.0.0-preview.2': '@solana/codecs-data-structures@2.0.0-preview.2': dependencies: '@solana/codecs-core': 2.0.0-preview.2 '@solana/codecs-numbers': 2.0.0-preview.2 '@solana/errors': 2.0.0-preview.2 + '@solana/codecs-data-structures@2.0.0-preview.4(typescript@5.7.2)': '@solana/codecs-data-structures@2.0.0-preview.4(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) @@ -3995,6 +5060,7 @@ snapshots: '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) typescript: 5.7.2 + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@4.9.5)': '@solana/codecs-data-structures@2.0.0-rc.1(typescript@4.9.5)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) @@ -4002,6 +5068,7 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2)': '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) @@ -4009,29 +5076,34 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) typescript: 5.7.2 + '@solana/codecs-numbers@2.0.0-preview.2': '@solana/codecs-numbers@2.0.0-preview.2': dependencies: '@solana/codecs-core': 2.0.0-preview.2 '@solana/errors': 2.0.0-preview.2 + '@solana/codecs-numbers@2.0.0-preview.4(typescript@5.7.2)': '@solana/codecs-numbers@2.0.0-preview.4(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) typescript: 5.7.2 + '@solana/codecs-numbers@2.0.0-rc.1(typescript@4.9.5)': '@solana/codecs-numbers@2.0.0-rc.1(typescript@4.9.5)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2)': '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) typescript: 5.7.2 + '@solana/codecs-strings@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': '@solana/codecs-strings@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: '@solana/codecs-core': 2.0.0-preview.2 @@ -4039,6 +5111,7 @@ snapshots: '@solana/errors': 2.0.0-preview.2 fastestsmallesttextencoderdecoder: 1.0.22 + '@solana/codecs-strings@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': '@solana/codecs-strings@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) @@ -4047,6 +5120,7 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.7.2 + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) @@ -4055,6 +5129,7 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 4.9.5 + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) @@ -4063,6 +5138,7 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.7.2 + '@solana/codecs@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': '@solana/codecs@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: '@solana/codecs-core': 2.0.0-preview.2 @@ -4073,6 +5149,7 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/codecs@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': '@solana/codecs@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) @@ -4084,6 +5161,7 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) @@ -4095,6 +5173,7 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) @@ -4106,34 +5185,40 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/errors@2.0.0-preview.2': '@solana/errors@2.0.0-preview.2': dependencies: chalk: 5.4.1 commander: 12.1.0 + '@solana/errors@2.0.0-preview.4(typescript@5.7.2)': '@solana/errors@2.0.0-preview.4(typescript@5.7.2)': dependencies: chalk: 5.4.1 commander: 12.1.0 typescript: 5.7.2 + '@solana/errors@2.0.0-rc.1(typescript@4.9.5)': '@solana/errors@2.0.0-rc.1(typescript@4.9.5)': dependencies: chalk: 5.4.1 commander: 12.1.0 typescript: 4.9.5 + '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': dependencies: chalk: 5.4.1 commander: 12.1.0 typescript: 5.7.2 + '@solana/options@2.0.0-preview.2': '@solana/options@2.0.0-preview.2': dependencies: '@solana/codecs-core': 2.0.0-preview.2 '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/options@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': '@solana/options@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) @@ -4145,6 +5230,7 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@4.9.5) @@ -4156,6 +5242,7 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) @@ -4167,11 +5254,14 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 0.7.0 js-sha3: 0.8.0 @@ -4182,43 +5272,43 @@ snapshots: - supports-color - utf-8-validate + '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: '@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) '@solana/spl-type-length-value': 0.1.0 '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@solana/spl-type-length-value': 0.1.0 '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - - typescript - - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': - dependencies: - '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript @@ -4227,22 +5317,27 @@ snapshots: dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript + '@solana/spl-token@0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': '@solana/spl-token@0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer: 6.0.3 buffer-layout: 1.2.2 @@ -4252,20 +5347,6 @@ snapshots: - encoding - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': - dependencies: - '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) - buffer: 6.0.3 - transitivePeerDependencies: - - bufferutil - - encoding - - fastestsmallesttextencoderdecoder - - typescript - - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -4341,6 +5422,11 @@ snapshots: '@solana/spl-type-length-value@0.1.0': dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 '@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': @@ -4348,6 +5434,8 @@ snapshots: '@babel/runtime': 7.26.0 '@noble/curves': 1.8.0 '@noble/hashes': 1.7.0 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -4357,27 +5445,6 @@ snapshots: buffer: 6.0.3 fast-stable-stringify: 1.0.0 jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) - node-fetch: 2.7.0 - rpc-websockets: 9.0.4 - superstruct: 2.0.2 - transitivePeerDependencies: - - bufferutil - - encoding - - utf-8-validate - - '@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': - dependencies: - '@babel/runtime': 7.26.0 - '@noble/curves': 1.8.0 - '@noble/hashes': 1.7.0 - '@solana/buffer-layout': 4.0.1 - agentkeepalive: 4.6.0 - bigint-buffer: 1.1.5 - bn.js: 5.2.1 - borsh: 0.7.0 - bs58: 4.0.1 - buffer: 6.0.3 - fast-stable-stringify: 1.0.0 jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 @@ -4392,6 +5459,8 @@ snapshots: '@babel/runtime': 7.26.0 '@noble/curves': 1.8.0 '@noble/hashes': 1.7.0 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -4401,6 +5470,7 @@ snapshots: buffer: 6.0.3 fast-stable-stringify: 1.0.0 jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -4409,10 +5479,16 @@ snapshots: - encoding - utf-8-validate + '@supercharge/promise-pool@3.2.0': {} + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 + '@szmarczak/http-timer@4.0.6': + dependencies: + defer-to-connect: 2.0.1 + '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -4438,14 +5514,20 @@ snapshots: - typescript - utf-8-validate + '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@msgpack/msgpack': 2.8.0 '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1) '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@tensor-hq/tensor-common': 8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@tensor-hq/tensor-common': 8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@types/bn.js': 5.1.6 big.js: 6.2.2 bn.js: 5.2.1 @@ -4463,8 +5545,12 @@ snapshots: - typescript - utf-8-validate + '@tiplink/api@0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': '@tiplink/api@0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -4484,29 +5570,39 @@ snapshots: - utf-8-validate '@tsconfig/node10@1.0.11': {} + '@tsconfig/node10@1.0.11': {} + '@tsconfig/node12@1.0.11': {} '@tsconfig/node12@1.0.11': {} + '@tsconfig/node14@1.0.3': {} '@tsconfig/node14@1.0.3': {} + '@tsconfig/node16@1.0.4': {} '@tsconfig/node16@1.0.4': {} + '@types/bn.js@5.1.6': '@types/bn.js@5.1.6': dependencies: '@types/node': 22.10.5 - '@types/body-parser@1.19.5': + '@types/cacheable-request@6.0.3': dependencies: - '@types/connect': 3.4.38 + '@types/http-cache-semantics': 4.0.4 + '@types/keyv': 3.1.4 '@types/node': 22.10.5 + '@types/responselike': 1.0.3 + '@types/chai@5.0.1': '@types/chai@5.0.1': dependencies: '@types/deep-eql': 4.0.2 + '@types/connect@3.4.38': '@types/connect@3.4.38': dependencies: '@types/node': 22.10.5 + '@types/node': 22.10.5 '@types/deep-eql@4.0.2': {} @@ -4514,76 +5610,53 @@ snapshots: '@types/estree@1.0.6': {} - '@types/express-serve-static-core@4.19.6': - dependencies: - '@types/node': 22.10.5 - '@types/qs': 6.9.17 - '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 - - '@types/express@4.17.21': - dependencies: - '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.6 - '@types/qs': 6.9.17 - '@types/serve-static': 1.15.7 - '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 - '@types/http-errors@2.0.4': {} + '@types/http-cache-semantics@4.0.4': {} '@types/json-schema@7.0.15': {} + '@types/keyv@3.1.4': + dependencies: + '@types/node': 22.10.5 + '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 - '@types/mime@1.3.5': {} - '@types/node-fetch@2.6.12': dependencies: + '@types/node': 22.10.5 '@types/node': 22.10.5 form-data: 4.0.1 + '@types/node@11.11.6': {} + '@types/node@12.20.55': {} '@types/node@18.19.69': dependencies: undici-types: 5.26.5 - '@types/node@20.17.11': - dependencies: - undici-types: 6.19.8 - '@types/node@22.10.5': dependencies: undici-types: 6.20.0 + '@types/promise-retry@1.1.6': '@types/promise-retry@1.1.6': dependencies: '@types/retry': 0.12.5 - '@types/qs@6.9.17': {} - - '@types/range-parser@1.2.7': {} + '@types/responselike@1.0.3': + dependencies: + '@types/node': 22.10.5 '@types/retry@0.12.0': {} '@types/retry@0.12.5': {} - '@types/send@0.17.4': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 22.10.5 - - '@types/serve-static@1.15.7': - dependencies: - '@types/http-errors': 2.0.4 - '@types/node': 22.10.5 - '@types/send': 0.17.4 - '@types/unist@3.0.3': {} '@types/uuid@10.0.0': {} @@ -4598,6 +5671,7 @@ snapshots: dependencies: '@types/node': 22.10.5 + '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -4607,6 +5681,12 @@ snapshots: '@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.19.0 eslint: 8.57.1 + '@typescript-eslint/parser': 8.19.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/type-utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -4615,29 +5695,42 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2)': '@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.0 '@typescript-eslint/scope-manager': 8.19.0 '@typescript-eslint/types': 8.19.0 '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.19.0 debug: 4.4.0 eslint: 8.57.1 + eslint: 8.57.1 typescript: 5.7.2 transitivePeerDependencies: - supports-color + '@typescript-eslint/scope-manager@8.19.0': '@typescript-eslint/scope-manager@8.19.0': dependencies: '@typescript-eslint/types': 8.19.0 '@typescript-eslint/visitor-keys': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 + '@typescript-eslint/type-utils@8.19.0(eslint@8.57.1)(typescript@5.7.2)': '@typescript-eslint/type-utils@8.19.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) '@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) debug: 4.4.0 eslint: 8.57.1 + eslint: 8.57.1 ts-api-utils: 1.4.3(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: @@ -4645,8 +5738,13 @@ snapshots: '@typescript-eslint/types@8.19.0': {} + '@typescript-eslint/typescript-estree@8.19.0(typescript@5.7.2)': + '@typescript-eslint/types@8.19.0': {} + '@typescript-eslint/typescript-estree@8.19.0(typescript@5.7.2)': dependencies: + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 '@typescript-eslint/types': 8.19.0 '@typescript-eslint/visitor-keys': 8.19.0 debug: 4.4.0 @@ -4659,8 +5757,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.19.0(eslint@8.57.1)(typescript@5.7.2)': '@typescript-eslint/utils@8.19.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + eslint: 8.57.1 '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) '@typescript-eslint/scope-manager': 8.19.0 '@typescript-eslint/types': 8.19.0 @@ -4670,42 +5774,39 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/visitor-keys@8.19.0': '@typescript-eslint/visitor-keys@8.19.0': dependencies: + '@typescript-eslint/types': 8.19.0 '@typescript-eslint/types': 8.19.0 eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.1': {} - '@zodios/core@10.9.6(axios@1.7.9)(zod@3.24.1)': - dependencies: - axios: 1.7.9 - zod: 3.24.1 - JSONStream@1.3.5: dependencies: jsonparse: 1.3.1 through: 2.3.8 + abort-controller@3.0.0: abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - + acorn-jsx@5.3.2(acorn@8.14.0): acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 + acorn-walk@8.3.4: acorn-walk@8.3.4: dependencies: acorn: 8.14.0 acorn@8.14.0: {} + aes-js@3.0.0: {} + agentkeepalive@4.6.0: dependencies: humanize-ms: 1.2.1 @@ -4730,9 +5831,26 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ansi-escapes@7.0.0: + algo-msgpack-with-bigint@2.1.1: {} + + algosdk@1.24.1: dependencies: - environment: 1.1.0 + algo-msgpack-with-bigint: 2.1.1 + buffer: 6.0.3 + cross-fetch: 3.2.0 + hi-base32: 0.5.1 + js-sha256: 0.9.0 + js-sha3: 0.8.0 + js-sha512: 0.8.0 + json-bigint: 1.0.0 + tweetnacl: 1.0.3 + vlq: 2.0.4 + transitivePeerDependencies: + - encoding + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 ansi-regex@5.0.1: {} @@ -4748,11 +5866,62 @@ snapshots: ansicolors@0.3.2: {} + arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wallet': 5.7.0 + '@irys/arweave': 0.0.2 + '@noble/ed25519': 1.7.3 + base64url: 3.0.1 + bs58: 4.0.1 + keccak: 3.0.4 + secp256k1: 5.0.1 + optionalDependencies: + '@randlabs/myalgo-connect': 1.4.2 + algosdk: 1.24.1 + arweave-stream-tx: 1.2.2(arweave@1.15.5) + multistream: 4.1.0 + tmp-promise: 3.0.3 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - utf-8-validate + + arconnect@0.4.2: + dependencies: + arweave: 1.15.5 + optional: true + arg@4.1.3: {} argparse@2.0.1: {} - array-flatten@1.1.1: {} + arweave-stream-tx@1.2.2(arweave@1.15.5): + dependencies: + arweave: 1.15.5 + exponential-backoff: 3.1.1 + optional: true + + arweave@1.15.5: + dependencies: + arconnect: 0.4.2 + asn1.js: 5.4.1 + base64-js: 1.5.1 + bignumber.js: 9.1.2 + optional: true + + asn1.js@5.4.1: + dependencies: + bn.js: 4.11.6 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + safer-buffer: 2.1.2 assert@2.1.0: dependencies: @@ -4764,18 +5933,32 @@ snapshots: assertion-error@2.0.1: {} + async-retry@1.3.3: + dependencies: + retry: 0.13.1 + asynckit@0.4.0: {} available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 + axios-retry@3.9.1: axios-retry@3.9.1: dependencies: '@babel/runtime': 7.26.0 is-retry-allowed: 2.2.0 axios@0.28.1: + axios@0.28.1: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + axios@1.7.4: dependencies: follow-redirects: 1.15.9 form-data: 4.0.1 @@ -4803,6 +5986,10 @@ snapshots: base64-js@1.5.1: {} + base64url@3.0.1: {} + + bech32@1.1.4: {} + big-integer@1.6.52: {} big.js@6.2.2: {} @@ -4812,33 +5999,40 @@ snapshots: bindings: 1.5.0 bignumber.js@9.1.2: {} + bignumber.js@9.1.2: {} + bindings@1.5.0: bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 bintrees@1.0.2: {} + bip39-light@1.0.7: + dependencies: + create-hash: 1.2.0 + pbkdf2: 3.1.2 + + bip39@3.0.2: + dependencies: + '@types/node': 11.11.6 + create-hash: 1.2.0 + pbkdf2: 3.1.2 + randombytes: 2.1.0 + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + bn.js@4.11.6: {} + bn.js@4.12.1: {} + bn.js@5.2.1: {} - body-parser@1.20.3: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.13.0 - raw-body: 2.5.2 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color + bn@1.0.5: {} borsh@0.7.0: dependencies: @@ -4847,43 +6041,56 @@ snapshots: text-encoding-utf-8: 1.0.2 borsh@1.0.0: {} + borsh@1.0.0: {} + borsh@2.0.0: {} borsh@2.0.0: {} + brace-expansion@1.1.11: brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 + brace-expansion@2.0.1: brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 + braces@3.0.3: braces@3.0.3: dependencies: fill-range: 7.1.1 + brorand@1.1.0: {} + bs58@4.0.1: dependencies: base-x: 3.0.10 + bs58@5.0.0: bs58@5.0.0: dependencies: base-x: 4.0.0 + bs58@6.0.0: bs58@6.0.0: dependencies: base-x: 5.0.0 buffer-layout@1.2.2: {} + buffer-layout@1.2.2: {} + buffer-reverse@1.0.1: {} buffer-reverse@1.0.1: {} + buffer@5.7.1: buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 + buffer@6.0.3: buffer@6.0.3: dependencies: base64-js: 1.5.1 @@ -4894,31 +6101,49 @@ snapshots: node-gyp-build: 4.8.4 optional: true - bytes@3.1.2: {} + cacheable-lookup@5.0.4: {} + + cacheable-request@7.0.4: + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 call-bind-apply-helpers@1.0.1: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 + call-bind@1.0.8: call-bind@1.0.8: dependencies: call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 get-intrinsic: 1.2.7 + get-intrinsic: 1.2.7 set-function-length: 1.2.2 + call-bound@1.0.3: call-bound@1.0.3: dependencies: call-bind-apply-helpers: 1.0.1 get-intrinsic: 1.2.7 + get-intrinsic: 1.2.7 callsites@3.1.0: {} + callsites@3.1.0: {} + camelcase@6.3.0: {} camelcase@6.3.0: {} + ccount@2.0.1: {} ccount@2.0.1: {} + chai@5.1.2: chai@5.1.2: dependencies: assertion-error: 2.0.1 @@ -4927,6 +6152,7 @@ snapshots: loupe: 3.1.2 pathval: 2.0.0 + chalk@4.1.2: chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -4938,16 +6164,28 @@ snapshots: character-entities-legacy@3.0.0: {} + chardet@0.7.0: {} + check-error@2.1.1: {} - cli-cursor@5.0.0: + cipher-base@1.0.6: dependencies: - restore-cursor: 5.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 - cli-truncate@4.0.0: + cli-cursor@3.1.0: dependencies: - slice-ansi: 5.0.0 - string-width: 7.2.0 + restore-cursor: 3.1.0 + + cli-spinners@2.9.2: {} + + cli-width@3.0.0: {} + + clone-response@1.0.3: + dependencies: + mimic-response: 1.0.1 + + clone@1.0.4: {} color-convert@2.0.1: dependencies: @@ -4955,8 +6193,7 @@ snapshots: color-name@1.1.4: {} - colorette@2.0.20: {} - + combined-stream@1.0.8: combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -4969,17 +6206,26 @@ snapshots: commander@2.20.3: {} + commander@8.3.0: {} + concat-map@0.0.1: {} - content-disposition@0.5.4: + create-hash@1.2.0: dependencies: + cipher-base: 1.0.6 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + + create-hmac@1.1.7: + dependencies: + cipher-base: 1.0.6 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 safe-buffer: 5.2.1 - - content-type@1.0.5: {} - - cookie-signature@1.0.6: {} - - cookie@0.7.1: {} + sha.js: 2.4.11 create-require@1.1.1: {} @@ -4989,6 +6235,7 @@ snapshots: transitivePeerDependencies: - encoding + cross-spawn@7.0.6: cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -4999,14 +6246,25 @@ snapshots: crypto-js@4.2.0: {} + csv-generate@3.4.3: {} + + csv-parse@4.16.3: {} + + csv-stringify@5.6.5: {} + + csv@5.5.3: + dependencies: + csv-generate: 3.4.3 + csv-parse: 4.16.3 + csv-stringify: 5.6.5 + stream-transform: 2.1.3 + + cyrb53@1.0.0: {} + data-uri-to-buffer@4.0.1: {} dayjs@1.11.13: {} - debug@2.6.9: - dependencies: - ms: 2.0.0 - debug@4.4.0: dependencies: ms: 2.1.3 @@ -5017,16 +6275,27 @@ snapshots: decimal.js@10.4.3: {} + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + deep-eql@5.0.2: {} deep-is@0.1.4: {} + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + defer-to-connect@2.0.1: {} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 es-errors: 1.3.0 gopd: 1.2.0 + define-properties@1.2.1: define-properties@1.2.1: dependencies: define-data-property: 1.1.4 @@ -5037,12 +6306,12 @@ snapshots: delayed-stream@1.0.0: {} + depd@1.1.2: {} + depd@2.0.0: {} dequal@2.0.3: {} - destroy@1.2.0: {} - devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -5051,19 +6320,24 @@ snapshots: diff@4.0.2: {} + doctrine@3.0.0: doctrine@3.0.0: dependencies: esutils: 2.0.3 + dot-case@3.0.4: dot-case@3.0.4: dependencies: no-case: 3.0.4 tslib: 2.8.1 dotenv@10.0.0: {} + dotenv@10.0.0: {} + dotenv@16.4.7: {} dotenv@16.4.7: {} + dunder-proto@1.0.1: dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.1 @@ -5072,24 +6346,38 @@ snapshots: eastasianwidth@0.2.0: {} - ee-first@1.1.1: {} + elliptic@6.5.4: + dependencies: + bn.js: 4.12.1 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + elliptic@6.6.1: + dependencies: + bn.js: 4.12.1 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 emoji-regex-xs@1.0.0: {} - emoji-regex@10.4.0: {} - emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} - encodeurl@1.0.2: {} - - encodeurl@2.0.0: {} + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 entities@4.5.0: {} - environment@1.1.0: {} - err-code@2.0.3: {} es-define-property@1.0.1: {} @@ -5101,49 +6389,65 @@ snapshots: es-errors: 1.3.0 es6-promise@4.2.8: {} + es6-promise@4.2.8: {} + es6-promisify@5.0.0: es6-promisify@5.0.0: dependencies: es6-promise: 4.2.8 - escape-html@1.0.3: {} + escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} + eslint-config-prettier@9.1.0(eslint@8.57.1): eslint-config-prettier@9.1.0(eslint@8.57.1): dependencies: eslint: 8.57.1 + eslint: 8.57.1 + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.2): eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.2): dependencies: + eslint: 8.57.1 eslint: 8.57.1 prettier: 3.4.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.2 optionalDependencies: eslint-config-prettier: 9.1.0(eslint@8.57.1) + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-scope@7.2.2: eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@8.2.0: eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@4.2.0: {} eslint-visitor-keys@4.2.0: {} + eslint@8.57.1: eslint@8.57.1: dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) '@eslint-community/regexpp': 4.12.1 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.1 '@humanwhocodes/config-array': 0.13.0 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.1 @@ -5180,6 +6484,7 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@9.17.0: eslint@9.17.0: dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0) @@ -5219,36 +6524,42 @@ snapshots: transitivePeerDependencies: - supports-color + espree@10.3.0: espree@10.3.0: dependencies: acorn: 8.14.0 acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 4.2.0 + espree@9.6.1: espree@9.6.1: dependencies: acorn: 8.14.0 acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 + esquery@1.6.0: esquery@1.6.0: dependencies: estraverse: 5.3.0 + esrecurse@4.3.0: esrecurse@4.3.0: dependencies: estraverse: 5.3.0 estraverse@5.3.0: {} + estraverse@5.3.0: {} esutils@2.0.3: {} - - etag@1.8.1: {} + esutils@2.0.3: {} ethereum-bloom-filters@1.2.0: dependencies: '@noble/hashes': 1.7.0 + '@noble/hashes': 1.7.0 + ethereum-cryptography@2.2.1: ethereum-cryptography@2.2.1: dependencies: '@noble/curves': 1.4.2 @@ -5256,80 +6567,29 @@ snapshots: '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 + ethjs-unit@0.1.6: ethjs-unit@0.1.6: dependencies: bn.js: 4.11.6 number-to-bn: 1.7.0 event-target-shim@5.0.1: {} + event-target-shim@5.0.1: {} + eventemitter3@4.0.7: {} eventemitter3@4.0.7: {} eventemitter3@5.0.1: {} eventsource-parser@3.0.0: {} - eventsource@2.0.2: {} - - 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): + external-editor@3.1.0: dependencies: - '@types/express': 4.17.21 - express: 4.21.2 - on-finished: 2.4.1 - prom-client: 15.1.3 - url-value-parser: 2.2.0 - transitivePeerDependencies: - - supports-color - - express@4.21.2: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.3 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.7.1 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.3.1 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.3 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.12 - proxy-addr: 2.0.7 - qs: 6.13.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.0 - serve-static: 1.16.2 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 eyes@0.1.8: {} @@ -5346,13 +6606,18 @@ snapshots: micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} + fast-json-stable-stringify@2.1.0: {} + fast-levenshtein@2.0.6: {} fast-levenshtein@2.0.6: {} + fast-stable-stringify@1.0.0: {} fast-stable-stringify@1.0.0: {} + fastestsmallesttextencoderdecoder@1.0.22: {} fastestsmallesttextencoderdecoder@1.0.22: {} + fastq@1.18.0: fastq@1.18.0: dependencies: reusify: 1.0.4 @@ -5362,32 +6627,29 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 + figures@3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + + file-entry-cache@6.0.1: file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 + file-entry-cache@8.0.0: file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 file-uri-to-path@1.0.0: {} + file-uri-to-path@1.0.0: {} + fill-range@7.1.1: fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - finalhandler@1.3.1: - dependencies: - debug: 2.6.9 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - + find-process@1.4.8: find-process@1.4.8: dependencies: chalk: 5.4.1 @@ -5401,71 +6663,53 @@ snapshots: - jiti - supports-color + find-up@5.0.0: find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - flash-sdk@2.24.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): - dependencies: - '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@types/node': 20.17.11 - bignumber.js: 9.1.2 - bs58: 5.0.0 - dotenv: 16.4.7 - fs: 0.0.1-security - js-sha256: 0.9.0 - jsbi: 4.3.0 - node-fetch: 3.3.2 - rimraf: 5.0.10 - ts-node: 10.9.2(@types/node@20.17.11)(typescript@5.7.2) - tweetnacl: 1.0.3 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - bufferutil - - debug - - encoding - - fastestsmallesttextencoderdecoder - - typescript - - utf-8-validate - flat-cache@3.2.0: dependencies: flatted: 3.3.2 keyv: 4.5.4 rimraf: 3.0.2 + flat-cache@4.0.1: flat-cache@4.0.1: dependencies: flatted: 3.3.2 keyv: 4.5.4 flatted@3.3.2: {} + flatted@3.3.2: {} follow-redirects@1.15.9: {} + for-each@0.3.3: + follow-redirects@1.15.9: {} + for-each@0.3.3: dependencies: is-callable: 1.2.7 + foreground-child@3.3.0: foreground-child@3.3.0: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 form-data-encoder@1.7.2: {} + form-data-encoder@1.7.2: {} + form-data@4.0.1: form-data@4.0.1: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + formdata-node@4.4.1: formdata-node@4.4.1: dependencies: node-domexception: 1.0.0 @@ -5475,18 +6719,12 @@ snapshots: dependencies: fetch-blob: 3.2.0 - forwarded@0.2.0: {} - - fresh@0.5.2: {} - fs.realpath@1.0.0: {} fs@0.0.1-security: {} 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 @@ -5495,6 +6733,7 @@ snapshots: es-object-atoms: 1.0.0 function-bind: 1.1.2 get-proto: 1.0.1 + get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 @@ -5505,16 +6744,21 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.0.0 - get-stream@8.0.1: {} + get-stream@5.2.0: + dependencies: + pump: 3.0.2 + glob-parent@5.1.2: glob-parent@5.1.2: dependencies: is-glob: 4.0.3 + glob-parent@6.0.2: glob-parent@6.0.2: dependencies: is-glob: 4.0.3 + glob@10.4.5: glob@10.4.5: dependencies: foreground-child: 3.3.0 @@ -5524,6 +6768,7 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 + glob@11.0.0: glob@11.0.0: dependencies: foreground-child: 3.3.0 @@ -5533,6 +6778,7 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 2.0.0 + glob@7.2.3: glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -5542,6 +6788,7 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + globals@13.24.0: globals@13.24.0: dependencies: type-fest: 0.20.2 @@ -5550,16 +6797,33 @@ snapshots: gopd@1.2.0: {} + got@11.8.6: + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 + graceful-fs@4.2.11: optional: true graphemer@1.4.0: {} + graphemer@1.4.0: {} + graphemesplit@2.4.4: graphemesplit@2.4.4: dependencies: js-base64: 3.7.7 unicode-trie: 2.0.0 + groq-sdk@0.5.0: groq-sdk@0.5.0: dependencies: '@types/node': 18.19.69 @@ -5574,26 +6838,39 @@ snapshots: - encoding has-flag@4.0.0: {} + has-flag@4.0.0: {} + has-property-descriptors@1.0.2: has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 has-symbols@1.1.0: {} + has-symbols@1.1.0: {} + has-tostringtag@1.0.2: has-tostringtag@1.0.2: dependencies: has-symbols: 1.1.0 + hash-base@3.1.0: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + + hash.js@1.1.7: hash.js@1.1.7: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 + hasown@2.0.2: hasown@2.0.2: dependencies: function-bind: 1.1.2 + hast-util-to-html@9.0.4: hast-util-to-html@9.0.4: dependencies: '@types/hast': 3.0.4 @@ -5608,28 +6885,40 @@ snapshots: stringify-entities: 4.0.4 zwitch: 2.0.4 + hast-util-whitespace@3.0.0: hast-util-whitespace@3.0.0: dependencies: '@types/hast': 3.0.4 + hi-base32@0.5.1: {} + + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + html-void-elements@3.0.0: {} - http-errors@2.0.0: + http-cache-semantics@4.1.1: {} + + http-errors@1.8.1: dependencies: - depd: 2.0.0 + depd: 1.1.2 inherits: 2.0.4 setprototypeof: 1.2.0 - statuses: 2.0.1 + statuses: 1.5.0 toidentifier: 1.0.1 - human-signals@5.0.0: {} + http2-wrapper@1.0.3: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 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 @@ -5644,7 +6933,9 @@ snapshots: resolve-from: 4.0.0 imurmurhash@0.1.4: {} + imurmurhash@0.1.4: {} + inflight@1.0.6: inflight@1.0.6: dependencies: once: 1.4.0 @@ -5652,10 +6943,28 @@ snapshots: inherits@2.0.4: {} - ipaddr.js@1.9.1: {} + inquirer@8.2.6: + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 6.2.0 ipaddr.js@2.2.0: {} + irys@0.0.1: {} + is-arguments@1.2.0: dependencies: call-bound: 1.0.3 @@ -5667,25 +6976,23 @@ 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 get-proto: 1.0.1 has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 + safe-regex-test: 1.1.0 + is-glob@4.0.3: is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-hex-prefixed@1.0.0: {} + is-interactive@1.0.0: {} + is-nan@1.3.2: dependencies: call-bind: 1.0.8 @@ -5704,34 +7011,41 @@ snapshots: is-retry-allowed@2.2.0: {} - is-stream@3.0.0: {} - is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.18 is-typedarray@1.0.0: {} + is-unicode-supported@0.1.0: {} + + isexe@2.0.0: {} isexe@2.0.0: {} + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 7.5.10(bufferutil@4.0.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)): 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: jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jackspeak@4.0.2: jackspeak@4.0.2: dependencies: '@isaacs/cliui': 8.0.2 + jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@types/connect': 3.4.38 @@ -5743,30 +7057,41 @@ snapshots: es6-promisify: 5.0.0 eyes: 0.1.8 isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) json-stringify-safe: 5.0.1 uuid: 8.3.2 ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate js-base64@3.7.7: {} + js-base64@3.7.7: {} + js-sha256@0.11.0: {} js-sha256@0.11.0: {} + js-sha256@0.9.0: {} js-sha256@0.9.0: {} js-sha3@0.8.0: {} + js-sha3@0.8.0: {} + + js-sha512@0.8.0: {} js-tiktoken@1.0.16: dependencies: base64-js: 1.5.1 + js-yaml@4.1.0: js-yaml@4.1.0: dependencies: argparse: 2.0.1 - jsbi@4.3.0: {} + json-bigint@1.0.0: + dependencies: + bignumber.js: 9.1.2 json-buffer@3.0.1: {} @@ -5774,6 +7099,7 @@ snapshots: json-schema@0.4.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} json-stable-stringify-without-jsonify@1.0.1: {} json-stringify-safe@5.0.1: {} @@ -5793,8 +7119,12 @@ snapshots: graceful-fs: 4.2.11 jsonparse@1.3.1: {} + jsonparse@1.3.1: {} jsonpointer@5.0.1: {} + jsonpointer@5.0.1: {} + + jwt-decode@4.0.0: {} keccak256@1.0.6: dependencies: @@ -5802,18 +7132,24 @@ snapshots: buffer: 6.0.3 keccak: 3.0.4 + keccak@3.0.4: keccak@3.0.4: dependencies: node-addon-api: 2.0.2 node-gyp-build: 4.8.4 readable-stream: 3.6.2 + keyv@4.5.4: keyv@4.5.4: dependencies: json-buffer: 3.0.1 + langchain@0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)): langchain@0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)): dependencies: + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) @@ -5821,6 +7157,7 @@ snapshots: js-yaml: 4.1.0 jsonpointer: 5.0.1 langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) + langsmith: 0.2.14(openai@4.77.3(zod@3.24.1)) openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 10.0.0 @@ -5830,10 +7167,14 @@ snapshots: optionalDependencies: '@langchain/groq': 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) axios: 1.7.9 + optionalDependencies: + '@langchain/groq': 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + axios: 1.7.9 transitivePeerDependencies: - encoding - openai + langsmith@0.2.14(openai@4.77.3(zod@3.24.1)): langsmith@0.2.14(openai@4.77.3(zod@3.24.1)): dependencies: '@types/uuid': 10.0.0 @@ -5844,54 +7185,35 @@ snapshots: uuid: 10.0.0 optionalDependencies: openai: 4.77.3(zod@3.24.1) + optionalDependencies: + openai: 4.77.3(zod@3.24.1) + levn@0.4.1: levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 libsodium-sumo@0.7.15: {} + libsodium-sumo@0.7.15: {} + libsodium-wrappers-sumo@0.7.15: libsodium-wrappers-sumo@0.7.15: dependencies: libsodium-sumo: 0.7.15 + libsodium-wrappers@0.7.15: libsodium-wrappers@0.7.15: dependencies: libsodium: 0.7.15 libsodium@0.7.15: {} - - lilconfig@3.1.3: {} + libsodium@0.7.15: {} 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 @@ -5900,13 +7222,10 @@ snapshots: lodash@4.17.21: {} - log-update@6.1.0: + log-symbols@4.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 + chalk: 4.1.2 + is-unicode-supported: 0.1.0 loglevel@1.9.2: {} @@ -5916,6 +7235,8 @@ snapshots: dependencies: tslib: 2.8.1 + lowercase-keys@2.0.0: {} + lru-cache@10.4.3: {} lru-cache@11.0.2: {} @@ -5937,6 +7258,12 @@ snapshots: math-intrinsics@1.1.0: {} + md5.js@1.3.5: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + mdast-util-to-hast@13.2.0: dependencies: '@types/hast': 3.0.4 @@ -5951,12 +7278,6 @@ snapshots: mdurl@2.0.0: {} - media-typer@0.3.0: {} - - merge-descriptors@1.0.3: {} - - merge-stream@2.0.0: {} - merge2@1.4.1: {} merkletreejs@0.3.11: @@ -5967,8 +7288,6 @@ snapshots: treeify: 1.1.0 web3-utils: 1.10.4 - methods@1.1.2: {} - micro-ftch@0.3.1: {} micromark-util-character@2.1.1: @@ -5977,7 +7296,9 @@ snapshots: micromark-util-types: 2.0.1 micromark-util-encode@2.0.1: {} + micromark-util-encode@2.0.1: {} + micromark-util-sanitize-uri@2.0.1: micromark-util-sanitize-uri@2.0.1: dependencies: micromark-util-character: 2.1.1 @@ -5985,36 +7306,45 @@ snapshots: micromark-util-symbol: 2.0.1 micromark-util-symbol@2.0.1: {} + micromark-util-symbol@2.0.1: {} + micromark-util-types@2.0.1: {} micromark-util-types@2.0.1: {} + micromatch@4.0.8: micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 mime-db@1.52.0: {} + mime-db@1.52.0: {} + mime-types@2.1.35: mime-types@2.1.35: dependencies: mime-db: 1.52.0 - mime@1.6.0: {} + mimic-fn@2.1.0: {} - mimic-fn@4.0.0: {} + mimic-response@1.0.1: {} - mimic-function@5.0.1: {} + mimic-response@3.1.0: {} minimalistic-assert@1.0.1: {} + minimalistic-crypto-utils@1.0.1: {} + minimatch@10.0.1: dependencies: brace-expansion: 2.0.1 + minimatch@3.1.2: minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 + minimatch@9.0.5: minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -6023,17 +7353,36 @@ snapshots: minipass@7.1.2: {} - ms@2.0.0: {} + mixme@0.5.10: {} ms@2.1.3: {} + multistream@4.1.0: + dependencies: + once: 1.4.0 + readable-stream: 3.6.2 + optional: true + mustache@4.2.0: {} + mute-stream@0.0.8: {} + nanoid@3.3.8: {} natural-compare@1.4.0: {} - negotiator@0.6.3: {} + near-hd-key@1.2.1: + dependencies: + bip39: 3.0.2 + create-hmac: 1.1.7 + tweetnacl: 1.0.3 + + near-seed-phrase@0.2.1: + dependencies: + bip39-light: 1.0.7 + bs58: 4.0.1 + near-hd-key: 1.2.1 + tweetnacl: 1.0.3 no-case@3.0.4: dependencies: @@ -6042,6 +7391,8 @@ snapshots: node-addon-api@2.0.2: {} + node-addon-api@5.1.0: {} + node-domexception@1.0.0: {} node-fetch@2.7.0: @@ -6056,24 +7407,23 @@ snapshots: node-gyp-build@4.8.4: {} - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 + normalize-url@6.1.0: {} number-to-bn@1.7.0: dependencies: bn.js: 4.11.6 strip-hex-prefix: 1.0.0 - object-inspect@1.13.3: {} - + object-is@1.1.6: object-is@1.1.6: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 object-keys@1.1.1: {} + object-keys@1.1.1: {} + object.assign@4.1.7: object.assign@4.1.7: dependencies: call-bind: 1.0.8 @@ -6083,28 +7433,23 @@ snapshots: has-symbols: 1.1.0 object-keys: 1.1.1 - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - + once@1.4.0: once@1.4.0: dependencies: wrappy: 1.0.2 - onetime@6.0.0: + onetime@5.1.2: dependencies: - mimic-fn: 4.0.0 - - onetime@7.0.0: - dependencies: - mimic-function: 5.0.1 + mimic-fn: 2.1.0 + oniguruma-to-es@0.10.0: oniguruma-to-es@0.10.0: dependencies: emoji-regex-xs: 1.0.0 regex: 5.1.1 regex-recursion: 5.1.1 + openai@4.77.3(zod@3.24.1): openai@4.77.3(zod@3.24.1): dependencies: '@types/node': 18.19.69 @@ -6114,13 +7459,16 @@ snapshots: form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0 + optionalDependencies: optionalDependencies: zod: 3.24.1 transitivePeerDependencies: - encoding openapi-types@12.1.3: {} + openapi-types@12.1.3: {} + optionator@0.9.4: optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -6130,74 +7478,101 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + os-tmpdir@1.0.2: {} + + p-cancelable@2.1.1: {} + p-finally@1.0.0: {} p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 + p-locate@5.0.0: p-locate@5.0.0: dependencies: p-limit: 3.1.0 + p-queue@6.6.2: p-queue@6.6.2: dependencies: eventemitter3: 4.0.7 p-timeout: 3.2.0 + p-retry@4.6.2: p-retry@4.6.2: dependencies: '@types/retry': 0.12.0 retry: 0.13.1 + p-timeout@3.2.0: p-timeout@3.2.0: dependencies: p-finally: 1.0.0 package-json-from-dist@1.0.1: {} + package-json-from-dist@1.0.1: {} + pako@0.2.9: {} pako@0.2.9: {} + pako@2.1.0: {} pako@2.1.0: {} + parent-module@1.0.1: parent-module@1.0.1: dependencies: callsites: 3.1.0 - parseurl@1.3.3: {} - path-exists@4.0.0: {} path-is-absolute@1.0.1: {} path-key@3.1.1: {} - path-key@4.0.0: {} - path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 minipass: 7.1.2 + path-scurry@2.0.0: path-scurry@2.0.0: dependencies: lru-cache: 11.0.2 minipass: 7.1.2 - path-to-regexp@0.1.12: {} - pathval@2.0.0: {} + pbkdf2@3.1.2: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + percentile@1.6.0: {} picomatch@2.3.1: {} - pidtree@0.6.0: {} - poly1305-js@0.4.4: dependencies: big-integer: 1.6.52 + poseidon-lite@0.2.1: {} + possible-typed-array-names@1.0.0: {} prelude-ls@1.2.1: {} @@ -6210,11 +7585,18 @@ snapshots: prettier@3.4.2: {} + prom-client@15.1.3: + + prettier@2.8.8: {} + + prettier@3.4.2: {} + prom-client@15.1.3: dependencies: '@opentelemetry/api': 1.9.0 tdigest: 0.1.2 + promise-retry@2.0.1: promise-retry@2.0.1: dependencies: err-code: 2.0.3 @@ -6222,36 +7604,25 @@ snapshots: property-information@6.5.0: {} - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - proxy-from-env@1.1.0: {} + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + punycode.js@2.3.1: {} punycode@2.3.1: {} - qs@6.13.0: - dependencies: - side-channel: 1.1.0 - queue-microtask@1.2.3: {} + quick-lru@5.1.1: {} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - range-parser@1.2.1: {} - - raw-body@2.5.2: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - react@19.0.0: {} readable-stream@3.6.2: @@ -6261,24 +7632,34 @@ snapshots: util-deprecate: 1.0.2 regenerator-runtime@0.14.1: {} + regenerator-runtime@0.14.1: {} + regex-recursion@5.1.1: regex-recursion@5.1.1: dependencies: regex: 5.1.1 regex-utilities: 2.3.0 regex-utilities@2.3.0: {} + regex-utilities@2.3.0: {} + regex@5.1.1: regex@5.1.1: dependencies: regex-utilities: 2.3.0 + resolve-alpn@1.2.1: {} + resolve-from@4.0.0: {} - restore-cursor@5.1.0: + responselike@2.0.1: dependencies: - onetime: 7.0.0 - signal-exit: 4.1.0 + lowercase-keys: 2.0.0 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 retry@0.12.0: {} @@ -6286,21 +7667,27 @@ snapshots: reusify@1.0.4: {} - rfdc@1.4.1: {} - rimraf@3.0.2: dependencies: glob: 7.2.3 + rimraf@5.0.10: rimraf@5.0.10: dependencies: glob: 10.4.5 + rimraf@6.0.1: rimraf@6.0.1: dependencies: glob: 11.0.0 package-json-from-dist: 1.0.1 + ripemd160@2.0.2: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + + rpc-websockets@9.0.4: rpc-websockets@9.0.4: dependencies: '@swc/helpers': 0.5.15 @@ -6314,10 +7701,16 @@ snapshots: bufferutil: 4.0.9 utf-8-validate: 5.0.10 + run-async@2.4.1: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 + rxjs@7.8.1: + dependencies: + tslib: 2.8.1 + safe-buffer@5.2.1: {} safe-regex-test@1.1.0: @@ -6328,58 +7721,55 @@ snapshots: safer-buffer@2.1.2: {} + scrypt-js@3.0.1: {} + + secp256k1@5.0.1: + dependencies: + elliptic: 6.6.1 + node-addon-api: 5.1.0 + node-gyp-build: 4.8.4 + secure-json-parse@2.7.0: {} semaphore@1.1.0: {} semver@7.6.3: {} - send@0.19.0: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - - serve-static@1.16.2: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.19.0 - transitivePeerDependencies: - - supports-color - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.7 + get-intrinsic: 1.2.7 gopd: 1.2.0 has-property-descriptors: 1.0.2 setprototypeof@1.2.0: {} + sha.js@2.4.11: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + shebang-command@2.0.0: shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 shebang-regex@3.0.0: {} + shebang-regex@3.0.0: {} + shiki@1.26.1: shiki@1.26.1: dependencies: + '@shikijs/core': 1.26.1 + '@shikijs/engine-javascript': 1.26.1 + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/langs': 1.26.1 + '@shikijs/themes': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 '@shikijs/core': 1.26.1 '@shikijs/engine-javascript': 1.26.1 '@shikijs/engine-oniguruma': 1.26.1 @@ -6389,55 +7779,21 @@ snapshots: '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 - side-channel-list@1.0.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.3 - - side-channel-map@1.0.1: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.7 - object-inspect: 1.13.3 - - side-channel-weakmap@1.0.2: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.7 - object-inspect: 1.13.3 - side-channel-map: 1.0.1 - - side-channel@1.1.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.3 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 + signal-exit@3.0.7: {} 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 tslib: 2.8.1 + sodium-native@3.4.1: sodium-native@3.4.1: dependencies: node-gyp-build: 4.8.4 + sodium-plus@0.9.0(sodium-native@3.4.1): sodium-plus@0.9.0(sodium-native@3.4.1): dependencies: buffer: 5.7.1 @@ -6448,7 +7804,9 @@ snapshots: xsalsa20: 1.2.0 space-separated-tokens@2.0.2: {} + space-separated-tokens@2.0.2: {} + spok@1.5.5: spok@1.5.5: dependencies: ansicolors: 0.3.2 @@ -6457,59 +7815,63 @@ snapshots: - jiti - supports-color - statuses@2.0.1: {} + statuses@1.5.0: {} - string-argv@0.3.2: {} + stream-transform@2.1.3: + dependencies: + mixme: 0.5.10 + string-width@4.2.3: string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string-width@5.1.2: string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 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: string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 + stringify-entities@4.0.4: stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 + strip-ansi@6.0.1: strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.1.0: strip-ansi@7.1.0: dependencies: ansi-regex: 6.1.0 strip-bom@3.0.0: {} - strip-final-newline@3.0.0: {} - strip-hex-prefix@1.0.0: dependencies: is-hex-prefixed: 1.0.0 strip-json-comments@3.1.1: {} + strip-json-comments@3.1.1: {} + superstruct@0.15.5: {} superstruct@0.15.5: {} + superstruct@2.0.2: {} superstruct@2.0.2: {} + supports-color@7.2.0: supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -6525,11 +7887,13 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.1 + tdigest@0.1.2: tdigest@0.1.2: dependencies: bintrees: 1.0.2 text-encoding-utf-8@1.0.2: {} + text-encoding-utf-8@1.0.2: {} text-table@0.2.0: {} @@ -6541,6 +7905,18 @@ snapshots: tiny-invariant@1.3.3: {} + tmp-promise@3.0.3: + dependencies: + tmp: 0.2.3 + optional: true + + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + tmp@0.2.3: + optional: true + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -6557,30 +7933,26 @@ snapshots: trim-lines@3.0.1: {} + ts-api-utils@1.4.3(typescript@5.7.2): + + toformat@2.0.0: {} + + toidentifier@1.0.1: {} + + toml@3.0.0: {} + + tr46@0.0.3: {} + + treeify@1.1.0: {} + + trim-lines@3.0.1: {} + ts-api-utils@1.4.3(typescript@5.7.2): dependencies: typescript: 5.7.2 ts-log@2.2.7: {} - ts-node@10.9.2(@types/node@20.17.11)(typescript@5.7.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.17.11 - acorn: 8.14.0 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.7.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -6606,37 +7978,42 @@ snapshots: strip-bom: 3.0.0 tslib@2.8.1: {} + tslib@2.8.1: {} + tweetnacl-util@0.15.1: {} tweetnacl-util@0.15.1: {} + tweetnacl@1.0.3: {} tweetnacl@1.0.3: {} + type-check@0.4.0: type-check@0.4.0: dependencies: prelude-ls: 1.2.1 type-fest@0.20.2: {} - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 + type-fest@0.21.3: {} typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 + typedoc@0.26.11(typescript@5.7.2): typedoc@0.26.11(typescript@5.7.2): dependencies: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 shiki: 1.26.1 + shiki: 1.26.1 typescript: 5.7.2 yaml: 2.7.0 + typedoc@0.27.6(typescript@5.7.2): typedoc@0.27.6(typescript@5.7.2): dependencies: + '@gerrit0/mini-shiki': 1.26.1 '@gerrit0/mini-shiki': 1.26.1 lunr: 2.3.9 markdown-it: 14.1.0 @@ -6654,8 +8031,6 @@ snapshots: undici-types@5.26.5: {} - undici-types@6.19.8: {} - undici-types@6.20.0: {} unicode-trie@2.0.0: @@ -6663,23 +8038,28 @@ snapshots: pako: 0.2.9 tiny-inflate: 1.0.3 + unist-util-is@6.0.0: unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 + unist-util-position@5.0.0: unist-util-position@5.0.0: dependencies: '@types/unist': 3.0.3 + unist-util-stringify-position@4.0.0: unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 + unist-util-visit-parents@6.0.1: unist-util-visit-parents@6.0.1: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.0 + unist-util-visit@5.0.0: unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -6687,8 +8067,7 @@ snapshots: unist-util-visit-parents: 6.0.1 universalify@2.0.1: {} - - unpipe@1.0.0: {} + universalify@2.0.1: {} uri-js@4.4.1: dependencies: @@ -6704,21 +8083,24 @@ snapshots: dependencies: node-gyp-build: 4.8.4 optional: true + optional: true utf8@3.0.0: {} + utf8@3.0.0: {} + util-deprecate@1.0.2: {} util-deprecate@1.0.2: {} + util@0.12.5: util@0.12.5: dependencies: inherits: 2.0.4 is-arguments: 1.2.0 is-generator-function: 1.1.0 + is-generator-function: 1.1.0 is-typed-array: 1.1.15 which-typed-array: 1.1.18 - utils-merge@1.0.1: {} - uuid@10.0.0: {} uuid@8.3.2: {} @@ -6727,18 +8109,23 @@ snapshots: v8-compile-cache-lib@3.0.1: {} - vary@1.1.2: {} - vfile-message@4.0.2: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 + vfile@6.0.3: vfile@6.0.3: dependencies: '@types/unist': 3.0.3 vfile-message: 4.0.2 + vlq@2.0.4: {} + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + web-streams-polyfill@3.3.3: {} web-streams-polyfill@4.0.0-beta.3: {} @@ -6755,12 +8142,15 @@ snapshots: utf8: 3.0.0 webidl-conversions@3.0.1: {} + webidl-conversions@3.0.1: {} + whatwg-url@5.0.0: whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 + which-typed-array@1.1.18: which-typed-array@1.1.18: dependencies: available-typed-arrays: 1.0.7 @@ -6770,11 +8160,19 @@ snapshots: gopd: 1.2.0 has-tostringtag: 1.0.2 + which@2.0.2: which@2.0.2: dependencies: isexe: 2.0.0 word-wrap@1.2.5: {} + word-wrap@1.2.5: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 wrap-ansi@7.0.0: dependencies: @@ -6782,20 +8180,20 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@8.1.0: wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 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.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.0.9 @@ -6808,8 +8206,6 @@ snapshots: xsalsa20@1.2.0: {} - yaml@2.6.1: {} - yaml@2.7.0: {} yn@3.1.1: {} @@ -6821,7 +8217,10 @@ snapshots: zod: 3.24.1 zod@3.24.1: {} + zod@3.24.1: {} + zstddec@0.0.2: {} zstddec@0.0.2: {} zwitch@2.0.4: {} + zwitch@2.0.4: {} diff --git a/src/agent/index.ts b/src/agent/index.ts index 0468224..07cb294 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -75,6 +75,15 @@ import { FlashTradeParams, FlashCloseTradeParams, } from "../types"; +import { + createCollection, + createSingle, +} from "../tools/create_3land_collectible"; +import { + CreateCollectionOptions, + CreateSingleOptions, + StoreInitOptions, +} from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; /** * Main class for interacting with Solana blockchain @@ -563,4 +572,27 @@ export class SolanaAgentKit { async flashCloseTrade(params: FlashCloseTradeParams): Promise { return flashCloseTrade(this, params); } + + async create3LandCollection( + optionsWithBase58: StoreInitOptions, + collectionOpts: CreateCollectionOptions, + ): Promise { + const tx = await createCollection(optionsWithBase58, collectionOpts); + return `Transaction: ${tx}`; + } + + async create3LandNft( + optionsWithBase58: StoreInitOptions, + collectionAccount: string, + createItemOptions: CreateSingleOptions, + isMainnet: boolean, + ): Promise { + const tx = await createSingle( + optionsWithBase58, + collectionAccount, + createItemOptions, + isMainnet, + ); + return `Transaction: ${tx}`; + } } diff --git a/src/langchain/index.ts b/src/langchain/index.ts index b127c82..351f5cd 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -2250,6 +2250,62 @@ export class SolanaFetchTokenDetailedReportTool extends Tool { } } +export class Solana3LandCreateSingle extends Tool { + name = "3land_minting_tool"; + description = `Creates an NFT and lists it on 3.land's website + + Inputs: + optionsWithBase58 (required): represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string + collectionAccount (optional): represents the account for the nft collection + createItemOptions (required): the options for the creation of the single NFT listing + isMainnet (required): defines is the tx takes places in mainnet + `; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const optionsWithBase58 = inputFormat.optionsWithBase58; + let collectionAccount = inputFormat.collectionAccount; + const createItemOptions = inputFormat.createItemOptions; + const isMainnet = inputFormat.isMainnet; + + if (!collectionAccount) { + collectionAccount = "Fpm8XgXEuNxxjmqUQuqEFkGusiSsKM6astUGPs5U9x6v"; + } + + console.log( + "options inside 3land func: ", + optionsWithBase58, + collectionAccount, + createItemOptions, + isMainnet, + ); + + const tx = await this.solanaKit.create3LandNft( + optionsWithBase58, + collectionAccount, + createItemOptions, + isMainnet, + ); + return JSON.stringify({ + status: "success", + message: `Created listing successfully ${tx}`, + transaction: tx, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), @@ -2306,5 +2362,6 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaPerpCloseTradeTool(solanaKit), new SolanaFlashOpenTrade(solanaKit), new SolanaFlashCloseTrade(solanaKit), + new Solana3LandCreateSingle(solanaKit), ]; } diff --git a/src/tools/create_3land_collectible.ts b/src/tools/create_3land_collectible.ts new file mode 100644 index 0000000..68bf80a --- /dev/null +++ b/src/tools/create_3land_collectible.ts @@ -0,0 +1,69 @@ +import { createCollectionImp, createSingleImp } from "@3land/listings-sdk"; +import { + StoreInitOptions, + CreateCollectionOptions, + CreateSingleOptions, +} from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; + +/** + * Create a collection on 3Land + * @param optionsWithBase58 represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string + * @param collectionOpts represents the options for the collection creation + * @returns + */ +export async function createCollection( + optionsWithBase58: StoreInitOptions, + collectionOpts: CreateCollectionOptions, +) { + try { + const collection = await createCollectionImp( + optionsWithBase58, + collectionOpts, + ); + return collection; + } catch (error: any) { + throw new Error(`Collection creation failed: ${error.message}`); + } +} + +/** + * Create a single edition on 3Land + * @param optionsWithBase58 represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string + * @param collectionAccount represents the account for the nft collection + * @param createItemOptions the options for the creation of the single NFT listing + * @returns + */ +export async function createSingle( + optionsWithBase58: StoreInitOptions, + collectionAccount: string, + createItemOptions: CreateSingleOptions, + isMainnet: boolean, +) { + try { + const landStore = isMainnet + ? "AmQNs2kgw4LvS9sm6yE9JJ4Hs3JpVu65eyx9pxMG2xA" + : "GyPCu89S63P9NcCQAtuSJesiefhhgpGWrNVJs4bF2cSK"; + + const singleEditionTx = await createSingleImp( + optionsWithBase58, + landStore, + collectionAccount, + createItemOptions, + ); + return singleEditionTx; + } catch (error: any) { + throw new Error(`Single edition creation failed: ${error.message}`); + } +} + +/** + * Buy a single edition on 3Land + * @param + * @returns + */ +// export async function buySingle() { +// try { +// } catch (error: any) { +// throw new Error(`Buying single edition failed: ${error.message}`); +// } +// } diff --git a/test/tools/3land.ts b/test/tools/3land.ts new file mode 100644 index 0000000..01fe731 --- /dev/null +++ b/test/tools/3land.ts @@ -0,0 +1,61 @@ +import { + CreateCollectionOptions, + CreateSingleOptions, + StoreInitOptions, +} from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; + +import "dotenv/config"; +import { SolanaAgentKit, createSolanaTools } from "../../src"; + +const agent = new SolanaAgentKit( + process.env.SOLANA_PRIVATE_KEY!, + process.env.RPC_URL!, + process.env.OPENAI_API_KEY!, +); + +const optionsWithBase58: StoreInitOptions = { + privateKey: process.env.SOLANA_PRIVATE_KEY!, + isMainnet: false, +}; + +const collectionOpts: CreateCollectionOptions = { + collectionName: "collectionXD", + collectionSymbol: "CXD", + collectionDescription: "a collection that is cool", + mainImageUrl: + "https://arweave.net/FMkKYYsheEImBfejYaPPoJbI3CxJxunwvErD9VYzxOY?ext=jpeg", +}; + +(async () => { + const collection = await agent.create3LandCollection( + optionsWithBase58, + collectionOpts, + ); + + console.log("collection: ", collection); +})(); + +//const collectionAccount = ""; +// const createItemOptions: CreateSingleOptions = { +// itemName: "", +// sellerFee: 500, +// itemAmount: 100, +// itemSymbol: "", +// itemDescription: "", +// traits: [{ trait_type: "", value: "" }], +// price: 0, //100000000 == 0.1 sol +// mainImageUrl: "", +// }; + +// const isMainnet = true; +//(async() => { +// const result = agent.create3LandNft( +// optionsWithBase58, +// collectionAccount, +// createItemOptions, +// isMainnet, +// ); +// console.log("result: ", result); +//})(); + +// export { SolanaAgentKit, createSolanaTools }; From 4a86c2a688f59598e712d58176c5eb33ce59b77d Mon Sep 17 00:00:00 2001 From: biccsdev Date: Sat, 4 Jan 2025 17:44:35 -0600 Subject: [PATCH 080/138] missed this file --- src/tools/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tools/index.ts b/src/tools/index.ts index 1930718..b8f9074 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -45,3 +45,5 @@ export * from "./trade"; export * from "./transfer"; export * from "./flash_open_trade"; export * from "./flash_close_trade"; + +export * from "./create_3land_collectible"; From b3555ebded5da71ea1f907b08a927cd25aa6d685 Mon Sep 17 00:00:00 2001 From: biccsdev Date: Sat, 4 Jan 2025 18:23:33 -0600 Subject: [PATCH 081/138] test --- .env.example | 5 -- .../src/utils/solanaAgent.ts | 2 +- package.json | 1 + pnpm-lock.yaml | 75 ++++++++++++++++++- test/tools/3land.ts | 2 +- tsconfig.json | 3 +- 6 files changed, 78 insertions(+), 10 deletions(-) delete mode 100644 .env.example diff --git a/.env.example b/.env.example deleted file mode 100644 index e8004fd..0000000 --- a/.env.example +++ /dev/null @@ -1,5 +0,0 @@ -OPENAI_API_KEY= -RPC_URL= -SOLANA_PRIVATE_KEY= -JUPITER_REFERRAL_ACCOUNT= -JUPITER_FEE_BPS= \ No newline at end of file diff --git a/examples/agent-kit-langgraph/src/utils/solanaAgent.ts b/examples/agent-kit-langgraph/src/utils/solanaAgent.ts index ac714e4..dbbee73 100644 --- a/examples/agent-kit-langgraph/src/utils/solanaAgent.ts +++ b/examples/agent-kit-langgraph/src/utils/solanaAgent.ts @@ -3,7 +3,7 @@ import { SolanaAgentKit, createSolanaTools } from "solana-agent-kit"; export const agentKit = new SolanaAgentKit( process.env.SOLANA_PRIVATE_KEY!, process.env.RPC_URL!, - process.env.OPENAI_API_KEY!, + { OPENAI_API_KEY: process.env.OPENAI_API_KEY! }, ); export const solanaTools = createSolanaTools(agentKit); diff --git a/package.json b/package.json index e8174dd..79d548c 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "form-data": "^4.0.1", "langchain": "^0.3.8", "openai": "^4.77.0", + "solana-agent-kit": "^1.3.6", "typedoc": "^0.27.6", "zod": "^3.24.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bd15508..c69e7f9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -136,7 +136,9 @@ importers: openai: specifier: ^4.77.0 version: 4.77.3(zod@3.24.1) - version: 4.77.3(zod@3.24.1) + solana-agent-kit: + specifier: ^1.3.6 + version: 1.3.6(@noble/hashes@1.7.0)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.0.0)(sodium-native@3.4.1)(typescript@5.7.2)(utf-8-validate@5.0.10) typedoc: specifier: ^0.27.6 version: 0.27.6(typescript@5.7.2) @@ -3112,6 +3114,10 @@ packages: peerDependencies: sodium-native: ^3.2.0 + solana-agent-kit@1.3.6: + resolution: {integrity: sha512-dF7GcZw3ifWRkBkI57DZUlo0xhNlbr2WLm8Wce57DkAXDfzZxrui4NTcCifWODST3R5ypi3VerBch5MfK1PsUA==} + engines: {node: '>=22.0.0', pnpm: '>=8.0.0'} + space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -7803,7 +7809,72 @@ snapshots: typedarray-to-buffer: 3.1.5 xsalsa20: 1.2.0 - space-separated-tokens@2.0.2: {} + solana-agent-kit@1.3.6(@noble/hashes@1.7.0)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.0.0)(sodium-native@3.4.1)(typescript@5.7.2)(utf-8-validate@5.0.10): + dependencies: + '@ai-sdk/openai': 1.0.11(zod@3.24.1) + '@bonfida/spl-name-service': 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@cks-systems/manifest-sdk': 0.1.73(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) + '@langchain/groq': 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/langgraph': 0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) + '@lightprotocol/compressed-token': 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-core': 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0) + '@metaplex-foundation/mpl-token-metadata': 3.3.0(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-bundle-defaults': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@onsol/tldparser': 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@orca-so/whirlpools-sdk': 0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@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) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@tensor-oss/tensorswap-sdk': 4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@tiplink/api': 0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) + ai: 4.0.22(react@19.0.0)(zod@3.24.1) + 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 + langchain: 0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)) + openai: 4.77.3(zod@3.24.1) + typedoc: 0.27.6(typescript@5.7.2) + zod: 3.24.1 + transitivePeerDependencies: + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cerebras' + - '@langchain/cohere' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/mistralai' + - '@langchain/ollama' + - '@noble/hashes' + - axios + - borsh + - buffer + - bufferutil + - cheerio + - debug + - encoding + - fastestsmallesttextencoderdecoder + - handlebars + - jiti + - peggy + - react + - sodium-native + - supports-color + - typeorm + - typescript + - utf-8-validate + space-separated-tokens@2.0.2: {} spok@1.5.5: diff --git a/test/tools/3land.ts b/test/tools/3land.ts index 01fe731..83c345e 100644 --- a/test/tools/3land.ts +++ b/test/tools/3land.ts @@ -10,7 +10,7 @@ import { SolanaAgentKit, createSolanaTools } from "../../src"; const agent = new SolanaAgentKit( process.env.SOLANA_PRIVATE_KEY!, process.env.RPC_URL!, - process.env.OPENAI_API_KEY!, + { OPENAI_API_KEY: process.env.OPENAI_API_KEY! }, ); const optionsWithBase58: StoreInitOptions = { diff --git a/tsconfig.json b/tsconfig.json index e79de5f..17a3b25 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -22,7 +22,8 @@ "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "skipLibCheck": true, - "resolveJsonModule": true + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, }, "include": ["src/**/*"], "exclude": ["node_modules", "dist", "**/*.test.ts"] From ae7878cca1e4c76ed7ba56011608eb4c807b943a Mon Sep 17 00:00:00 2001 From: biccsdev Date: Sat, 4 Jan 2025 18:39:31 -0600 Subject: [PATCH 082/138] finished touches on testing file --- README.md | 4 ++-- test/tools/3land.ts | 56 +++++++++++++++++++++++---------------------- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 254b215..918c37d 100644 --- a/README.md +++ b/README.md @@ -171,12 +171,12 @@ const createItemOptions: CreateSingleOptions = { mainImageUrl: "", splHash: "", //present if listing is on a specific SPL token, if not present sale will be on $SOL }; - +const isMainnet = false; const result = await agent.create3LandNft( optionsWithBase58, collectionAccount, createItemOptions, - optionsWithBase58.isMainnet + isMainnet ); ``` diff --git a/test/tools/3land.ts b/test/tools/3land.ts index 83c345e..b815240 100644 --- a/test/tools/3land.ts +++ b/test/tools/3land.ts @@ -18,12 +18,13 @@ const optionsWithBase58: StoreInitOptions = { isMainnet: false, }; +/****************************** CREATING COLLECTION ******************************** */ + const collectionOpts: CreateCollectionOptions = { - collectionName: "collectionXD", - collectionSymbol: "CXD", - collectionDescription: "a collection that is cool", - mainImageUrl: - "https://arweave.net/FMkKYYsheEImBfejYaPPoJbI3CxJxunwvErD9VYzxOY?ext=jpeg", + collectionName: "", + collectionSymbol: "", + collectionDescription: "", + mainImageUrl: "", }; (async () => { @@ -35,27 +36,28 @@ const collectionOpts: CreateCollectionOptions = { console.log("collection: ", collection); })(); -//const collectionAccount = ""; -// const createItemOptions: CreateSingleOptions = { -// itemName: "", -// sellerFee: 500, -// itemAmount: 100, -// itemSymbol: "", -// itemDescription: "", -// traits: [{ trait_type: "", value: "" }], -// price: 0, //100000000 == 0.1 sol -// mainImageUrl: "", -// }; +/****************************** CREATING NFT ******************************** */ +const collectionAccount = ""; +const createItemOptions: CreateSingleOptions = { + itemName: "", + sellerFee: 500, + itemAmount: 100, + itemSymbol: "", + itemDescription: "", + traits: [{ trait_type: "", value: "" }], + price: 0, //100000000 == 0.1 sol + mainImageUrl: "", +}; -// const isMainnet = true; -//(async() => { -// const result = agent.create3LandNft( -// optionsWithBase58, -// collectionAccount, -// createItemOptions, -// isMainnet, -// ); -// console.log("result: ", result); -//})(); +const isMainnet = false; +(async () => { + const result = agent.create3LandNft( + optionsWithBase58, + collectionAccount, + createItemOptions, + isMainnet, + ); + console.log("result: ", result); +})(); -// export { SolanaAgentKit, createSolanaTools }; +export { SolanaAgentKit, createSolanaTools }; From 99ae5237345105f944dce7a5af8d566080ecc1ff Mon Sep 17 00:00:00 2001 From: biccsdev Date: Sat, 4 Jan 2025 18:40:15 -0600 Subject: [PATCH 083/138] env example --- .env.example | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e8004fd --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +OPENAI_API_KEY= +RPC_URL= +SOLANA_PRIVATE_KEY= +JUPITER_REFERRAL_ACCOUNT= +JUPITER_FEE_BPS= \ No newline at end of file From bca4f6074c3edfa19bf0a55fa0855d961493e77c Mon Sep 17 00:00:00 2001 From: biccsdev Date: Sun, 5 Jan 2025 12:44:20 -0600 Subject: [PATCH 084/138] refactor create single and added create collection tool --- src/langchain/index.ts | 130 ++++++++++++++++++++++++++++++++++++----- tsconfig.json | 2 - 2 files changed, 114 insertions(+), 18 deletions(-) diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 351f5cd..b49b78b 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -8,7 +8,12 @@ import { PythFetchPriceResponse, SolanaAgentKit, } from "../index"; -import { create_image, FEE_TIERS, generateOrdersfromPattern } from "../tools"; +import { create_image, FEE_TIERS } from "../tools"; +import { + CreateCollectionOptions, + CreateSingleOptions, + StoreInitOptions, +} from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; export class SolanaBalanceTool extends Tool { name = "solana_balance"; @@ -2255,9 +2260,17 @@ export class Solana3LandCreateSingle extends Tool { description = `Creates an NFT and lists it on 3.land's website Inputs: - optionsWithBase58 (required): represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string + privateKey (required): represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string collectionAccount (optional): represents the account for the nft collection - createItemOptions (required): the options for the creation of the single NFT listing + itemName (required): the name of the NFT + sellerFee (required): the fee of the seller + itemAmount (required): the amount of the NFTs that can be minted + itemDescription (required): the description of the NFT + traits (required): the traits of the NFT [{trait_type: string, value: string}] + price (required): the price of the item, if is 0 the listing will be free + mainImageUrl (required): the main image of the NFT + coverImageUrl (optional): the cover image of the NFT + splHash (optional): the hash of the spl token, if not provided listing will be in $SOL isMainnet (required): defines is the tx takes places in mainnet `; @@ -2268,22 +2281,43 @@ export class Solana3LandCreateSingle extends Tool { protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); - const optionsWithBase58 = inputFormat.optionsWithBase58; - let collectionAccount = inputFormat.collectionAccount; - const createItemOptions = inputFormat.createItemOptions; + const privateKey = inputFormat.privateKey; const isMainnet = inputFormat.isMainnet; - if (!collectionAccount) { - collectionAccount = "Fpm8XgXEuNxxjmqUQuqEFkGusiSsKM6astUGPs5U9x6v"; - } + const optionsWithBase58: StoreInitOptions = { + ...(privateKey && { privateKey }), + ...(isMainnet && { isMainnet }), + }; - console.log( - "options inside 3land func: ", - optionsWithBase58, - collectionAccount, - createItemOptions, - isMainnet, - ); + let collectionAccount = inputFormat.collectionAccount; + + const itemName = inputFormat?.itemName; + const sellerFee = inputFormat?.sellerFee; + const itemAmount = inputFormat?.itemAmount; + const itemSymbol = inputFormat?.itemSymbol; + const itemDescription = inputFormat?.itemDescription; + const traits = inputFormat?.traits; + const price = inputFormat?.price; + const mainImageUrl = inputFormat?.mainImageUrl; + const coverImageUrl = inputFormat?.coverImageUrl; + const splHash = inputFormat?.splHash; + + const createItemOptions: CreateSingleOptions = { + ...(itemName && { itemName }), + ...(sellerFee && { sellerFee }), + ...(itemAmount && { itemAmount }), + ...(itemSymbol && { itemSymbol }), + ...(itemDescription && { itemDescription }), + ...(traits && { traits }), + ...(price && { price }), + ...(mainImageUrl && { mainImageUrl }), + ...(coverImageUrl && { coverImageUrl }), + ...(splHash && { splHash }), + }; + + if (!collectionAccount) { + throw new Error("Collection account is required"); + } const tx = await this.solanaKit.create3LandNft( optionsWithBase58, @@ -2306,6 +2340,68 @@ export class Solana3LandCreateSingle extends Tool { } } +export class Solana3LandCreateCollection extends Tool { + name = "3land_minting_tool"; + description = `Creates an NFT Collection that you can visit on 3.land's website (3.land/collection/{collectionAccount}) + + Inputs: + privateKey (required): represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string + isMainnet (required): defines is the tx takes places in mainnet + collectionSymbol (required): the symbol of the collection + collectionName (required): the name of the collection + collectionDescription (required): the description of the collection + mainImageUrl (required): the image of the collection + coverImageUrl (optional): the cover image of the collection + `; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const privateKey = inputFormat.privateKey; + const isMainnet = inputFormat.isMainnet; + + const optionsWithBase58: StoreInitOptions = { + ...(privateKey && { privateKey }), + ...(isMainnet && { isMainnet }), + }; + + const collectionSymbol = inputFormat?.collectionSymbol; + const collectionName = inputFormat?.collectionName; + const collectionDescription = inputFormat?.collectionDescription; + const mainImageUrl = inputFormat?.mainImageUrl; + const coverImageUrl = inputFormat?.coverImageUrl; + + const collectionOpts: CreateCollectionOptions = { + ...(collectionSymbol && { collectionSymbol }), + ...(collectionName && { collectionName }), + ...(collectionDescription && { collectionDescription }), + ...(mainImageUrl && { mainImageUrl }), + ...(coverImageUrl && { coverImageUrl }), + }; + + const tx = await this.solanaKit.create3LandCollection( + optionsWithBase58, + collectionOpts, + ); + return JSON.stringify({ + status: "success", + message: `Created Collection successfully ${tx}`, + transaction: tx, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), @@ -2358,6 +2454,8 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaCancelNFTListingTool(solanaKit), new SolanaFetchTokenReportSummaryTool(solanaKit), new SolanaFetchTokenDetailedReportTool(solanaKit), + new Solana3LandCreateSingle(solanaKit), + new Solana3LandCreateCollection(solanaKit), new SolanaPerpOpenTradeTool(solanaKit), new SolanaPerpCloseTradeTool(solanaKit), new SolanaFlashOpenTrade(solanaKit), diff --git a/tsconfig.json b/tsconfig.json index 17a3b25..0df003a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -22,8 +22,6 @@ "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "skipLibCheck": true, - "resolveJsonModule": true, - "allowSyntheticDefaultImports": true, }, "include": ["src/**/*"], "exclude": ["node_modules", "dist", "**/*.test.ts"] From 7b4c4ffc2ca1594d731cda7234072e38fdceece6 Mon Sep 17 00:00:00 2001 From: Victor Torres <86041666+biccsdev@users.noreply.github.com> Date: Sat, 4 Jan 2025 17:41:10 -0700 Subject: [PATCH 085/138] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 918c37d..c46e0c3 100644 --- a/README.md +++ b/README.md @@ -171,7 +171,7 @@ const createItemOptions: CreateSingleOptions = { mainImageUrl: "", splHash: "", //present if listing is on a specific SPL token, if not present sale will be on $SOL }; -const isMainnet = false; +const isMainnet = true; const result = await agent.create3LandNft( optionsWithBase58, collectionAccount, From 9892b39a0c36ff3b526165da3ff559275e4dbbd8 Mon Sep 17 00:00:00 2001 From: biccsdev Date: Mon, 6 Jan 2025 20:49:13 -0600 Subject: [PATCH 086/138] refactor --- package.json | 3 +- pnpm-lock.yaml | 114 +++-------------------------------------- src/langchain/index.ts | 2 +- test/tools/3land.ts | 2 +- 4 files changed, 11 insertions(+), 110 deletions(-) diff --git a/package.json b/package.json index 79d548c..70d54c7 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "author": "sendaifun", "license": "Apache-2.0", "dependencies": { - "@3land/listings-sdk": "^0.0.3", + "@3land/listings-sdk": "^0.0.4", "@ai-sdk/openai": "^1.0.11", "@bonfida/spl-name-service": "^3.0.7", "@cks-systems/manifest-sdk": "0.1.59", @@ -59,7 +59,6 @@ "form-data": "^4.0.1", "langchain": "^0.3.8", "openai": "^4.77.0", - "solana-agent-kit": "^1.3.6", "typedoc": "^0.27.6", "zod": "^3.24.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c69e7f9..c3efed5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,8 +10,8 @@ importers: .: dependencies: '@3land/listings-sdk': - specifier: ^0.0.3 - version: 0.0.3(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + specifier: ^0.0.4 + version: 0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@ai-sdk/openai': specifier: ^1.0.11 version: 1.0.11(zod@3.24.1) @@ -136,9 +136,6 @@ importers: openai: specifier: ^4.77.0 version: 4.77.3(zod@3.24.1) - solana-agent-kit: - specifier: ^1.3.6 - version: 1.3.6(@noble/hashes@1.7.0)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.0.0)(sodium-native@3.4.1)(typescript@5.7.2)(utf-8-validate@5.0.10) typedoc: specifier: ^0.27.6 version: 0.27.6(typescript@5.7.2) @@ -192,8 +189,8 @@ importers: packages: - '@3land/listings-sdk@0.0.3': - resolution: {integrity: sha512-nEv2c6VgXLTZ/Gw0UuYq0VqVkoDW8LP3rNrX5S+ROgsttWsju8C5joLbDKVgSARDzhajvlvCoXWSzh+C0dsL/Q==} + '@3land/listings-sdk@0.0.4': + resolution: {integrity: sha512-Ljq8R4e7y+wl4m8BGhiInFPCHEzHZZFz1qghnbc8B3bLEKXWM9+2gZOCAa84rdUKuLfzenEdeS2LclTKhdKTFQ==} '@ai-sdk/openai@1.0.11': resolution: {integrity: sha512-qI9s7Slma5i5bB4yYVlFdcG3PNDwdqivPT1Dr8adDX92nSSpILjgFIooS5yys9sXjvvcfOi/WXbDvVhLSRRlvg==} @@ -877,17 +874,7 @@ packages: '@shikijs/themes@1.26.1': resolution: {integrity: sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==} - '@shikijs/engine-oniguruma@1.26.1': - resolution: {integrity: sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==} - '@shikijs/langs@1.26.1': - resolution: {integrity: sha512-oz/TQiIqZejEIZbGtn68hbJijAOTtYH4TMMSWkWYozwqdpKR3EXgILneQy26WItmJjp3xVspHdiUxUCws4gtuw==} - - '@shikijs/themes@1.26.1': - resolution: {integrity: sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==} - - '@shikijs/types@1.26.1': - resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} '@shikijs/types@1.26.1': resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} @@ -3114,10 +3101,6 @@ packages: peerDependencies: sodium-native: ^3.2.0 - solana-agent-kit@1.3.6: - resolution: {integrity: sha512-dF7GcZw3ifWRkBkI57DZUlo0xhNlbr2WLm8Wce57DkAXDfzZxrui4NTcCifWODST3R5ypi3VerBch5MfK1PsUA==} - engines: {node: '>=22.0.0', pnpm: '>=8.0.0'} - space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -3548,7 +3531,7 @@ packages: snapshots: - '@3land/listings-sdk@0.0.3(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@3land/listings-sdk@0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -3873,6 +3856,7 @@ snapshots: ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 + '@ethersproject/abi@5.7.0': '@ethersproject/abi@5.7.0': dependencies: '@ethersproject/address': 5.7.0 @@ -4764,6 +4748,8 @@ snapshots: '@noble/ed25519@1.7.3': {} + '@noble/ed25519@1.7.3': {} + '@noble/hashes@1.4.0': {} '@noble/hashes@1.5.0': {} @@ -6096,7 +6082,6 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - buffer@6.0.3: buffer@6.0.3: dependencies: base64-js: 1.5.1 @@ -6406,7 +6391,6 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-prettier@9.1.0(eslint@8.57.1): eslint-config-prettier@9.1.0(eslint@8.57.1): dependencies: eslint: 8.57.1 @@ -7025,7 +7009,6 @@ snapshots: is-unicode-supported@0.1.0: {} - isexe@2.0.0: {} isexe@2.0.0: {} isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): @@ -7809,75 +7792,8 @@ snapshots: typedarray-to-buffer: 3.1.5 xsalsa20: 1.2.0 - solana-agent-kit@1.3.6(@noble/hashes@1.7.0)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.0.0)(sodium-native@3.4.1)(typescript@5.7.2)(utf-8-validate@5.0.10): - dependencies: - '@ai-sdk/openai': 1.0.11(zod@3.24.1) - '@bonfida/spl-name-service': 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@cks-systems/manifest-sdk': 0.1.73(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) - '@langchain/groq': 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) - '@langchain/langgraph': 0.2.38(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) - '@langchain/openai': 0.3.16(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) - '@lightprotocol/compressed-token': 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@metaplex-foundation/mpl-core': 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0) - '@metaplex-foundation/mpl-token-metadata': 3.3.0(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-bundle-defaults': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@onsol/tldparser': 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) - '@orca-so/whirlpools-sdk': 0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) - '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@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) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@tensor-oss/tensorswap-sdk': 4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@tiplink/api': 0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) - ai: 4.0.22(react@19.0.0)(zod@3.24.1) - 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 - langchain: 0.3.9(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))))(axios@1.7.9)(openai@4.77.3(zod@3.24.1)) - openai: 4.77.3(zod@3.24.1) - typedoc: 0.27.6(typescript@5.7.2) - zod: 3.24.1 - transitivePeerDependencies: - - '@langchain/anthropic' - - '@langchain/aws' - - '@langchain/cerebras' - - '@langchain/cohere' - - '@langchain/google-genai' - - '@langchain/google-vertexai' - - '@langchain/mistralai' - - '@langchain/ollama' - - '@noble/hashes' - - axios - - borsh - - buffer - - bufferutil - - cheerio - - debug - - encoding - - fastestsmallesttextencoderdecoder - - handlebars - - jiti - - peggy - - react - - sodium-native - - supports-color - - typeorm - - typescript - - utf-8-validate - space-separated-tokens@2.0.2: {} - spok@1.5.5: spok@1.5.5: dependencies: ansicolors: 0.3.2 @@ -8004,20 +7920,6 @@ snapshots: trim-lines@3.0.1: {} - ts-api-utils@1.4.3(typescript@5.7.2): - - toformat@2.0.0: {} - - toidentifier@1.0.1: {} - - toml@3.0.0: {} - - tr46@0.0.3: {} - - treeify@1.1.0: {} - - trim-lines@3.0.1: {} - ts-api-utils@1.4.3(typescript@5.7.2): dependencies: typescript: 5.7.2 diff --git a/src/langchain/index.ts b/src/langchain/index.ts index b49b78b..ecb3566 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -8,7 +8,7 @@ import { PythFetchPriceResponse, SolanaAgentKit, } from "../index"; -import { create_image, FEE_TIERS } from "../tools"; +import { create_image, FEE_TIERS, generateOrdersfromPattern } from "../tools"; import { CreateCollectionOptions, CreateSingleOptions, diff --git a/test/tools/3land.ts b/test/tools/3land.ts index b815240..aadc634 100644 --- a/test/tools/3land.ts +++ b/test/tools/3land.ts @@ -40,7 +40,7 @@ const collectionOpts: CreateCollectionOptions = { const collectionAccount = ""; const createItemOptions: CreateSingleOptions = { itemName: "", - sellerFee: 500, + sellerFee: 500, //5% itemAmount: 100, itemSymbol: "", itemDescription: "", From 02c3f226c3e589a17c7c04849f2d48d44248bef5 Mon Sep 17 00:00:00 2001 From: UjjwalGupta49 Date: Tue, 7 Jan 2025 15:12:29 +0530 Subject: [PATCH 087/138] read flash privilege from agent config --- src/tools/flash_close_trade.ts | 2 +- src/tools/flash_open_trade.ts | 2 +- src/utils/flashUtils.ts | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/tools/flash_close_trade.ts b/src/tools/flash_close_trade.ts index 3a1e4e9..c30d0b6 100644 --- a/src/tools/flash_close_trade.ts +++ b/src/tools/flash_close_trade.ts @@ -94,7 +94,7 @@ export async function flashCloseTrade( priceWithSlippage, sideEnum, poolConfig, - get_flash_privilege(), + get_flash_privilege(agent), tradingAccounts.nftTradingAccountPk, tradingAccounts.nftReferralAccountPK, tradingAccounts.nftOwnerRebateTokenAccountPk, diff --git a/src/tools/flash_open_trade.ts b/src/tools/flash_open_trade.ts index 8e1af4e..6a646dc 100644 --- a/src/tools/flash_open_trade.ts +++ b/src/tools/flash_open_trade.ts @@ -141,7 +141,7 @@ export async function flashOpenTrade( positionSize, side === "long" ? Side.Long : Side.Short, poolConfig, - get_flash_privilege(), + get_flash_privilege(agent), tradingAccounts.nftTradingAccountPk, tradingAccounts.nftReferralAccountPK, tradingAccounts.nftOwnerRebateTokenAccountPk!, diff --git a/src/utils/flashUtils.ts b/src/utils/flashUtils.ts index a583690..5008d85 100644 --- a/src/utils/flashUtils.ts +++ b/src/utils/flashUtils.ts @@ -10,6 +10,7 @@ import { } from "flash-sdk"; import { Cluster, PublicKey, Connection, Keypair } from "@solana/web3.js"; import { getAssociatedTokenAddressSync } from "@solana/spl-token"; +import { SolanaAgentKit } from "../index"; const POOL_NAMES = [ "Crypto.1", @@ -285,9 +286,9 @@ export function createPerpClient( ); } -const FLASH_PRIVILEGE = process.env.FLASH_PRIVILEGE || "None"; +export function get_flash_privilege(agent: SolanaAgentKit): Privilege { + const FLASH_PRIVILEGE = agent.config.FLASH_PRIVILEGE || "None"; -export function get_flash_privilege(): Privilege { switch (FLASH_PRIVILEGE.toLowerCase()) { case "referral": return Privilege.Referral; From d12f23451f3087b65cf5396c482195dfa0fc98ed Mon Sep 17 00:00:00 2001 From: Scriptscrypt Date: Tue, 7 Jan 2025 20:13:30 +0530 Subject: [PATCH 088/138] Feat: README w docs --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 84e5096..7b73eb4 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,9 @@ Anyone - whether an SF-based AI researcher or a crypto-native builder - can brin - Price feed integration for market analysis - Automated decision-making capabilities +## 📃 Documentation +You can view the full documentation of the kit at [docs.solanaagentkit.xyz](https://docs.solanaagentkit.xyz) + ## 📦 Installation ```bash @@ -362,4 +365,4 @@ Solana Network : EKHTbXpsm6YDgJzMkFxNU1LNXeWcUW7Ezf8mjUNQQ4Pa ## Security -This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys. +This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys. \ No newline at end of file From 21798bfa7740f8334b7ca457ecc6043f6fa93ac0 Mon Sep 17 00:00:00 2001 From: Scriptscrypt Date: Tue, 7 Jan 2025 20:13:58 +0530 Subject: [PATCH 089/138] Chore: Readme to Ignore pattern --- .eslintrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc b/.eslintrc index e619c84..ab3836d 100644 --- a/.eslintrc +++ b/.eslintrc @@ -7,7 +7,7 @@ "plugin:@typescript-eslint/recommended", "prettier" ], - "ignorePatterns": ["examples/**/*", "src/utils/keypair.ts", "test/**/*"], + "ignorePatterns": ["examples/**/*", "src/utils/keypair.ts", "test/**/*", "README.md"], "rules": { "prettier/prettier": "error", "no-constant-condition": "off", From e8338d1acc5f4c44aab290a412f7382e816b7961 Mon Sep 17 00:00:00 2001 From: Scriptscrypt Date: Tue, 7 Jan 2025 20:21:28 +0530 Subject: [PATCH 090/138] Fix: Readme --- .eslintrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc b/.eslintrc index ab3836d..e619c84 100644 --- a/.eslintrc +++ b/.eslintrc @@ -7,7 +7,7 @@ "plugin:@typescript-eslint/recommended", "prettier" ], - "ignorePatterns": ["examples/**/*", "src/utils/keypair.ts", "test/**/*", "README.md"], + "ignorePatterns": ["examples/**/*", "src/utils/keypair.ts", "test/**/*"], "rules": { "prettier/prettier": "error", "no-constant-condition": "off", From 75af298812e30e5732105c04ebac9fb6826bde28 Mon Sep 17 00:00:00 2001 From: aryan Date: Wed, 8 Jan 2025 22:43:19 +0530 Subject: [PATCH 091/138] fix: lint --- .lintstagedrc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.lintstagedrc b/.lintstagedrc index d2aefcf..021c8d8 100644 --- a/.lintstagedrc +++ b/.lintstagedrc @@ -1,6 +1,5 @@ { - "**/*.+(js|jsx|css|less|scss|ts|tsx|md)": [ - "prettier --write", - "eslint --fix" + "**/*.+(ts|tsx)": [ + "eslint . --ext .ts --fix" ] -} \ No newline at end of file +} From b4b36e5adb177c68e40192898ac15df89b3e55dc Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Thu, 9 Jan 2025 21:13:00 +0100 Subject: [PATCH 092/138] feat: add drift vault tools --- package.json | 7 +- pnpm-lock.yaml | 1696 +++++++++++++++++++++++++++++++++++++- src/tools/drift_vault.ts | 507 ++++++++++++ 3 files changed, 2193 insertions(+), 17 deletions(-) create mode 100644 src/tools/drift_vault.ts diff --git a/package.json b/package.json index 70d54c7..1f641c8 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,9 @@ "@ai-sdk/openai": "^1.0.11", "@bonfida/spl-name-service": "^3.0.7", "@cks-systems/manifest-sdk": "0.1.59", - "@coral-xyz/anchor": "0.29", + "@coral-xyz/anchor": "~0.29.0", + "@drift-labs/sdk": "2.107.0-beta.1", + "@drift-labs/vaults-sdk": "^0.2.46", "@langchain/core": "^0.3.26", "@langchain/groq": "^0.1.2", "@langchain/langgraph": "^0.2.36", @@ -76,5 +78,6 @@ "prettier": "^3.4.2", "ts-node": "^10.9.2", "typescript": "^5.7.2" - } + }, + "packageManager": "pnpm@9.15.3" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 55c2dca..40b31cd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,8 +21,14 @@ importers: specifier: 0.1.59 version: 0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@coral-xyz/anchor': - specifier: '0.29' + specifier: ~0.29.0 version: 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@drift-labs/sdk': + specifier: 2.107.0-beta.1 + version: 2.107.0-beta.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@drift-labs/vaults-sdk': + specifier: ^0.2.46 + version: 0.2.46(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10) '@langchain/core': specifier: ^0.3.26 version: 0.3.27(openai@4.77.3(zod@3.24.1)) @@ -234,12 +240,19 @@ packages: peerDependencies: '@solana/web3.js': ^1.87.3 + '@brokerloop/ttlcache@3.2.3': + resolution: {integrity: sha512-kZWoyJGBYTv1cL5oHBYEixlJysJBf2RVnub3gbclD+dwaW9aKubbHzbZ9q1q6bONosxaOqMsoBorOrZKzBDiqg==} + '@cfworker/json-schema@4.0.3': resolution: {integrity: sha512-ZykIcDTVv5UNmKWSTLAs3VukO6NDJkkSKxrgUTDPBkAlORVT3H9n5DbRjRl8xIotklscHdbLIa0b9+y3mQq73g==} '@cks-systems/manifest-sdk@0.1.59': resolution: {integrity: sha512-ZYTwwDxrC2u74kF30iWZPZPYXB9MtOydLd4/SQdlMXrb6bj1OooMtZxukSCu/Tlkp+KR26bEr6gYuErFHdUFjg==} + '@coral-xyz/anchor-errors@0.30.1': + resolution: {integrity: sha512-9Mkradf5yS5xiLWrl9WrpjqOrAV+/W2RQHDlbnAZBivoGpOs1ECjoDCkVk4aRG8ZdiFiB8zQEVlxf+8fKkmSfQ==} + engines: {node: '>=10'} + '@coral-xyz/anchor@0.26.0': resolution: {integrity: sha512-PxRl+wu5YyptWiR9F2MBHOLLibm87Z4IMUBPreX+DYBtPM+xggvcPi0KAN7+kIL4IrIhXI8ma5V0MCXxSN1pHg==} engines: {node: '>=11'} @@ -248,10 +261,18 @@ packages: resolution: {integrity: sha512-+P/vPdORawvg3A9Wj02iquxb4T0C5m4P6aZBVYysKl4Amk+r6aMPZkUhilBkD6E4Nuxnoajv3CFykUfkGE0n5g==} engines: {node: '>=11'} + '@coral-xyz/anchor@0.28.0': + resolution: {integrity: sha512-kQ02Hv2ZqxtWP30WN1d4xxT4QqlOXYDxmEd3k/bbneqhV3X5QMO4LAtoUFs7otxyivOgoqam5Il5qx81FuI4vw==} + engines: {node: '>=11'} + '@coral-xyz/anchor@0.29.0': resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} engines: {node: '>=11'} + '@coral-xyz/anchor@0.30.1': + resolution: {integrity: sha512-gDXFoF5oHgpriXAaLpxyWBHdCs8Awgf/gLHIo6crv7Aqm937CNdY+x+6hoj7QR5vaJV7MxWSQ0NGFzL3kPbWEQ==} + engines: {node: '>=11'} + '@coral-xyz/borsh@0.26.0': resolution: {integrity: sha512-uCZ0xus0CszQPHYfWAqKS5swS1UxvePu83oOF+TWpUkedsNlg6p2p4azxZNSSqwXb9uXMFgxhuMBX9r3Xoi0vQ==} engines: {node: '>=10'} @@ -286,6 +307,17 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@drift-labs/sdk@2.107.0-beta.1': + resolution: {integrity: sha512-BbmZbVSE9XYh5W5pxfYbgntjU088X3JKzrrzFaLjngugVRNIWqMu6u0x0ugK+4ynzJcPPcyRg4rYvPmN7Ofg8g==} + engines: {node: '>=20.18.0'} + + '@drift-labs/vaults-sdk@0.2.46': + resolution: {integrity: sha512-u0OO7Nfhgr9B06CNX3VDXQNqACUWrznWKaYnS3/v/yM/oUSfq+zO1z3MCRnqcdTcbmF7BwmvB2haCoj/6flkhw==} + engines: {node: '>=16'} + + '@ellipsis-labs/phoenix-sdk@1.4.5': + resolution: {integrity: sha512-vEYgMXuV5/mpnpEi+VK4HO8f6SheHtVLdHHlULBiDN1eECYmL67gq+/cRV7Ar6jAQ7rJZL7xBxhbUW5kugMl6A==} + '@eslint-community/eslint-utils@4.4.1': resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -424,6 +456,15 @@ packages: '@gerrit0/mini-shiki@1.26.1': resolution: {integrity: sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==} + '@grpc/grpc-js@1.12.5': + resolution: {integrity: sha512-d3iiHxdpg5+ZcJ6jnDSOT8Z0O0VMVGy34jAnYLUX8yd36b1qn8f1TwOA/Lc7TsOh03IkPJ38eGI5qD2EjNkoEA==} + engines: {node: '>=12.10.0'} + + '@grpc/proto-loader@0.7.13': + resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==} + engines: {node: '>=6'} + hasBin: true + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -456,10 +497,20 @@ packages: '@irys/arweave@0.0.2': resolution: {integrity: sha512-ddE5h4qXbl0xfGlxrtBIwzflaxZUDlDs43TuT0u1OMfyobHul4AA1VEX72Rpzw2bOh4vzoytSqA1jCM7x9YtHg==} + '@irys/query@0.0.1': + resolution: {integrity: sha512-7TCyR+Qn+F54IQQx5PlERgqNwgIQik8hY55iZl/silTHhCo1MI2pvx5BozqPUVCc8/KqRsc2nZd8Bc29XGUjRQ==} + engines: {node: '>=16.10.0'} + '@irys/query@0.0.8': resolution: {integrity: sha512-J8zCZDos2vFogSbroCJHZJq5gnPZEal01Iy3duXAotjIMgrI2ElDANiqEbaP1JAImR1jdUo1ChJnZB7MRLN9Hw==} engines: {node: '>=16.10.0'} + '@irys/sdk@0.0.2': + resolution: {integrity: sha512-un/e/CmTpgT042gDwCN3AtISrR9OYGMY6V+442pFmSWKrwrsDoIXZ8VlLiYKnrtTm+yquGhjfYy0LDqGWq41pA==} + engines: {node: '>=16.10.0'} + deprecated: 'Arweave support is deprecated - We recommend migrating to the Irys datachain: https://migrate-to.irys.xyz/' + hasBin: true + '@irys/sdk@0.2.11': resolution: {integrity: sha512-z3zKlKYEqRHuCGyyVoikL1lT4Jwt8wv7e4MrMThNfhfT/bdKQHD9lEVsX77DBnLJrBBKKg5rRcEzMtVkpNx3QA==} engines: {node: '>=16.10.0'} @@ -480,6 +531,9 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@js-sdsl/ordered-map@4.4.2': + resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + '@langchain/core@0.3.27': resolution: {integrity: sha512-jtJKbJWB1NPU1YvtrExOB2rumvUFgkJwlWGxyjSIV9A6zcLVmUbcZGV8fCSuXgl5bbzOIQLJ1xcLYQmbW9TkTg==} engines: {node: '>=18'} @@ -517,6 +571,36 @@ packages: peerDependencies: '@langchain/core': '>=0.2.21 <0.4.0' + '@ledgerhq/devices@6.27.1': + resolution: {integrity: sha512-jX++oy89jtv7Dp2X6gwt3MMkoajel80JFWcdc0HCouwDsV1mVJ3SQdwl/bQU0zd8HI6KebvUP95QTwbQLLK/RQ==} + + '@ledgerhq/devices@8.4.4': + resolution: {integrity: sha512-sz/ryhe/R687RHtevIE9RlKaV8kkKykUV4k29e7GAVwzHX1gqG+O75cu1NCJUHLbp3eABV5FdvZejqRUlLis9A==} + + '@ledgerhq/errors@6.19.1': + resolution: {integrity: sha512-75yK7Nnit/Gp7gdrJAz0ipp31CCgncRp+evWt6QawQEtQKYEDfGo10QywgrrBBixeRxwnMy1DP6g2oCWRf1bjw==} + + '@ledgerhq/hw-app-solana@7.2.4': + resolution: {integrity: sha512-1k6XdTFNUJyk9GpXtymPRYq+OdMPIkPZ681ZkrMdSquTJV7W0LgK2oq1BacOVaVe6yDZKEqdR10RUTalhX1Mjg==} + + '@ledgerhq/hw-transport-node-hid-noevents@6.30.5': + resolution: {integrity: sha512-nOPbhFU87LgLERVAQ+HhxV8E8c+7d8ptllkgiJUc4QwL2z9zkIOAEtgdvCaZ066Oi9XGnln/GF1oAgByYnYDPw==} + + '@ledgerhq/hw-transport-node-hid@6.29.5': + resolution: {integrity: sha512-2bAp4K50V1kdCufU9JdQPcw4aLyvA+yQRJU/X39B+PC+rnis40gEbqNh0henhzv876sXdbNk6G/MkDWXpwDIow==} + + '@ledgerhq/hw-transport-webhid@6.27.1': + resolution: {integrity: sha512-u74rBYlibpbyGblSn74fRs2pMM19gEAkYhfVibq0RE1GNFjxDMFC1n7Sb+93Jqmz8flyfB4UFJsxs8/l1tm2Kw==} + + '@ledgerhq/hw-transport@6.27.1': + resolution: {integrity: sha512-hnE4/Fq1YzQI4PA1W0H8tCkI99R3UWDb3pJeZd6/Xs4Qw/q1uiQO+vNLC6KIPPhK0IajUfuI/P2jk0qWcMsuAQ==} + + '@ledgerhq/hw-transport@6.31.4': + resolution: {integrity: sha512-6c1ir/cXWJm5dCWdq55NPgCJ3UuKuuxRvf//Xs36Bq9BwkV2YaRQhZITAkads83l07NAdR16hkTWqqpwFMaI6A==} + + '@ledgerhq/logs@6.12.0': + resolution: {integrity: sha512-ExDoj1QV5eC6TEbMdLUMMk9cfvNKhhv5gXol4SmULRVCx/3iyCPhJ74nsb3S0Vb+/f+XujBEj3vQn5+cwS0fNA==} + '@lightprotocol/compressed-token@0.17.1': resolution: {integrity: sha512-493KCmZGw1BcHVRJaeRm8EEs+L7gX8dwY7JG13w2pfgOMtZXZ7Wxt261jFJxQJzRLTrUSlrbRJOmfW1+S1Y8SQ==} peerDependencies: @@ -549,12 +633,28 @@ packages: '@metaplex-foundation/cusper@0.0.2': resolution: {integrity: sha512-S9RulC2fFCFOQraz61bij+5YCHhSO9llJegK8c8Y6731fSi6snUSQJdCUqYS8AIgR0TKbQvdvgSyIIdbDFZbBA==} + '@metaplex-foundation/js@0.20.1': + resolution: {integrity: sha512-aqiLoEiToXdfI5pS+17/GN/dIO2D31gLoVQvEKDQi9XcnOPVhfJerXDmwgKbhp79OGoYxtlvVw+b2suacoUzGQ==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + '@metaplex-foundation/mpl-auction-house@2.5.1': resolution: {integrity: sha512-O+IAdYVaoOvgACB8pm+1lF5BNEjl0COkqny2Ho8KQZwka6aC/vHbZ239yRwAMtJhf5992BPFdT4oifjyE0O+Mw==} + '@metaplex-foundation/mpl-bubblegum@0.6.2': + resolution: {integrity: sha512-4tF7/FFSNtpozuIGD7gMKcqK2D49eVXZ144xiowC5H1iBeu009/oj2m8Tj6n4DpYFKWJ2JQhhhk0a2q7x0Begw==} + '@metaplex-foundation/mpl-bubblegum@0.7.0': resolution: {integrity: sha512-HCo6q+nh8M3KRv9/aUaZcJo5/vPJEeZwPGRDWkqN7lUXoMIvhd83fZi7MB1rIg1gwpVHfHqim0A02LCYKisWFg==} + '@metaplex-foundation/mpl-candy-guard@0.3.2': + resolution: {integrity: sha512-QWXzPDz+6OR3957LtfW6/rcGvFWS/0AeHJa/BUO2VEVQxN769dupsKGtrsS8o5RzXCeap3wrCtDSNxN3dnWu4Q==} + + '@metaplex-foundation/mpl-candy-machine-core@0.1.2': + resolution: {integrity: sha512-jjDkRvMR+iykt7guQ7qVnOHTZedql0lq3xqWDMaenAUCH3Xrf2zKATThhJppIVNX1/YtgBOO3lGqhaFbaI4pCw==} + + '@metaplex-foundation/mpl-candy-machine@5.1.0': + resolution: {integrity: sha512-pjHpUpWVOCDxK3l6dXxfmJKNQmbjBqnm5ElOl1mJAygnzO8NIPQvrP89y6xSNyo8qZsJyt4ZMYUyD0TdbtKZXQ==} + '@metaplex-foundation/mpl-core@1.1.1': resolution: {integrity: sha512-h1kLw+cGaV8SiykoHDb1/G01+VYqtJXAt0uGuO5+2Towsdtc6ET4M62iqUnh4EacTVMIW1yYHsKsG/LYWBCKaA==} peerDependencies: @@ -717,6 +817,9 @@ packages: '@noble/ed25519@1.7.3': resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} + '@noble/hashes@1.1.3': + resolution: {integrity: sha512-CE0FCR57H2acVI5UOzIGSSIYxZ6v/HOhDR0Ro9VLyhnzLwx0o8W1mmgaqlEUx4049qJDlIBRztv5k+MM8vbO3A==} + '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -750,6 +853,9 @@ packages: borsh: ^0.7.0 buffer: 6.0.1 + '@openbook-dex/openbook-v2@0.2.10': + resolution: {integrity: sha512-JOroVQHeia+RbghpluDJB5psUIhdhYRPLu0zWoG0h5vgDU4SjXwlcC+LJiIa2HVPasvZjWuCtlKWFyrOS75lOA==} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -778,15 +884,62 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@project-serum/anchor@0.11.1': + resolution: {integrity: sha512-oIdm4vTJkUy6GmE6JgqDAuQPKI7XM4TPJkjtoIzp69RZe0iAD9JP2XHx7lV1jLdYXeYHqDXfBt3zcq7W91K6PA==} + engines: {node: '>=11'} + '@project-serum/anchor@0.26.0': resolution: {integrity: sha512-Nq+COIjE1135T7qfnOHEn7E0q39bQTgXLFk837/rgFe6Hkew9WML7eHsS+lSYD2p3OJaTiUOHTAq1lHy36oIqQ==} engines: {node: '>=11'} + '@project-serum/borsh@0.2.5': + resolution: {integrity: sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.2.0 + + '@project-serum/serum@0.13.65': + resolution: {integrity: sha512-BHRqsTqPSfFB5p+MgI2pjvMBAQtO8ibTK2fYY96boIFkCI3TTwXDt2gUmspeChKO2pqHr5aKevmexzAcXxrSRA==} + engines: {node: '>=10'} + + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@pythnetwork/client@2.22.0': resolution: {integrity: sha512-Cyv23YqewKUL1pcm99jfmdetUa2aaUXjyRF9jvSeFcY895FddRu7uSWftYiaevsnx7vn4WbJgQR6ExxH+aONow==} peerDependencies: '@solana/web3.js': ^1.30.2 + '@pythnetwork/client@2.5.3': + resolution: {integrity: sha512-NBLxPnA6A3tZb/DYUooD4SO63UJ70s9DzzFPGXcQNBR9itcycp7aaV+UA5oUPloD/4UHL9soo2fRuDVur0gmhA==} + '@pythnetwork/hermes-client@1.3.0': resolution: {integrity: sha512-SneB+LJSD6pNnG2JUuAgbHNi1qFDcnrIiMuU60FQxZMtIWP09YFMR64vxWxVawyqR93t0iQHcV5HT/hhfmqYOQ==} @@ -794,9 +947,18 @@ packages: 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.7.1': + resolution: {integrity: sha512-xr2boVXTyv1KUt/c6llUTfbv2jpud99pWlMJbFaHGUBoygQsByuy7WbjIJKZ+0Blg1itLZl0Lp/pJGGg8SdJoQ==} + '@pythnetwork/price-service-sdk@1.8.0': resolution: {integrity: sha512-tFZ1thj3Zja06DzPIX2dEWSi7kIfIyqreoywvw5NQ3Z1pl5OJHQGMEhxt6Li3UCGSp2ooYZS9wl8/8XfrfrNSA==} + '@pythnetwork/pyth-solana-receiver@0.7.0': + resolution: {integrity: sha512-OoEAHh92RPRdKkfjkcKGrjC+t0F3SEL754iKFmixN9zyS8pIfZSVfFntmkHa9pWmqEMxdx/i925a8B5ny8Tuvg==} + + '@pythnetwork/solana-utils@0.4.3': + resolution: {integrity: sha512-aMiVPtye3H2XFWXV8Hlgyp+oHXsAdt6d2FG0xhdTGDWssTnL4e9r7I8XBcucKHQkMDUhLN1bNeNOZcSBVyp9mg==} + '@randlabs/communication-bridge@1.0.1': resolution: {integrity: sha512-CzS0U8IFfXNK7QaJFE4pjbxDGfPjbXBEsEaCn9FN15F+ouSAEUQkva3Gl66hrkBZOGexKFEWMwUHIDKpZ2hfVg==} @@ -824,6 +986,9 @@ packages: '@scure/bip32@1.4.0': resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + '@scure/bip39@1.1.0': + resolution: {integrity: sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==} + '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} @@ -998,6 +1163,12 @@ packages: peerDependencies: '@solana/web3.js': ^1.88.0 + '@solana/spl-token@0.3.7': + resolution: {integrity: sha512-bKGxWTtIw6VDdCBngjtsGlKGLSmiu/8ghSt/IOYJV24BsymRbgq7r12GToeetpxmPaZYLddKwAz7+EwprLfkfg==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.47.4 + '@solana/spl-token@0.4.6': resolution: {integrity: sha512-1nCnUqfHVtdguFciVWaY/RKcQz1IF4b31jnKgAmjU9QVN1q7dRUkTEWJZgTYIEtsULjVnC9jRqlhgGN39WbKKA==} engines: {node: '>=16'} @@ -1020,6 +1191,28 @@ packages: resolution: {integrity: sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA==} engines: {node: '>=16'} + '@solana/wallet-adapter-base@0.9.23': + resolution: {integrity: sha512-apqMuYwFp1jFi55NxDfvXUX2x1T0Zh07MxhZ/nCCTGys5raSfYUh82zen2BLv8BSDj/JxZ2P/s7jrQZGrX8uAw==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.77.3 + + '@solana/wallet-adapter-ledger@0.9.25': + resolution: {integrity: sha512-59yD3aveLwlzXqk4zBCaPLobeqAhmtMxPizfUBOjzwRKyepi1Nnnt9AC9Af3JrweU2x4qySRxAaZfU/iNqJ3rQ==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.77.3 + + '@solana/wallet-standard-features@1.2.0': + resolution: {integrity: sha512-tUd9srDLkRpe1BYg7we+c4UhRQkq+XQWswsr/L1xfGmoRDF47BPSXf4zE7ZU2GRBGvxtGt7lwJVAufQyQYhxTQ==} + engines: {node: '>=16'} + + '@solana/web3.js@1.77.4': + resolution: {integrity: sha512-XdN0Lh4jdY7J8FYMyucxCwzn6Ga2Sr1DHDWRbqVzk7ZPmmpSPOVWHzO67X1cVT+jNi1D6gZi2tgjHgDPuj6e9Q==} + + '@solana/web3.js@1.92.3': + resolution: {integrity: sha512-NVBWvb9zdJIAx6X+caXaIICCEQfQaQ8ygykCjJW4u2z/sIKcvPj3ZIIllnx0MWMc3IxGq15ozGYDOQIMbwUcHw==} + '@solana/web3.js@1.95.3': resolution: {integrity: sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og==} @@ -1029,6 +1222,12 @@ packages: '@solana/web3.js@1.98.0': resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + '@solworks/soltoolkit-sdk@0.0.23': + resolution: {integrity: sha512-O6lXT3EBR4gmcjt0/33i97VMHVEImwXGi+4TNrDDdifn3tyOUB7V6PR1VGxlavQb9hqmVai3xhedg/rmbQzX7w==} + + '@soncodi/signal@2.0.7': + resolution: {integrity: sha512-zA2oZluZmVvgZEDjF243KWD1S2J+1SH1MVynI0O1KRgDt1lU8nqk7AK3oQfW/WpwT51L5waGSU0xKF/9BTP5Cw==} + '@supercharge/promise-pool@3.2.0': resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} engines: {node: '>=8'} @@ -1036,6 +1235,14 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@switchboard-xyz/common@2.5.12': + resolution: {integrity: sha512-D10cYwo0nMk8Y/jiz8hhyN0yhDIohdpXURVRF7E+co8qQ5a4kqs38yIKQFLkCyY4xlKHdTFNl91wWm2B8ZKCCg==} + engines: {node: '>=12'} + + '@switchboard-xyz/on-demand@1.2.42': + resolution: {integrity: sha512-Q2qMpBM95RIDhGWA5vqRrAySRYncWKa7QWpAwLaIu5xPZMlSqNo12+lX30fUnqTWVeIXey/rp/3n6yOJLBsjjA==} + engines: {node: '>= 18'} + '@szmarczak/http-timer@4.0.6': resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} @@ -1049,6 +1256,10 @@ packages: '@tiplink/api@0.3.1': resolution: {integrity: sha512-HjnXethjKOHTYT0IP1BewlMS7wZJ+hsoDgRa6jA1cNvxvwQjE1WHOyvOUPpAi+DJDw4P4/omFtyHr7dwLfnB/g==} + '@triton-one/yellowstone-grpc@1.3.0': + resolution: {integrity: sha512-tuwHtoYzvqnahsMrecfNNkQceCYwgiY0qKS8RwqtaxvDEgjm0E+0bXwKz2eUD3ZFYifomJmRKDmSBx9yQzAeMQ==} + engines: {node: '>=20.18.0'} + '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -1163,6 +1374,9 @@ packages: '@types/uuid@8.3.4': resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + '@types/w3c-web-usb@1.0.10': + resolution: {integrity: sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ==} + '@types/ws@7.4.7': resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} @@ -1219,6 +1433,14 @@ packages: '@ungap/structured-clone@1.2.1': resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + '@wallet-standard/base@1.1.0': + resolution: {integrity: sha512-DJDQhjKmSNVLKWItoKThJS+CsJQjR9AOBOirBVT1F9YpRyC9oYHE+ZnSf8y8bxUphtKqdQMPVQ2mHohYdRvDVQ==} + engines: {node: '>=16'} + + '@wallet-standard/features@1.1.0': + resolution: {integrity: sha512-hiEivWNztx73s+7iLxsuD1sOJ28xtRix58W7Xnz4XzzA/pF0+aicnWgjOdA10doVDEDZdUuZCIIqG96SFNlDUg==} + engines: {node: '>=16'} + '@zodios/core@10.9.6': resolution: {integrity: sha512-aH4rOdb3AcezN7ws8vDgBfGboZMk2JGGzEq/DtW65MhnRxyTGRuLJRWVQ/2KxDgWvV2F5oTkAS+5pnjKbl0n+A==} peerDependencies: @@ -1281,6 +1503,14 @@ packages: resolution: {integrity: sha512-9moZxdqeJ6GdE4N6fA/GlUP4LrbLZMYcYkt141J4Ss68OfEgH9qW0wBuZ3ZOKEx/xjc5bg7mLP2Gjg7nwrkmww==} engines: {node: '>=14.0.0'} + anchor-bankrun@0.3.0: + resolution: {integrity: sha512-PYBW5fWX+iGicIS5MIM/omhk1tQPUc0ELAnI/IkLKQJ6d75De/CQRh8MF2bU/TgGyFi6zEel80wUe3uRol9RrQ==} + engines: {node: '>= 10'} + peerDependencies: + '@coral-xyz/anchor': ^0.28.0 + '@solana/web3.js': ^1.78.4 + solana-bankrun: ^0.2.0 + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -1312,6 +1542,14 @@ packages: ansicolors@0.3.2: resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + aptos@1.8.5: + resolution: {integrity: sha512-iQxliWesNHjGQ5YYXCyss9eg4+bDGQWqAZa73vprqGQ9tungK0cRjUI2fmnp63Ed6UG6rurHrL+b0ckbZAOZZQ==} + engines: {node: '>=11.0.0'} + deprecated: Package aptos is no longer supported, please migrate to https://www.npmjs.com/package/@aptos-labs/ts-sdk + + arbundles@0.10.1: + resolution: {integrity: sha512-QYFepxessLCirvRkQK9iQmjxjHz+s50lMNGRwZwpyPWLohuf6ISyj1gkFXJHlMT+rNSrsHxb532glHnKbjwu3A==} + arbundles@0.11.2: resolution: {integrity: sha512-vyX7vY6S8B4RFhGSoCixbnR/Z7ckpJjK+b/H7zcgRWJqqXjZqQ+3DQIJ19vKl5AvzNSsj5ja9kQDoZhMiGpBFw==} @@ -1359,6 +1597,9 @@ packages: axios-retry@3.9.1: resolution: {integrity: sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==} + axios@0.27.2: + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + axios@0.28.1: resolution: {integrity: sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==} @@ -1410,6 +1651,9 @@ packages: bintrees@1.0.2: resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} + bip32-path@0.4.2: + resolution: {integrity: sha512-ZBMCELjJfcNMkz5bDuJ1WrYvjlhEF5k6mQ8vUr4N7MbVRsXei7ZOg8VhhwMfNiW68NWmLkgkc6WvTickrLGprQ==} + bip39-light@1.0.7: resolution: {integrity: sha512-WDTmLRQUsiioBdTs9BmSEmkJza+8xfJmptsNJjxnoq3EydSa/ZBXT6rm66KoT3PJIRYMnhSKNR7S9YL1l7R40Q==} @@ -1511,6 +1755,10 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} @@ -1543,6 +1791,9 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + cipher-base@1.0.6: resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} engines: {node: '>= 0.10'} @@ -1567,6 +1818,10 @@ packages: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + clone-response@1.0.3: resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} @@ -1574,6 +1829,10 @@ packages: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -1595,6 +1854,10 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} @@ -1633,6 +1896,9 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + cron-validator@1.3.1: + resolution: {integrity: sha512-C1HsxuPCY/5opR55G5/WNzyEGDWFVG+6GLrA+fW/sCTcP6A6NTjUP2AK7B8n2PyFs90kDG2qzwm8LMheADku6A==} + cross-fetch@3.2.0: resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} @@ -1705,6 +1971,10 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -1747,6 +2017,10 @@ packages: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -1768,6 +2042,10 @@ packages: resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} engines: {node: '>=10'} + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + dotenv@16.4.7: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} @@ -1840,6 +2118,10 @@ packages: es6-promisify@5.0.0: resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -1951,6 +2233,10 @@ packages: eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + eventsource-parser@3.0.0: resolution: {integrity: sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==} engines: {node: '>=18.0.0'} @@ -1963,6 +2249,10 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} @@ -2044,6 +2334,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + find@0.3.0: + resolution: {integrity: sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw==} + flash-sdk@2.24.3: resolution: {integrity: sha512-3JdmHZksBgcRlCXVVFZEV64NGKxVHURHoHAMc3+Ev1BdN0Re2S44wxTaQmO6EIvwPYscVG0BPbp6GibpEuMdsw==} @@ -2077,6 +2370,10 @@ packages: form-data-encoder@1.7.2: resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + form-data@4.0.1: resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} @@ -2097,6 +2394,9 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2106,6 +2406,10 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.3.0: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} @@ -2126,6 +2430,9 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2269,6 +2576,9 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + inquirer@8.2.6: resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} engines: {node: '>=12.0.0'} @@ -2379,6 +2689,9 @@ packages: engines: {node: '>=8'} hasBin: true + jito-ts@3.0.1: + resolution: {integrity: sha512-TSofF7KqcwyaWGjPaSYC8RDoNBY1TPRNBHdrw24bdIi7mQ5bFEDdYK3D//llw/ml8YDvcZlgd644WxhjLTS9yg==} + js-base64@3.7.7: resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} @@ -2550,6 +2863,15 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -2568,6 +2890,9 @@ packages: resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} engines: {node: '>= 0.6.0'} + long@5.2.3: + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + loupe@3.1.2: resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} @@ -2668,6 +2993,11 @@ packages: engines: {node: '>=4'} hasBin: true + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -2716,6 +3046,9 @@ packages: resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} engines: {node: '>= 8.0.0'} + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -2732,11 +3065,19 @@ packages: mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + nanoid@3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -2753,12 +3094,26 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + node-abi@3.71.0: + resolution: {integrity: sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==} + engines: {node: '>=10'} + node-addon-api@2.0.2: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + node-addon-api@3.2.1: + resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} + node-addon-api@5.1.0: resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + + node-cache@5.1.2: + resolution: {integrity: sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==} + engines: {node: '>= 8.0.0'} + node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -2780,6 +3135,11 @@ packages: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true + node-hid@2.1.2: + resolution: {integrity: sha512-qhCyQqrPpP93F/6Wc/xUR7L8mAJW0Z6R7HMQV8jCHHksAxNDe/4z4Un/H9CpLOT+5K39OPyt9tIQlavxWES3lg==} + engines: {node: '>=10'} + hasBin: true + normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} @@ -2956,6 +3316,11 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} + prebuild-install@7.1.2: + resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} + engines: {node: '>=10'} + hasBin: true + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2985,6 +3350,10 @@ packages: property-information@6.5.0: resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + protobufjs@7.4.0: + resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==} + engines: {node: '>=12.0.0'} + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -3025,6 +3394,10 @@ packages: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + react@19.0.0: resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} @@ -3045,6 +3418,10 @@ packages: regex@5.1.1: resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -3095,6 +3472,12 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + rpc-websockets@7.5.1: + resolution: {integrity: sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w==} + + rpc-websockets@8.0.2: + resolution: {integrity: sha512-QZ8lneJTtIZTf9JBcdUn/im2qDynWRYPKtmF6P9DqtdzqSLebcllYWVQr5aQacAp7LBYPReOW9Ses98dNfO7cA==} + rpc-websockets@9.0.4: resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} @@ -3105,6 +3488,10 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} @@ -3190,6 +3577,12 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} @@ -3209,6 +3602,39 @@ packages: peerDependencies: sodium-native: ^3.2.0 + solana-bankrun-darwin-arm64@0.3.1: + resolution: {integrity: sha512-9LWtH/3/WR9fs8Ve/srdo41mpSqVHmRqDoo69Dv1Cupi+o1zMU6HiEPUHEvH2Tn/6TDbPEDf18MYNfReLUqE6A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + solana-bankrun-darwin-universal@0.3.1: + resolution: {integrity: sha512-muGHpVYWT7xCd8ZxEjs/bmsbMp8XBqroYGbE4lQPMDUuLvsJEIrjGqs3MbxEFr71sa58VpyvgywWd5ifI7sGIg==} + engines: {node: '>= 10'} + os: [darwin] + + solana-bankrun-darwin-x64@0.3.1: + resolution: {integrity: sha512-oCaxfHyt7RC3ZMldrh5AbKfy4EH3YRMl8h6fSlMZpxvjQx7nK7PxlRwMeflMnVdkKKp7U8WIDak1lilIPd3/lg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + solana-bankrun-linux-x64-gnu@0.3.1: + resolution: {integrity: sha512-PfRFhr7igGFNt2Ecfdzh3li9eFPB3Xhmk0Eib17EFIB62YgNUg3ItRnQQFaf0spazFjjJLnglY1TRKTuYlgSVA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + solana-bankrun-linux-x64-musl@0.3.1: + resolution: {integrity: sha512-6r8i0NuXg3CGURql8ISMIUqhE7Hx/O7MlIworK4oN08jYrP0CXdLeB/hywNn7Z8d1NXrox/NpYUgvRm2yIzAsQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + solana-bankrun@0.3.1: + resolution: {integrity: sha512-inRwON7fBU5lPC36HdEqPeDg15FXJYcf77+o0iz9amvkUMJepcwnRwEfTNyMVpVYdgjTOBW5vg+596/3fi1kGA==} + engines: {node: '>= 10'} + space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -3226,6 +3652,9 @@ packages: stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + strict-event-emitter-types@2.0.0: + resolution: {integrity: sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -3268,13 +3697,24 @@ packages: resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} engines: {node: '>=6.5.0', npm: '>=3'} + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + superstruct@0.14.2: + resolution: {integrity: sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==} + superstruct@0.15.5: resolution: {integrity: sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==} + superstruct@1.0.4: + resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==} + engines: {node: '>=14.0.0'} + superstruct@2.0.2: resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} engines: {node: '>=14.0.0'} @@ -3292,6 +3732,13 @@ packages: resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} + tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + tdigest@0.1.2: resolution: {integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==} @@ -3342,6 +3789,9 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + traverse-chain@0.1.0: + resolution: {integrity: sha512-up6Yvai4PYKhpNp5PkYtx50m3KbwQrqDwbuZP/ItyL64YEWHAvH6Md83LFLV/GRSk/BoUVwwgUzX6SOQSbsfAg==} + treeify@1.1.0: resolution: {integrity: sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==} engines: {node: '>=0.6'} @@ -3376,9 +3826,15 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tweetnacl-util@0.15.1: resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} @@ -3426,6 +3882,11 @@ packages: engines: {node: '>=4.2.0'} hasBin: true + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.7.2: resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} engines: {node: '>=14.17'} @@ -3476,6 +3937,10 @@ packages: resolution: {integrity: sha512-yIQdxJpgkPamPPAPuGdS7Q548rLhny42tg8d4vyTNzFqvOnwqrgHXvgehT09U7fwrzxi3RxCiXjoNUNnNOlQ8A==} engines: {node: '>=6.0.0'} + usb@2.9.0: + resolution: {integrity: sha512-G0I/fPgfHUzWH8xo2KkDxTTFruUWfppgSFJ+bQxz/kVY2x15EQ/XDB7dqD1G432G4gBG4jYQuF3U7j/orSs5nw==} + engines: {node: '>=10.20.0 <11.x || >=12.17.0 <13.0 || >=14.0.0'} + use-sync-external-store@1.4.0: resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} peerDependencies: @@ -3618,6 +4083,10 @@ packages: xsalsa20@1.2.0: resolution: {integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==} + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + yaml@2.6.1: resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} engines: {node: '>= 14'} @@ -3628,6 +4097,14 @@ packages: engines: {node: '>= 14'} hasBin: true + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -3647,6 +4124,9 @@ packages: zstddec@0.0.2: resolution: {integrity: sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA==} + zstddec@0.1.0: + resolution: {integrity: sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -3776,6 +4256,10 @@ snapshots: - typescript - utf-8-validate + '@brokerloop/ttlcache@3.2.3': + dependencies: + '@soncodi/signal': 2.0.7 + '@cfworker/json-schema@4.0.3': {} '@cks-systems/manifest-sdk@0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': @@ -3807,6 +4291,8 @@ snapshots: - typescript - utf-8-validate + '@coral-xyz/anchor-errors@0.30.1': {} + '@coral-xyz/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) @@ -3851,6 +4337,28 @@ snapshots: - encoding - utf-8-validate + '@coral-xyz/anchor@0.28.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + base64-js: 1.5.1 + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + js-sha256: 0.9.0 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) @@ -3872,6 +4380,28 @@ snapshots: - encoding - utf-8-validate + '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor-errors': 0.30.1 + '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.7.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -3890,6 +4420,12 @@ snapshots: bn.js: 5.2.1 buffer-layout: 1.2.2 + '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -3906,6 +4442,147 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@drift-labs/sdk@2.107.0-beta.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor-30': '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)' + '@ellipsis-labs/phoenix-sdk': 1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@grpc/grpc-js': 1.12.5 + '@openbook-dex/openbook-v2': 0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@project-serum/serum': 0.13.65(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@pythnetwork/client': 2.5.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@pythnetwork/price-service-sdk': 1.7.1 + '@pythnetwork/pyth-solana-receiver': 0.7.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.7(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@switchboard-xyz/on-demand': 1.2.42(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10) + '@triton-one/yellowstone-grpc': 1.3.0 + anchor-bankrun: 0.3.0(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(solana-bankrun@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + nanoid: 3.3.4 + node-cache: 5.1.2 + rpc-websockets: 7.5.1 + solana-bankrun: 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + strict-event-emitter-types: 2.0.0 + tweetnacl: 1.0.3 + tweetnacl-util: 0.15.1 + uuid: 8.3.2 + yargs: 17.7.2 + zstddec: 0.1.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - jiti + - supports-color + - typescript + - utf-8-validate + + '@drift-labs/sdk@2.107.0-beta.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor-30': '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)' + '@ellipsis-labs/phoenix-sdk': 1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@grpc/grpc-js': 1.12.5 + '@openbook-dex/openbook-v2': 0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@project-serum/serum': 0.13.65(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@pythnetwork/client': 2.5.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@pythnetwork/price-service-sdk': 1.7.1 + '@pythnetwork/pyth-solana-receiver': 0.7.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.7(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@switchboard-xyz/on-demand': 1.2.42(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10) + '@triton-one/yellowstone-grpc': 1.3.0 + anchor-bankrun: 0.3.0(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(solana-bankrun@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + nanoid: 3.3.4 + node-cache: 5.1.2 + rpc-websockets: 7.5.1 + solana-bankrun: 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + strict-event-emitter-types: 2.0.0 + tweetnacl: 1.0.3 + tweetnacl-util: 0.15.1 + uuid: 8.3.2 + yargs: 17.7.2 + zstddec: 0.1.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - jiti + - supports-color + - typescript + - utf-8-validate + + '@drift-labs/vaults-sdk@0.2.46(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.28.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@drift-labs/sdk': 2.107.0-beta.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@ledgerhq/hw-app-solana': 7.2.4 + '@ledgerhq/hw-transport': 6.31.4 + '@ledgerhq/hw-transport-node-hid': 6.29.5 + '@metaplex-foundation/js': 0.20.1(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/wallet-adapter-ledger': 0.9.25(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + commander: 11.1.0 + dotenv: 16.4.5 + rpc-websockets: 7.5.1 + strict-event-emitter-types: 2.0.0 + ts-node: 10.9.2(@types/node@22.10.5)(typescript@5.6.3) + typescript: 5.6.3 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - arweave + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - jiti + - supports-color + - utf-8-validate + + '@ellipsis-labs/phoenix-sdk@1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/rustbin': 0.3.5 + '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@types/node': 18.19.69 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 5.0.0 + transitivePeerDependencies: + - '@solana/web3.js' + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - jiti + - supports-color + - typescript + - utf-8-validate + + '@ellipsis-labs/phoenix-sdk@1.4.5(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/rustbin': 0.3.5 + '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@types/node': 18.19.69 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 5.0.0 + transitivePeerDependencies: + - '@solana/web3.js' + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - jiti + - supports-color + - typescript + - utf-8-validate + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': dependencies: eslint: 8.57.1 @@ -4222,6 +4899,18 @@ snapshots: '@shikijs/types': 1.26.1 '@shikijs/vscode-textmate': 10.0.1 + '@grpc/grpc-js@1.12.5': + dependencies: + '@grpc/proto-loader': 0.7.13 + '@js-sdsl/ordered-map': 4.4.2 + + '@grpc/proto-loader@0.7.13': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.2.3 + protobufjs: 7.4.0 + yargs: 17.7.2 + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -4245,23 +4934,64 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} - '@irys/arweave@0.0.2': + '@irys/arweave@0.0.2(debug@4.4.0)': dependencies: asn1.js: 5.4.1 async-retry: 1.3.3 - axios: 1.7.9 + axios: 1.7.9(debug@4.4.0) base64-js: 1.5.1 bignumber.js: 9.1.2 transitivePeerDependencies: - debug + '@irys/query@0.0.1(debug@4.4.0)': + dependencies: + async-retry: 1.3.3 + axios: 1.7.9(debug@4.4.0) + transitivePeerDependencies: + - debug + '@irys/query@0.0.8': dependencies: async-retry: 1.3.3 - axios: 1.7.9 + axios: 1.7.9(debug@4.4.0) transitivePeerDependencies: - debug + '@irys/sdk@0.0.2(arweave@1.15.5)(bufferutil@4.0.9)(debug@4.4.0)(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/contracts': 5.7.0 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@ethersproject/wallet': 5.7.0 + '@irys/query': 0.0.1(debug@4.4.0) + '@near-js/crypto': 0.0.3 + '@near-js/keystores-browser': 0.0.3 + '@near-js/providers': 0.0.4 + '@near-js/transactions': 0.1.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@supercharge/promise-pool': 3.2.0 + algosdk: 1.24.1 + aptos: 1.8.5(debug@4.4.0) + arbundles: 0.10.1(arweave@1.15.5)(bufferutil@4.0.9)(debug@4.4.0)(utf-8-validate@5.0.10) + async-retry: 1.3.3 + axios: 1.7.9(debug@4.4.0) + base64url: 3.0.1 + bignumber.js: 9.1.2 + bs58: 5.0.0 + commander: 8.3.0 + csv: 5.5.3 + inquirer: 8.2.6 + js-sha256: 0.9.0 + mime-types: 2.1.35 + near-seed-phrase: 0.2.1 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - utf-8-validate + '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@aptos-labs/ts-sdk': 1.33.1 @@ -4279,7 +5009,7 @@ snapshots: algosdk: 1.24.1 arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) async-retry: 1.3.3 - axios: 1.7.9 + axios: 1.7.9(debug@4.4.0) base64url: 3.0.1 bignumber.js: 9.1.2 bs58: 5.0.0 @@ -4315,6 +5045,8 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@js-sdsl/ordered-map@4.4.2': {} + '@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))': dependencies: '@cfworker/json-schema': 4.0.3 @@ -4377,6 +5109,69 @@ snapshots: '@langchain/core': 0.3.27(openai@4.77.3(zod@3.24.1)) js-tiktoken: 1.0.16 + '@ledgerhq/devices@6.27.1': + dependencies: + '@ledgerhq/errors': 6.19.1 + '@ledgerhq/logs': 6.12.0 + rxjs: 6.6.7 + semver: 7.6.3 + + '@ledgerhq/devices@8.4.4': + dependencies: + '@ledgerhq/errors': 6.19.1 + '@ledgerhq/logs': 6.12.0 + rxjs: 7.8.1 + semver: 7.6.3 + + '@ledgerhq/errors@6.19.1': {} + + '@ledgerhq/hw-app-solana@7.2.4': + dependencies: + '@ledgerhq/errors': 6.19.1 + '@ledgerhq/hw-transport': 6.31.4 + bip32-path: 0.4.2 + + '@ledgerhq/hw-transport-node-hid-noevents@6.30.5': + dependencies: + '@ledgerhq/devices': 8.4.4 + '@ledgerhq/errors': 6.19.1 + '@ledgerhq/hw-transport': 6.31.4 + '@ledgerhq/logs': 6.12.0 + node-hid: 2.1.2 + + '@ledgerhq/hw-transport-node-hid@6.29.5': + dependencies: + '@ledgerhq/devices': 8.4.4 + '@ledgerhq/errors': 6.19.1 + '@ledgerhq/hw-transport': 6.31.4 + '@ledgerhq/hw-transport-node-hid-noevents': 6.30.5 + '@ledgerhq/logs': 6.12.0 + lodash: 4.17.21 + node-hid: 2.1.2 + usb: 2.9.0 + + '@ledgerhq/hw-transport-webhid@6.27.1': + dependencies: + '@ledgerhq/devices': 6.27.1 + '@ledgerhq/errors': 6.19.1 + '@ledgerhq/hw-transport': 6.31.4 + '@ledgerhq/logs': 6.12.0 + + '@ledgerhq/hw-transport@6.27.1': + dependencies: + '@ledgerhq/devices': 6.27.1 + '@ledgerhq/errors': 6.19.1 + events: 3.3.0 + + '@ledgerhq/hw-transport@6.31.4': + dependencies: + '@ledgerhq/devices': 8.4.4 + '@ledgerhq/errors': 6.19.1 + '@ledgerhq/logs': 6.12.0 + events: 3.3.0 + + '@ledgerhq/logs@6.12.0': {} + '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -4476,6 +5271,57 @@ snapshots: '@metaplex-foundation/cusper@0.0.2': {} + '@metaplex-foundation/js@0.20.1(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@irys/sdk': 0.0.2(arweave@1.15.5)(bufferutil@4.0.9)(debug@4.4.0)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-bubblegum': 0.6.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-candy-guard': 0.3.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-candy-machine': 5.1.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-candy-machine-core': 0.1.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@noble/ed25519': 1.7.3 + '@noble/hashes': 1.7.0 + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bignumber.js: 9.1.2 + bn.js: 5.2.1 + bs58: 5.0.0 + buffer: 6.0.3 + debug: 4.4.0 + eventemitter3: 4.0.7 + lodash.clonedeep: 4.5.0 + lodash.isequal: 4.5.0 + merkletreejs: 0.3.11 + mime: 3.0.0 + node-fetch: 2.7.0 + transitivePeerDependencies: + - arweave + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.6.1 + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.6.1 @@ -4492,6 +5338,25 @@ snapshots: - typescript - utf-8-validate + '@metaplex-foundation/mpl-bubblegum@0.6.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + js-sha3: 0.8.0 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 @@ -4510,12 +5375,70 @@ snapshots: - typescript - utf-8-validate + '@metaplex-foundation/mpl-candy-guard@0.3.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.4.0 + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@metaplex-foundation/mpl-candy-machine-core@0.1.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.4.0 + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@metaplex-foundation/mpl-candy-machine@5.1.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0)': dependencies: '@metaplex-foundation/umi': 0.9.2 '@msgpack/msgpack': 3.0.0-beta2 '@noble/hashes': 1.7.0 + '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + debug: 4.4.0 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 @@ -4773,6 +5696,8 @@ snapshots: '@noble/ed25519@1.7.3': {} + '@noble/hashes@1.1.3': {} + '@noble/hashes@1.4.0': {} '@noble/hashes@1.5.0': {} @@ -4805,6 +5730,32 @@ snapshots: - supports-color - utf-8-validate + '@openbook-dex/openbook-v2@0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + big.js: 6.2.2 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@openbook-dex/openbook-v2@0.2.10(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.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) + big.js: 6.2.2 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + '@opentelemetry/api@1.9.0': {} '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': @@ -4828,6 +5779,27 @@ snapshots: '@pkgr/core@0.1.1': {} + '@project-serum/anchor@0.11.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@project-serum/borsh': 0.2.5(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + base64-js: 1.5.1 + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 5.3.1 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + find: 0.3.0 + js-sha256: 0.9.0 + pako: 2.1.0 + snake-case: 3.0.4 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@project-serum/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) @@ -4850,6 +5822,47 @@ snapshots: - encoding - utf-8-validate + '@project-serum/borsh@0.2.5(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@project-serum/serum@0.13.65(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@project-serum/anchor': 0.11.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -4861,6 +5874,16 @@ snapshots: - encoding - utf-8-validate + '@pythnetwork/client@2.5.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + assert: 2.1.0 + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@pythnetwork/hermes-client@1.3.0(axios@1.7.9)': dependencies: '@zodios/core': 10.9.6(axios@1.7.9)(zod@3.24.1) @@ -4873,7 +5896,7 @@ snapshots: dependencies: '@pythnetwork/price-service-sdk': 1.8.0 '@types/ws': 8.5.13 - axios: 1.7.9 + axios: 1.7.9(debug@4.4.0) 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 @@ -4883,10 +5906,37 @@ snapshots: - debug - utf-8-validate + '@pythnetwork/price-service-sdk@1.7.1': + dependencies: + bn.js: 5.2.1 + '@pythnetwork/price-service-sdk@1.8.0': dependencies: bn.js: 5.2.1 + '@pythnetwork/pyth-solana-receiver@0.7.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@noble/hashes': 1.7.0 + '@pythnetwork/price-service-sdk': 1.8.0 + '@pythnetwork/solana-utils': 0.4.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@pythnetwork/solana-utils@0.4.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 5.0.0 + jito-ts: 3.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@randlabs/communication-bridge@1.0.1': optional: true @@ -4900,7 +5950,7 @@ snapshots: '@solana/buffer-layout': 4.0.1 '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - axios: 1.7.9 + axios: 1.7.9(debug@4.4.0) big.js: 6.2.2 bn.js: 5.2.1 dayjs: 1.11.13 @@ -4944,6 +5994,11 @@ snapshots: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 + '@scure/bip39@1.1.0': + dependencies: + '@noble/hashes': 1.1.3 + '@scure/base': 1.1.9 + '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 @@ -5015,6 +6070,11 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 + '@solana/codecs-core@2.0.0-rc.1(typescript@5.6.3)': + dependencies: + '@solana/errors': 2.0.0-rc.1(typescript@5.6.3) + typescript: 5.6.3 + '@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2)': dependencies: '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) @@ -5040,6 +6100,13 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.6.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.6.3) + typescript: 5.6.3 + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) @@ -5064,6 +6131,12 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.6.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.6.3) + typescript: 5.6.3 + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) @@ -5093,6 +6166,14 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 4.9.5 + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.6.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.6.3) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.6.3 + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) @@ -5133,6 +6214,17 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + typescript: 5.6.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) @@ -5161,6 +6253,12 @@ snapshots: commander: 12.1.0 typescript: 4.9.5 + '@solana/errors@2.0.0-rc.1(typescript@5.6.3)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 5.6.3 + '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': dependencies: chalk: 5.4.1 @@ -5194,6 +6292,17 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.6.3) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.6.3) + typescript: 5.6.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) @@ -5237,6 +6346,14 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) @@ -5245,6 +6362,22 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) @@ -5269,6 +6402,14 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) @@ -5290,6 +6431,34 @@ snapshots: - encoding - utf-8-validate + '@solana/spl-token@0.3.11(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.3.11(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -5318,6 +6487,20 @@ snapshots: - typescript - utf-8-validate + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -5332,6 +6515,17 @@ snapshots: - typescript - utf-8-validate + '@solana/spl-token@0.3.7(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -5362,6 +6556,21 @@ snapshots: - typescript - utf-8-validate + '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -5381,6 +6590,72 @@ snapshots: dependencies: buffer: 6.0.3 + '@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/wallet-standard-features': 1.2.0 + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@wallet-standard/base': 1.1.0 + '@wallet-standard/features': 1.1.0 + eventemitter3: 4.0.7 + + '@solana/wallet-adapter-ledger@0.9.25(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@ledgerhq/devices': 6.27.1 + '@ledgerhq/hw-transport': 6.27.1 + '@ledgerhq/hw-transport-webhid': 6.27.1 + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + + '@solana/wallet-standard-features@1.2.0': + dependencies: + '@wallet-standard/base': 1.1.0 + '@wallet-standard/features': 1.1.0 + + '@solana/web3.js@1.77.4(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.6.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 7.5.1 + superstruct: 0.14.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.6.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 8.0.2 + superstruct: 1.0.4 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 @@ -5447,12 +6722,69 @@ snapshots: - encoding - utf-8-validate + '@solworks/soltoolkit-sdk@0.0.23(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@types/bn.js': 5.1.6 + '@types/node': 18.19.69 + '@types/node-fetch': 2.6.12 + bn.js: 5.2.1 + decimal.js: 10.4.3 + typescript: 4.9.5 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - utf-8-validate + + '@soncodi/signal@2.0.7': {} + '@supercharge/promise-pool@3.2.0': {} '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 + '@switchboard-xyz/common@2.5.12(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + axios: 1.7.9(debug@4.4.0) + big.js: 6.2.2 + bn.js: 5.2.1 + bs58: 6.0.0 + cron-validator: 1.3.1 + decimal.js: 10.4.3 + js-sha256: 0.11.0 + lodash: 4.17.21 + protobufjs: 7.4.0 + yaml: 2.7.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - utf-8-validate + + '@switchboard-xyz/on-demand@1.2.42(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10)': + dependencies: + '@brokerloop/ttlcache': 3.2.3 + '@coral-xyz/anchor-30': '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)' + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solworks/soltoolkit-sdk': 0.0.23(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(utf-8-validate@5.0.10) + '@switchboard-xyz/common': 2.5.12(bufferutil@4.0.9)(utf-8-validate@5.0.10) + axios: 1.7.9(debug@4.4.0) + big.js: 6.2.2 + bs58: 5.0.0 + js-yaml: 4.1.0 + protobufjs: 7.4.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - utf-8-validate + '@szmarczak/http-timer@4.0.6': dependencies: defer-to-connect: 2.0.1 @@ -5527,6 +6859,10 @@ snapshots: - sodium-native - utf-8-validate + '@triton-one/yellowstone-grpc@1.3.0': + dependencies: + '@grpc/grpc-js': 1.12.5 + '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} @@ -5653,6 +6989,8 @@ snapshots: '@types/uuid@8.3.4': {} + '@types/w3c-web-usb@1.0.10': {} + '@types/ws@7.4.7': dependencies: '@types/node': 22.10.5 @@ -5740,9 +7078,15 @@ snapshots: '@ungap/structured-clone@1.2.1': {} + '@wallet-standard/base@1.1.0': {} + + '@wallet-standard/features@1.1.0': + dependencies: + '@wallet-standard/base': 1.1.0 + '@zodios/core@10.9.6(axios@1.7.9)(zod@3.24.1)': dependencies: - axios: 1.7.9 + axios: 1.7.9(debug@4.4.0) zod: 3.24.1 JSONStream@1.3.5: @@ -5812,6 +7156,12 @@ snapshots: transitivePeerDependencies: - encoding + anchor-bankrun@0.3.0(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@solana/web3.js@1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(solana-bankrun@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.92.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + solana-bankrun: 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -5834,6 +7184,43 @@ snapshots: ansicolors@0.3.2: {} + aptos@1.8.5(debug@4.4.0): + dependencies: + '@noble/hashes': 1.1.3 + '@scure/bip39': 1.1.0 + axios: 0.27.2(debug@4.4.0) + form-data: 4.0.0 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - debug + + arbundles@0.10.1(arweave@1.15.5)(bufferutil@4.0.9)(debug@4.4.0)(utf-8-validate@5.0.10): + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wallet': 5.7.0 + '@irys/arweave': 0.0.2(debug@4.4.0) + '@noble/ed25519': 1.7.3 + base64url: 3.0.1 + bs58: 4.0.1 + keccak: 3.0.4 + secp256k1: 5.0.1 + optionalDependencies: + '@randlabs/myalgo-connect': 1.4.2 + algosdk: 1.24.1 + arweave-stream-tx: 1.2.2(arweave@1.15.5) + multistream: 4.1.0 + tmp-promise: 3.0.3 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - utf-8-validate + arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@ethersproject/bytes': 5.7.0 @@ -5842,7 +7229,7 @@ snapshots: '@ethersproject/signing-key': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 - '@irys/arweave': 0.0.2 + '@irys/arweave': 0.0.2(debug@4.4.0) '@noble/ed25519': 1.7.3 base64url: 3.0.1 bs58: 4.0.1 @@ -5918,9 +7305,16 @@ snapshots: '@babel/runtime': 7.26.0 is-retry-allowed: 2.2.0 + axios@0.27.2(debug@4.4.0): + dependencies: + follow-redirects: 1.15.9(debug@4.4.0) + form-data: 4.0.1 + transitivePeerDependencies: + - debug + axios@0.28.1: dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -5928,15 +7322,15 @@ snapshots: axios@1.7.4: dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - axios@1.7.9: + axios@1.7.9(debug@4.4.0): dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -5974,6 +7368,8 @@ snapshots: bintrees@1.0.2: {} + bip32-path@0.4.2: {} + bip39-light@1.0.7: dependencies: create-hash: 1.2.0 @@ -6106,6 +7502,8 @@ snapshots: callsites@3.1.0: {} + camelcase@5.3.1: {} + camelcase@6.3.0: {} ccount@2.0.1: {} @@ -6133,6 +7531,8 @@ snapshots: check-error@2.1.1: {} + chownr@1.1.4: {} + cipher-base@1.0.6: dependencies: inherits: 2.0.4 @@ -6155,12 +7555,20 @@ snapshots: cli-width@3.0.0: {} + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + clone-response@1.0.3: dependencies: mimic-response: 1.0.1 clone@1.0.4: {} + clone@2.1.2: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -6177,6 +7585,8 @@ snapshots: commander@10.0.1: {} + commander@11.1.0: {} + commander@12.1.0: {} commander@2.20.3: {} @@ -6214,6 +7624,8 @@ snapshots: create-require@1.1.1: {} + cron-validator@1.3.1: {} + cross-fetch@3.2.0: dependencies: node-fetch: 2.7.0 @@ -6269,6 +7681,8 @@ snapshots: deep-eql@5.0.2: {} + deep-extend@0.6.0: {} + deep-is@0.1.4: {} defaults@1.0.4: @@ -6301,6 +7715,8 @@ snapshots: destroy@1.2.0: {} + detect-libc@2.0.3: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -6320,6 +7736,8 @@ snapshots: dotenv@10.0.0: {} + dotenv@16.4.5: {} + dotenv@16.4.7: {} dunder-proto@1.0.1: @@ -6388,6 +7806,8 @@ snapshots: dependencies: es6-promise: 4.2.8 + escalade@3.2.0: {} + escape-html@1.0.3: {} escape-string-regexp@1.0.5: {} @@ -6551,6 +7971,8 @@ snapshots: eventemitter3@5.0.1: {} + events@3.3.0: {} + eventsource-parser@3.0.0: {} eventsource@2.0.2: {} @@ -6567,6 +7989,8 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + expand-template@2.0.3: {} + exponential-backoff@3.1.1: {} express-prom-bundle@7.0.2(prom-client@15.1.3): @@ -6700,6 +8124,10 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + find@0.3.0: + dependencies: + traverse-chain: 0.1.0 + flash-sdk@2.24.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): dependencies: '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -6741,7 +8169,9 @@ snapshots: flatted@3.3.2: {} - follow-redirects@1.15.9: {} + follow-redirects@1.15.9(debug@4.4.0): + optionalDependencies: + debug: 4.4.0 for-each@0.3.3: dependencies: @@ -6754,6 +8184,12 @@ snapshots: form-data-encoder@1.7.2: {} + form-data@4.0.0: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + form-data@4.0.1: dependencies: asynckit: 0.4.0 @@ -6773,12 +8209,16 @@ snapshots: fresh@0.5.2: {} + fs-constants@1.0.0: {} + fs.realpath@1.0.0: {} fs@0.0.1-security: {} function-bind@1.1.2: {} + get-caller-file@2.0.5: {} + get-east-asian-width@1.3.0: {} get-intrinsic@1.2.7: @@ -6805,6 +8245,8 @@ snapshots: get-stream@8.0.1: {} + github-from-package@0.0.0: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -6993,6 +8435,8 @@ snapshots: inherits@2.0.4: {} + ini@1.3.8: {} + inquirer@8.2.6: dependencies: ansi-escapes: 4.3.2 @@ -7115,6 +8559,21 @@ snapshots: - bufferutil - utf-8-validate + jito-ts@3.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@grpc/grpc-js': 1.12.5 + '@noble/ed25519': 1.7.3 + '@solana/web3.js': 1.77.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + agentkeepalive: 4.6.0 + dotenv: 16.4.7 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + superstruct: 1.0.4 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + js-base64@3.7.7: {} js-sha256@0.11.0: {} @@ -7202,7 +8661,7 @@ snapshots: zod-to-json-schema: 3.24.1(zod@3.24.1) optionalDependencies: '@langchain/groq': 0.1.2(@langchain/core@0.3.27(openai@4.77.3(zod@3.24.1))) - axios: 1.7.9 + axios: 1.7.9(debug@4.4.0) transitivePeerDependencies: - encoding - openai @@ -7269,6 +8728,12 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.camelcase@4.3.0: {} + + lodash.clonedeep@4.5.0: {} + + lodash.isequal@4.5.0: {} + lodash.merge@4.6.2: {} lodash@4.17.21: {} @@ -7288,6 +8753,8 @@ snapshots: loglevel@1.9.2: {} + long@5.2.3: {} + loupe@3.1.2: {} lower-case@2.0.2: @@ -7387,6 +8854,8 @@ snapshots: mime@1.6.0: {} + mime@3.0.0: {} + mimic-fn@2.1.0: {} mimic-fn@4.0.0: {} @@ -7419,6 +8888,8 @@ snapshots: mixme@0.5.10: {} + mkdirp-classic@0.5.3: {} + ms@2.0.0: {} ms@2.1.3: {} @@ -7433,8 +8904,12 @@ snapshots: mute-stream@0.0.8: {} + nanoid@3.3.4: {} + nanoid@3.3.8: {} + napi-build-utils@1.0.2: {} + natural-compare@1.4.0: {} near-hd-key@1.2.1: @@ -7457,10 +8932,22 @@ snapshots: lower-case: 2.0.2 tslib: 2.8.1 + node-abi@3.71.0: + dependencies: + semver: 7.6.3 + node-addon-api@2.0.2: {} + node-addon-api@3.2.1: {} + node-addon-api@5.1.0: {} + node-addon-api@6.1.0: {} + + node-cache@5.1.2: + dependencies: + clone: 2.1.2 + node-domexception@1.0.0: {} node-fetch@2.7.0: @@ -7475,6 +8962,12 @@ snapshots: node-gyp-build@4.8.4: {} + node-hid@2.1.2: + dependencies: + bindings: 1.5.0 + node-addon-api: 3.2.1 + prebuild-install: 7.1.2 + normalize-url@6.1.0: {} npm-run-path@5.3.0: @@ -7651,6 +9144,21 @@ snapshots: possible-typed-array-names@1.0.0: {} + prebuild-install@7.1.2: + dependencies: + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.71.0 + pump: 3.0.2 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.0: @@ -7673,6 +9181,21 @@ snapshots: property-information@6.5.0: {} + protobufjs@7.4.0: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 22.10.5 + long: 5.2.3 + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -7710,6 +9233,13 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + react@19.0.0: {} readable-stream@3.6.2: @@ -7731,6 +9261,8 @@ snapshots: dependencies: regex-utilities: 2.3.0 + require-directory@2.1.1: {} + resolve-alpn@1.2.1: {} resolve-from@4.0.0: {} @@ -7775,6 +9307,25 @@ snapshots: hash-base: 3.1.0 inherits: 2.0.4 + rpc-websockets@7.5.1: + dependencies: + '@babel/runtime': 7.26.0 + eventemitter3: 4.0.7 + uuid: 8.3.2 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + rpc-websockets@8.0.2: + dependencies: + eventemitter3: 4.0.7 + uuid: 8.3.2 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + rpc-websockets@9.0.4: dependencies: '@swc/helpers': 0.5.15 @@ -7794,6 +9345,10 @@ snapshots: dependencies: queue-microtask: 1.2.3 + rxjs@6.6.7: + dependencies: + tslib: 1.14.1 + rxjs@7.8.1: dependencies: tslib: 2.8.1 @@ -7914,6 +9469,14 @@ snapshots: signal-exit@4.1.0: {} + simple-concat@1.0.1: {} + + simple-get@4.0.1: + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 @@ -7942,6 +9505,36 @@ snapshots: typedarray-to-buffer: 3.1.5 xsalsa20: 1.2.0 + solana-bankrun-darwin-arm64@0.3.1: + optional: true + + solana-bankrun-darwin-universal@0.3.1: + optional: true + + solana-bankrun-darwin-x64@0.3.1: + optional: true + + solana-bankrun-linux-x64-gnu@0.3.1: + optional: true + + solana-bankrun-linux-x64-musl@0.3.1: + optional: true + + solana-bankrun@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 4.0.1 + optionalDependencies: + solana-bankrun-darwin-arm64: 0.3.1 + solana-bankrun-darwin-universal: 0.3.1 + solana-bankrun-darwin-x64: 0.3.1 + solana-bankrun-linux-x64-gnu: 0.3.1 + solana-bankrun-linux-x64-musl: 0.3.1 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + space-separated-tokens@2.0.2: {} spok@1.5.5: @@ -7960,6 +9553,8 @@ snapshots: dependencies: mixme: 0.5.10 + strict-event-emitter-types@2.0.0: {} + string-argv@0.3.2: {} string-width@4.2.3: @@ -8005,10 +9600,16 @@ snapshots: dependencies: is-hex-prefixed: 1.0.0 + strip-json-comments@2.0.1: {} + strip-json-comments@3.1.1: {} + superstruct@0.14.2: {} + superstruct@0.15.5: {} + superstruct@1.0.4: {} + superstruct@2.0.2: {} supports-color@7.2.0: @@ -8026,6 +9627,21 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.1 + tar-fs@2.1.1: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.2 + tar-stream: 2.2.0 + + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + tdigest@0.1.2: dependencies: bintrees: 1.0.2 @@ -8066,6 +9682,8 @@ snapshots: tr46@0.0.3: {} + traverse-chain@0.1.0: {} + treeify@1.1.0: {} trim-lines@3.0.1: {} @@ -8094,6 +9712,24 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + ts-node@10.9.2(@types/node@22.10.5)(typescript@5.6.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.10.5 + acorn: 8.14.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.6.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -8118,8 +9754,14 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tslib@1.14.1: {} + tslib@2.8.1: {} + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + tweetnacl-util@0.15.1: {} tweetnacl@1.0.3: {} @@ -8163,6 +9805,8 @@ snapshots: typescript@4.9.5: {} + typescript@5.6.3: {} + typescript@5.7.2: {} uc.micro@2.1.0: {} @@ -8211,6 +9855,12 @@ snapshots: url-value-parser@2.2.0: {} + usb@2.9.0: + dependencies: + '@types/w3c-web-usb': 1.0.10 + node-addon-api: 6.1.0 + node-gyp-build: 4.8.4 + use-sync-external-store@1.4.0(react@19.0.0): dependencies: react: 19.0.0 @@ -8340,10 +9990,24 @@ snapshots: xsalsa20@1.2.0: {} + y18n@5.0.8: {} + yaml@2.6.1: {} yaml@2.7.0: {} + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + yn@3.1.1: {} yocto-queue@0.1.0: {} @@ -8356,4 +10020,6 @@ snapshots: zstddec@0.0.2: {} + zstddec@0.1.0: {} + zwitch@2.0.4: {} diff --git a/src/tools/drift_vault.ts b/src/tools/drift_vault.ts new file mode 100644 index 0000000..6d70bf3 --- /dev/null +++ b/src/tools/drift_vault.ts @@ -0,0 +1,507 @@ +import { + BASE_PRECISION, + convertToNumber, + DriftClient, + FastSingleTxSender, + getLimitOrderParams, + getMarketOrderParams, + getOrderParams, + MarketType, + numberToSafeBN, + PERCENTAGE_PRECISION, + PositionDirection, + PostOnlyParams, + PRICE_PRECISION, + QUOTE_PRECISION, + TEN, + type IWallet, +} from "@drift-labs/sdk"; +import { + VAULT_PROGRAM_ID, + VaultClient, + IDL, + WithdrawUnit, + encodeName, + getVaultDepositorAddressSync, +} from "@drift-labs/vaults-sdk"; +import * as anchor from "@coral-xyz/anchor"; +import { + ComputeBudgetProgram, + PublicKey, + type TransactionInstruction, +} from "@solana/web3.js"; +import type { SolanaAgentKit } from "../agent"; +import { BN } from "bn.js"; + +function initClients(agent: SolanaAgentKit) { + const wallet: IWallet = { + publicKey: agent.wallet.publicKey, + payer: agent.wallet, + signAllTransactions: async (txs) => { + for (const tx of txs) { + tx.sign(agent.wallet); + } + return txs; + }, + signTransaction: async (tx) => { + tx.sign(agent.wallet); + return tx; + }, + }; + + const driftClient = new DriftClient({ + connection: agent.connection, + wallet, + env: "mainnet-beta", + txSender: new FastSingleTxSender({ + connection: agent.connection, + wallet, + timeout: 30000, + blockhashRefreshInterval: 1000, + opts: { + commitment: agent.connection.commitment ?? "confirmed", + skipPreflight: false, + preflightCommitment: agent.connection.commitment ?? "confirmed", + }, + }), + }); + const vaultProgram = new anchor.Program( + IDL, + VAULT_PROGRAM_ID, + driftClient.provider, + ); + const vaultClient = new VaultClient({ + driftClient, + // @ts-expect-error - type mismatch due to different dep versions + program: vaultProgram, + cliMode: false, + }); + + return { driftClient, vaultClient }; +} + +async function getOrCreateVaultDepositor(agent: SolanaAgentKit, vault: string) { + const { vaultClient } = initClients(agent); + const vaultPublicKey = new PublicKey(vault); + const vaultDepositor = getVaultDepositorAddressSync( + vaultClient.program.programId, + vaultPublicKey, + agent.wallet.publicKey, + ); + + try { + await vaultClient.getVaultDepositor(vaultDepositor); + return vaultDepositor; + } catch (e) { + // @ts-expect-error - error message is a string + if (e.message === "Account not found") { + await vaultClient.initializeVaultDepositor(vaultDepositor); + } + return vaultDepositor; + } +} + +/** + Create a vault + @param agent SolanaAgentKit instance + @param params Vault creation parameters + @param params.name Name of the vault (must be unique) + @param params.marketName Market name of the vault (e.g. "USDC-SPOT") + @param params.redeemPeriod Redeem period in seconds + @param params.maxTokens Maximum amount that can be deposited into the vault (in tokens) + @param params.minDepositAmount Minimum amount that can be deposited into the vault (in tokens) + @param params.managementFee Management fee percentage (e.g 2 == 2%) + @param params.profitShare Profit share percentage (e.g 20 == 20%) + @param params.hurdleRate Hurdle rate percentage + @param params.permissioned Whether the vault uses a whitelist + @returns Promise - The transaction signature of the vault creation +*/ +export async function createVault( + agent: SolanaAgentKit, + params: { + name: string; + marketName: `${string}-${string}`; + redeemPeriod: number; + maxTokens: number; + minDepositAmount: number; + managementFee: number; + profitShare: number; + hurdleRate?: number; + permissioned?: boolean; + }, +) { + try { + const { vaultClient, driftClient } = initClients(agent); + const marketIndexAndType = driftClient.getMarketIndexAndType( + params.marketName, + ); + + if (!marketIndexAndType) { + throw new Error("Invalid market name"); + } + + const spotMarket = driftClient.getSpotMarketAccount( + marketIndexAndType.marketIndex, + ); + + if (!spotMarket) { + throw new Error("Market not found"); + } + + const spotPrecision = TEN.pow(new BN(spotMarket.decimals)); + + if (marketIndexAndType.marketType === MarketType.PERP) { + throw new Error("Only SPOT market names are supported"); + } + + const tx = await vaultClient.initializeVault({ + name: encodeName(params.name), + spotMarketIndex: marketIndexAndType.marketIndex, + hurdleRate: new BN(params.hurdleRate ?? 0) + .mul(PERCENTAGE_PRECISION) + .div(new BN(100)) + .toNumber(), + profitShare: new BN(params.profitShare) + .mul(PERCENTAGE_PRECISION) + .div(new BN(100)) + .toNumber(), + minDepositAmount: new BN(params.minDepositAmount).mul(spotPrecision), + redeemPeriod: new BN(params.redeemPeriod), + maxTokens: new BN(params.maxTokens).mul(spotPrecision), + managementFee: new BN(params.managementFee) + .mul(PERCENTAGE_PRECISION) + .div(new BN(100)), + permissioned: params.permissioned ?? false, + }); + + return tx; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to create Drift vault: ${e.message}`); + } +} + +/** + Update the vault's info + @param agent SolanaAgentKit instance + @param vault Vault address + @param params Vault update parameters + @param params.redeemPeriod Redeem period in seconds + @param params.maxTokens Maximum amount that can be deposited into the vault (in tokens) + @param params.minDepositAmount Minimum amount that can be deposited into the vault (in tokens) + @param params.managementFee Management fee percentage (e.g 2 == 2%) + @param params.profitShare Profit share percentage (e.g 20 == 20%) + @param params.hurdleRate Hurdle rate percentage + @param params.permissioned Whether the vault uses a whitelist + @returns Promise - The transaction signature of the vault update +*/ +export async function updateVault( + agent: SolanaAgentKit, + vault: string, + params: { + redeemPeriod?: number; + maxTokens?: number; + minDepositAmount?: number; + managementFee?: number; + profitShare?: number; + hurdleRate?: number; + permissioned?: boolean; + }, +) { + try { + const { vaultClient } = initClients(agent); + const vaultPublicKey = new PublicKey(vault); + const vaultDetails = await vaultClient.getVault(vaultPublicKey); + + const tx = await vaultClient.managerUpdateVault(vaultPublicKey, { + redeemPeriod: new BN(params.redeemPeriod ?? vaultDetails.redeemPeriod), + maxTokens: new BN(params.maxTokens ?? vaultDetails.maxTokens), + minDepositAmount: new BN( + params.minDepositAmount ?? vaultDetails.minDepositAmount, + ), + managementFee: new BN(params.managementFee ?? vaultDetails.managementFee), + profitShare: new BN( + params.profitShare ?? vaultDetails.profitShare, + ).toNumber(), + hurdleRate: new BN( + params.hurdleRate ?? vaultDetails.hurdleRate, + ).toNumber(), + permissioned: params.permissioned ?? vaultDetails.permissioned, + }); + + return tx; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to update Drift vault: ${e.message}`); + } +} + +/** + Deposit tokens into a vault + @param agent SolanaAgentKit instance + @param amount Amount to deposit into the vault (in tokens) + @param vault Vault address + @returns Promise - The transaction signature of the deposit +*/ +export async function depositIntoVault( + agent: SolanaAgentKit, + amount: number, + vault: string, +) { + try { + const { vaultClient, driftClient } = initClients(agent); + const vaultPublicKey = new PublicKey(vault); + const [isOwned, vaultDetails] = await Promise.all([ + getIsOwned(agent, vault), + vaultClient.getVault(vaultPublicKey), + ]); + const spotMarket = driftClient.getSpotMarketAccount( + vaultDetails.spotMarketIndex, + ); + + if (!spotMarket) { + throw new Error("Market not found"); + } + + const spotPrecision = TEN.pow(new BN(spotMarket.decimals)); + const amountBN = numberToSafeBN(amount, spotPrecision); + + if (isOwned) { + return await vaultClient.managerDeposit(vaultPublicKey, amountBN); + } + + const vaultDepositor = await getOrCreateVaultDepositor(agent, vault); + + return await vaultClient.deposit(vaultDepositor, amountBN); + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to deposit into Drift vault: ${e.message}`); + } +} + +/** + Request a withdrawal from a vault. If successful redemption period starts and the user can redeem the tokens after the period ends + @param agent SolanaAgentKit instance + @param amount Amount to withdraw from the vault (in shares) + @param vault Vault address +*/ +export async function requestWithdrawalFromVault( + agent: SolanaAgentKit, + amount: number, + vault: string, +) { + try { + const { vaultClient } = initClients(agent); + const vaultPublicKey = new PublicKey(vault); + const isOwned = await getIsOwned(agent, vault); + + if (isOwned) { + return await vaultClient.managerRequestWithdraw( + vaultPublicKey, + new BN(amount.toFixed(0)), + WithdrawUnit.SHARES, + ); + } + + const vaultDepositor = await getOrCreateVaultDepositor(agent, vault); + + const tx = await vaultClient.requestWithdraw( + vaultDepositor, + new BN(amount.toFixed(0)), + WithdrawUnit.SHARES, + ); + + return tx; + } catch (e) { + throw new Error( + // @ts-expect-error - error message is a string + `Failed to request withdrawal from Drift vault: ${e.message}`, + ); + } +} + +/** + Withdraw tokens once the redemption period has elapsed. + @param agent SolanaAgentKit instance + @param vault Vault address + @returns Promise - The transaction signature of the redemption +*/ +export async function withdraw(agent: SolanaAgentKit, vault: string) { + try { + const { vaultClient } = initClients(agent); + const vaultPublicKey = new PublicKey(vault); + const isOwned = await getIsOwned(agent, vault); + + if (isOwned) { + return await vaultClient.managerWithdraw(vaultPublicKey); + } + + const vaultDepositor = await getOrCreateVaultDepositor(agent, vault); + + const tx = await vaultClient.withdraw(vaultDepositor); + + return tx; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to redeem tokens from Drift vault: ${e.message}`); + } +} + +/** + Get if vault is owned by the user + @param agent SolanaAgentKit instance + @param vault Vault address + @returns Promise - Whether the vault is owned by the user +*/ +export async function getIsOwned(agent: SolanaAgentKit, vault: string) { + try { + const { vaultClient } = initClients(agent); + const vaultPublicKey = new PublicKey(vault); + const vaultDetails = await vaultClient.getVault(vaultPublicKey); + + return vaultDetails.delegate.equals(agent.wallet.publicKey); + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to check if vault is owned: ${e.message}`); + } +} + +/** + Carry out a trade with a delegated vault + @param agent SolanaAgentKit instance + @param amount Amount to trade (in tokens) + @param symbol Symbol of the token to trade + @param action Action to take (e.g. "buy" or "sell") + @param type Type of trade (e.g. "market" or "limit") + @param vault Vault address +*/ +export async function trade( + agent: SolanaAgentKit, + amount: number, + symbol: string, + action: "buy" | "sell", + type: "market" | "limit", + vault: string, + price?: number, +) { + try { + const { driftClient, vaultClient } = initClients(agent); + const [isOwned, vaultDetails, driftLookupTableAccount] = await Promise.all([ + getIsOwned(agent, vault), + vaultClient.getVault(new PublicKey(vault)), + driftClient.fetchMarketLookupTableAccount(), + ]); + + if (!isOwned) { + throw new Error( + "This vault is owned by someone else, so you can't trade with it", + ); + } + + driftClient.authority = new PublicKey(vault); + driftClient.activeSubAccountId = 0; + vaultClient.driftClient = driftClient; + + const usdcSpotMarket = driftClient.getSpotMarketAccount(0); + if (!usdcSpotMarket) { + throw new Error("USDC-SPOT market not found"); + } + + const usdcPrecision = TEN.pow(new BN(usdcSpotMarket.decimals)); + const vaultWithdrawalsRequested = convertToNumber( + vaultDetails.totalWithdrawRequested, + usdcPrecision, + ); + // this is actually the authority provided + const user = driftClient.getUser(); + const currentVaultBalance = + convertToNumber(user.getNetSpotMarketValue(), QUOTE_PRECISION) + + convertToNumber(user.getUnrealizedPNL(true), QUOTE_PRECISION); + const availableBalanceInUSD = + currentVaultBalance - vaultWithdrawalsRequested; + + if (amount > availableBalanceInUSD) { + throw new Error( + "Insufficient balance: You don't have enough balance to make this trade", + ); + } + + const perpMarketIndexAndType = driftClient.getMarketIndexAndType( + `${symbol.toUpperCase()}-PERP`, + ); + + if (!perpMarketIndexAndType) { + throw new Error( + "Invalid symbol: Drift doesn't have a market for this token", + ); + } + + const perpOracle = driftClient.getOracleDataForPerpMarket( + perpMarketIndexAndType.marketIndex, + ); + const oraclePriceNumber = convertToNumber( + perpOracle.price, + PRICE_PRECISION, + ); + const baseAmount = amount / oraclePriceNumber; + const instructions: TransactionInstruction[] = []; + + instructions.push( + ComputeBudgetProgram.setComputeUnitLimit({ units: 1400000 }), + ); + + if (type === "limit" || price) { + if (!price) { + throw new Error("Price is required for limit orders"); + } + + const instruction = await driftClient.getPlaceOrdersIx([ + getOrderParams( + getLimitOrderParams({ + price: numberToSafeBN(price, PRICE_PRECISION), + marketType: MarketType.PERP, + baseAssetAmount: numberToSafeBN(baseAmount, BASE_PRECISION), + direction: + action === "buy" + ? PositionDirection.LONG + : PositionDirection.SHORT, + marketIndex: perpMarketIndexAndType.marketIndex, + postOnly: PostOnlyParams.SLIDE, + }), + ), + ]); + + instructions.push(instruction); + } else { + // defaults to market order if type is not limit and price is not provided + const instruction = await driftClient.getPlaceOrdersIx([ + getOrderParams( + getMarketOrderParams({ + marketType: MarketType.PERP, + baseAssetAmount: numberToSafeBN(baseAmount, BASE_PRECISION), + direction: + action === "buy" + ? PositionDirection.LONG + : PositionDirection.SHORT, + marketIndex: perpMarketIndexAndType.marketIndex, + }), + ), + ]); + instructions.push(instruction); + } + + const tx = await driftClient.txSender.sendVersionedTransaction( + await driftClient.txSender.getVersionedTransaction( + instructions, + [driftLookupTableAccount], + [], + driftClient.opts, + ), + ); + + return tx; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to trade with Drift vault: ${e.message}`); + } +} From 7032ed7d9991008defff1be6372acf14e07653f2 Mon Sep 17 00:00:00 2001 From: 0xCipherCoder Date: Fri, 10 Jan 2025 17:34:13 +0530 Subject: [PATCH 093/138] Added refactoring changes for agent, action and tools --- src/actions/{ => agent}/createImage.ts | 6 +- src/actions/{ => agent}/getWalletAddress.ts | 6 +- src/actions/{ => balance}/balance.ts | 6 +- .../{ => dexscreener}/tokenDataByTicker.ts | 6 +- src/actions/{ => domain}/getAllDomainsTLDs.ts | 6 +- .../getAllRegisteredAllDomains.ts | 6 +- .../{ => domain}/getMainAllDomainsDomain.ts | 8 +- .../{ => domain}/getOwnedAllDomains.ts | 8 +- .../{ => domain}/getOwnedDomainsForTLD.ts | 6 +- src/actions/{ => domain}/getPrimaryDomain.ts | 8 +- src/actions/{ => domain}/registerDomain.ts | 6 +- src/actions/{ => domain}/resolveDomain.ts | 6 +- src/actions/{ => domain}/resolveSolDomain.ts | 6 +- src/actions/{ => flash}/flashCloseTrade.ts | 6 +- src/actions/{ => flash}/flashOpenTrade.ts | 6 +- .../{ => gibwork}/createGibworkTask.ts | 6 +- src/actions/index.ts | 64 +- src/actions/{ => jupiter}/fetchPrice.ts | 6 +- src/actions/{ => jupiter}/getTokenData.ts | 8 +- src/actions/{ => jupiter}/stakeWithJup.ts | 6 +- src/actions/{ => jupiter}/trade.ts | 6 +- src/actions/{ => lulo}/lendAsset.ts | 6 +- .../{ => metaplex}/deployCollection.ts | 6 +- src/actions/{ => metaplex}/mintNFT.ts | 6 +- .../{ => openbook}/createOpenbookMarket.ts | 8 +- .../createOrcaSingleSidedWhirlpool.ts | 6 +- .../{ => pumpfun}/launchPumpfunToken.ts | 6 +- src/actions/{ => pyth}/pythFetchPrice.ts | 6 +- .../{ => raydium}/raydiumCreateAmmV4.ts | 6 +- .../{ => raydium}/raydiumCreateClmm.ts | 6 +- .../{ => raydium}/raydiumCreateCpmm.ts | 6 +- src/actions/{ => solana}/getTPS.ts | 6 +- src/actions/{ => solana}/requestFunds.ts | 6 +- src/actions/{ => solayer}/stakeWithSolayer.ts | 6 +- .../{ => token}/closeEmptyTokenAccounts.ts | 6 +- src/actions/{ => token}/compressedAirdrop.ts | 6 +- src/actions/{ => token}/deployToken.ts | 6 +- src/actions/{ => token}/transfer.ts | 6 +- src/agent/index.ts | 4 +- src/langchain/index.ts | 2499 +---------------- .../tools/3land/create-collection.tool.ts | 58 + .../tools/3land/create-single.tool.ts | 81 + src/langchain/tools/3land/index.ts | 2 + .../tools/adrena/close-trade.tool.ts | 39 + src/langchain/tools/adrena/index.ts | 2 + src/langchain/tools/adrena/open-trade.tool.ts | 51 + src/langchain/tools/adrena/types.ts | 29 + .../tools/agent/create-image.tool.ts | 30 + src/langchain/tools/agent/index.ts | 2 + src/langchain/tools/agent/types.ts | 9 + .../tools/agent/wallet-address.tool.ts | 15 + .../tools/balance/balance-other.tool.ts | 37 + src/langchain/tools/balance/balance.tool.ts | 32 + src/langchain/tools/balance/index.ts | 3 + src/langchain/tools/balance/types.ts | 21 + src/langchain/tools/common/base.tool.ts | 17 + src/langchain/tools/common/index.ts | 2 + src/langchain/tools/common/types.ts | 5 + src/langchain/tools/dexscreener/index.ts | 1 + .../dexscreener/token-data-ticker.tool.ts | 23 + src/langchain/tools/domain/get-domain.tool.ts | 26 + .../tools/domain/get_all_tld.tool.ts | 24 + src/langchain/tools/domain/index.ts | 9 + .../tools/domain/main-domain.tool.ts | 27 + .../tools/domain/owned-domains.tool.ts | 26 + .../tools/domain/register-domain.tool.ts | 32 + .../tools/domain/resolve-all-domains.tool.ts | 34 + .../tools/domain/resolve-domain.tool.ts | 27 + .../tools/domain/tld-domains.tool.ts | 24 + src/langchain/tools/domain/types.ts | 45 + src/langchain/tools/flash/flash-close.tool.ts | 34 + src/langchain/tools/flash/flash-open.tool.ts | 40 + src/langchain/tools/flash/index.ts | 3 + src/langchain/tools/flash/types.ts | 25 + .../tools/gibwork/create-task.tool.ts | 41 + src/langchain/tools/gibwork/index.ts | 2 + src/langchain/tools/gibwork/types.ts | 16 + src/langchain/tools/index.ts | 24 + .../tools/jupiter/fetch-price.tool.ts | 23 + src/langchain/tools/jupiter/index.ts | 5 + src/langchain/tools/jupiter/stake.tool.ts | 27 + .../tools/jupiter/token-data.tool.ts | 23 + src/langchain/tools/jupiter/trade.tool.ts | 39 + src/langchain/tools/jupiter/types.ts | 19 + src/langchain/tools/lulo/index.ts | 2 + src/langchain/tools/lulo/lend-asset.tool.ts | 28 + src/langchain/tools/lulo/types.ts | 10 + .../tools/manifest/batch-order.tool.ts | 88 + .../tools/manifest/cancel-orders.tool.ts | 26 + src/langchain/tools/manifest/index.ts | 6 + .../tools/manifest/limit-order.tool.ts | 40 + .../tools/manifest/manifest-market.tool.ts | 32 + src/langchain/tools/manifest/types.ts | 11 + src/langchain/tools/manifest/withdraw.tool.ts | 30 + .../tools/metaplex/deploy-collection.tool.ts | 30 + src/langchain/tools/metaplex/index.ts | 3 + src/langchain/tools/metaplex/mint-nft.tool.ts | 44 + src/langchain/tools/metaplex/types.ts | 33 + src/langchain/tools/openbook/index.ts | 2 + .../tools/openbook/openbook-market.tool.ts | 35 + src/langchain/tools/openbook/types.ts | 6 + src/langchain/tools/orca/index.ts | 7 + .../tools/orca/orca-centered-position.tool.ts | 35 + src/langchain/tools/orca/orca-clmm.tool.ts | 46 + .../tools/orca/orca-fetch-positions.tool.ts | 21 + .../tools/orca/orca-position.tool.ts | 29 + .../tools/orca/orca-single-sided-pool.tool.ts | 51 + .../orca/orca-single-sided-position.tool.ts | 37 + src/langchain/tools/orca/types.ts | 51 + src/langchain/tools/pumpfun/index.ts | 1 + .../pumpfun/launch-pumpfun-token.tool.ts | 74 + src/langchain/tools/pyth/index.ts | 2 + src/langchain/tools/pyth/pyth-price.tool.ts | 34 + src/langchain/tools/pyth/types.ts | 11 + src/langchain/tools/raydium/index.ts | 4 + .../tools/raydium/raydium-amm.tool.ts | 36 + .../tools/raydium/raydium-clmm.tool.ts | 39 + .../tools/raydium/raydium-cpmm.tool.ts | 40 + src/langchain/tools/raydium/types.ts | 23 + src/langchain/tools/rugcheck/index.ts | 3 + .../rugcheck/token-report-detailed.tool.ts | 25 + .../rugcheck/token-report-summary.tool.ts | 24 + src/langchain/tools/rugcheck/types.ts | 17 + src/langchain/tools/sendarcade/index.ts | 2 + .../sendarcade/rock-paper-scissors.tool.ts | 28 + src/langchain/tools/sendarcade/types.ts | 4 + src/langchain/tools/solana/get-tps.tool.ts | 20 + src/langchain/tools/solana/index.ts | 3 + .../tools/solana/request-funds.tool.ts | 21 + src/langchain/tools/solana/types.ts | 13 + src/langchain/tools/solayer/index.ts | 1 + src/langchain/tools/solayer/restake.tool.ts | 27 + src/langchain/tools/solayer/types.ts | 6 + .../tools/tensor/cancel-listing.tool.ts | 30 + src/langchain/tools/tensor/index.ts | 2 + src/langchain/tools/tensor/list-nft.tool.ts | 49 + src/langchain/tools/tensor/types.ts | 22 + src/langchain/tools/tiplink/index.ts | 2 + src/langchain/tools/tiplink/tiplink.tool.ts | 42 + src/langchain/tools/tiplink/types.ts | 13 + .../tools/token/close-empty-accounts.tool.ts | 23 + .../tools/token/compressed-airdrop.tool.ts | 38 + .../tools/token/deploy-token.tool.ts | 37 + src/langchain/tools/token/index.ts | 5 + src/langchain/tools/token/transfer.tool.ts | 39 + src/langchain/tools/token/types.ts | 45 + .../{ => 3land}/create_3land_collectible.ts | 0 src/tools/3land/index.ts | 1 + src/tools/{ => adrena}/adrena_perp_trading.ts | 8 +- src/tools/adrena/index.ts | 1 + src/tools/{ => agent}/create_image.ts | 2 +- src/tools/{ => agent}/get_wallet_address.ts | 2 +- src/tools/agent/index.ts | 2 + src/tools/{ => balance}/get_balance.ts | 2 +- src/tools/{ => balance}/get_balance_other.ts | 2 +- src/tools/balance/index.ts | 2 + src/tools/{ => dexscreener}/get_token_data.ts | 2 +- src/tools/dexscreener/index.ts | 1 + .../{ => domain}/get_all_domains_tlds.ts | 2 +- .../get_all_registered_all_domains.ts | 2 +- .../get_main_all_domains_domain.ts | 0 .../{ => domain}/get_owned_all_domains.ts | 2 +- .../{ => domain}/get_owned_domains_for_tld.ts | 2 +- src/tools/{ => domain}/get_primary_domain.ts | 2 +- src/tools/domain/index.ts | 9 + src/tools/{ => domain}/register_domain.ts | 4 +- src/tools/{ => domain}/resolve_domain.ts | 2 +- src/tools/{ => domain}/resolve_sol_domain.ts | 2 +- src/tools/{ => flash}/flash_close_trade.ts | 6 +- src/tools/{ => flash}/flash_open_trade.ts | 6 +- src/tools/flash/index.ts | 2 + .../{ => gibwork}/create_gibwork_task.ts | 2 +- src/tools/gibwork/index.ts | 1 + src/tools/index.ts | 74 +- src/tools/{ => jupiter}/fetch_price.ts | 0 src/tools/jupiter/index.ts | 3 + src/tools/{ => jupiter}/stake_with_jup.ts | 2 +- src/tools/{ => jupiter}/trade.ts | 4 +- src/tools/lulo/index.ts | 1 + src/tools/{ => lulo}/lend.ts | 2 +- src/tools/manifest/index.ts | 1 + src/tools/{ => manifest}/manifest_trade.ts | 2 +- src/tools/{ => metaplex}/deploy_collection.ts | 4 +- src/tools/metaplex/index.ts | 2 + src/tools/{ => metaplex}/mint_nft.ts | 4 +- src/tools/openbook/index.ts | 1 + .../{ => openbook}/openbook_create_market.ts | 2 +- src/tools/orca/index.ts | 6 + src/tools/{ => orca}/orca_close_position.ts | 4 +- src/tools/{ => orca}/orca_create_clmm.ts | 4 +- ...orca_create_single_sided_liquidity_pool.ts | 4 +- src/tools/{ => orca}/orca_fetch_positions.ts | 2 +- ...a_open_centered_position_with_liquidity.ts | 4 +- .../orca_open_single_sided_position.ts | 4 +- src/tools/pumpfun/index.ts | 1 + .../{ => pumpfun}/launch_pumpfun_token.ts | 2 +- src/tools/pyth/index.ts | 1 + src/tools/{ => pyth}/pyth_fetch_price.ts | 2 +- src/tools/raydium/index.ts | 3 + .../{ => raydium}/raydium_create_ammV4.ts | 2 +- .../{ => raydium}/raydium_create_clmm.ts | 2 +- .../{ => raydium}/raydium_create_cpmm.ts | 2 +- src/tools/rugcheck/index.ts | 1 + src/tools/{ => rugcheck}/rugcheck.ts | 2 +- src/tools/sendarcade/index.ts | 1 + .../{ => sendarcade}/rock_paper_scissor.ts | 2 +- src/tools/{ => solana}/get_tps.ts | 2 +- src/tools/solana/index.ts | 2 + .../{ => solana}/request_faucet_funds.ts | 2 +- src/tools/solayer/index.ts | 1 + src/tools/{ => solayer}/stake_with_solayer.ts | 2 +- src/tools/tensor/index.ts | 1 + src/tools/{ => tensor}/tensor_trade.ts | 2 +- src/tools/{ => tiplink}/create_tiplinks.ts | 2 +- src/tools/tiplink/index.ts | 1 + .../{ => token}/close_empty_token_accounts.ts | 2 +- src/tools/{ => token}/deploy_token.ts | 2 +- src/tools/token/index.ts | 4 + .../{ => token}/send_compressed_airdrop.ts | 2 +- src/tools/{ => token}/transfer.ts | 2 +- 220 files changed, 2907 insertions(+), 2701 deletions(-) rename src/actions/{ => agent}/createImage.ts (95%) rename src/actions/{ => agent}/getWalletAddress.ts (80%) rename src/actions/{ => balance}/balance.ts (91%) rename src/actions/{ => dexscreener}/tokenDataByTicker.ts (90%) rename src/actions/{ => domain}/getAllDomainsTLDs.ts (89%) rename src/actions/{ => domain}/getAllRegisteredAllDomains.ts (91%) rename src/actions/{ => domain}/getMainAllDomainsDomain.ts (91%) rename src/actions/{ => domain}/getOwnedAllDomains.ts (91%) rename src/actions/{ => domain}/getOwnedDomainsForTLD.ts (91%) rename src/actions/{ => domain}/getPrimaryDomain.ts (90%) rename src/actions/{ => domain}/registerDomain.ts (91%) rename src/actions/{ => domain}/resolveDomain.ts (88%) rename src/actions/{ => domain}/resolveSolDomain.ts (90%) rename src/actions/{ => flash}/flashCloseTrade.ts (91%) rename src/actions/{ => flash}/flashOpenTrade.ts (93%) rename src/actions/{ => gibwork}/createGibworkTask.ts (94%) rename src/actions/{ => jupiter}/fetchPrice.ts (90%) rename src/actions/{ => jupiter}/getTokenData.ts (94%) rename src/actions/{ => jupiter}/stakeWithJup.ts (90%) rename src/actions/{ => jupiter}/trade.ts (95%) rename src/actions/{ => lulo}/lendAsset.ts (89%) rename src/actions/{ => metaplex}/deployCollection.ts (93%) rename src/actions/{ => metaplex}/mintNFT.ts (94%) rename src/actions/{ => openbook}/createOpenbookMarket.ts (93%) rename src/actions/{ => orca}/createOrcaSingleSidedWhirlpool.ts (95%) rename src/actions/{ => pumpfun}/launchPumpfunToken.ts (95%) rename src/actions/{ => pyth}/pythFetchPrice.ts (89%) rename src/actions/{ => raydium}/raydiumCreateAmmV4.ts (94%) rename src/actions/{ => raydium}/raydiumCreateClmm.ts (94%) rename src/actions/{ => raydium}/raydiumCreateCpmm.ts (94%) rename src/actions/{ => solana}/getTPS.ts (88%) rename src/actions/{ => solana}/requestFunds.ts (86%) rename src/actions/{ => solayer}/stakeWithSolayer.ts (91%) rename src/actions/{ => token}/closeEmptyTokenAccounts.ts (92%) rename src/actions/{ => token}/compressedAirdrop.ts (95%) rename src/actions/{ => token}/deployToken.ts (93%) rename src/actions/{ => token}/transfer.ts (94%) create mode 100644 src/langchain/tools/3land/create-collection.tool.ts create mode 100644 src/langchain/tools/3land/create-single.tool.ts create mode 100644 src/langchain/tools/3land/index.ts create mode 100644 src/langchain/tools/adrena/close-trade.tool.ts create mode 100644 src/langchain/tools/adrena/index.ts create mode 100644 src/langchain/tools/adrena/open-trade.tool.ts create mode 100644 src/langchain/tools/adrena/types.ts create mode 100644 src/langchain/tools/agent/create-image.tool.ts create mode 100644 src/langchain/tools/agent/index.ts create mode 100644 src/langchain/tools/agent/types.ts create mode 100644 src/langchain/tools/agent/wallet-address.tool.ts create mode 100644 src/langchain/tools/balance/balance-other.tool.ts create mode 100644 src/langchain/tools/balance/balance.tool.ts create mode 100644 src/langchain/tools/balance/index.ts create mode 100644 src/langchain/tools/balance/types.ts create mode 100644 src/langchain/tools/common/base.tool.ts create mode 100644 src/langchain/tools/common/index.ts create mode 100644 src/langchain/tools/common/types.ts create mode 100644 src/langchain/tools/dexscreener/index.ts create mode 100644 src/langchain/tools/dexscreener/token-data-ticker.tool.ts create mode 100644 src/langchain/tools/domain/get-domain.tool.ts create mode 100644 src/langchain/tools/domain/get_all_tld.tool.ts create mode 100644 src/langchain/tools/domain/index.ts create mode 100644 src/langchain/tools/domain/main-domain.tool.ts create mode 100644 src/langchain/tools/domain/owned-domains.tool.ts create mode 100644 src/langchain/tools/domain/register-domain.tool.ts create mode 100644 src/langchain/tools/domain/resolve-all-domains.tool.ts create mode 100644 src/langchain/tools/domain/resolve-domain.tool.ts create mode 100644 src/langchain/tools/domain/tld-domains.tool.ts create mode 100644 src/langchain/tools/domain/types.ts create mode 100644 src/langchain/tools/flash/flash-close.tool.ts create mode 100644 src/langchain/tools/flash/flash-open.tool.ts create mode 100644 src/langchain/tools/flash/index.ts create mode 100644 src/langchain/tools/flash/types.ts create mode 100644 src/langchain/tools/gibwork/create-task.tool.ts create mode 100644 src/langchain/tools/gibwork/index.ts create mode 100644 src/langchain/tools/gibwork/types.ts create mode 100644 src/langchain/tools/index.ts create mode 100644 src/langchain/tools/jupiter/fetch-price.tool.ts create mode 100644 src/langchain/tools/jupiter/index.ts create mode 100644 src/langchain/tools/jupiter/stake.tool.ts create mode 100644 src/langchain/tools/jupiter/token-data.tool.ts create mode 100644 src/langchain/tools/jupiter/trade.tool.ts create mode 100644 src/langchain/tools/jupiter/types.ts create mode 100644 src/langchain/tools/lulo/index.ts create mode 100644 src/langchain/tools/lulo/lend-asset.tool.ts create mode 100644 src/langchain/tools/lulo/types.ts create mode 100644 src/langchain/tools/manifest/batch-order.tool.ts create mode 100644 src/langchain/tools/manifest/cancel-orders.tool.ts create mode 100644 src/langchain/tools/manifest/index.ts create mode 100644 src/langchain/tools/manifest/limit-order.tool.ts create mode 100644 src/langchain/tools/manifest/manifest-market.tool.ts create mode 100644 src/langchain/tools/manifest/types.ts create mode 100644 src/langchain/tools/manifest/withdraw.tool.ts create mode 100644 src/langchain/tools/metaplex/deploy-collection.tool.ts create mode 100644 src/langchain/tools/metaplex/index.ts create mode 100644 src/langchain/tools/metaplex/mint-nft.tool.ts create mode 100644 src/langchain/tools/metaplex/types.ts create mode 100644 src/langchain/tools/openbook/index.ts create mode 100644 src/langchain/tools/openbook/openbook-market.tool.ts create mode 100644 src/langchain/tools/openbook/types.ts create mode 100644 src/langchain/tools/orca/index.ts create mode 100644 src/langchain/tools/orca/orca-centered-position.tool.ts create mode 100644 src/langchain/tools/orca/orca-clmm.tool.ts create mode 100644 src/langchain/tools/orca/orca-fetch-positions.tool.ts create mode 100644 src/langchain/tools/orca/orca-position.tool.ts create mode 100644 src/langchain/tools/orca/orca-single-sided-pool.tool.ts create mode 100644 src/langchain/tools/orca/orca-single-sided-position.tool.ts create mode 100644 src/langchain/tools/orca/types.ts create mode 100644 src/langchain/tools/pumpfun/index.ts create mode 100644 src/langchain/tools/pumpfun/launch-pumpfun-token.tool.ts create mode 100644 src/langchain/tools/pyth/index.ts create mode 100644 src/langchain/tools/pyth/pyth-price.tool.ts create mode 100644 src/langchain/tools/pyth/types.ts create mode 100644 src/langchain/tools/raydium/index.ts create mode 100644 src/langchain/tools/raydium/raydium-amm.tool.ts create mode 100644 src/langchain/tools/raydium/raydium-clmm.tool.ts create mode 100644 src/langchain/tools/raydium/raydium-cpmm.tool.ts create mode 100644 src/langchain/tools/raydium/types.ts create mode 100644 src/langchain/tools/rugcheck/index.ts create mode 100644 src/langchain/tools/rugcheck/token-report-detailed.tool.ts create mode 100644 src/langchain/tools/rugcheck/token-report-summary.tool.ts create mode 100644 src/langchain/tools/rugcheck/types.ts create mode 100644 src/langchain/tools/sendarcade/index.ts create mode 100644 src/langchain/tools/sendarcade/rock-paper-scissors.tool.ts create mode 100644 src/langchain/tools/sendarcade/types.ts create mode 100644 src/langchain/tools/solana/get-tps.tool.ts create mode 100644 src/langchain/tools/solana/index.ts create mode 100644 src/langchain/tools/solana/request-funds.tool.ts create mode 100644 src/langchain/tools/solana/types.ts create mode 100644 src/langchain/tools/solayer/index.ts create mode 100644 src/langchain/tools/solayer/restake.tool.ts create mode 100644 src/langchain/tools/solayer/types.ts create mode 100644 src/langchain/tools/tensor/cancel-listing.tool.ts create mode 100644 src/langchain/tools/tensor/index.ts create mode 100644 src/langchain/tools/tensor/list-nft.tool.ts create mode 100644 src/langchain/tools/tensor/types.ts create mode 100644 src/langchain/tools/tiplink/index.ts create mode 100644 src/langchain/tools/tiplink/tiplink.tool.ts create mode 100644 src/langchain/tools/tiplink/types.ts create mode 100644 src/langchain/tools/token/close-empty-accounts.tool.ts create mode 100644 src/langchain/tools/token/compressed-airdrop.tool.ts create mode 100644 src/langchain/tools/token/deploy-token.tool.ts create mode 100644 src/langchain/tools/token/index.ts create mode 100644 src/langchain/tools/token/transfer.tool.ts create mode 100644 src/langchain/tools/token/types.ts rename src/tools/{ => 3land}/create_3land_collectible.ts (100%) create mode 100644 src/tools/3land/index.ts rename src/tools/{ => adrena}/adrena_perp_trading.ts (98%) create mode 100644 src/tools/adrena/index.ts rename src/tools/{ => agent}/create_image.ts (95%) rename src/tools/{ => agent}/get_wallet_address.ts (81%) create mode 100644 src/tools/agent/index.ts rename src/tools/{ => balance}/get_balance.ts (94%) rename src/tools/{ => balance}/get_balance_other.ts (97%) create mode 100644 src/tools/balance/index.ts rename src/tools/{ => dexscreener}/get_token_data.ts (97%) create mode 100644 src/tools/dexscreener/index.ts rename src/tools/{ => domain}/get_all_domains_tlds.ts (91%) rename src/tools/{ => domain}/get_all_registered_all_domains.ts (95%) rename src/tools/{ => domain}/get_main_all_domains_domain.ts (100%) rename src/tools/{ => domain}/get_owned_all_domains.ts (94%) rename src/tools/{ => domain}/get_owned_domains_for_tld.ts (94%) rename src/tools/{ => domain}/get_primary_domain.ts (96%) create mode 100644 src/tools/domain/index.ts rename src/tools/{ => domain}/register_domain.ts (94%) rename src/tools/{ => domain}/resolve_domain.ts (94%) rename src/tools/{ => domain}/resolve_sol_domain.ts (95%) rename src/tools/{ => flash}/flash_close_trade.ts (96%) rename src/tools/{ => flash}/flash_open_trade.ts (98%) create mode 100644 src/tools/flash/index.ts rename src/tools/{ => gibwork}/create_gibwork_task.ts (97%) create mode 100644 src/tools/gibwork/index.ts rename src/tools/{ => jupiter}/fetch_price.ts (100%) create mode 100644 src/tools/jupiter/index.ts rename src/tools/{ => jupiter}/stake_with_jup.ts (97%) rename src/tools/{ => jupiter}/trade.ts (97%) create mode 100644 src/tools/lulo/index.ts rename src/tools/{ => lulo}/lend.ts (97%) create mode 100644 src/tools/manifest/index.ts rename src/tools/{ => manifest}/manifest_trade.ts (99%) rename src/tools/{ => metaplex}/deploy_collection.ts (94%) create mode 100644 src/tools/metaplex/index.ts rename src/tools/{ => metaplex}/mint_nft.ts (95%) create mode 100644 src/tools/openbook/index.ts rename src/tools/{ => openbook}/openbook_create_market.ts (96%) create mode 100644 src/tools/orca/index.ts rename src/tools/{ => orca}/orca_close_position.ts (96%) rename src/tools/{ => orca}/orca_create_clmm.ts (98%) rename src/tools/{ => orca}/orca_create_single_sided_liquidity_pool.ts (99%) rename src/tools/{ => orca}/orca_fetch_positions.ts (98%) rename src/tools/{ => orca}/orca_open_centered_position_with_liquidity.ts (98%) rename src/tools/{ => orca}/orca_open_single_sided_position.ts (98%) create mode 100644 src/tools/pumpfun/index.ts rename src/tools/{ => pumpfun}/launch_pumpfun_token.ts (99%) create mode 100644 src/tools/pyth/index.ts rename src/tools/{ => pyth}/pyth_fetch_price.ts (98%) create mode 100644 src/tools/raydium/index.ts rename src/tools/{ => raydium}/raydium_create_ammV4.ts (97%) rename src/tools/{ => raydium}/raydium_create_clmm.ts (97%) rename src/tools/{ => raydium}/raydium_create_cpmm.ts (97%) create mode 100644 src/tools/rugcheck/index.ts rename src/tools/{ => rugcheck}/rugcheck.ts (97%) create mode 100644 src/tools/sendarcade/index.ts rename src/tools/{ => sendarcade}/rock_paper_scissor.ts (98%) rename src/tools/{ => solana}/get_tps.ts (90%) create mode 100644 src/tools/solana/index.ts rename src/tools/{ => solana}/request_faucet_funds.ts (93%) create mode 100644 src/tools/solayer/index.ts rename src/tools/{ => solayer}/stake_with_solayer.ts (97%) create mode 100644 src/tools/tensor/index.ts rename src/tools/{ => tensor}/tensor_trade.ts (98%) rename src/tools/{ => tiplink}/create_tiplinks.ts (98%) create mode 100644 src/tools/tiplink/index.ts rename src/tools/{ => token}/close_empty_token_accounts.ts (98%) rename src/tools/{ => token}/deploy_token.ts (97%) create mode 100644 src/tools/token/index.ts rename src/tools/{ => token}/send_compressed_airdrop.ts (99%) rename src/tools/{ => token}/transfer.ts (97%) diff --git a/src/actions/createImage.ts b/src/actions/agent/createImage.ts similarity index 95% rename from src/actions/createImage.ts rename to src/actions/agent/createImage.ts index adbf55c..140cc72 100644 --- a/src/actions/createImage.ts +++ b/src/actions/agent/createImage.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { create_image } from "../tools/create_image"; +import { create_image } from "../../tools/agent"; const createImageAction: Action = { name: "CREATE_IMAGE", diff --git a/src/actions/getWalletAddress.ts b/src/actions/agent/getWalletAddress.ts similarity index 80% rename from src/actions/getWalletAddress.ts rename to src/actions/agent/getWalletAddress.ts index 7cd87c6..00b7672 100644 --- a/src/actions/getWalletAddress.ts +++ b/src/actions/agent/getWalletAddress.ts @@ -1,7 +1,7 @@ +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { SolanaAgentKit } from ".."; -import { get_wallet_address } from "../tools"; -import { Action } from "../types/action"; +import { get_wallet_address } from "../../tools/agent"; const getWalletAddressAction: Action = { name: "GET_WALLET_ADDRESS", diff --git a/src/actions/balance.ts b/src/actions/balance/balance.ts similarity index 91% rename from src/actions/balance.ts rename to src/actions/balance/balance.ts index 381b2a5..97e2d57 100644 --- a/src/actions/balance.ts +++ b/src/actions/balance/balance.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { get_balance } from "../tools"; +import { get_balance } from "../../tools/balance"; const balanceAction: Action = { name: "BALANCE_ACTION", diff --git a/src/actions/tokenDataByTicker.ts b/src/actions/dexscreener/tokenDataByTicker.ts similarity index 90% rename from src/actions/tokenDataByTicker.ts rename to src/actions/dexscreener/tokenDataByTicker.ts index 28995a5..5991a65 100644 --- a/src/actions/tokenDataByTicker.ts +++ b/src/actions/dexscreener/tokenDataByTicker.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getTokenDataByTicker } from "../tools"; +import { getTokenDataByTicker } from "../../tools/dexscreener"; const tokenDataByTickerAction: Action = { name: "GET_TOKEN_DATA_BY_TICKER", diff --git a/src/actions/getAllDomainsTLDs.ts b/src/actions/domain/getAllDomainsTLDs.ts similarity index 89% rename from src/actions/getAllDomainsTLDs.ts rename to src/actions/domain/getAllDomainsTLDs.ts index d8d2b64..074e143 100644 --- a/src/actions/getAllDomainsTLDs.ts +++ b/src/actions/domain/getAllDomainsTLDs.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getAllDomainsTLDs } from "../tools"; +import { getAllDomainsTLDs } from "../../tools/domain"; const getAllDomainsTLDsAction: Action = { name: "GET_ALL_TLDS", diff --git a/src/actions/getAllRegisteredAllDomains.ts b/src/actions/domain/getAllRegisteredAllDomains.ts similarity index 91% rename from src/actions/getAllRegisteredAllDomains.ts rename to src/actions/domain/getAllRegisteredAllDomains.ts index a4d5688..b10717f 100644 --- a/src/actions/getAllRegisteredAllDomains.ts +++ b/src/actions/domain/getAllRegisteredAllDomains.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getAllRegisteredAllDomains } from "../tools"; +import { getAllRegisteredAllDomains } from "../../tools/domain"; const getAllRegisteredAllDomainsAction: Action = { name: "GET_ALL_REGISTERED_ALL_DOMAINS", diff --git a/src/actions/getMainAllDomainsDomain.ts b/src/actions/domain/getMainAllDomainsDomain.ts similarity index 91% rename from src/actions/getMainAllDomainsDomain.ts rename to src/actions/domain/getMainAllDomainsDomain.ts index 1071050..6b8a3cb 100644 --- a/src/actions/getMainAllDomainsDomain.ts +++ b/src/actions/domain/getMainAllDomainsDomain.ts @@ -1,8 +1,8 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; -import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; -import { getMainAllDomainsDomain } from "../tools"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; +import { z } from "zod"; +import { getMainAllDomainsDomain } from "../../tools/domain"; const getMainAllDomainsDomainAction: Action = { name: "GET_MAIN_ALL_DOMAINS_DOMAIN", diff --git a/src/actions/getOwnedAllDomains.ts b/src/actions/domain/getOwnedAllDomains.ts similarity index 91% rename from src/actions/getOwnedAllDomains.ts rename to src/actions/domain/getOwnedAllDomains.ts index e9f294a..2a98d4f 100644 --- a/src/actions/getOwnedAllDomains.ts +++ b/src/actions/domain/getOwnedAllDomains.ts @@ -1,8 +1,8 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; -import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; -import { getOwnedAllDomains } from "../tools"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; +import { z } from "zod"; +import { getOwnedAllDomains } from "../../tools/domain"; const getOwnedAllDomainsAction: Action = { name: "GET_OWNED_ALL_DOMAINS", diff --git a/src/actions/getOwnedDomainsForTLD.ts b/src/actions/domain/getOwnedDomainsForTLD.ts similarity index 91% rename from src/actions/getOwnedDomainsForTLD.ts rename to src/actions/domain/getOwnedDomainsForTLD.ts index 4343488..72854d8 100644 --- a/src/actions/getOwnedDomainsForTLD.ts +++ b/src/actions/domain/getOwnedDomainsForTLD.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getOwnedDomainsForTLD } from "../tools"; +import { getOwnedDomainsForTLD } from "../../tools/domain"; const getOwnedDomainsForTLDAction: Action = { name: "GET_OWNED_DOMAINS_FOR_TLD", diff --git a/src/actions/getPrimaryDomain.ts b/src/actions/domain/getPrimaryDomain.ts similarity index 90% rename from src/actions/getPrimaryDomain.ts rename to src/actions/domain/getPrimaryDomain.ts index 2655dae..fdf985e 100644 --- a/src/actions/getPrimaryDomain.ts +++ b/src/actions/domain/getPrimaryDomain.ts @@ -1,8 +1,8 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; -import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; -import { getPrimaryDomain } from "../tools"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; +import { z } from "zod"; +import { getPrimaryDomain } from "../../tools/domain"; const getPrimaryDomainAction: Action = { name: "GET_PRIMARY_DOMAIN", diff --git a/src/actions/registerDomain.ts b/src/actions/domain/registerDomain.ts similarity index 91% rename from src/actions/registerDomain.ts rename to src/actions/domain/registerDomain.ts index 55f9354..5f5a6bc 100644 --- a/src/actions/registerDomain.ts +++ b/src/actions/domain/registerDomain.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { registerDomain } from "../tools"; +import { registerDomain } from "../../tools/domain"; const registerDomainAction: Action = { name: "REGISTER_DOMAIN", diff --git a/src/actions/resolveDomain.ts b/src/actions/domain/resolveDomain.ts similarity index 88% rename from src/actions/resolveDomain.ts rename to src/actions/domain/resolveDomain.ts index e54adea..b3d9534 100644 --- a/src/actions/resolveDomain.ts +++ b/src/actions/domain/resolveDomain.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { resolveAllDomains } from "../tools"; +import { resolveAllDomains } from "../../tools/domain"; const resolveDomainAction: Action = { name: "RESOLVE_ALL_DOMAINS", diff --git a/src/actions/resolveSolDomain.ts b/src/actions/domain/resolveSolDomain.ts similarity index 90% rename from src/actions/resolveSolDomain.ts rename to src/actions/domain/resolveSolDomain.ts index 60281e2..c72f0a3 100644 --- a/src/actions/resolveSolDomain.ts +++ b/src/actions/domain/resolveSolDomain.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { resolveSolDomain } from "../tools"; +import { resolveSolDomain } from "../../tools/domain"; const resolveSolDomainAction: Action = { name: "RESOLVE_SOL_DOMAIN", diff --git a/src/actions/flashCloseTrade.ts b/src/actions/flash/flashCloseTrade.ts similarity index 91% rename from src/actions/flashCloseTrade.ts rename to src/actions/flash/flashCloseTrade.ts index 3781d83..6b7e34a 100644 --- a/src/actions/flashCloseTrade.ts +++ b/src/actions/flash/flashCloseTrade.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { flashCloseTrade } from "../tools"; +import { flashCloseTrade } from "../../tools/flash"; const flashCloseTradeAction: Action = { name: "FLASH_CLOSE_TRADE", diff --git a/src/actions/flashOpenTrade.ts b/src/actions/flash/flashOpenTrade.ts similarity index 93% rename from src/actions/flashOpenTrade.ts rename to src/actions/flash/flashOpenTrade.ts index 790bdef..b0db660 100644 --- a/src/actions/flashOpenTrade.ts +++ b/src/actions/flash/flashOpenTrade.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { flashOpenTrade } from "../tools"; +import { flashOpenTrade } from "../../tools/flash"; const flashOpenTradeAction: Action = { name: "FLASH_OPEN_TRADE", diff --git a/src/actions/createGibworkTask.ts b/src/actions/gibwork/createGibworkTask.ts similarity index 94% rename from src/actions/createGibworkTask.ts rename to src/actions/gibwork/createGibworkTask.ts index 12aa809..dc4b672 100644 --- a/src/actions/createGibworkTask.ts +++ b/src/actions/gibwork/createGibworkTask.ts @@ -1,8 +1,8 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; -import { create_gibwork_task } from "../tools"; +import { create_gibwork_task } from "../../tools/gibwork"; const createGibworkTaskAction: Action = { name: "CREATE_GIBWORK_TASK", diff --git a/src/actions/index.ts b/src/actions/index.ts index c974209..e327f8a 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -1,35 +1,35 @@ -import deployTokenAction from "./deployToken"; -import balanceAction from "./balance"; -import transferAction from "./transfer"; -import deployCollectionAction from "./deployCollection"; -import mintNFTAction from "./mintNFT"; -import tradeAction from "./trade"; -import requestFundsAction from "./requestFunds"; -import resolveDomainAction from "./resolveDomain"; -import getTokenDataAction from "./getTokenData"; -import getTPSAction from "./getTPS"; -import fetchPriceAction from "./fetchPrice"; -import stakeWithJupAction from "./stakeWithJup"; -import stakeWithSolayerAction from "./stakeWithSolayer"; -import registerDomainAction from "./registerDomain"; -import lendAssetAction from "./lendAsset"; -import createGibworkTaskAction from "./createGibworkTask"; -import resolveSolDomainAction from "./resolveSolDomain"; -import pythFetchPriceAction from "./pythFetchPrice"; -import getOwnedDomainsForTLDAction from "./getOwnedDomainsForTLD"; -import getPrimaryDomainAction from "./getPrimaryDomain"; -import getAllDomainsTLDsAction from "./getAllDomainsTLDs"; -import getOwnedAllDomainsAction from "./getOwnedAllDomains"; -import createImageAction from "./createImage"; -import getMainAllDomainsDomainAction from "./getMainAllDomainsDomain"; -import getAllRegisteredAllDomainsAction from "./getAllRegisteredAllDomains"; -import raydiumCreateCpmmAction from "./raydiumCreateCpmm"; -import raydiumCreateAmmV4Action from "./raydiumCreateAmmV4"; -import createOrcaSingleSidedWhirlpoolAction from "./createOrcaSingleSidedWhirlpool"; -import launchPumpfunTokenAction from "./launchPumpfunToken"; -import getWalletAddressAction from "./getWalletAddress"; -import flashOpenTradeAction from "./flashOpenTrade"; -import flashCloseTradeAction from "./flashCloseTrade"; +import deployTokenAction from "./token/deployToken"; +import balanceAction from "./balance/balance"; +import transferAction from "./token/transfer"; +import deployCollectionAction from "./metaplex/deployCollection"; +import mintNFTAction from "./metaplex/mintNFT"; +import tradeAction from "./jupiter/trade"; +import requestFundsAction from "./solana/requestFunds"; +import resolveDomainAction from "./domain/registerDomain"; +import getTokenDataAction from "./jupiter/getTokenData"; +import getTPSAction from "./solana/getTPS"; +import fetchPriceAction from "./jupiter/fetchPrice"; +import stakeWithJupAction from "./jupiter/stakeWithJup"; +import stakeWithSolayerAction from "./solayer/stakeWithSolayer"; +import registerDomainAction from "./domain/registerDomain"; +import lendAssetAction from "./lulo/lendAsset"; +import createGibworkTaskAction from "./gibwork/createGibworkTask"; +import resolveSolDomainAction from "./domain/resolveSolDomain"; +import pythFetchPriceAction from "./pyth/pythFetchPrice"; +import getOwnedDomainsForTLDAction from "./domain/getOwnedDomainsForTLD"; +import getPrimaryDomainAction from "./domain/getPrimaryDomain"; +import getAllDomainsTLDsAction from "./domain/getAllDomainsTLDs"; +import getOwnedAllDomainsAction from "./domain/getOwnedAllDomains"; +import createImageAction from "./agent/createImage"; +import getMainAllDomainsDomainAction from "./domain/getMainAllDomainsDomain"; +import getAllRegisteredAllDomainsAction from "./domain/getAllRegisteredAllDomains"; +import raydiumCreateCpmmAction from "./raydium/raydiumCreateCpmm"; +import raydiumCreateAmmV4Action from "./raydium/raydiumCreateAmmV4"; +import createOrcaSingleSidedWhirlpoolAction from "./orca/createOrcaSingleSidedWhirlpool"; +import launchPumpfunTokenAction from "./pumpfun/launchPumpfunToken"; +import getWalletAddressAction from "./agent/getWalletAddress"; +import flashOpenTradeAction from "./flash/flashOpenTrade"; +import flashCloseTradeAction from "./flash/flashCloseTrade"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, diff --git a/src/actions/fetchPrice.ts b/src/actions/jupiter/fetchPrice.ts similarity index 90% rename from src/actions/fetchPrice.ts rename to src/actions/jupiter/fetchPrice.ts index b232671..d16a371 100644 --- a/src/actions/fetchPrice.ts +++ b/src/actions/jupiter/fetchPrice.ts @@ -1,8 +1,8 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; -import { fetchPrice } from "../tools"; +import { fetchPrice } from "../../tools/jupiter"; const fetchPriceAction: Action = { name: "FETCH_PRICE", diff --git a/src/actions/getTokenData.ts b/src/actions/jupiter/getTokenData.ts similarity index 94% rename from src/actions/getTokenData.ts rename to src/actions/jupiter/getTokenData.ts index bf820dc..6b7f308 100644 --- a/src/actions/getTokenData.ts +++ b/src/actions/jupiter/getTokenData.ts @@ -1,9 +1,9 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; -import { JupiterTokenData } from "../types"; -import { getTokenAddressFromTicker, getTokenDataByAddress } from "../tools"; +import { JupiterTokenData } from "../../types"; +import { getTokenAddressFromTicker, getTokenDataByAddress } from "../../tools"; const getTokenDataAction: Action = { name: "GET_TOKEN_DATA", diff --git a/src/actions/stakeWithJup.ts b/src/actions/jupiter/stakeWithJup.ts similarity index 90% rename from src/actions/stakeWithJup.ts rename to src/actions/jupiter/stakeWithJup.ts index 7f7680f..34cf91b 100644 --- a/src/actions/stakeWithJup.ts +++ b/src/actions/jupiter/stakeWithJup.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { stakeWithJup } from "../tools"; +import { stakeWithJup } from "../../tools"; const stakeWithJupAction: Action = { name: "STAKE_WITH_JUPITER", diff --git a/src/actions/trade.ts b/src/actions/jupiter/trade.ts similarity index 95% rename from src/actions/trade.ts rename to src/actions/jupiter/trade.ts index a4c9e48..4710990 100644 --- a/src/actions/trade.ts +++ b/src/actions/jupiter/trade.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { trade } from "../tools"; +import { trade } from "../../tools"; const tradeAction: Action = { name: "TRADE", diff --git a/src/actions/lendAsset.ts b/src/actions/lulo/lendAsset.ts similarity index 89% rename from src/actions/lendAsset.ts rename to src/actions/lulo/lendAsset.ts index 9ceb20e..3c29f91 100644 --- a/src/actions/lendAsset.ts +++ b/src/actions/lulo/lendAsset.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { lendAsset } from "../tools"; +import { lendAsset } from "../../tools/lulo"; const lendAssetAction: Action = { name: "LEND_ASSET", diff --git a/src/actions/deployCollection.ts b/src/actions/metaplex/deployCollection.ts similarity index 93% rename from src/actions/deployCollection.ts rename to src/actions/metaplex/deployCollection.ts index 1ca5e14..dc0e5c0 100644 --- a/src/actions/deployCollection.ts +++ b/src/actions/metaplex/deployCollection.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { deploy_collection } from "../tools"; +import { deploy_collection } from "../../tools/metaplex"; interface CollectionOptions { name: string; diff --git a/src/actions/mintNFT.ts b/src/actions/metaplex/mintNFT.ts similarity index 94% rename from src/actions/mintNFT.ts rename to src/actions/metaplex/mintNFT.ts index f04cfb7..f0810be 100644 --- a/src/actions/mintNFT.ts +++ b/src/actions/metaplex/mintNFT.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { mintCollectionNFT } from "../tools"; +import { mintCollectionNFT } from "../../tools/metaplex"; const mintNFTAction: Action = { name: "MINT_NFT", diff --git a/src/actions/createOpenbookMarket.ts b/src/actions/openbook/createOpenbookMarket.ts similarity index 93% rename from src/actions/createOpenbookMarket.ts rename to src/actions/openbook/createOpenbookMarket.ts index ae76559..f978d35 100644 --- a/src/actions/createOpenbookMarket.ts +++ b/src/actions/openbook/createOpenbookMarket.ts @@ -1,8 +1,8 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; -import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; -import { openbookCreateMarket } from "../tools"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; +import { z } from "zod"; +import { openbookCreateMarket } from "../../tools/openbook"; const createOpenbookMarketAction: Action = { name: "CREATE_OPENBOOK_MARKET", diff --git a/src/actions/createOrcaSingleSidedWhirlpool.ts b/src/actions/orca/createOrcaSingleSidedWhirlpool.ts similarity index 95% rename from src/actions/createOrcaSingleSidedWhirlpool.ts rename to src/actions/orca/createOrcaSingleSidedWhirlpool.ts index f53c881..97eaca0 100644 --- a/src/actions/createOrcaSingleSidedWhirlpool.ts +++ b/src/actions/orca/createOrcaSingleSidedWhirlpool.ts @@ -1,9 +1,9 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; import { Decimal } from "decimal.js"; -import { orcaCreateSingleSidedLiquidityPool } from "../tools"; +import { orcaCreateSingleSidedLiquidityPool } from "../../tools"; // Fee tiers mapping from the original tool const FEE_TIERS = { diff --git a/src/actions/launchPumpfunToken.ts b/src/actions/pumpfun/launchPumpfunToken.ts similarity index 95% rename from src/actions/launchPumpfunToken.ts rename to src/actions/pumpfun/launchPumpfunToken.ts index 3c23394..8d64c0c 100644 --- a/src/actions/launchPumpfunToken.ts +++ b/src/actions/pumpfun/launchPumpfunToken.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { launchPumpFunToken } from "../tools"; +import { launchPumpFunToken } from "../../tools"; const launchPumpfunTokenAction: Action = { name: "LAUNCH_PUMPFUN_TOKEN", diff --git a/src/actions/pythFetchPrice.ts b/src/actions/pyth/pythFetchPrice.ts similarity index 89% rename from src/actions/pythFetchPrice.ts rename to src/actions/pyth/pythFetchPrice.ts index d9f7ae4..fb06de9 100644 --- a/src/actions/pythFetchPrice.ts +++ b/src/actions/pyth/pythFetchPrice.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { fetchPythPrice, fetchPythPriceFeedID } from "../tools"; +import { fetchPythPrice, fetchPythPriceFeedID } from "../../tools"; const pythFetchPriceAction: Action = { name: "PYTH_FETCH_PRICE", diff --git a/src/actions/raydiumCreateAmmV4.ts b/src/actions/raydium/raydiumCreateAmmV4.ts similarity index 94% rename from src/actions/raydiumCreateAmmV4.ts rename to src/actions/raydium/raydiumCreateAmmV4.ts index 8ad228d..b6c496b 100644 --- a/src/actions/raydiumCreateAmmV4.ts +++ b/src/actions/raydium/raydiumCreateAmmV4.ts @@ -1,9 +1,9 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; import BN from "bn.js"; -import { raydiumCreateAmmV4 } from "../tools"; +import { raydiumCreateAmmV4 } from "../../tools"; const raydiumCreateAmmV4Action: Action = { name: "RAYDIUM_CREATE_AMM_V4", diff --git a/src/actions/raydiumCreateClmm.ts b/src/actions/raydium/raydiumCreateClmm.ts similarity index 94% rename from src/actions/raydiumCreateClmm.ts rename to src/actions/raydium/raydiumCreateClmm.ts index dd24322..cb77605 100644 --- a/src/actions/raydiumCreateClmm.ts +++ b/src/actions/raydium/raydiumCreateClmm.ts @@ -1,10 +1,10 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; import { BN } from "@coral-xyz/anchor"; import Decimal from "decimal.js"; -import { raydiumCreateClmm } from "../tools"; +import { raydiumCreateClmm } from "../../tools"; const raydiumCreateClmmAction: Action = { name: "RAYDIUM_CREATE_CLMM", diff --git a/src/actions/raydiumCreateCpmm.ts b/src/actions/raydium/raydiumCreateCpmm.ts similarity index 94% rename from src/actions/raydiumCreateCpmm.ts rename to src/actions/raydium/raydiumCreateCpmm.ts index b2159b5..ee74d9e 100644 --- a/src/actions/raydiumCreateCpmm.ts +++ b/src/actions/raydium/raydiumCreateCpmm.ts @@ -1,9 +1,9 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; import { PublicKey } from "@solana/web3.js"; import BN from "bn.js"; -import { raydiumCreateCpmm } from "../tools"; +import { raydiumCreateCpmm } from "../../tools"; const raydiumCreateCpmmAction: Action = { name: "RAYDIUM_CREATE_CPMM", diff --git a/src/actions/getTPS.ts b/src/actions/solana/getTPS.ts similarity index 88% rename from src/actions/getTPS.ts rename to src/actions/solana/getTPS.ts index 490bfb4..69fce8d 100644 --- a/src/actions/getTPS.ts +++ b/src/actions/solana/getTPS.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { getTPS } from "../tools"; +import { getTPS } from "../../tools/solana"; const getTPSAction: Action = { name: "GET_TPS", diff --git a/src/actions/requestFunds.ts b/src/actions/solana/requestFunds.ts similarity index 86% rename from src/actions/requestFunds.ts rename to src/actions/solana/requestFunds.ts index a4a95c2..8ce5d2f 100644 --- a/src/actions/requestFunds.ts +++ b/src/actions/solana/requestFunds.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { request_faucet_funds } from "../tools"; +import { request_faucet_funds } from "../../tools/solana"; const requestFundsAction: Action = { name: "REQUEST_FUNDS", diff --git a/src/actions/stakeWithSolayer.ts b/src/actions/solayer/stakeWithSolayer.ts similarity index 91% rename from src/actions/stakeWithSolayer.ts rename to src/actions/solayer/stakeWithSolayer.ts index ec57944..5095bd7 100644 --- a/src/actions/stakeWithSolayer.ts +++ b/src/actions/solayer/stakeWithSolayer.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { stakeWithSolayer } from "../tools"; +import { stakeWithSolayer } from "../../tools"; const stakeWithSolayerAction: Action = { name: "STAKE_WITH_SOLAYER", diff --git a/src/actions/closeEmptyTokenAccounts.ts b/src/actions/token/closeEmptyTokenAccounts.ts similarity index 92% rename from src/actions/closeEmptyTokenAccounts.ts rename to src/actions/token/closeEmptyTokenAccounts.ts index 867c25e..85fb67b 100644 --- a/src/actions/closeEmptyTokenAccounts.ts +++ b/src/actions/token/closeEmptyTokenAccounts.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { closeEmptyTokenAccounts } from "../tools"; +import { closeEmptyTokenAccounts } from "../../tools"; const closeEmptyTokenAccountsAction: Action = { name: "CLOSE_EMPTY_TOKEN_ACCOUNTS", diff --git a/src/actions/compressedAirdrop.ts b/src/actions/token/compressedAirdrop.ts similarity index 95% rename from src/actions/compressedAirdrop.ts rename to src/actions/token/compressedAirdrop.ts index 107d352..2abdc72 100644 --- a/src/actions/compressedAirdrop.ts +++ b/src/actions/token/compressedAirdrop.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { sendCompressedAirdrop } from "../tools"; +import { sendCompressedAirdrop } from "../../tools"; const compressedAirdropAction: Action = { name: "COMPRESSED_AIRDROP", diff --git a/src/actions/deployToken.ts b/src/actions/token/deployToken.ts similarity index 93% rename from src/actions/deployToken.ts rename to src/actions/token/deployToken.ts index 3a3f25d..02c5a51 100644 --- a/src/actions/deployToken.ts +++ b/src/actions/token/deployToken.ts @@ -1,7 +1,7 @@ -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { deploy_token } from "../tools"; +import { deploy_token } from "../../tools"; const deployTokenAction: Action = { name: "DEPLOY_TOKEN", diff --git a/src/actions/transfer.ts b/src/actions/token/transfer.ts similarity index 94% rename from src/actions/transfer.ts rename to src/actions/token/transfer.ts index f4206aa..568d1a3 100644 --- a/src/actions/transfer.ts +++ b/src/actions/token/transfer.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { transfer } from "../tools"; +import { transfer } from "../../tools"; const transferAction: Action = { name: "TRANSFER", diff --git a/src/agent/index.ts b/src/agent/index.ts index 3563f8d..f841ac4 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -63,7 +63,7 @@ import { fetchPythPriceFeedID, flashOpenTrade, flashCloseTrade, -} from "../tools"; +} from "../tools/"; import { CollectionDeployment, CollectionOptions, @@ -79,7 +79,7 @@ import { import { createCollection, createSingle, -} from "../tools/create_3land_collectible"; +} from "../tools/3land/create_3land_collectible"; import { CreateCollectionOptions, CreateSingleOptions, diff --git a/src/langchain/index.ts b/src/langchain/index.ts index ef282e3..178a42f 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -1,2439 +1,63 @@ -import { PublicKey } from "@solana/web3.js"; -import { BN } from "@coral-xyz/anchor"; -import Decimal from "decimal.js"; -import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../agent"; import { - GibworkCreateTaskReponse, - OrderParams, - PythFetchPriceResponse, - SolanaAgentKit, -} from "../index"; -import { create_image, FEE_TIERS, generateOrdersfromPattern } from "../tools"; -import { marketTokenMap } from "../utils/flashUtils"; -import { - CreateCollectionOptions, - CreateSingleOptions, - StoreInitOptions, -} from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; - -export class SolanaBalanceTool extends Tool { - name = "solana_balance"; - description = `Get the balance of a Solana wallet or token account. - - If you want to get the balance of your wallet, you don't need to provide the tokenAddress. - If no tokenAddress is provided, the balance will be in SOL. - - Inputs ( input is a JSON string ): - tokenAddress: string, eg "So11111111111111111111111111111111111111112" (optional)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const tokenAddress = input ? new PublicKey(input) : undefined; - const balance = await this.solanaKit.getBalance(tokenAddress); - - return JSON.stringify({ - status: "success", - balance, - token: input || "SOL", - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaBalanceOtherTool extends Tool { - name = "solana_balance_other"; - description = `Get the balance of a Solana wallet or token account which is different from the agent's wallet. - - If no tokenAddress is provided, the SOL balance of the wallet will be returned. - - Inputs ( input is a JSON string ): - walletAddress: string, eg "GDEkQF7UMr7RLv1KQKMtm8E2w3iafxJLtyXu3HVQZnME" (required) - tokenAddress: string, eg "SENDdRQtYMWaQrBroBrJ2Q53fgVuq95CV9UPGEvpCxa" (optional)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const { walletAddress, tokenAddress } = JSON.parse(input); - - const tokenPubKey = tokenAddress - ? new PublicKey(tokenAddress) - : undefined; - - const balance = await this.solanaKit.getBalanceOther( - new PublicKey(walletAddress), - tokenPubKey, - ); - - return JSON.stringify({ - status: "success", - balance, - wallet: walletAddress, - token: tokenAddress || "SOL", - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaTransferTool extends Tool { - name = "solana_transfer"; - description = `Transfer tokens or SOL to another address ( also called as wallet address ). - - Inputs ( input is a JSON string ): - to: string, eg "8x2dR8Mpzuz2YqyZyZjUbYWKSWesBo5jMx2Q9Y86udVk" (required) - amount: number, eg 1 (required) - mint?: string, eg "So11111111111111111111111111111111111111112" or "SENDdRQtYMWaQrBroBrJ2Q53fgVuq95CV9UPGEvpCxa" (optional)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const recipient = new PublicKey(parsedInput.to); - const mintAddress = parsedInput.mint - ? new PublicKey(parsedInput.mint) - : undefined; - - const tx = await this.solanaKit.transfer( - recipient, - parsedInput.amount, - mintAddress, - ); - - return JSON.stringify({ - status: "success", - message: "Transfer completed successfully", - amount: parsedInput.amount, - recipient: parsedInput.to, - token: parsedInput.mint || "SOL", - transaction: tx, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaDeployTokenTool extends Tool { - name = "solana_deploy_token"; - description = `Deploy a new token on Solana blockchain. - - Inputs (input is a JSON string): - name: string, eg "My Token" (required) - uri: string, eg "https://example.com/token.json" (required) - symbol: string, eg "MTK" (required) - decimals?: number, eg 9 (optional, defaults to 9) - initialSupply?: number, eg 1000000 (optional)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const result = await this.solanaKit.deployToken( - parsedInput.name, - parsedInput.uri, - parsedInput.symbol, - parsedInput.decimals, - parsedInput.initialSupply, - ); - - return JSON.stringify({ - status: "success", - message: "Token deployed successfully", - mintAddress: result.mint.toString(), - decimals: parsedInput.decimals || 9, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaDeployCollectionTool extends Tool { - name = "solana_deploy_collection"; - description = `Deploy a new NFT collection on Solana blockchain. - - Inputs (input is a JSON string): - name: string, eg "My Collection" (required) - uri: string, eg "https://example.com/collection.json" (required) - royaltyBasisPoints?: number, eg 500 for 5% (optional)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const result = await this.solanaKit.deployCollection(parsedInput); - - return JSON.stringify({ - status: "success", - message: "Collection deployed successfully", - collectionAddress: result.collectionAddress.toString(), - name: parsedInput.name, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaMintNFTTool extends Tool { - name = "solana_mint_nft"; - description = `Mint a new NFT in a collection on Solana blockchain. - - Inputs (input is a JSON string): - collectionMint: string, eg "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w" (required) - The address of the collection to mint into - name: string, eg "My NFT" (required) - uri: string, eg "https://example.com/nft.json" (required) - recipient?: string, eg "9aUn5swQzUTRanaaTwmszxiv89cvFwUCjEBv1vZCoT1u" (optional) - The wallet to receive the NFT, defaults to agent's wallet which is ${this.solanaKit.wallet_address.toString()}`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const result = await this.solanaKit.mintNFT( - new PublicKey(parsedInput.collectionMint), - { - name: parsedInput.name, - uri: parsedInput.uri, - }, - parsedInput.recipient - ? new PublicKey(parsedInput.recipient) - : this.solanaKit.wallet_address, - ); - - return JSON.stringify({ - status: "success", - message: "NFT minted successfully", - mintAddress: result.mint.toString(), - metadata: { - name: parsedInput.name, - symbol: parsedInput.symbol, - uri: parsedInput.uri, - }, - recipient: parsedInput.recipient || result.mint.toString(), - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaPerpCloseTradeTool extends Tool { - name = "solana_close_perp_trade"; - description = `This tool can be used to close perpetuals trade ( It uses Adrena Protocol ). - - Inputs ( input is a JSON string ): - tradeMint: string, eg "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn", "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" etc. (optional) - price?: number, eg 100 (optional) - side: string, eg: "long" or "short"`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const tx = - parsedInput.side === "long" - ? await this.solanaKit.closePerpTradeLong({ - price: parsedInput.price, - tradeMint: new PublicKey(parsedInput.tradeMint), - }) - : await this.solanaKit.closePerpTradeShort({ - price: parsedInput.price, - tradeMint: new PublicKey(parsedInput.tradeMint), - }); - - return JSON.stringify({ - status: "success", - message: "Perpetual trade closed successfully", - transaction: tx, - price: parsedInput.price, - tradeMint: new PublicKey(parsedInput.tradeMint), - side: parsedInput.side, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaPerpOpenTradeTool extends Tool { - name = "solana_open_perp_trade"; - description = `This tool can be used to open perpetuals trade ( It uses Adrena Protocol ). - - Inputs ( input is a JSON string ): - collateralAmount: number, eg 1 or 0.01 (required) - collateralMint: string, eg "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn" or "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" etc. (optional) - tradeMint: string, eg "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn", "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" etc. (optional) - leverage: number, eg 50000 = x5, 100000 = x10, 1000000 = x100 (optional) - price?: number, eg 100 (optional) - slippage?: number, eg 0.3 (optional) - side: string, eg: "long" or "short"`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const tx = - parsedInput.side === "long" - ? await this.solanaKit.openPerpTradeLong({ - price: parsedInput.price, - collateralAmount: parsedInput.collateralAmount, - collateralMint: new PublicKey(parsedInput.collateralMint), - leverage: parsedInput.leverage, - tradeMint: new PublicKey(parsedInput.tradeMint), - slippage: parsedInput.slippage, - }) - : await this.solanaKit.openPerpTradeLong({ - price: parsedInput.price, - collateralAmount: parsedInput.collateralAmount, - collateralMint: new PublicKey(parsedInput.collateralMint), - leverage: parsedInput.leverage, - tradeMint: new PublicKey(parsedInput.tradeMint), - slippage: parsedInput.slippage, - }); - - return JSON.stringify({ - status: "success", - message: "Perpetual trade opened successfully", - transaction: tx, - price: parsedInput.price, - collateralAmount: parsedInput.collateralAmount, - collateralMint: new PublicKey(parsedInput.collateralMint), - leverage: parsedInput.leverage, - tradeMint: new PublicKey(parsedInput.tradeMint), - slippage: parsedInput.slippage, - side: parsedInput.side, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaTradeTool extends Tool { - name = "solana_trade"; - description = `This tool can be used to swap tokens to another token ( It uses Jupiter Exchange ). - - Inputs ( input is a JSON string ): - outputMint: string, eg "So11111111111111111111111111111111111111112" or "SENDdRQtYMWaQrBroBrJ2Q53fgVuq95CV9UPGEvpCxa" (required) - inputAmount: number, eg 1 or 0.01 (required) - inputMint?: string, eg "So11111111111111111111111111111111111111112" (optional) - slippageBps?: number, eg 100 (optional)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const tx = await this.solanaKit.trade( - new PublicKey(parsedInput.outputMint), - parsedInput.inputAmount, - parsedInput.inputMint - ? new PublicKey(parsedInput.inputMint) - : new PublicKey("So11111111111111111111111111111111111111112"), - parsedInput.slippageBps, - ); - - return JSON.stringify({ - status: "success", - message: "Trade executed successfully", - transaction: tx, - inputAmount: parsedInput.inputAmount, - inputToken: parsedInput.inputMint || "SOL", - outputToken: parsedInput.outputMint, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaLimitOrderTool extends Tool { - name = "solana_limit_order"; - description = `This tool can be used to place limit orders using Manifest. - - Do not allow users to place multiple orders with this instruction, use solana_batch_order instead. - - Inputs ( input is a JSON string ): - marketId: PublicKey, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required) - quantity: number, eg 1 or 0.01 (required) - side: string, eg "Buy" or "Sell" (required) - price: number, in tokens eg 200 for SOL/USDC (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const tx = await this.solanaKit.limitOrder( - new PublicKey(parsedInput.marketId), - parsedInput.quantity, - parsedInput.side, - parsedInput.price, - ); - - return JSON.stringify({ - status: "success", - message: "Trade executed successfully", - transaction: tx, - marketId: parsedInput.marketId, - quantity: parsedInput.quantity, - side: parsedInput.side, - price: parsedInput.price, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaBatchOrderTool extends Tool { - name = "solana_batch_order"; - description = `Places multiple limit orders in one transaction using Manifest. Submit orders either as a list or pattern: - - 1. List format: - { - "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", - "orders": [ - { "quantity": 1, "side": "Buy", "price": 200 }, - { "quantity": 0.5, "side": "Sell", "price": 205 } - ] - } - - 2. Pattern format: - { - "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", - "pattern": { - "side": "Buy", - "totalQuantity": 100, - "priceRange": { "max": 1.0 }, - "spacing": { "type": "percentage", "value": 1 }, - "numberOfOrders": 5 - } - } - - Examples: - - "Place 5 buy orders totaling 100 tokens, 1% apart below $1" - - "Create 3 sell orders of 10 tokens each between $50-$55" - - "Place buy orders worth 50 tokens, $0.10 spacing from $0.80" - - Important: All orders must be in one transaction. Combine buy and sell orders into a single pattern or list. Never break the orders down to individual buy or sell orders.`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - let ordersToPlace: OrderParams[] = []; - - if (!parsedInput.marketId) { - throw new Error("Market ID is required"); - } - - if (parsedInput.pattern) { - ordersToPlace = generateOrdersfromPattern(parsedInput.pattern); - } else if (Array.isArray(parsedInput.orders)) { - ordersToPlace = parsedInput.orders; - } else { - throw new Error("Either pattern or orders array is required"); - } - - if (ordersToPlace.length === 0) { - throw new Error("No orders generated or provided"); - } - - ordersToPlace.forEach((order: OrderParams, index: number) => { - if (!order.quantity || !order.side || !order.price) { - throw new Error( - `Invalid order at index ${index}: quantity, side, and price are required`, - ); - } - if (order.side !== "Buy" && order.side !== "Sell") { - throw new Error( - `Invalid side at index ${index}: must be "Buy" or "Sell"`, - ); - } - }); - - const tx = await this.solanaKit.batchOrder( - new PublicKey(parsedInput.marketId), - parsedInput.orders, - ); - - return JSON.stringify({ - status: "success", - message: "Batch order executed successfully", - transaction: tx, - marketId: parsedInput.marketId, - orders: parsedInput.orders, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaCancelAllOrdersTool extends Tool { - name = "solana_cancel_all_orders"; - description = `This tool can be used to cancel all orders from a Manifest market. - - Input ( input is a JSON string ): - marketId: string, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const marketId = new PublicKey(input.trim()); - const tx = await this.solanaKit.cancelAllOrders(marketId); - - return JSON.stringify({ - status: "success", - message: "Cancel orders successfully", - transaction: tx, - marketId, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaWithdrawAllTool extends Tool { - name = "solana_withdraw_all"; - description = `This tool can be used to withdraw all funds from a Manifest market. - - Input ( input is a JSON string ): - marketId: string, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const marketId = new PublicKey(input.trim()); - const tx = await this.solanaKit.withdrawAll(marketId); - - return JSON.stringify({ - status: "success", - message: "Withdrew successfully", - transaction: tx, - marketId, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaRequestFundsTool extends Tool { - name = "solana_request_funds"; - description = "Request SOL from Solana faucet (devnet/testnet only)"; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(_input: string): Promise { - try { - await this.solanaKit.requestFaucetFunds(); - - return JSON.stringify({ - status: "success", - message: "Successfully requested faucet funds", - network: this.solanaKit.connection.rpcEndpoint.split("/")[2], - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaRegisterDomainTool extends Tool { - name = "solana_register_domain"; - description = `Register a .sol domain name for your wallet. - - Inputs: - name: string, eg "pumpfun.sol" (required) - spaceKB: number, eg 1 (optional, default is 1) - `; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - private validateInput(input: any): void { - if (!input.name || typeof input.name !== "string") { - throw new Error("name is required and must be a string"); - } - if ( - input.spaceKB !== undefined && - (typeof input.spaceKB !== "number" || input.spaceKB <= 0) - ) { - throw new Error("spaceKB must be a positive number when provided"); - } - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - this.validateInput(parsedInput); - - const tx = await this.solanaKit.registerDomain( - parsedInput.name, - parsedInput.spaceKB || 1, - ); - - return JSON.stringify({ - status: "success", - message: "Domain registered successfully", - transaction: tx, - domain: `${parsedInput.name}.sol`, - spaceKB: parsedInput.spaceKB || 1, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaResolveDomainTool extends Tool { - name = "solana_resolve_domain"; - description = `Resolve ONLY .sol domain names to a Solana PublicKey. - This tool is exclusively for .sol domains. - DO NOT use this for other domain types like .blink, .bonk, etc. - - Inputs: - domain: string, eg "pumpfun.sol" (required) - `; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const domain = input.trim(); - const publicKey = await this.solanaKit.resolveSolDomain(domain); - - return JSON.stringify({ - status: "success", - message: "Domain resolved successfully", - publicKey: publicKey.toBase58(), - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaGetDomainTool extends Tool { - name = "solana_get_domain"; - description = `Retrieve the .sol domain associated for a given account address. - - Inputs: - account: string, eg "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required) - `; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const account = new PublicKey(input.trim()); - const domain = await this.solanaKit.getPrimaryDomain(account); - - return JSON.stringify({ - status: "success", - message: "Primary domain retrieved successfully", - domain, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaGetWalletAddressTool extends Tool { - name = "solana_get_wallet_address"; - description = `Get the wallet address of the agent`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(_input: string): Promise { - return this.solanaKit.wallet_address.toString(); - } -} - -export class SolanaFlashOpenTrade extends Tool { - name = "solana_flash_open_trade"; - description = `This tool can be used to open a new leveraged trading position on Flash.Trade exchange. - - Inputs ( input is a JSON string ): - token: string, eg "SOL", "BTC", "ETH" (required) - type: string, eg "long", "short" (required) - collateral: number, eg 10, 100, 1000 (required) - leverage: number, eg 5, 10, 20 (required) - - Example prompt is Open a 20x leveraged trade for SOL on long side using flash trade with 500 USD as collateral`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - // Validate input parameters - if (!parsedInput.token) { - throw new Error("Token is required, received: " + parsedInput.token); - } - if (!Object.keys(marketTokenMap).includes(parsedInput.token)) { - throw new Error( - "Token must be one of " + - Object.keys(marketTokenMap).join(", ") + - ", received: " + - parsedInput.token + - "\n" + - "Please check https://beast.flash.trade/ for the list of supported tokens", - ); - } - if (!["long", "short"].includes(parsedInput.type)) { - throw new Error( - 'Type must be either "long" or "short", received: ' + - parsedInput.type, - ); - } - if (!parsedInput.collateral || parsedInput.collateral <= 0) { - throw new Error( - "Collateral amount must be positive, received: " + - parsedInput.collateral, - ); - } - if (!parsedInput.leverage || parsedInput.leverage <= 0) { - throw new Error( - "Leverage must be positive, received: " + parsedInput.leverage, - ); - } - - const tx = await this.solanaKit.flashOpenTrade({ - token: parsedInput.token, - side: parsedInput.type, - collateralUsd: parsedInput.collateral, - leverage: parsedInput.leverage, - }); - - return JSON.stringify({ - status: "success", - message: "Flash trade position opened successfully", - transaction: tx, - token: parsedInput.token, - side: parsedInput.type, - collateral: parsedInput.collateral, - leverage: parsedInput.leverage, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaFlashCloseTrade extends Tool { - name = "solana_flash_close_trade"; - description = `Close an existing leveraged trading position on Flash.Trade exchange. - - Inputs ( input is a JSON string ): - token: string, eg "SOL", "BTC", "ETH" (required) - side: string, eg "long", "short" (required) - - Example prompt is Close a 20x leveraged trade for SOL on long side`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - // Validate input parameters - if (!parsedInput.token) { - throw new Error("Token is required"); - } - if (!["SOL", "BTC", "ETH"].includes(parsedInput.token)) { - throw new Error('Token must be one of ["SOL", "BTC", "ETH"]'); - } - if (!["long", "short"].includes(parsedInput.side)) { - throw new Error('Side must be either "long" or "short"'); - } - - const tx = await this.solanaKit.flashCloseTrade({ - token: parsedInput.token, - side: parsedInput.side, - }); - - return JSON.stringify({ - status: "success", - message: "Flash trade position closed successfully", - transaction: tx, - token: parsedInput.token, - side: parsedInput.side, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaPumpfunTokenLaunchTool extends Tool { - name = "solana_launch_pumpfun_token"; - - description = `This tool can be used to launch a token on Pump.fun, - do not use this tool for any other purpose, or for creating SPL tokens. - If the user asks you to chose the parameters, you should generate valid values. - For generating the image, you can use the solana_create_image tool. - - Inputs: - tokenName: string, eg "PumpFun Token", - tokenTicker: string, eg "PUMP", - description: string, eg "PumpFun Token is a token on the Solana blockchain", - imageUrl: string, eg "https://i.imgur.com/UFm07Np_d.png`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - private validateInput(input: any): void { - if (!input.tokenName || typeof input.tokenName !== "string") { - throw new Error("tokenName is required and must be a string"); - } - if (!input.tokenTicker || typeof input.tokenTicker !== "string") { - throw new Error("tokenTicker is required and must be a string"); - } - if (!input.description || typeof input.description !== "string") { - throw new Error("description is required and must be a string"); - } - if (!input.imageUrl || typeof input.imageUrl !== "string") { - throw new Error("imageUrl is required and must be a string"); - } - if ( - input.initialLiquiditySOL !== undefined && - typeof input.initialLiquiditySOL !== "number" - ) { - throw new Error("initialLiquiditySOL must be a number when provided"); - } - } - - protected async _call(input: string): Promise { - try { - // Parse and normalize input - input = input.trim(); - const parsedInput = JSON.parse(input); - - this.validateInput(parsedInput); - - // Launch token with validated input - await this.solanaKit.launchPumpFunToken( - parsedInput.tokenName, - parsedInput.tokenTicker, - parsedInput.description, - parsedInput.imageUrl, - { - twitter: parsedInput.twitter, - telegram: parsedInput.telegram, - website: parsedInput.website, - initialLiquiditySOL: parsedInput.initialLiquiditySOL, - }, - ); - - return JSON.stringify({ - status: "success", - message: "Token launched successfully on Pump.fun", - tokenName: parsedInput.tokenName, - tokenTicker: parsedInput.tokenTicker, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaCreateImageTool extends Tool { - name = "solana_create_image"; - description = - "Create an image using OpenAI's DALL-E. Input should be a string prompt for the image."; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - private validateInput(input: string): void { - if (typeof input !== "string" || input.trim().length === 0) { - throw new Error("Input must be a non-empty string prompt"); - } - } - - protected async _call(input: string): Promise { - try { - this.validateInput(input); - const result = await create_image(this.solanaKit, input.trim()); - - return JSON.stringify({ - status: "success", - message: "Image created successfully", - ...result, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaLendAssetTool extends Tool { - name = "solana_lend_asset"; - description = `Lend idle USDC for yield using Lulo. ( only USDC is supported ) - - Inputs (input is a json string): - amount: number, eg 1, 0.01 (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const amount = JSON.parse(input).amount || input; - - const tx = await this.solanaKit.lendAssets(amount); - - return JSON.stringify({ - status: "success", - message: "Asset lent successfully", - transaction: tx, - amount, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaTPSCalculatorTool extends Tool { - name = "solana_get_tps"; - description = "Get the current TPS of the Solana network"; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(_input: string): Promise { - try { - const tps = await this.solanaKit.getTPS(); - return `Solana (mainnet-beta) current transactions per second: ${tps}`; - } catch (error: any) { - return `Error fetching TPS: ${error.message}`; - } - } -} - -export class SolanaStakeTool extends Tool { - name = "solana_stake"; - description = `This tool can be used to stake your SOL (Solana), also called as SOL staking or liquid staking. - - Inputs ( input is a JSON string ): - amount: number, eg 1 or 0.01 (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input) || Number(input); - - const tx = await this.solanaKit.stake(parsedInput.amount); - - return JSON.stringify({ - status: "success", - message: "Staked successfully", - transaction: tx, - amount: parsedInput.amount, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaRestakeTool extends Tool { - name = "solana_restake"; - description = `This tool can be used to restake your SOL on Solayer to receive Solayer SOL (sSOL) as a Liquid Staking Token (LST). - - Inputs: - amount: number, eg 1 or 0.01 (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input) || Number(input); - - const tx = await this.solanaKit.restake(parsedInput.amount); - - return JSON.stringify({ - status: "success", - message: "Staked successfully", - transaction: tx, - amount: parsedInput.amount, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -/** - * Tool to fetch the price of a token in USDC - */ -export class SolanaFetchPriceTool extends Tool { - name = "solana_fetch_price"; - description = `Fetch the price of a given token in USDC. - - Inputs: - - tokenId: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const price = await this.solanaKit.fetchTokenPrice(input.trim()); - return JSON.stringify({ - status: "success", - tokenId: input.trim(), - priceInUSDC: price, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaTokenDataTool extends Tool { - name = "solana_token_data"; - description = `Get the token data for a given token mint address - - Inputs: mintAddress is required. - mintAddress: string, eg "So11111111111111111111111111111111111111112" (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = input.trim(); - - const tokenData = await this.solanaKit.getTokenDataByAddress(parsedInput); - - return JSON.stringify({ - status: "success", - tokenData, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaTokenDataByTickerTool extends Tool { - name = "solana_token_data_by_ticker"; - description = `Get the token data for a given token ticker - - Inputs: ticker is required. - ticker: string, eg "USDC" (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const ticker = input.trim(); - const tokenData = await this.solanaKit.getTokenDataByTicker(ticker); - return JSON.stringify({ - status: "success", - tokenData, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaCompressedAirdropTool extends Tool { - name = "solana_compressed_airdrop"; - description = `Airdrop SPL tokens with ZK Compression (also called as airdropping tokens) - - Inputs (input is a JSON string): - mintAddress: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required) - amount: number, the amount of tokens to airdrop per recipient, e.g., 42 (required) - decimals: number, the decimals of the token, e.g., 6 (required) - recipients: string[], the recipient addresses, e.g., ["1nc1nerator11111111111111111111111111111111"] (required) - priorityFeeInLamports: number, the priority fee in lamports. Default is 30_000. (optional) - shouldLog: boolean, whether to log progress to stdout. Default is false. (optional)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const txs = await this.solanaKit.sendCompressedAirdrop( - parsedInput.mintAddress, - parsedInput.amount, - parsedInput.decimals, - parsedInput.recipients, - parsedInput.priorityFeeInLamports || 30_000, - parsedInput.shouldLog || false, - ); - - return JSON.stringify({ - status: "success", - message: `Airdropped ${parsedInput.amount} tokens to ${parsedInput.recipients.length} recipients.`, - transactionHashes: txs, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaClosePosition extends Tool { - name = "orca_close_position"; - description = `Closes an existing liquidity position in an Orca Whirlpool. This function fetches the position - details using the provided mint address and closes the position with a 1% slippage. - - Inputs (JSON string): - - positionMintAddress: string, the address of the position mint that represents the liquidity position.`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - const positionMintAddress = new PublicKey( - inputFormat.positionMintAddress, - ); - - const txId = await this.solanaKit.orcaClosePosition(positionMintAddress); - - return JSON.stringify({ - status: "success", - message: "Liquidity position closed successfully.", - transaction: txId, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaOrcaCreateCLMM extends Tool { - name = "orca_create_clmm"; - description = `Create a Concentrated Liquidity Market Maker (CLMM) pool on Orca, the most efficient and capital-optimized CLMM on Solana. This function initializes a CLMM pool but does not add liquidity. You can add liquidity later using a centered position or a single-sided position. - - Inputs (JSON string): - - mintDeploy: string, the mint of the token you want to deploy (required). - - mintPair: string, The mint of the token you want to pair the deployed mint with (required). - - initialPrice: number, initial price of mintA in terms of mintB, e.g., 0.001 (required). - - feeTier: number, fee tier in bps. Options: 1, 2, 4, 5, 16, 30, 65, 100, 200 (required).`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - const mintA = new PublicKey(inputFormat.mintDeploy); - const mintB = new PublicKey(inputFormat.mintPair); - const initialPrice = new Decimal(inputFormat.initialPrice); - const feeTier = inputFormat.feeTier; - - if (!feeTier || !(feeTier in FEE_TIERS)) { - throw new Error( - `Invalid feeTier. Available options: ${Object.keys(FEE_TIERS).join( - ", ", - )}`, - ); - } - - const txId = await this.solanaKit.orcaCreateCLMM( - mintA, - mintB, - initialPrice, - feeTier, - ); - - return JSON.stringify({ - status: "success", - message: - "CLMM pool created successfully. Note: No liquidity was added.", - transaction: txId, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaOrcaCreateSingleSideLiquidityPool extends Tool { - name = "orca_create_single_sided_liquidity_pool"; - description = `Create a single-sided liquidity pool on Orca, the most efficient and capital-optimized CLMM platform on Solana. - - This function initializes a single-sided liquidity pool, ideal for community driven project, fair launches, and fundraising. Minimize price impact by setting a narrow price range. - - Inputs (JSON string): - - depositTokenAmount: number, in units of the deposit token including decimals, e.g., 1000000000 (required). - - depositTokenMint: string, mint address of the deposit token, e.g., "DepositTokenMintAddress" (required). - - otherTokenMint: string, mint address of the other token, e.g., "OtherTokenMintAddress" (required). - - initialPrice: number, initial price of the deposit token in terms of the other token, e.g., 0.001 (required). - - maxPrice: number, maximum price at which liquidity is added, e.g., 5.0 (required). - - feeTier: number, fee tier for the pool in bps. Options: 1, 2, 4, 5, 16, 30, 65, 100, 200 (required).`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - const depositTokenAmount = inputFormat.depositTokenAmount; - const depositTokenMint = new PublicKey(inputFormat.depositTokenMint); - const otherTokenMint = new PublicKey(inputFormat.otherTokenMint); - const initialPrice = new Decimal(inputFormat.initialPrice); - const maxPrice = new Decimal(inputFormat.maxPrice); - const feeTier = inputFormat.feeTier; - - if (!feeTier || !(feeTier in FEE_TIERS)) { - throw new Error( - `Invalid feeTier. Available options: ${Object.keys(FEE_TIERS).join( - ", ", - )}`, - ); - } - - const txId = await this.solanaKit.orcaCreateSingleSidedLiquidityPool( - depositTokenAmount, - depositTokenMint, - otherTokenMint, - initialPrice, - maxPrice, - feeTier, - ); - - return JSON.stringify({ - status: "success", - message: "Single-sided Whirlpool created successfully", - transaction: txId, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaOrcaFetchPositions extends Tool { - name = "orca_fetch_positions"; - description = `Fetch all the liquidity positions in an Orca Whirlpool by owner. Returns an object with positiont mint addresses as keys and position status details as values.`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(): Promise { - try { - const txId = await this.solanaKit.orcaFetchPositions(); - - return JSON.stringify({ - status: "success", - message: "Liquidity positions fetched.", - transaction: txId, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaOrcaOpenCenteredPosition extends Tool { - name = "orca_open_centered_position_with_liquidity"; - description = `Add liquidity to a CLMM by opening a centered position in an Orca Whirlpool, the most efficient liquidity pool on Solana. - - Inputs (JSON string): - - whirlpoolAddress: string, address of the Orca Whirlpool (required). - - priceOffsetBps: number, bps offset (one side) from the current pool price, e.g., 500 for 5% (required). - - inputTokenMint: string, mint address of the deposit token (required). - - inputAmount: number, amount of the deposit token, e.g., 100.0 (required).`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - const whirlpoolAddress = new PublicKey(inputFormat.whirlpoolAddress); - const priceOffsetBps = parseInt(inputFormat.priceOffsetBps, 10); - const inputTokenMint = new PublicKey(inputFormat.inputTokenMint); - const inputAmount = new Decimal(inputFormat.inputAmount); - - if (priceOffsetBps < 0) { - throw new Error( - "Invalid distanceFromCurrentPriceBps. It must be equal or greater than 0.", - ); - } - - const txId = await this.solanaKit.orcaOpenCenteredPositionWithLiquidity( - whirlpoolAddress, - priceOffsetBps, - inputTokenMint, - inputAmount, - ); - - return JSON.stringify({ - status: "success", - message: "Centered liquidity position opened successfully.", - transaction: txId, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaOrcaOpenSingleSidedPosition extends Tool { - name = "orca_open_single_sided_position"; - description = `Add liquidity to a CLMM by opening a single-sided position in an Orca Whirlpool, the most efficient liquidity pool on Solana. - - Inputs (JSON string): - - whirlpoolAddress: string, address of the Orca Whirlpool (required). - - distanceFromCurrentPriceBps: number, distance in basis points from the current price for the position (required). - - widthBps: number, width of the position in basis points (required). - - inputTokenMint: string, mint address of the deposit token (required). - - inputAmount: number, amount of the deposit token, e.g., 100.0 (required).`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - const whirlpoolAddress = new PublicKey(inputFormat.whirlpoolAddress); - const distanceFromCurrentPriceBps = - inputFormat.distanceFromCurrentPriceBps; - const widthBps = inputFormat.widthBps; - const inputTokenMint = new PublicKey(inputFormat.inputTokenMint); - const inputAmount = new Decimal(inputFormat.inputAmount); - - if (distanceFromCurrentPriceBps < 0 || widthBps < 0) { - throw new Error( - "Invalid distanceFromCurrentPriceBps or width. It must be equal or greater than 0.", - ); - } - - const txId = await this.solanaKit.orcaOpenSingleSidedPosition( - whirlpoolAddress, - distanceFromCurrentPriceBps, - widthBps, - inputTokenMint, - inputAmount, - ); - - return JSON.stringify({ - status: "success", - message: "Single-sided liquidity position opened successfully.", - transaction: txId, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaRaydiumCreateAmmV4 extends Tool { - name = "raydium_create_ammV4"; - description = `Raydium's Legacy AMM that requires an OpenBook marketID - - Inputs (input is a json string): - marketId: string (required) - baseAmount: number(int), eg: 111111 (required) - quoteAmount: number(int), eg: 111111 (required) - startTime: number(seconds), eg: now number or zero (required) - `; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - - const tx = await this.solanaKit.raydiumCreateAmmV4( - new PublicKey(inputFormat.marketId), - new BN(inputFormat.baseAmount), - new BN(inputFormat.quoteAmount), - new BN(inputFormat.startTime), - ); - - return JSON.stringify({ - status: "success", - message: "Raydium amm v4 pool created successfully", - transaction: tx, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaRaydiumCreateClmm extends Tool { - name = "raydium_create_clmm"; - description = `Concentrated liquidity market maker, custom liquidity ranges, increased capital efficiency - - Inputs (input is a json string): - mint1: string (required) - mint2: string (required) - configId: string (required) stores pool info, id, index, protocolFeeRate, tradeFeeRate, tickSpacing, fundFeeRate - initialPrice: number, eg: 123.12 (required) - startTime: number(seconds), eg: now number or zero (required) - `; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - - const tx = await this.solanaKit.raydiumCreateClmm( - new PublicKey(inputFormat.mint1), - new PublicKey(inputFormat.mint2), - - new PublicKey(inputFormat.configId), - - new Decimal(inputFormat.initialPrice), - new BN(inputFormat.startTime), - ); - - return JSON.stringify({ - status: "success", - message: "Raydium clmm pool created successfully", - transaction: tx, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaRaydiumCreateCpmm extends Tool { - name = "raydium_create_cpmm"; - description = `Raydium's newest CPMM, does not require marketID, supports Token 2022 standard - - Inputs (input is a json string): - mint1: string (required) - mint2: string (required) - configId: string (required), stores pool info, index, protocolFeeRate, tradeFeeRate, fundFeeRate, createPoolFee - mintAAmount: number(int), eg: 1111 (required) - mintBAmount: number(int), eg: 2222 (required) - startTime: number(seconds), eg: now number or zero (required) - `; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - - const tx = await this.solanaKit.raydiumCreateCpmm( - new PublicKey(inputFormat.mint1), - new PublicKey(inputFormat.mint2), - - new PublicKey(inputFormat.configId), - - new BN(inputFormat.mintAAmount), - new BN(inputFormat.mintBAmount), - - new BN(inputFormat.startTime), - ); - - return JSON.stringify({ - status: "success", - message: "Raydium cpmm pool created successfully", - transaction: tx, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaOpenbookCreateMarket extends Tool { - name = "solana_openbook_create_market"; - description = `Openbook marketId, required for ammv4 - - Inputs (input is a json string): - baseMint: string (required) - quoteMint: string (required) - lotSize: number (required) - tickSize: number (required) - `; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - - const tx = await this.solanaKit.openbookCreateMarket( - new PublicKey(inputFormat.baseMint), - new PublicKey(inputFormat.quoteMint), - - inputFormat.lotSize, - inputFormat.tickSize, - ); - - return JSON.stringify({ - status: "success", - message: "Openbook market created successfully", - transaction: tx, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaManifestCreateMarket extends Tool { - name = "solana_manifest_create_market"; - description = `Manifest market - - Inputs (input is a json string): - baseMint: string (required) - quoteMint: string (required) - `; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - - const tx = await this.solanaKit.manifestCreateMarket( - new PublicKey(inputFormat.baseMint), - new PublicKey(inputFormat.quoteMint), - ); - - return JSON.stringify({ - status: "success", - message: "Create manifest market successfully", - transaction: tx[0], - marketId: tx[1], - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaPythFetchPrice extends Tool { - name = "solana_pyth_fetch_price"; - description = `Fetch the price of a given price feed from Pyth's Hermes service - - Inputs: - tokenSymbol: string, e.g., BTC for bitcoin`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const priceFeedID = await this.solanaKit.getPythPriceFeedID(input); - const price = await this.solanaKit.getPythPrice(priceFeedID); - - const response: PythFetchPriceResponse = { - status: "success", - tokenSymbol: input, - priceFeedID, - price, - }; - - return JSON.stringify(response); - } catch (error: any) { - const response: PythFetchPriceResponse = { - status: "error", - tokenSymbol: input, - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }; - return JSON.stringify(response); - } - } -} - -export class SolanaResolveAllDomainsTool extends Tool { - name = "solana_resolve_all_domains"; - description = `Resolve domain names to a public key for ALL domain types EXCEPT .sol domains. - Use this for domains like .blink, .bonk, etc. - DO NOT use this for .sol domains (use solana_resolve_domain instead). - - Input: - domain: string, eg "mydomain.blink" or "mydomain.bonk" (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const owner = await this.solanaKit.resolveAllDomains(input); - - if (!owner) { - return JSON.stringify({ - status: "error", - message: "Domain not found", - code: "DOMAIN_NOT_FOUND", - }); - } - - return JSON.stringify({ - status: "success", - message: "Domain resolved successfully", - owner: owner?.toString(), - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "DOMAIN_RESOLUTION_ERROR", - }); - } - } -} - -export class SolanaGetOwnedDomains extends Tool { - name = "solana_get_owned_domains"; - description = `Get all domains owned by a specific wallet address. - - Inputs: - owner: string, eg "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const ownerPubkey = new PublicKey(input.trim()); - const domains = await this.solanaKit.getOwnedAllDomains(ownerPubkey); - - return JSON.stringify({ - status: "success", - message: "Owned domains fetched successfully", - domains, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "FETCH_OWNED_DOMAINS_ERROR", - }); - } - } -} - -export class SolanaGetOwnedTldDomains extends Tool { - name = "solana_get_owned_tld_domains"; - description = `Get all domains owned by the agent's wallet for a specific TLD. - - Inputs: - tld: string, eg "bonk" (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const domains = await this.solanaKit.getOwnedDomainsForTLD(input); - - return JSON.stringify({ - status: "success", - message: "TLD domains fetched successfully", - domains, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "FETCH_TLD_DOMAINS_ERROR", - }); - } - } -} - -export class SolanaGetAllTlds extends Tool { - name = "solana_get_all_tlds"; - description = `Get all active top-level domains (TLDs) in the AllDomains Name Service`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(): Promise { - try { - const tlds = await this.solanaKit.getAllDomainsTLDs(); - - return JSON.stringify({ - status: "success", - message: "TLDs fetched successfully", - tlds, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "FETCH_TLDS_ERROR", - }); - } - } -} - -export class SolanaGetMainDomain extends Tool { - name = "solana_get_main_domain"; - description = `Get the main/favorite domain for a given wallet address. - - Inputs: - owner: string, eg "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - async _call(input: string): Promise { - try { - const ownerPubkey = new PublicKey(input.trim()); - const mainDomain = - await this.solanaKit.getMainAllDomainsDomain(ownerPubkey); - - return JSON.stringify({ - status: "success", - message: "Main domain fetched successfully", - domain: mainDomain, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "FETCH_MAIN_DOMAIN_ERROR", - }); - } - } -} - -export class SolanaCreateGibworkTask extends Tool { - name = "create_gibwork_task"; - description = `Create a task on Gibwork. - - Inputs (input is a JSON string): - title: string, title of the task (required) - content: string, description of the task (required) - requirements: string, requirements to complete the task (required) - tags: string[], list of tags associated with the task (required) - payer: string, payer address (optional, defaults to agent wallet) - tokenMintAddress: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required) - amount: number, payment amount (required) - `; - - constructor(private solanaSdk: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const taskData = await this.solanaSdk.createGibworkTask( - parsedInput.title, - parsedInput.content, - parsedInput.requirements, - parsedInput.tags, - parsedInput.tokenMintAddress, - parsedInput.amount, - parsedInput.payer, - ); - - const response: GibworkCreateTaskReponse = { - status: "success", - taskId: taskData.taskId, - signature: taskData.signature, - }; - - return JSON.stringify(response); - } catch (err: any) { - return JSON.stringify({ - status: "error", - message: err.message, - code: err.code || "CREATE_TASK_ERROR", - }); - } - } -} - -export class SolanaRockPaperScissorsTool extends Tool { - name = "rock_paper_scissors"; - description = `Play rock paper scissors to win SEND coins. - - Inputs (input is a JSON string): - choice: string, either "rock", "paper", or "scissors" (required) - amount: number, amount of SOL to play with - must be 0.1, 0.01, or 0.005 SOL (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - private validateInput(input: any): void { - if (input.choice !== undefined) { - throw new Error("choice is required."); - } - if ( - input.amount !== undefined && - (typeof input.spaceKB !== "number" || input.spaceKB <= 0) - ) { - throw new Error("amount must be a positive number when provided"); - } - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - this.validateInput(parsedInput); - const result = await this.solanaKit.rockPaperScissors( - Number(parsedInput['"amount"']), - parsedInput['"choice"'].replace(/^"|"$/g, "") as - | "rock" - | "paper" - | "scissors", - ); - - return JSON.stringify({ - status: "success", - message: result, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaTipLinkTool extends Tool { - name = "solana_tiplink"; - description = `Create a TipLink for transferring SOL or SPL tokens. - Input is a JSON string with: - - amount: number (required) - Amount to transfer - - splmintAddress: string (optional) - SPL token mint address`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - if (!parsedInput.amount) { - throw new Error("Amount is required"); - } - - const amount = parseFloat(parsedInput.amount); - const splmintAddress = parsedInput.splmintAddress - ? new PublicKey(parsedInput.splmintAddress) - : undefined; - - const { url, signature } = await this.solanaKit.createTiplink( - amount, - splmintAddress, - ); - - return JSON.stringify({ - status: "success", - url, - signature, - amount, - tokenType: splmintAddress ? "SPL" : "SOL", - message: `TipLink created successfully`, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaListNFTForSaleTool extends Tool { - name = "solana_list_nft_for_sale"; - description = `List an NFT for sale on Tensor Trade. - - Inputs (input is a JSON string): - nftMint: string, the mint address of the NFT (required) - price: number, price in SOL (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - // Validate NFT ownership first - const nftAccount = - await this.solanaKit.connection.getTokenAccountsByOwner( - this.solanaKit.wallet_address, - { mint: new PublicKey(parsedInput.nftMint) }, - ); - - if (nftAccount.value.length === 0) { - return JSON.stringify({ - status: "error", - message: - "NFT not found in wallet. Please make sure you own this NFT.", - code: "NFT_NOT_FOUND", - }); - } - - const tx = await this.solanaKit.tensorListNFT( - new PublicKey(parsedInput.nftMint), - parsedInput.price, - ); - - return JSON.stringify({ - status: "success", - message: "NFT listed for sale successfully", - transaction: tx, - price: parsedInput.price, - nftMint: parsedInput.nftMint, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaCancelNFTListingTool extends Tool { - name = "solana_cancel_nft_listing"; - description = `Cancel an NFT listing on Tensor Trade. - - Inputs (input is a JSON string): - nftMint: string, the mint address of the NFT (required)`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const tx = await this.solanaKit.tensorCancelListing( - new PublicKey(parsedInput.nftMint), - ); - - return JSON.stringify({ - status: "success", - message: "NFT listing cancelled successfully", - transaction: tx, - nftMint: parsedInput.nftMint, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaFetchTokenReportSummaryTool extends Tool { - name = "solana_fetch_token_report_summary"; - description = `Fetches a summary report for a specific token from RugCheck. - Inputs: - - mint: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required).`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const mint = input.trim(); - const report = await this.solanaKit.fetchTokenReportSummary(mint); - - return JSON.stringify({ - status: "success", - message: "Token report summary fetched successfully", - report, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "FETCH_TOKEN_REPORT_SUMMARY_ERROR", - }); - } - } -} - -export class SolanaFetchTokenDetailedReportTool extends Tool { - name = "solana_fetch_token_detailed_report"; - description = `Fetches a detailed report for a specific token from RugCheck. - Inputs: - - mint: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required).`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const mint = input.trim(); - const detailedReport = - await this.solanaKit.fetchTokenDetailedReport(mint); - - return JSON.stringify({ - status: "success", - message: "Detailed token report fetched successfully", - report: detailedReport, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "FETCH_TOKEN_DETAILED_REPORT_ERROR", - }); - } - } -} - -export class Solana3LandCreateSingle extends Tool { - name = "3land_minting_tool"; - description = `Creates an NFT and lists it on 3.land's website - - Inputs: - privateKey (required): represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string - collectionAccount (optional): represents the account for the nft collection - itemName (required): the name of the NFT - sellerFee (required): the fee of the seller - itemAmount (required): the amount of the NFTs that can be minted - itemDescription (required): the description of the NFT - traits (required): the traits of the NFT [{trait_type: string, value: string}] - price (required): the price of the item, if is 0 the listing will be free - mainImageUrl (required): the main image of the NFT - coverImageUrl (optional): the cover image of the NFT - splHash (optional): the hash of the spl token, if not provided listing will be in $SOL - isMainnet (required): defines is the tx takes places in mainnet - `; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - const privateKey = inputFormat.privateKey; - const isMainnet = inputFormat.isMainnet; - - const optionsWithBase58: StoreInitOptions = { - ...(privateKey && { privateKey }), - ...(isMainnet && { isMainnet }), - }; - - const collectionAccount = inputFormat.collectionAccount; - - const itemName = inputFormat?.itemName; - const sellerFee = inputFormat?.sellerFee; - const itemAmount = inputFormat?.itemAmount; - const itemSymbol = inputFormat?.itemSymbol; - const itemDescription = inputFormat?.itemDescription; - const traits = inputFormat?.traits; - const price = inputFormat?.price; - const mainImageUrl = inputFormat?.mainImageUrl; - const coverImageUrl = inputFormat?.coverImageUrl; - const splHash = inputFormat?.splHash; - - const createItemOptions: CreateSingleOptions = { - ...(itemName && { itemName }), - ...(sellerFee && { sellerFee }), - ...(itemAmount && { itemAmount }), - ...(itemSymbol && { itemSymbol }), - ...(itemDescription && { itemDescription }), - ...(traits && { traits }), - ...(price && { price }), - ...(mainImageUrl && { mainImageUrl }), - ...(coverImageUrl && { coverImageUrl }), - ...(splHash && { splHash }), - }; - - if (!collectionAccount) { - throw new Error("Collection account is required"); - } - - const tx = await this.solanaKit.create3LandNft( - optionsWithBase58, - collectionAccount, - createItemOptions, - isMainnet, - ); - return JSON.stringify({ - status: "success", - message: `Created listing successfully ${tx}`, - transaction: tx, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class Solana3LandCreateCollection extends Tool { - name = "3land_minting_tool"; - description = `Creates an NFT Collection that you can visit on 3.land's website (3.land/collection/{collectionAccount}) - - Inputs: - privateKey (required): represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string - isMainnet (required): defines is the tx takes places in mainnet - collectionSymbol (required): the symbol of the collection - collectionName (required): the name of the collection - collectionDescription (required): the description of the collection - mainImageUrl (required): the image of the collection - coverImageUrl (optional): the cover image of the collection - `; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const inputFormat = JSON.parse(input); - const privateKey = inputFormat.privateKey; - const isMainnet = inputFormat.isMainnet; - - const optionsWithBase58: StoreInitOptions = { - ...(privateKey && { privateKey }), - ...(isMainnet && { isMainnet }), - }; - - const collectionSymbol = inputFormat?.collectionSymbol; - const collectionName = inputFormat?.collectionName; - const collectionDescription = inputFormat?.collectionDescription; - const mainImageUrl = inputFormat?.mainImageUrl; - const coverImageUrl = inputFormat?.coverImageUrl; - - const collectionOpts: CreateCollectionOptions = { - ...(collectionSymbol && { collectionSymbol }), - ...(collectionName && { collectionName }), - ...(collectionDescription && { collectionDescription }), - ...(mainImageUrl && { mainImageUrl }), - ...(coverImageUrl && { coverImageUrl }), - }; - - const tx = await this.solanaKit.create3LandCollection( - optionsWithBase58, - collectionOpts, - ); - return JSON.stringify({ - status: "success", - message: `Created Collection successfully ${tx}`, - transaction: tx, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaCloseEmptyTokenAccounts extends Tool { - name = "close_empty_token_accounts"; - description = `Close all empty spl-token accounts and reclaim the rent`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(): Promise { - try { - const { signature, size } = - await this.solanaKit.closeEmptyTokenAccounts(); - - return JSON.stringify({ - status: "success", - message: `${size} accounts closed successfully. ${size === 48 ? "48 accounts can be closed in a single transaction try again to close more accounts" : ""}`, - signature, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} + SolanaBalanceTool, + SolanaBalanceOtherTool, + SolanaTransferTool, + SolanaDeployTokenTool, + SolanaDeployCollectionTool, + SolanaMintNFTTool, + SolanaTradeTool, + SolanaRequestFundsTool, + SolanaRegisterDomainTool, + SolanaGetWalletAddressTool, + SolanaPumpfunTokenLaunchTool, + SolanaCreateImageTool, + SolanaLendAssetTool, + SolanaTPSCalculatorTool, + SolanaStakeTool, + SolanaRestakeTool, + SolanaFetchPriceTool, + SolanaGetDomainTool, + SolanaTokenDataTool, + SolanaTokenDataByTickerTool, + SolanaCompressedAirdropTool, + SolanaRaydiumCreateAmmV4, + SolanaRaydiumCreateClmm, + SolanaRaydiumCreateCpmm, + SolanaOpenbookCreateMarket, + SolanaManifestCreateMarket, + SolanaLimitOrderTool, + SolanaBatchOrderTool, + SolanaCancelAllOrdersTool, + SolanaWithdrawAllTool, + SolanaOrcaClosePosition, + SolanaOrcaCreateCLMM, + SolanaOrcaCreateSingleSidedPool, + SolanaOrcaFetchPositions, + SolanaOrcaOpenCenteredPosition, + SolanaOrcaOpenSingleSidedPosition, + SolanaPythFetchPrice, + SolanaResolveDomainTool, + SolanaGetOwnedDomains, + SolanaGetOwnedTldDomains, + SolanaGetAllTlds, + SolanaGetMainDomain, + SolanaResolveAllDomainsTool, + SolanaCreateGibworkTask, + SolanaRockPaperScissorsTool, + SolanaTipLinkTool, + SolanaListNFTForSaleTool, + SolanaCancelNFTListingTool, + SolanaCloseEmptyTokenAccounts, + SolanaFetchTokenReportSummaryTool, + SolanaFetchTokenDetailedReportTool, + Solana3LandCreateSingle, + Solana3LandCreateCollection, + SolanaPerpOpenTradeTool, + SolanaPerpCloseTradeTool, + SolanaFlashOpenTrade, + SolanaFlashCloseTrade, +} from "./tools/index"; export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ @@ -2467,9 +91,9 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaBatchOrderTool(solanaKit), new SolanaCancelAllOrdersTool(solanaKit), new SolanaWithdrawAllTool(solanaKit), - new SolanaClosePosition(solanaKit), + new SolanaOrcaClosePosition(solanaKit), new SolanaOrcaCreateCLMM(solanaKit), - new SolanaOrcaCreateSingleSideLiquidityPool(solanaKit), + new SolanaOrcaCreateSingleSidedPool(solanaKit), new SolanaOrcaFetchPositions(solanaKit), new SolanaOrcaOpenCenteredPosition(solanaKit), new SolanaOrcaOpenSingleSidedPosition(solanaKit), @@ -2494,6 +118,5 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaPerpCloseTradeTool(solanaKit), new SolanaFlashOpenTrade(solanaKit), new SolanaFlashCloseTrade(solanaKit), - new Solana3LandCreateSingle(solanaKit), ]; } diff --git a/src/langchain/tools/3land/create-collection.tool.ts b/src/langchain/tools/3land/create-collection.tool.ts new file mode 100644 index 0000000..5e41ded --- /dev/null +++ b/src/langchain/tools/3land/create-collection.tool.ts @@ -0,0 +1,58 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { + CreateCollectionOptions, + StoreInitOptions, +} from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; + +export class Solana3LandCreateCollection extends BaseSolanaTool { + name = "3land_minting_tool"; + description = `Creates an NFT Collection that you can visit on 3.land's website (3.land/collection/{collectionAccount}) + + Inputs: + privateKey (required): represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string + isMainnet (required): defines is the tx takes places in mainnet + collectionSymbol (required): the symbol of the collection + collectionName (required): the name of the collection + collectionDescription (required): the description of the collection + mainImageUrl (required): the image of the collection + coverImageUrl (optional): the cover image of the collection`; + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const privateKey = inputFormat.privateKey; + const isMainnet = inputFormat.isMainnet; + + const optionsWithBase58: StoreInitOptions = { + ...(privateKey && { privateKey }), + ...(isMainnet && { isMainnet }), + }; + + const collectionSymbol = inputFormat?.collectionSymbol; + const collectionName = inputFormat?.collectionName; + const collectionDescription = inputFormat?.collectionDescription; + const mainImageUrl = inputFormat?.mainImageUrl; + const coverImageUrl = inputFormat?.coverImageUrl; + + const collectionOpts: CreateCollectionOptions = { + ...(collectionSymbol && { collectionSymbol }), + ...(collectionName && { collectionName }), + ...(collectionDescription && { collectionDescription }), + ...(mainImageUrl && { mainImageUrl }), + ...(coverImageUrl && { coverImageUrl }), + }; + + const tx = await this.solanaKit.create3LandCollection( + optionsWithBase58, + collectionOpts, + ); + return JSON.stringify({ + status: "success", + message: `Created Collection successfully ${tx}`, + transaction: tx, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/3land/create-single.tool.ts b/src/langchain/tools/3land/create-single.tool.ts new file mode 100644 index 0000000..30c894a --- /dev/null +++ b/src/langchain/tools/3land/create-single.tool.ts @@ -0,0 +1,81 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { + CreateSingleOptions, + StoreInitOptions, +} from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; + +export class Solana3LandCreateSingle extends BaseSolanaTool { + name = "3land_minting_tool"; + description = `Creates an NFT and lists it on 3.land's website + + Inputs: + privateKey (required): represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string + collectionAccount (optional): represents the account for the nft collection + itemName (required): the name of the NFT + sellerFee (required): the fee of the seller + itemAmount (required): the amount of the NFTs that can be minted + itemDescription (required): the description of the NFT + traits (required): the traits of the NFT [{trait_type: string, value: string}] + price (required): the price of the item, if is 0 the listing will be free + mainImageUrl (required): the main image of the NFT + coverImageUrl (optional): the cover image of the NFT + splHash (optional): the hash of the spl token, if not provided listing will be in $SOL + isMainnet (required): defines is the tx takes places in mainnet`; + + protected async _call(input: string): Promise { + try { + const inputFormat = JSON.parse(input); + const privateKey = inputFormat.privateKey; + const isMainnet = inputFormat.isMainnet; + + const optionsWithBase58: StoreInitOptions = { + ...(privateKey && { privateKey }), + ...(isMainnet && { isMainnet }), + }; + + const collectionAccount = inputFormat.collectionAccount; + + const itemName = inputFormat?.itemName; + const sellerFee = inputFormat?.sellerFee; + const itemAmount = inputFormat?.itemAmount; + const itemSymbol = inputFormat?.itemSymbol; + const itemDescription = inputFormat?.itemDescription; + const traits = inputFormat?.traits; + const price = inputFormat?.price; + const mainImageUrl = inputFormat?.mainImageUrl; + const coverImageUrl = inputFormat?.coverImageUrl; + const splHash = inputFormat?.splHash; + + const createItemOptions: CreateSingleOptions = { + ...(itemName && { itemName }), + ...(sellerFee && { sellerFee }), + ...(itemAmount && { itemAmount }), + ...(itemSymbol && { itemSymbol }), + ...(itemDescription && { itemDescription }), + ...(traits && { traits }), + ...(price && { price }), + ...(mainImageUrl && { mainImageUrl }), + ...(coverImageUrl && { coverImageUrl }), + ...(splHash && { splHash }), + }; + + if (!collectionAccount) { + throw new Error("Collection account is required"); + } + const tx = await this.solanaKit.create3LandNft( + optionsWithBase58, + collectionAccount, + createItemOptions, + isMainnet, + ); + + return JSON.stringify({ + status: "success", + message: `Created listing successfully ${tx}`, + transaction: tx, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/3land/index.ts b/src/langchain/tools/3land/index.ts new file mode 100644 index 0000000..bc50928 --- /dev/null +++ b/src/langchain/tools/3land/index.ts @@ -0,0 +1,2 @@ +export * from "./create-single.tool"; +export * from "./create-collection.tool"; diff --git a/src/langchain/tools/adrena/close-trade.tool.ts b/src/langchain/tools/adrena/close-trade.tool.ts new file mode 100644 index 0000000..4f78732 --- /dev/null +++ b/src/langchain/tools/adrena/close-trade.tool.ts @@ -0,0 +1,39 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { PerpTradeResponse } from "./types"; + +export class SolanaPerpCloseTradeTool extends BaseSolanaTool { + name = "solana_close_perp_trade"; + description = `This tool can be used to close perpetuals trade ( It uses Adrena Protocol ). + + Inputs ( input is a JSON string ): + tradeMint: string, eg "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn", "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" etc. (optional) + price?: number, eg 100 (optional) + side: string, eg: "long" or "short"`; + + protected async _call(input: string): Promise { + try { + const params = JSON.parse(input); + + const tx = + params.side === "long" + ? await this.solanaKit.closePerpTradeLong({ + price: params.price, + tradeMint: new PublicKey(params.tradeMint), + }) + : await this.solanaKit.closePerpTradeShort({ + price: params.price, + tradeMint: new PublicKey(params.tradeMint), + }); + + return JSON.stringify({ + status: "success", + message: "Perpetual trade closed successfully", + transaction: tx, + ...params, + } as PerpTradeResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/adrena/index.ts b/src/langchain/tools/adrena/index.ts new file mode 100644 index 0000000..d86de5e --- /dev/null +++ b/src/langchain/tools/adrena/index.ts @@ -0,0 +1,2 @@ +export * from "./open-trade.tool"; +export * from "./close-trade.tool"; diff --git a/src/langchain/tools/adrena/open-trade.tool.ts b/src/langchain/tools/adrena/open-trade.tool.ts new file mode 100644 index 0000000..b24d8b1 --- /dev/null +++ b/src/langchain/tools/adrena/open-trade.tool.ts @@ -0,0 +1,51 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { PerpTradeResponse } from "./types"; + +export class SolanaPerpOpenTradeTool extends BaseSolanaTool { + name = "solana_open_perp_trade"; + description = `This tool can be used to open perpetuals trade ( It uses Adrena Protocol ). + + Inputs ( input is a JSON string ): + collateralAmount: number, eg 1 or 0.01 (required) + collateralMint: string, eg "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn" or "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" etc. (optional) + tradeMint: string, eg "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn", "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" etc. (optional) + leverage: number, eg 50000 = x5, 100000 = x10, 1000000 = x100 (optional) + price?: number, eg 100 (optional) + slippage?: number, eg 0.3 (optional) + side: string, eg: "long" or "short"`; + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + const tx = + parsedInput.side === "long" + ? await this.solanaKit.openPerpTradeLong({ + price: parsedInput.price, + collateralAmount: parsedInput.collateralAmount, + collateralMint: new PublicKey(parsedInput.collateralMint), + leverage: parsedInput.leverage, + tradeMint: new PublicKey(parsedInput.tradeMint), + slippage: parsedInput.slippage, + }) + : await this.solanaKit.openPerpTradeLong({ + price: parsedInput.price, + collateralAmount: parsedInput.collateralAmount, + collateralMint: new PublicKey(parsedInput.collateralMint), + leverage: parsedInput.leverage, + tradeMint: new PublicKey(parsedInput.tradeMint), + slippage: parsedInput.slippage, + }); + + return JSON.stringify({ + status: "success", + message: "Perpetual trade opened successfully", + transaction: tx, + ...parsedInput, + } as PerpTradeResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/adrena/types.ts b/src/langchain/tools/adrena/types.ts new file mode 100644 index 0000000..90f0d53 --- /dev/null +++ b/src/langchain/tools/adrena/types.ts @@ -0,0 +1,29 @@ +import { BaseToolResponse } from "../common/types"; + +export interface PerpCloseTradeInput { + tradeMint: string; + price?: number; + side: "long" | "short"; +} + +export interface PerpOpenTradeInput { + collateralAmount: number; + collateralMint?: string; + tradeMint?: string; + leverage?: number; + price?: number; + slippage?: number; + side: "long" | "short"; +} + +export interface PerpTradeResponse extends BaseToolResponse { + transaction?: string; + price?: number; + tradeMint?: string; + side?: "long" | "short"; + collateralAmount?: number; + collateralMint?: string; + leverage?: number; + slippage?: number; + token?: string; +} diff --git a/src/langchain/tools/agent/create-image.tool.ts b/src/langchain/tools/agent/create-image.tool.ts new file mode 100644 index 0000000..54a5a1d --- /dev/null +++ b/src/langchain/tools/agent/create-image.tool.ts @@ -0,0 +1,30 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { CreateImageResponse } from "./types"; +import { create_image } from "../../../tools/agent"; + +export class SolanaCreateImageTool extends BaseSolanaTool { + name = "solana_create_image"; + description = + "Create an image using OpenAI's DALL-E. Input should be a string prompt for the image."; + + private validateInput(input: string): void { + if (typeof input !== "string" || input.trim().length === 0) { + throw new Error("Input must be a non-empty string prompt"); + } + } + + protected async _call(input: string): Promise { + try { + this.validateInput(input); + const result = await create_image(this.solanaKit, input.trim()); + + return JSON.stringify({ + status: "success", + message: "Image created successfully", + ...result, + } as CreateImageResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/agent/index.ts b/src/langchain/tools/agent/index.ts new file mode 100644 index 0000000..5f7d4b7 --- /dev/null +++ b/src/langchain/tools/agent/index.ts @@ -0,0 +1,2 @@ +export * from "./create-image.tool"; +export * from "./wallet-address.tool"; diff --git a/src/langchain/tools/agent/types.ts b/src/langchain/tools/agent/types.ts new file mode 100644 index 0000000..8dce4d6 --- /dev/null +++ b/src/langchain/tools/agent/types.ts @@ -0,0 +1,9 @@ +import { BaseToolResponse } from "../common/types"; + +export interface CreateImageResponse extends BaseToolResponse { + images?: string[]; +} + +export interface WalletAddressResponse extends BaseToolResponse { + address?: string; +} diff --git a/src/langchain/tools/agent/wallet-address.tool.ts b/src/langchain/tools/agent/wallet-address.tool.ts new file mode 100644 index 0000000..78c8e1c --- /dev/null +++ b/src/langchain/tools/agent/wallet-address.tool.ts @@ -0,0 +1,15 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { WalletAddressResponse } from "./types"; + +export class SolanaGetWalletAddressTool extends BaseSolanaTool { + name = "solana_get_wallet_address"; + description = "Get the wallet address of the agent"; + + async _call(_input: string): Promise { + return JSON.stringify({ + status: "success", + message: "Wallet address retrieved successfully", + address: this.solanaKit.wallet_address.toString(), + } as WalletAddressResponse); + } +} diff --git a/src/langchain/tools/balance/balance-other.tool.ts b/src/langchain/tools/balance/balance-other.tool.ts new file mode 100644 index 0000000..3752b60 --- /dev/null +++ b/src/langchain/tools/balance/balance-other.tool.ts @@ -0,0 +1,37 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { BalanceOtherToolInput, BalanceOtherToolResponse } from "./types"; + +export class SolanaBalanceOtherTool extends BaseSolanaTool { + name = "solana_balance_other"; + description = `Get the balance of a Solana wallet or token account which is different from the agent's wallet. + + If no tokenAddress is provided, the SOL balance of the wallet will be returned. + + Inputs ( input is a JSON string ): + walletAddress: string, eg "GDEkQF7UMr7RLv1KQKMtm8E2w3iafxJLtyXu3HVQZnME" (required) + tokenAddress: string, eg "SENDdRQtYMWaQrBroBrJ2Q53fgVuq95CV9UPGEvpCxa" (optional)`; + + protected async _call(input: string): Promise { + try { + const params: BalanceOtherToolInput = JSON.parse(input); + const tokenPubKey = params.tokenAddress + ? new PublicKey(params.tokenAddress) + : undefined; + + const balance = await this.solanaKit.getBalanceOther( + new PublicKey(params.walletAddress), + tokenPubKey, + ); + + return JSON.stringify({ + status: "success", + balance, + wallet: params.walletAddress, + token: params.tokenAddress || "SOL", + } as BalanceOtherToolResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/balance/balance.tool.ts b/src/langchain/tools/balance/balance.tool.ts new file mode 100644 index 0000000..14403da --- /dev/null +++ b/src/langchain/tools/balance/balance.tool.ts @@ -0,0 +1,32 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { BalanceToolInput, BalanceToolResponse } from "./types"; + +export class SolanaBalanceTool extends BaseSolanaTool { + name = "solana_balance"; + description = `Get the balance of a Solana wallet or token account. + + If you want to get the balance of your wallet, you don't need to provide the tokenAddress. + If no tokenAddress is provided, the balance will be in SOL. + + Inputs ( input is a JSON string ): + tokenAddress: string, eg "So11111111111111111111111111111111111111112" (optional)`; + + protected async _call(input: string): Promise { + try { + const params: BalanceToolInput = input ? JSON.parse(input) : {}; + const tokenAddress = params.tokenAddress + ? new PublicKey(params.tokenAddress) + : undefined; + const balance = await this.solanaKit.getBalance(tokenAddress); + + return JSON.stringify({ + status: "success", + balance, + token: params.tokenAddress || "SOL", + } as BalanceToolResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/balance/index.ts b/src/langchain/tools/balance/index.ts new file mode 100644 index 0000000..7d453b8 --- /dev/null +++ b/src/langchain/tools/balance/index.ts @@ -0,0 +1,3 @@ +export * from "./balance.tool"; +export * from "./balance-other.tool"; +export * from "./types"; diff --git a/src/langchain/tools/balance/types.ts b/src/langchain/tools/balance/types.ts new file mode 100644 index 0000000..5d1f61a --- /dev/null +++ b/src/langchain/tools/balance/types.ts @@ -0,0 +1,21 @@ +import { BaseToolResponse } from "../common/types"; + +export interface BalanceToolInput { + tokenAddress?: string; +} + +export interface BalanceToolResponse extends BaseToolResponse { + balance?: number; + token?: string; +} + +export interface BalanceOtherToolInput { + walletAddress: string; + tokenAddress?: string; +} + +export interface BalanceOtherToolResponse extends BaseToolResponse { + balance?: number; + wallet?: string; + token?: string; +} diff --git a/src/langchain/tools/common/base.tool.ts b/src/langchain/tools/common/base.tool.ts new file mode 100644 index 0000000..e8b4fa4 --- /dev/null +++ b/src/langchain/tools/common/base.tool.ts @@ -0,0 +1,17 @@ +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../../agent"; +import { BaseToolResponse } from "./types"; + +export abstract class BaseSolanaTool extends Tool { + constructor(protected solanaKit: SolanaAgentKit) { + super(); + } + + protected handleError(error: any): string { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + } as BaseToolResponse); + } +} diff --git a/src/langchain/tools/common/index.ts b/src/langchain/tools/common/index.ts new file mode 100644 index 0000000..0bea65f --- /dev/null +++ b/src/langchain/tools/common/index.ts @@ -0,0 +1,2 @@ +export * from "./types"; +export * from "./base.tool"; diff --git a/src/langchain/tools/common/types.ts b/src/langchain/tools/common/types.ts new file mode 100644 index 0000000..71400bb --- /dev/null +++ b/src/langchain/tools/common/types.ts @@ -0,0 +1,5 @@ +export interface BaseToolResponse { + status: "success" | "error"; + message: string; + code?: string; +} diff --git a/src/langchain/tools/dexscreener/index.ts b/src/langchain/tools/dexscreener/index.ts new file mode 100644 index 0000000..f993cf4 --- /dev/null +++ b/src/langchain/tools/dexscreener/index.ts @@ -0,0 +1 @@ +export * from "./token-data-ticker.tool"; diff --git a/src/langchain/tools/dexscreener/token-data-ticker.tool.ts b/src/langchain/tools/dexscreener/token-data-ticker.tool.ts new file mode 100644 index 0000000..949add5 --- /dev/null +++ b/src/langchain/tools/dexscreener/token-data-ticker.tool.ts @@ -0,0 +1,23 @@ +import { BaseSolanaTool } from "../common/base.tool"; + +export class SolanaTokenDataByTickerTool extends BaseSolanaTool { + name = "solana_token_data_by_ticker"; + description = `Get the token data for a given token ticker + + Inputs: ticker is required. + ticker: string, eg "USDC" (required)`; + + protected async _call(input: string): Promise { + try { + const ticker = input.trim(); + const tokenData = await this.solanaKit.getTokenDataByTicker(ticker); + + return JSON.stringify({ + status: "success", + tokenData, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/domain/get-domain.tool.ts b/src/langchain/tools/domain/get-domain.tool.ts new file mode 100644 index 0000000..2eebcca --- /dev/null +++ b/src/langchain/tools/domain/get-domain.tool.ts @@ -0,0 +1,26 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { DomainResponse } from "./types"; + +export class SolanaGetDomainTool extends BaseSolanaTool { + name = "solana_get_domain"; + description = `Retrieve the .sol domain associated for a given account address. + + Inputs: + account: string, eg "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required)`; + + protected async _call(input: string): Promise { + try { + const account = new PublicKey(input.trim()); + const domain = await this.solanaKit.getPrimaryDomain(account); + + return JSON.stringify({ + status: "success", + message: "Primary domain retrieved successfully", + domain, + } as DomainResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/domain/get_all_tld.tool.ts b/src/langchain/tools/domain/get_all_tld.tool.ts new file mode 100644 index 0000000..8f5f1b4 --- /dev/null +++ b/src/langchain/tools/domain/get_all_tld.tool.ts @@ -0,0 +1,24 @@ +import { BaseSolanaTool } from "../common"; + +export class SolanaGetAllTlds extends BaseSolanaTool { + name = "solana_get_all_tlds"; + description = `Get all active top-level domains (TLDs) in the AllDomains Name Service`; + + async _call(): Promise { + try { + const tlds = await this.solanaKit.getAllDomainsTLDs(); + + return JSON.stringify({ + status: "success", + message: "TLDs fetched successfully", + tlds, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "FETCH_TLDS_ERROR", + }); + } + } +} diff --git a/src/langchain/tools/domain/index.ts b/src/langchain/tools/domain/index.ts new file mode 100644 index 0000000..cfe75f4 --- /dev/null +++ b/src/langchain/tools/domain/index.ts @@ -0,0 +1,9 @@ +export * from "./register-domain.tool"; +export * from "./resolve-domain.tool"; +export * from "./resolve-all-domains.tool"; +export * from "./get-domain.tool"; +export * from "./owned-domains.tool"; +export * from "./tld-domains.tool"; +export * from "./main-domain.tool"; +export * from "./get_all_tld.tool"; +export * from "./types"; diff --git a/src/langchain/tools/domain/main-domain.tool.ts b/src/langchain/tools/domain/main-domain.tool.ts new file mode 100644 index 0000000..eb70581 --- /dev/null +++ b/src/langchain/tools/domain/main-domain.tool.ts @@ -0,0 +1,27 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { DomainResponse } from "./types"; + +export class SolanaGetMainDomain extends BaseSolanaTool { + name = "solana_get_main_domain"; + description = `Get the main/favorite domain for a given wallet address. + + Inputs: + owner: string, eg "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required)`; + + protected async _call(input: string): Promise { + try { + const ownerPubkey = new PublicKey(input.trim()); + const mainDomain = + await this.solanaKit.getMainAllDomainsDomain(ownerPubkey); + + return JSON.stringify({ + status: "success", + message: "Main domain fetched successfully", + domain: mainDomain, + } as DomainResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/domain/owned-domains.tool.ts b/src/langchain/tools/domain/owned-domains.tool.ts new file mode 100644 index 0000000..2ab62dd --- /dev/null +++ b/src/langchain/tools/domain/owned-domains.tool.ts @@ -0,0 +1,26 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { DomainsListResponse } from "./types"; + +export class SolanaGetOwnedDomains extends BaseSolanaTool { + name = "solana_get_owned_domains"; + description = `Get all domains owned by a specific wallet address. + + Inputs: + owner: string, eg "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required)`; + + protected async _call(input: string): Promise { + try { + const ownerPubkey = new PublicKey(input.trim()); + const domains = await this.solanaKit.getOwnedAllDomains(ownerPubkey); + + return JSON.stringify({ + status: "success", + message: "Owned domains fetched successfully", + domains, + } as DomainsListResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/domain/register-domain.tool.ts b/src/langchain/tools/domain/register-domain.tool.ts new file mode 100644 index 0000000..5b7d368 --- /dev/null +++ b/src/langchain/tools/domain/register-domain.tool.ts @@ -0,0 +1,32 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { RegisterDomainInput, RegisterDomainResponse } from "./types"; + +export class SolanaRegisterDomainTool extends BaseSolanaTool { + name = "solana_register_domain"; + description = `Register a .sol domain name for your wallet. + + Inputs: + name: string, eg "pumpfun.sol" (required) + spaceKB: number, eg 1 (optional, default is 1)`; + + protected async _call(input: string): Promise { + try { + const params: RegisterDomainInput = JSON.parse(input); + + const tx = await this.solanaKit.registerDomain( + params.name, + params.spaceKB || 1, + ); + + return JSON.stringify({ + status: "success", + message: "Domain registered successfully", + transaction: tx, + domain: `${params.name}.sol`, + spaceKB: params.spaceKB || 1, + } as RegisterDomainResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/domain/resolve-all-domains.tool.ts b/src/langchain/tools/domain/resolve-all-domains.tool.ts new file mode 100644 index 0000000..d1683c3 --- /dev/null +++ b/src/langchain/tools/domain/resolve-all-domains.tool.ts @@ -0,0 +1,34 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { ResolveDomainResponse } from "./types"; + +export class SolanaResolveAllDomainsTool extends BaseSolanaTool { + name = "solana_resolve_all_domains"; + description = `Resolve domain names to a public key for ALL domain types EXCEPT .sol domains. + Use this for domains like .blink, .bonk, etc. + DO NOT use this for .sol domains (use solana_resolve_domain instead). + + Input: + domain: string, eg "mydomain.blink" or "mydomain.bonk" (required)`; + + protected async _call(input: string): Promise { + try { + const owner = await this.solanaKit.resolveAllDomains(input); + + if (!owner) { + return JSON.stringify({ + status: "error", + message: "Domain not found", + code: "DOMAIN_NOT_FOUND", + } as ResolveDomainResponse); + } + + return JSON.stringify({ + status: "success", + message: "Domain resolved successfully", + owner: owner?.toString(), + } as ResolveDomainResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/domain/resolve-domain.tool.ts b/src/langchain/tools/domain/resolve-domain.tool.ts new file mode 100644 index 0000000..555e93a --- /dev/null +++ b/src/langchain/tools/domain/resolve-domain.tool.ts @@ -0,0 +1,27 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { ResolveDomainResponse } from "./types"; + +export class SolanaResolveDomainTool extends BaseSolanaTool { + name = "solana_resolve_domain"; + description = `Resolve ONLY .sol domain names to a Solana PublicKey. + This tool is exclusively for .sol domains. + DO NOT use this for other domain types like .blink, .bonk, etc. + + Inputs: + domain: string, eg "pumpfun.sol" (required)`; + + protected async _call(input: string): Promise { + try { + const domain = input.trim(); + const publicKey = await this.solanaKit.resolveSolDomain(domain); + + return JSON.stringify({ + status: "success", + message: "Domain resolved successfully", + publicKey: publicKey.toBase58(), + } as ResolveDomainResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/domain/tld-domains.tool.ts b/src/langchain/tools/domain/tld-domains.tool.ts new file mode 100644 index 0000000..0cfaf2f --- /dev/null +++ b/src/langchain/tools/domain/tld-domains.tool.ts @@ -0,0 +1,24 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { DomainsListResponse } from "./types"; + +export class SolanaGetOwnedTldDomains extends BaseSolanaTool { + name = "solana_get_owned_tld_domains"; + description = `Get all domains owned by the agent's wallet for a specific TLD. + + Inputs: + tld: string, eg "bonk" (required)`; + + protected async _call(input: string): Promise { + try { + const domains = await this.solanaKit.getOwnedDomainsForTLD(input); + + return JSON.stringify({ + status: "success", + message: "TLD domains fetched successfully", + domains, + } as DomainsListResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/domain/types.ts b/src/langchain/tools/domain/types.ts new file mode 100644 index 0000000..bf9a31f --- /dev/null +++ b/src/langchain/tools/domain/types.ts @@ -0,0 +1,45 @@ +import { BaseToolResponse } from "../common/types"; + +export interface RegisterDomainInput { + name: string; + spaceKB?: number; +} + +export interface ResolveDomainInput { + domain: string; +} + +export interface GetDomainInput { + account: string; +} + +export interface OwnedDomainsInput { + owner: string; +} + +export interface TldDomainsInput { + tld: string; +} + +export interface RegisterDomainResponse extends BaseToolResponse { + transaction?: string; + domain?: string; + spaceKB?: number; +} + +export interface ResolveDomainResponse extends BaseToolResponse { + publicKey?: string; + owner?: string; +} + +export interface DomainResponse extends BaseToolResponse { + domain?: string | null; +} + +export interface DomainsListResponse extends BaseToolResponse { + domains?: string[]; +} + +export interface TldsResponse extends BaseToolResponse { + tlds?: string[]; +} diff --git a/src/langchain/tools/flash/flash-close.tool.ts b/src/langchain/tools/flash/flash-close.tool.ts new file mode 100644 index 0000000..e5c9dd0 --- /dev/null +++ b/src/langchain/tools/flash/flash-close.tool.ts @@ -0,0 +1,34 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { FlashCloseTradeInput, PerpTradeResponse } from "./types"; + +export class SolanaFlashCloseTrade extends BaseSolanaTool { + name = "solana_flash_close_trade"; + description = `Close an existing leveraged trading position on Flash.Trade exchange. + + Inputs ( input is a JSON string ): + token: string, eg "SOL", "BTC", "ETH" (required) + side: string, eg "long", "short" (required) + + Example prompt is Close a 20x leveraged trade for SOL on long side`; + + protected async _call(input: string): Promise { + try { + const params: FlashCloseTradeInput = JSON.parse(input); + + const tx = await this.solanaKit.flashCloseTrade({ + token: params.token, + side: params.side, + }); + + return JSON.stringify({ + status: "success", + message: "Flash trade position closed successfully", + transaction: tx, + token: params.token, + side: params.side, + } as PerpTradeResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/flash/flash-open.tool.ts b/src/langchain/tools/flash/flash-open.tool.ts new file mode 100644 index 0000000..9b104c6 --- /dev/null +++ b/src/langchain/tools/flash/flash-open.tool.ts @@ -0,0 +1,40 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { FlashOpenTradeInput, PerpTradeResponse } from "./types"; + +export class SolanaFlashOpenTrade extends BaseSolanaTool { + name = "solana_flash_open_trade"; + description = `This tool can be used to open a new leveraged trading position on Flash.Trade exchange. + + Inputs ( input is a JSON string ): + token: string, eg "SOL", "BTC", "ETH" (required) + type: string, eg "long", "short" (required) + collateral: number, eg 10, 100, 1000 (required) + leverage: number, eg 5, 10, 20 (required) + + Example prompt is Open a 20x leveraged trade for SOL on long side using flash trade with 500 USD as collateral`; + + protected async _call(input: string): Promise { + try { + const params: FlashOpenTradeInput = JSON.parse(input); + + const tx = await this.solanaKit.flashOpenTrade({ + token: params.token, + side: params.type, + collateralUsd: params.collateral, + leverage: params.leverage, + }); + + return JSON.stringify({ + status: "success", + message: "Flash trade position opened successfully", + transaction: tx, + token: params.token, + side: params.type, + collateralAmount: params.collateral, + leverage: params.leverage, + } as PerpTradeResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/flash/index.ts b/src/langchain/tools/flash/index.ts new file mode 100644 index 0000000..aabf20f --- /dev/null +++ b/src/langchain/tools/flash/index.ts @@ -0,0 +1,3 @@ +export * from "./flash-open.tool"; +export * from "./flash-close.tool"; +export * from "./types"; diff --git a/src/langchain/tools/flash/types.ts b/src/langchain/tools/flash/types.ts new file mode 100644 index 0000000..d733d5f --- /dev/null +++ b/src/langchain/tools/flash/types.ts @@ -0,0 +1,25 @@ +import { BaseToolResponse } from "../common/types"; + +export interface FlashOpenTradeInput { + token: string; + type: "long" | "short"; + collateral: number; + leverage: number; +} + +export interface FlashCloseTradeInput { + token: string; + side: "long" | "short"; +} + +export interface PerpTradeResponse extends BaseToolResponse { + transaction?: string; + price?: number; + tradeMint?: string; + side?: "long" | "short"; + collateralAmount?: number; + collateralMint?: string; + leverage?: number; + slippage?: number; + token?: string; +} diff --git a/src/langchain/tools/gibwork/create-task.tool.ts b/src/langchain/tools/gibwork/create-task.tool.ts new file mode 100644 index 0000000..70a0230 --- /dev/null +++ b/src/langchain/tools/gibwork/create-task.tool.ts @@ -0,0 +1,41 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { CreateGibworkTaskInput, GibworkTaskResponse } from "./types"; + +export class SolanaCreateGibworkTask extends BaseSolanaTool { + name = "create_gibwork_task"; + description = `Create a task on Gibwork. + + Inputs (input is a JSON string): + title: string, title of the task (required) + content: string, description of the task (required) + requirements: string, requirements to complete the task (required) + tags: string[], list of tags associated with the task (required) + payer: string, payer address (optional, defaults to agent wallet) + tokenMintAddress: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required) + amount: number, payment amount (required)`; + + protected async _call(input: string): Promise { + try { + const params: CreateGibworkTaskInput = JSON.parse(input); + + const taskData = await this.solanaKit.createGibworkTask( + params.title, + params.content, + params.requirements, + params.tags, + params.tokenMintAddress, + params.amount, + params.payer, + ); + + return JSON.stringify({ + status: "success", + taskId: taskData.taskId, + signature: taskData.signature, + message: `Task "${params.title}" created successfully`, + } as GibworkTaskResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/gibwork/index.ts b/src/langchain/tools/gibwork/index.ts new file mode 100644 index 0000000..62c6b2a --- /dev/null +++ b/src/langchain/tools/gibwork/index.ts @@ -0,0 +1,2 @@ +export * from "./create-task.tool"; +export * from "./types"; diff --git a/src/langchain/tools/gibwork/types.ts b/src/langchain/tools/gibwork/types.ts new file mode 100644 index 0000000..489ecbb --- /dev/null +++ b/src/langchain/tools/gibwork/types.ts @@ -0,0 +1,16 @@ +import { BaseToolResponse } from "../common/types"; + +export interface CreateGibworkTaskInput { + title: string; + content: string; + requirements: string; + tags: string[]; + tokenMintAddress: string; + amount: number; + payer?: string; +} + +export interface GibworkTaskResponse extends BaseToolResponse { + taskId?: string; + signature?: string; +} diff --git a/src/langchain/tools/index.ts b/src/langchain/tools/index.ts new file mode 100644 index 0000000..7cb43ce --- /dev/null +++ b/src/langchain/tools/index.ts @@ -0,0 +1,24 @@ +export * from "./adrena"; +export * from "./balance"; +export * from "./dexscreener"; +export * from "./domain"; +export * from "./flash"; +export * from "./gibwork"; +export * from "./jupiter"; +export * from "./lulo"; +export * from "./manifest"; +export * from "./solana"; +export * from "./agent"; +export * from "./metaplex"; +export * from "./openbook"; +export * from "./orca"; +export * from "./pumpfun"; +export * from "./pyth"; +export * from "./raydium"; +export * from "./rugcheck"; +export * from "./sendarcade"; +export * from "./solayer"; +export * from "./tensor"; +export * from "./3land"; +export * from "./tiplink"; +export * from "./token"; diff --git a/src/langchain/tools/jupiter/fetch-price.tool.ts b/src/langchain/tools/jupiter/fetch-price.tool.ts new file mode 100644 index 0000000..67f6bf5 --- /dev/null +++ b/src/langchain/tools/jupiter/fetch-price.tool.ts @@ -0,0 +1,23 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { PriceResponse } from "./types"; + +export class SolanaFetchPriceTool extends BaseSolanaTool { + name = "solana_fetch_price"; + description = `Fetch the price of a given token in USDC. + + Inputs: + - tokenId: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"`; + + async _call(input: string): Promise { + try { + const price = await this.solanaKit.fetchTokenPrice(input.trim()); + return JSON.stringify({ + status: "success", + tokenId: input.trim(), + priceInUSDC: price, + } as PriceResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/jupiter/index.ts b/src/langchain/tools/jupiter/index.ts new file mode 100644 index 0000000..824d2f5 --- /dev/null +++ b/src/langchain/tools/jupiter/index.ts @@ -0,0 +1,5 @@ +export * from "./fetch-price.tool"; +export * from "./token-data.tool"; +export * from "./trade.tool"; +export * from "./stake.tool"; +export * from "./types"; diff --git a/src/langchain/tools/jupiter/stake.tool.ts b/src/langchain/tools/jupiter/stake.tool.ts new file mode 100644 index 0000000..1ba7774 --- /dev/null +++ b/src/langchain/tools/jupiter/stake.tool.ts @@ -0,0 +1,27 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { StakeResponse } from "./types"; + +export class SolanaStakeTool extends BaseSolanaTool { + name = "solana_stake"; + description = `This tool can be used to stake your SOL (Solana), also called as SOL staking or liquid staking. + + Inputs ( input is a JSON string ): + amount: number, eg 1 or 0.01 (required)`; + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input) || Number(input); + + const tx = await this.solanaKit.stake(parsedInput.amount); + + return JSON.stringify({ + status: "success", + message: "Staked successfully", + transaction: tx, + amount: parsedInput.amount, + } as StakeResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/jupiter/token-data.tool.ts b/src/langchain/tools/jupiter/token-data.tool.ts new file mode 100644 index 0000000..40ea58f --- /dev/null +++ b/src/langchain/tools/jupiter/token-data.tool.ts @@ -0,0 +1,23 @@ +import { BaseSolanaTool } from "../common/base.tool"; + +export class SolanaTokenDataTool extends BaseSolanaTool { + name = "solana_token_data"; + description = `Get the token data for a given token mint address + + Inputs: mintAddress is required. + mintAddress: string, eg "So11111111111111111111111111111111111111112" (required)`; + + protected async _call(input: string): Promise { + try { + const parsedInput = input.trim(); + const tokenData = await this.solanaKit.getTokenDataByAddress(parsedInput); + + return JSON.stringify({ + status: "success", + tokenData, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/jupiter/trade.tool.ts b/src/langchain/tools/jupiter/trade.tool.ts new file mode 100644 index 0000000..9c88b5b --- /dev/null +++ b/src/langchain/tools/jupiter/trade.tool.ts @@ -0,0 +1,39 @@ +import { BaseSolanaTool } from "../common"; +import { PublicKey } from "@solana/web3.js"; + +export class SolanaTradeTool extends BaseSolanaTool { + name = "solana_trade"; + description = `This tool can be used to swap tokens to another token ( It uses Jupiter Exchange ). + + Inputs ( input is a JSON string ): + outputMint: string, eg "So11111111111111111111111111111111111111112" or "SENDdRQtYMWaQrBroBrJ2Q53fgVuq95CV9UPGEvpCxa" (required) + inputAmount: number, eg 1 or 0.01 (required) + inputMint?: string, eg "So11111111111111111111111111111111111111112" (optional) + slippageBps?: number, eg 100 (optional)`; + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + const tx = await this.solanaKit.trade( + new PublicKey(parsedInput.outputMint), + parsedInput.inputAmount, + parsedInput.inputMint + ? new PublicKey(parsedInput.inputMint) + : new PublicKey("So11111111111111111111111111111111111111112"), + parsedInput.slippageBps, + ); + + return JSON.stringify({ + status: "success", + message: "Trade executed successfully", + transaction: tx, + inputAmount: parsedInput.inputAmount, + inputToken: parsedInput.inputMint || "SOL", + outputToken: parsedInput.outputMint, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/jupiter/types.ts b/src/langchain/tools/jupiter/types.ts new file mode 100644 index 0000000..42ca0e8 --- /dev/null +++ b/src/langchain/tools/jupiter/types.ts @@ -0,0 +1,19 @@ +import { BaseToolResponse } from "../common/types"; + +export interface FetchPriceInput { + tokenId: string; +} + +export interface PriceResponse extends BaseToolResponse { + tokenId?: string; + priceInUSDC?: string; +} + +export interface StakeInput { + amount: number; +} + +export interface StakeResponse extends BaseToolResponse { + transaction?: string; + amount?: number; +} diff --git a/src/langchain/tools/lulo/index.ts b/src/langchain/tools/lulo/index.ts new file mode 100644 index 0000000..3d93b46 --- /dev/null +++ b/src/langchain/tools/lulo/index.ts @@ -0,0 +1,2 @@ +export * from "./lend-asset.tool"; +export * from "./types"; diff --git a/src/langchain/tools/lulo/lend-asset.tool.ts b/src/langchain/tools/lulo/lend-asset.tool.ts new file mode 100644 index 0000000..94666b1 --- /dev/null +++ b/src/langchain/tools/lulo/lend-asset.tool.ts @@ -0,0 +1,28 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { LendAssetResponse } from "./types"; + +export class SolanaLendAssetTool extends BaseSolanaTool { + name = "solana_lend_asset"; + description = `Lend idle USDC for yield using Lulo. ( only USDC is supported ) + + Inputs (input is a json string): + amount: number, eg 1, 0.01 (required)`; + + async _call(input: string): Promise { + try { + // Parse input either as direct number or JSON object + const amount = JSON.parse(input).amount || Number(input); + + const tx = await this.solanaKit.lendAssets(amount); + + return JSON.stringify({ + status: "success", + message: "Asset lent successfully", + transaction: tx, + amount, + } as LendAssetResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/lulo/types.ts b/src/langchain/tools/lulo/types.ts new file mode 100644 index 0000000..aba87b2 --- /dev/null +++ b/src/langchain/tools/lulo/types.ts @@ -0,0 +1,10 @@ +import { BaseToolResponse } from "../common/types"; + +export interface LendAssetInput { + amount: number; +} + +export interface LendAssetResponse extends BaseToolResponse { + transaction?: string; + amount?: number; +} diff --git a/src/langchain/tools/manifest/batch-order.tool.ts b/src/langchain/tools/manifest/batch-order.tool.ts new file mode 100644 index 0000000..2e57c01 --- /dev/null +++ b/src/langchain/tools/manifest/batch-order.tool.ts @@ -0,0 +1,88 @@ +import { BaseSolanaTool } from "../common"; +import { OrderParams } from "../../../types"; +import { generateOrdersfromPattern } from "./../../../tools/manifest"; +import { PublicKey } from "@solana/web3.js"; + +export class SolanaBatchOrderTool extends BaseSolanaTool { + name = "solana_batch_order"; + description = `Places multiple limit orders in one transaction using Manifest. Submit orders either as a list or pattern: + + 1. List format: + { + "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", + "orders": [ + { "quantity": 1, "side": "Buy", "price": 200 }, + { "quantity": 0.5, "side": "Sell", "price": 205 } + ] + } + + 2. Pattern format: + { + "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", + "pattern": { + "side": "Buy", + "totalQuantity": 100, + "priceRange": { "max": 1.0 }, + "spacing": { "type": "percentage", "value": 1 }, + "numberOfOrders": 5 + } + } + + Examples: + - "Place 5 buy orders totaling 100 tokens, 1% apart below $1" + - "Create 3 sell orders of 10 tokens each between $50-$55" + - "Place buy orders worth 50 tokens, $0.10 spacing from $0.80" + + Important: All orders must be in one transaction. Combine buy and sell orders into a single pattern or list. Never break the orders down to individual buy or sell orders.`; + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + let ordersToPlace: OrderParams[] = []; + + if (!parsedInput.marketId) { + throw new Error("Market ID is required"); + } + + if (parsedInput.pattern) { + ordersToPlace = generateOrdersfromPattern(parsedInput.pattern); + } else if (Array.isArray(parsedInput.orders)) { + ordersToPlace = parsedInput.orders; + } else { + throw new Error("Either pattern or orders array is required"); + } + + if (ordersToPlace.length === 0) { + throw new Error("No orders generated or provided"); + } + + ordersToPlace.forEach((order: OrderParams, index: number) => { + if (!order.quantity || !order.side || !order.price) { + throw new Error( + `Invalid order at index ${index}: quantity, side, and price are required`, + ); + } + if (order.side !== "Buy" && order.side !== "Sell") { + throw new Error( + `Invalid side at index ${index}: must be "Buy" or "Sell"`, + ); + } + }); + + const tx = await this.solanaKit.batchOrder( + new PublicKey(parsedInput.marketId), + parsedInput.orders, + ); + + return JSON.stringify({ + status: "success", + message: "Batch order executed successfully", + transaction: tx, + marketId: parsedInput.marketId, + orders: parsedInput.orders, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/manifest/cancel-orders.tool.ts b/src/langchain/tools/manifest/cancel-orders.tool.ts new file mode 100644 index 0000000..1ef4ff3 --- /dev/null +++ b/src/langchain/tools/manifest/cancel-orders.tool.ts @@ -0,0 +1,26 @@ +import { BaseSolanaTool } from "../common"; +import { PublicKey } from "@solana/web3.js"; + +export class SolanaCancelAllOrdersTool extends BaseSolanaTool { + name = "solana_cancel_all_orders"; + description = `This tool can be used to cancel all orders from a Manifest market. + + Input ( input is a JSON string ): + marketId: string, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required)`; + + protected async _call(input: string): Promise { + try { + const marketId = new PublicKey(input.trim()); + const tx = await this.solanaKit.cancelAllOrders(marketId); + + return JSON.stringify({ + status: "success", + message: "Cancel orders successfully", + transaction: tx, + marketId, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/manifest/index.ts b/src/langchain/tools/manifest/index.ts new file mode 100644 index 0000000..65b11a9 --- /dev/null +++ b/src/langchain/tools/manifest/index.ts @@ -0,0 +1,6 @@ +export * from "./manifest-market.tool"; +export * from "./batch-order.tool"; +export * from "./cancel-orders.tool"; +export * from "./limit-order.tool"; +export * from "./withdraw.tool"; +export * from "./types"; diff --git a/src/langchain/tools/manifest/limit-order.tool.ts b/src/langchain/tools/manifest/limit-order.tool.ts new file mode 100644 index 0000000..73b23e1 --- /dev/null +++ b/src/langchain/tools/manifest/limit-order.tool.ts @@ -0,0 +1,40 @@ +import { BaseSolanaTool } from "../common"; +import { PublicKey } from "@solana/web3.js"; + +export class SolanaLimitOrderTool extends BaseSolanaTool { + name = "solana_limit_order"; + description = `This tool can be used to place limit orders using Manifest. + + Do not allow users to place multiple orders with this instruction, use solana_batch_order instead. + + Inputs ( input is a JSON string ): + marketId: PublicKey, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required) + quantity: number, eg 1 or 0.01 (required) + side: string, eg "Buy" or "Sell" (required) + price: number, in tokens eg 200 for SOL/USDC (required)`; + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + const tx = await this.solanaKit.limitOrder( + new PublicKey(parsedInput.marketId), + parsedInput.quantity, + parsedInput.side, + parsedInput.price, + ); + + return JSON.stringify({ + status: "success", + message: "Trade executed successfully", + transaction: tx, + marketId: parsedInput.marketId, + quantity: parsedInput.quantity, + side: parsedInput.side, + price: parsedInput.price, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/manifest/manifest-market.tool.ts b/src/langchain/tools/manifest/manifest-market.tool.ts new file mode 100644 index 0000000..9ecb5b8 --- /dev/null +++ b/src/langchain/tools/manifest/manifest-market.tool.ts @@ -0,0 +1,32 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { ManifestMarketInput, ManifestMarketResponse } from "./types"; + +export class SolanaManifestCreateMarket extends BaseSolanaTool { + name = "solana_manifest_create_market"; + description = `Manifest market + + Inputs (input is a json string): + baseMint: string (required) + quoteMint: string (required)`; + + protected async _call(input: string): Promise { + try { + const params: ManifestMarketInput = JSON.parse(input); + + const tx = await this.solanaKit.manifestCreateMarket( + new PublicKey(params.baseMint), + new PublicKey(params.quoteMint), + ); + + return JSON.stringify({ + status: "success", + message: "Create manifest market successfully", + transaction: tx[0], + marketId: tx[1], + } as ManifestMarketResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/manifest/types.ts b/src/langchain/tools/manifest/types.ts new file mode 100644 index 0000000..c0150f0 --- /dev/null +++ b/src/langchain/tools/manifest/types.ts @@ -0,0 +1,11 @@ +import { BaseToolResponse } from "../common/types"; + +export interface ManifestMarketInput { + baseMint: string; + quoteMint: string; +} + +export interface ManifestMarketResponse extends BaseToolResponse { + transaction: string; + marketId: string; +} diff --git a/src/langchain/tools/manifest/withdraw.tool.ts b/src/langchain/tools/manifest/withdraw.tool.ts new file mode 100644 index 0000000..7d110fb --- /dev/null +++ b/src/langchain/tools/manifest/withdraw.tool.ts @@ -0,0 +1,30 @@ +import { BaseSolanaTool } from "../common"; +import { PublicKey } from "@solana/web3.js"; + +export class SolanaWithdrawAllTool extends BaseSolanaTool { + name = "solana_withdraw_all"; + description = `This tool can be used to withdraw all funds from a Manifest market. + + Input ( input is a JSON string ): + marketId: string, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required)`; + + protected async _call(input: string): Promise { + try { + const marketId = new PublicKey(input.trim()); + const tx = await this.solanaKit.withdrawAll(marketId); + + return JSON.stringify({ + status: "success", + message: "Withdrew successfully", + transaction: tx, + marketId, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} diff --git a/src/langchain/tools/metaplex/deploy-collection.tool.ts b/src/langchain/tools/metaplex/deploy-collection.tool.ts new file mode 100644 index 0000000..32e972d --- /dev/null +++ b/src/langchain/tools/metaplex/deploy-collection.tool.ts @@ -0,0 +1,30 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { DeployCollectionInput, DeployCollectionResponse } from "./types"; + +export class SolanaDeployCollectionTool extends BaseSolanaTool { + name = "solana_deploy_collection"; + description = `Deploy a new NFT collection on Solana blockchain. + + Inputs (input is a JSON string): + name: string, eg "My Collection" (required) + uri: string, eg "https://example.com/collection.json" (required) + royaltyBasisPoints?: number, eg 500 for 5% (optional) + creators?: Array of { address: string, percentage: number } (optional)`; + + protected async _call(input: string): Promise { + try { + const params: DeployCollectionInput = JSON.parse(input); + + const result = await this.solanaKit.deployCollection(params); + + return JSON.stringify({ + status: "success", + message: "Collection deployed successfully", + collectionAddress: result.collectionAddress.toString(), + name: params.name, + } as DeployCollectionResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/metaplex/index.ts b/src/langchain/tools/metaplex/index.ts new file mode 100644 index 0000000..0cecea3 --- /dev/null +++ b/src/langchain/tools/metaplex/index.ts @@ -0,0 +1,3 @@ +export * from "./deploy-collection.tool"; +export * from "./mint-nft.tool"; +export * from "./types"; diff --git a/src/langchain/tools/metaplex/mint-nft.tool.ts b/src/langchain/tools/metaplex/mint-nft.tool.ts new file mode 100644 index 0000000..97c93c4 --- /dev/null +++ b/src/langchain/tools/metaplex/mint-nft.tool.ts @@ -0,0 +1,44 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { MintNFTInput, MintNFTResponse } from "./types"; + +export class SolanaMintNFTTool extends BaseSolanaTool { + name = "solana_mint_nft"; + description = `Mint a new NFT in a collection on Solana blockchain. + + Inputs (input is a JSON string): + collectionMint: string, eg "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w" (required) - The address of the collection to mint into + name: string, eg "My NFT" (required) + uri: string, eg "https://example.com/nft.json" (required) + recipient?: string, eg "9aUn5swQzUTRanaaTwmszxiv89cvFwUCjEBv1vZCoT1u" (optional) - The wallet to receive the NFT, defaults to agent's wallet`; + + protected async _call(input: string): Promise { + try { + const params: MintNFTInput = JSON.parse(input); + + const result = await this.solanaKit.mintNFT( + new PublicKey(params.collectionMint), + { + name: params.name, + uri: params.uri, + }, + params.recipient + ? new PublicKey(params.recipient) + : this.solanaKit.wallet_address, + ); + + return JSON.stringify({ + status: "success", + message: "NFT minted successfully", + mintAddress: result.mint.toString(), + metadata: { + name: params.name, + uri: params.uri, + }, + recipient: params.recipient || result.mint.toString(), + } as MintNFTResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/metaplex/types.ts b/src/langchain/tools/metaplex/types.ts new file mode 100644 index 0000000..ecfcafd --- /dev/null +++ b/src/langchain/tools/metaplex/types.ts @@ -0,0 +1,33 @@ +import { BaseToolResponse } from "../common/types"; + +export interface DeployCollectionInput { + name: string; + uri: string; + royaltyBasisPoints?: number; + creators?: Array<{ + address: string; + percentage: number; + }>; +} + +export interface MintNFTInput { + collectionMint: string; + name: string; + uri: string; + recipient?: string; +} + +export interface DeployCollectionResponse extends BaseToolResponse { + collectionAddress?: string; + name?: string; +} + +export interface MintNFTResponse extends BaseToolResponse { + mintAddress?: string; + metadata?: { + name: string; + symbol?: string; + uri: string; + }; + recipient?: string; +} diff --git a/src/langchain/tools/openbook/index.ts b/src/langchain/tools/openbook/index.ts new file mode 100644 index 0000000..f33ba26 --- /dev/null +++ b/src/langchain/tools/openbook/index.ts @@ -0,0 +1,2 @@ +export * from "./openbook-market.tool"; +export * from "./types"; diff --git a/src/langchain/tools/openbook/openbook-market.tool.ts b/src/langchain/tools/openbook/openbook-market.tool.ts new file mode 100644 index 0000000..0077ea8 --- /dev/null +++ b/src/langchain/tools/openbook/openbook-market.tool.ts @@ -0,0 +1,35 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { OpenbookMarketInput } from "./types"; + +export class SolanaOpenbookCreateMarket extends BaseSolanaTool { + name = "solana_openbook_create_market"; + description = `Openbook marketId, required for ammv4 + + Inputs (input is a json string): + baseMint: string (required) + quoteMint: string (required) + lotSize: number (required) + tickSize: number (required)`; + + protected async _call(input: string): Promise { + try { + const params: OpenbookMarketInput = JSON.parse(input); + + const tx = await this.solanaKit.openbookCreateMarket( + new PublicKey(params.baseMint), + new PublicKey(params.quoteMint), + params.lotSize, + params.tickSize, + ); + + return JSON.stringify({ + status: "success", + message: "Openbook market created successfully", + transaction: tx, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/openbook/types.ts b/src/langchain/tools/openbook/types.ts new file mode 100644 index 0000000..6ae5503 --- /dev/null +++ b/src/langchain/tools/openbook/types.ts @@ -0,0 +1,6 @@ +export interface OpenbookMarketInput { + baseMint: string; + quoteMint: string; + lotSize: number; + tickSize: number; +} diff --git a/src/langchain/tools/orca/index.ts b/src/langchain/tools/orca/index.ts new file mode 100644 index 0000000..17ac156 --- /dev/null +++ b/src/langchain/tools/orca/index.ts @@ -0,0 +1,7 @@ +export * from "./orca-clmm.tool"; +export * from "./orca-single-sided-pool.tool"; +export * from "./orca-position.tool"; +export * from "./orca-fetch-positions.tool"; +export * from "./orca-centered-position.tool"; +export * from "./orca-single-sided-position.tool"; +export * from "./types"; diff --git a/src/langchain/tools/orca/orca-centered-position.tool.ts b/src/langchain/tools/orca/orca-centered-position.tool.ts new file mode 100644 index 0000000..ba38409 --- /dev/null +++ b/src/langchain/tools/orca/orca-centered-position.tool.ts @@ -0,0 +1,35 @@ +import { PublicKey } from "@solana/web3.js"; +import { Decimal } from "decimal.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { OrcaCenteredPositionInput, LiquidityResponse } from "./types"; + +export class SolanaOrcaOpenCenteredPosition extends BaseSolanaTool { + name = "orca_open_centered_position_with_liquidity"; + description = `Add liquidity to a CLMM by opening a centered position in an Orca Whirlpool, the most efficient liquidity pool on Solana. + + Inputs (JSON string): + - whirlpoolAddress: string, address of the Orca Whirlpool (required). + - priceOffsetBps: number, bps offset (one side) from the current pool price, e.g., 500 for 5% (required). + - inputTokenMint: string, mint address of the deposit token (required). + - inputAmount: number, amount of the deposit token, e.g., 100.0 (required).`; + + async _call(input: string): Promise { + try { + const params: OrcaCenteredPositionInput = JSON.parse(input); + const txId = await this.solanaKit.orcaOpenCenteredPositionWithLiquidity( + new PublicKey(params.whirlpoolAddress), + params.priceOffsetBps, + new PublicKey(params.inputTokenMint), + new Decimal(params.inputAmount), + ); + + return JSON.stringify({ + status: "success", + message: "Centered liquidity position opened successfully.", + transaction: txId, + } as LiquidityResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/orca/orca-clmm.tool.ts b/src/langchain/tools/orca/orca-clmm.tool.ts new file mode 100644 index 0000000..b753a62 --- /dev/null +++ b/src/langchain/tools/orca/orca-clmm.tool.ts @@ -0,0 +1,46 @@ +import { PublicKey } from "@solana/web3.js"; +import { Decimal } from "decimal.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { LiquidityResponse } from "./types"; +import { FEE_TIERS } from "../../../tools/orca"; + +export class SolanaOrcaCreateCLMM extends BaseSolanaTool { + name = "orca_create_clmm"; + description = `Create a Concentrated Liquidity Market Maker (CLMM) pool on Orca, the most efficient and capital-optimized CLMM on Solana. This function initializes a CLMM pool but does not add liquidity. You can add liquidity later using a centered position or a single-sided position. + + Inputs (JSON string): + - mintDeploy: string, the mint of the token you want to deploy (required). + - mintPair: string, The mint of the token you want to pair the deployed mint with (required). + - initialPrice: number, initial price of mintA in terms of mintB, e.g., 0.001 (required). + - feeTier: number, fee tier in bps. Options: 1, 2, 4, 5, 16, 30, 65, 100, 200 (required).`; + + async _call(input: string): Promise { + try { + const params = JSON.parse(input); + const feeTier = params.feeTier; + + if (!feeTier || !(feeTier in FEE_TIERS)) { + throw new Error( + `Invalid feeTier. Available options: ${Object.keys(FEE_TIERS).join( + ", ", + )}`, + ); + } + const txId = await this.solanaKit.orcaCreateCLMM( + new PublicKey(params.mintDeploy), + new PublicKey(params.mintPair), + new Decimal(params.initialPrice), + feeTier, + ); + + return JSON.stringify({ + status: "success", + message: + "CLMM pool created successfully. Note: No liquidity was added.", + transaction: txId, + } as LiquidityResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/orca/orca-fetch-positions.tool.ts b/src/langchain/tools/orca/orca-fetch-positions.tool.ts new file mode 100644 index 0000000..d815639 --- /dev/null +++ b/src/langchain/tools/orca/orca-fetch-positions.tool.ts @@ -0,0 +1,21 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { OrcaPositionsResponse } from "./types"; + +export class SolanaOrcaFetchPositions extends BaseSolanaTool { + name = "orca_fetch_positions"; + description = `Fetch all the liquidity positions in an Orca Whirlpool by owner. Returns an object with position mint addresses as keys and position status details as values.`; + + async _call(): Promise { + try { + const positions = await this.solanaKit.orcaFetchPositions(); + + return JSON.stringify({ + status: "success", + message: "Liquidity positions fetched successfully", + positions: JSON.parse(positions), + } as OrcaPositionsResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/orca/orca-position.tool.ts b/src/langchain/tools/orca/orca-position.tool.ts new file mode 100644 index 0000000..67be90e --- /dev/null +++ b/src/langchain/tools/orca/orca-position.tool.ts @@ -0,0 +1,29 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { OrcaPositionInput, LiquidityResponse } from "./types"; + +export class SolanaOrcaClosePosition extends BaseSolanaTool { + name = "orca_close_position"; + description = `Closes an existing liquidity position in an Orca Whirlpool. This function fetches the position + details using the provided mint address and closes the position with a 1% slippage. + + Inputs (JSON string): + - positionMintAddress: string, the address of the position mint that represents the liquidity position.`; + + async _call(input: string): Promise { + try { + const params: OrcaPositionInput = JSON.parse(input); + const txId = await this.solanaKit.orcaClosePosition( + new PublicKey(params.positionMintAddress), + ); + + return JSON.stringify({ + status: "success", + message: "Liquidity position closed successfully.", + transaction: txId, + } as LiquidityResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/orca/orca-single-sided-pool.tool.ts b/src/langchain/tools/orca/orca-single-sided-pool.tool.ts new file mode 100644 index 0000000..22604c4 --- /dev/null +++ b/src/langchain/tools/orca/orca-single-sided-pool.tool.ts @@ -0,0 +1,51 @@ +import { PublicKey } from "@solana/web3.js"; +import { Decimal } from "decimal.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { LiquidityResponse } from "./types"; +import { FEE_TIERS } from "../../../tools/orca"; + +export class SolanaOrcaCreateSingleSidedPool extends BaseSolanaTool { + name = "orca_create_single_sided_liquidity_pool"; + description = `Create a single-sided liquidity pool on Orca, the most efficient and capital-optimized CLMM platform on Solana. + + This function initializes a single-sided liquidity pool, ideal for community driven project, fair launches, and fundraising. Minimize price impact by setting a narrow price range. + + Inputs (JSON string): + - depositTokenAmount: number, in units of the deposit token including decimals, e.g., 1000000000 (required). + - depositTokenMint: string, mint address of the deposit token, e.g., "DepositTokenMintAddress" (required). + - otherTokenMint: string, mint address of the other token, e.g., "OtherTokenMintAddress" (required). + - initialPrice: number, initial price of the deposit token in terms of the other token, e.g., 0.001 (required). + - maxPrice: number, maximum price at which liquidity is added, e.g., 5.0 (required). + - feeTier: number, fee tier for the pool in bps. Options: 1, 2, 4, 5, 16, 30, 65, 100, 200 (required).`; + + async _call(input: string): Promise { + try { + const params = JSON.parse(input); + const feeTier = params.feeTier; + + if (!feeTier || !(feeTier in FEE_TIERS)) { + throw new Error( + `Invalid feeTier. Available options: ${Object.keys(FEE_TIERS).join( + ", ", + )}`, + ); + } + const txId = await this.solanaKit.orcaCreateSingleSidedLiquidityPool( + params.depositTokenAmount, + new PublicKey(params.depositTokenMint), + new PublicKey(params.otherTokenMint), + new Decimal(params.initialPrice), + new Decimal(params.maxPrice), + feeTier, + ); + + return JSON.stringify({ + status: "success", + message: "Single-sided Whirlpool created successfully", + transaction: txId, + } as LiquidityResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/orca/orca-single-sided-position.tool.ts b/src/langchain/tools/orca/orca-single-sided-position.tool.ts new file mode 100644 index 0000000..4d4aa5b --- /dev/null +++ b/src/langchain/tools/orca/orca-single-sided-position.tool.ts @@ -0,0 +1,37 @@ +import { PublicKey } from "@solana/web3.js"; +import { Decimal } from "decimal.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { OrcaSingleSidedPositionInput, LiquidityResponse } from "./types"; + +export class SolanaOrcaOpenSingleSidedPosition extends BaseSolanaTool { + name = "orca_open_single_sided_position"; + description = `Add liquidity to a CLMM by opening a single-sided position in an Orca Whirlpool, the most efficient liquidity pool on Solana. + + Inputs (JSON string): + - whirlpoolAddress: string, address of the Orca Whirlpool (required). + - distanceFromCurrentPriceBps: number, distance in basis points from the current price (required). + - widthBps: number, width of the position in basis points (required). + - inputTokenMint: string, mint address of the deposit token (required). + - inputAmount: number, amount of the deposit token, e.g., 100.0 (required).`; + + async _call(input: string): Promise { + try { + const params: OrcaSingleSidedPositionInput = JSON.parse(input); + const txId = await this.solanaKit.orcaOpenSingleSidedPosition( + new PublicKey(params.whirlpoolAddress), + params.distanceFromCurrentPriceBps, + params.widthBps, + new PublicKey(params.inputTokenMint), + new Decimal(params.inputAmount), + ); + + return JSON.stringify({ + status: "success", + message: "Single-sided liquidity position opened successfully.", + transaction: txId, + } as LiquidityResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/orca/types.ts b/src/langchain/tools/orca/types.ts new file mode 100644 index 0000000..a7e51dc --- /dev/null +++ b/src/langchain/tools/orca/types.ts @@ -0,0 +1,51 @@ +import { BaseToolResponse } from "../common/types"; + +export interface OrcaClmmInput { + mintDeploy: string; + mintPair: string; + initialPrice: number | string; + feeTier: string; +} + +export interface OrcaSingleSidedInput { + depositTokenAmount: number; + depositTokenMint: string; + otherTokenMint: string; + initialPrice: number | string; + maxPrice: number | string; + feeTier: string; +} + +export interface OrcaPositionInput { + positionMintAddress: string; +} + +export interface OrcaCenteredPositionInput { + whirlpoolAddress: string; + priceOffsetBps: number; + inputTokenMint: string; + inputAmount: number | string; +} + +export interface OrcaSingleSidedPositionInput { + whirlpoolAddress: string; + distanceFromCurrentPriceBps: number; + widthBps: number; + inputTokenMint: string; + inputAmount: number | string; +} + +export interface LiquidityResponse extends BaseToolResponse { + transaction?: string; +} + +export interface OrcaPositionsResponse extends BaseToolResponse { + positions?: Record< + string, + { + whirlpoolAddress: string; + positionInRange: boolean; + distanceFromCenterBps: number; + } + >; +} diff --git a/src/langchain/tools/pumpfun/index.ts b/src/langchain/tools/pumpfun/index.ts new file mode 100644 index 0000000..938bace --- /dev/null +++ b/src/langchain/tools/pumpfun/index.ts @@ -0,0 +1 @@ +export * from "./launch-pumpfun-token.tool"; diff --git a/src/langchain/tools/pumpfun/launch-pumpfun-token.tool.ts b/src/langchain/tools/pumpfun/launch-pumpfun-token.tool.ts new file mode 100644 index 0000000..a4df4ba --- /dev/null +++ b/src/langchain/tools/pumpfun/launch-pumpfun-token.tool.ts @@ -0,0 +1,74 @@ +import { BaseSolanaTool } from "../common"; + +export class SolanaPumpfunTokenLaunchTool extends BaseSolanaTool { + name = "solana_launch_pumpfun_token"; + + description = `This tool can be used to launch a token on Pump.fun, + do not use this tool for any other purpose, or for creating SPL tokens. + If the user asks you to chose the parameters, you should generate valid values. + For generating the image, you can use the solana_create_image tool. + + Inputs: + tokenName: string, eg "PumpFun Token", + tokenTicker: string, eg "PUMP", + description: string, eg "PumpFun Token is a token on the Solana blockchain", + imageUrl: string, eg "https://i.imgur.com/UFm07Np_d.png`; + + private validateInput(input: any): void { + if (!input.tokenName || typeof input.tokenName !== "string") { + throw new Error("tokenName is required and must be a string"); + } + if (!input.tokenTicker || typeof input.tokenTicker !== "string") { + throw new Error("tokenTicker is required and must be a string"); + } + if (!input.description || typeof input.description !== "string") { + throw new Error("description is required and must be a string"); + } + if (!input.imageUrl || typeof input.imageUrl !== "string") { + throw new Error("imageUrl is required and must be a string"); + } + if ( + input.initialLiquiditySOL !== undefined && + typeof input.initialLiquiditySOL !== "number" + ) { + throw new Error("initialLiquiditySOL must be a number when provided"); + } + } + + protected async _call(input: string): Promise { + try { + // Parse and normalize input + input = input.trim(); + const parsedInput = JSON.parse(input); + + this.validateInput(parsedInput); + + // Launch token with validated input + await this.solanaKit.launchPumpFunToken( + parsedInput.tokenName, + parsedInput.tokenTicker, + parsedInput.description, + parsedInput.imageUrl, + { + twitter: parsedInput.twitter, + telegram: parsedInput.telegram, + website: parsedInput.website, + initialLiquiditySOL: parsedInput.initialLiquiditySOL, + }, + ); + + return JSON.stringify({ + status: "success", + message: "Token launched successfully on Pump.fun", + tokenName: parsedInput.tokenName, + tokenTicker: parsedInput.tokenTicker, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} diff --git a/src/langchain/tools/pyth/index.ts b/src/langchain/tools/pyth/index.ts new file mode 100644 index 0000000..4185ac7 --- /dev/null +++ b/src/langchain/tools/pyth/index.ts @@ -0,0 +1,2 @@ +export * from "./pyth-price.tool"; +export * from "./types"; diff --git a/src/langchain/tools/pyth/pyth-price.tool.ts b/src/langchain/tools/pyth/pyth-price.tool.ts new file mode 100644 index 0000000..a4e8bae --- /dev/null +++ b/src/langchain/tools/pyth/pyth-price.tool.ts @@ -0,0 +1,34 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { PythPriceResponse } from "./types"; + +export class SolanaPythFetchPrice extends BaseSolanaTool { + name = "solana_pyth_fetch_price"; + description = `Fetch the price of a given price feed from Pyth's Hermes service + + Inputs: + tokenSymbol: string, e.g., BTC for bitcoin`; + + async _call(input: string): Promise { + try { + const priceFeedID = await this.solanaKit.getPythPriceFeedID(input); + const price = await this.solanaKit.getPythPrice(priceFeedID); + + const response = { + status: "success", + tokenSymbol: input, + priceFeedID, + price, + }; + + return JSON.stringify(response); + } catch (error: any) { + const response: PythPriceResponse = { + status: "error", + tokenSymbol: input, + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }; + return JSON.stringify(response); + } + } +} diff --git a/src/langchain/tools/pyth/types.ts b/src/langchain/tools/pyth/types.ts new file mode 100644 index 0000000..8e31745 --- /dev/null +++ b/src/langchain/tools/pyth/types.ts @@ -0,0 +1,11 @@ +import { BaseToolResponse } from "../common/types"; + +export interface PythFetchPriceInput { + tokenSymbol: string; +} + +export interface PythPriceResponse extends BaseToolResponse { + tokenSymbol?: string; + priceFeedID?: string; + price?: string; +} diff --git a/src/langchain/tools/raydium/index.ts b/src/langchain/tools/raydium/index.ts new file mode 100644 index 0000000..90602a7 --- /dev/null +++ b/src/langchain/tools/raydium/index.ts @@ -0,0 +1,4 @@ +export * from "./raydium-amm.tool"; +export * from "./raydium-clmm.tool"; +export * from "./raydium-cpmm.tool"; +export * from "./types"; diff --git a/src/langchain/tools/raydium/raydium-amm.tool.ts b/src/langchain/tools/raydium/raydium-amm.tool.ts new file mode 100644 index 0000000..c4e997f --- /dev/null +++ b/src/langchain/tools/raydium/raydium-amm.tool.ts @@ -0,0 +1,36 @@ +import { PublicKey } from "@solana/web3.js"; +import { BN } from "@coral-xyz/anchor"; +import { BaseSolanaTool } from "../common/base.tool"; +import { RaydiumAmmV4Input } from "./types"; + +export class SolanaRaydiumCreateAmmV4 extends BaseSolanaTool { + name = "raydium_create_ammV4"; + description = `Raydium's Legacy AMM that requires an OpenBook marketID + + Inputs (input is a json string): + marketId: string (required) + baseAmount: number(int), eg: 111111 (required) + quoteAmount: number(int), eg: 111111 (required) + startTime: number(seconds), eg: now number or zero (required)`; + + protected async _call(input: string): Promise { + try { + const params: RaydiumAmmV4Input = JSON.parse(input); + + const tx = await this.solanaKit.raydiumCreateAmmV4( + new PublicKey(params.marketId), + new BN(params.baseAmount), + new BN(params.quoteAmount), + new BN(params.startTime), + ); + + return JSON.stringify({ + status: "success", + message: "Raydium amm v4 pool created successfully", + transaction: tx, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/raydium/raydium-clmm.tool.ts b/src/langchain/tools/raydium/raydium-clmm.tool.ts new file mode 100644 index 0000000..ea9ebcd --- /dev/null +++ b/src/langchain/tools/raydium/raydium-clmm.tool.ts @@ -0,0 +1,39 @@ +import { PublicKey } from "@solana/web3.js"; +import { BN } from "@coral-xyz/anchor"; +import { Decimal } from "decimal.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { RaydiumClmmInput } from "./types"; + +export class SolanaRaydiumCreateClmm extends BaseSolanaTool { + name = "raydium_create_clmm"; + description = `Concentrated liquidity market maker, custom liquidity ranges, increased capital efficiency + + Inputs (input is a json string): + mint1: string (required) + mint2: string (required) + configId: string (required) stores pool info, id, index, protocolFeeRate, tradeFeeRate, tickSpacing, fundFeeRate + initialPrice: number, eg: 123.12 (required) + startTime: number(seconds), eg: now number or zero (required)`; + + protected async _call(input: string): Promise { + try { + const params: RaydiumClmmInput = JSON.parse(input); + + const tx = await this.solanaKit.raydiumCreateClmm( + new PublicKey(params.mint1), + new PublicKey(params.mint2), + new PublicKey(params.configId), + new Decimal(params.initialPrice), + new BN(params.startTime), + ); + + return JSON.stringify({ + status: "success", + message: "Raydium clmm pool created successfully", + transaction: tx, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/raydium/raydium-cpmm.tool.ts b/src/langchain/tools/raydium/raydium-cpmm.tool.ts new file mode 100644 index 0000000..3424886 --- /dev/null +++ b/src/langchain/tools/raydium/raydium-cpmm.tool.ts @@ -0,0 +1,40 @@ +import { PublicKey } from "@solana/web3.js"; +import { BN } from "@coral-xyz/anchor"; +import { BaseSolanaTool } from "../common/base.tool"; +import { RaydiumCpmmInput } from "./types"; + +export class SolanaRaydiumCreateCpmm extends BaseSolanaTool { + name = "raydium_create_cpmm"; + description = `Raydium's newest CPMM, does not require marketID, supports Token 2022 standard + + Inputs (input is a json string): + mint1: string (required) + mint2: string (required) + configId: string (required), stores pool info, index, protocolFeeRate, tradeFeeRate, fundFeeRate, createPoolFee + mintAAmount: number(int), eg: 1111 (required) + mintBAmount: number(int), eg: 2222 (required) + startTime: number(seconds), eg: now number or zero (required)`; + + protected async _call(input: string): Promise { + try { + const params: RaydiumCpmmInput = JSON.parse(input); + + const tx = await this.solanaKit.raydiumCreateCpmm( + new PublicKey(params.mint1), + new PublicKey(params.mint2), + new PublicKey(params.configId), + new BN(params.mintAAmount), + new BN(params.mintBAmount), + new BN(params.startTime), + ); + + return JSON.stringify({ + status: "success", + message: "Raydium cpmm pool created successfully", + transaction: tx, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/raydium/types.ts b/src/langchain/tools/raydium/types.ts new file mode 100644 index 0000000..8eeab17 --- /dev/null +++ b/src/langchain/tools/raydium/types.ts @@ -0,0 +1,23 @@ +export interface RaydiumAmmV4Input { + marketId: string; + baseAmount: number | string; + quoteAmount: number | string; + startTime: number; +} + +export interface RaydiumClmmInput { + mint1: string; + mint2: string; + configId: string; + initialPrice: number | string; + startTime: number; +} + +export interface RaydiumCpmmInput { + mint1: string; + mint2: string; + configId: string; + mintAAmount: number | string; + mintBAmount: number | string; + startTime: number; +} diff --git a/src/langchain/tools/rugcheck/index.ts b/src/langchain/tools/rugcheck/index.ts new file mode 100644 index 0000000..1d37ef4 --- /dev/null +++ b/src/langchain/tools/rugcheck/index.ts @@ -0,0 +1,3 @@ +export * from "./token-report-summary.tool"; +export * from "./token-report-detailed.tool"; +export * from "./types"; diff --git a/src/langchain/tools/rugcheck/token-report-detailed.tool.ts b/src/langchain/tools/rugcheck/token-report-detailed.tool.ts new file mode 100644 index 0000000..3463c10 --- /dev/null +++ b/src/langchain/tools/rugcheck/token-report-detailed.tool.ts @@ -0,0 +1,25 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { TokenReportResponse } from "./types"; + +export class SolanaFetchTokenDetailedReportTool extends BaseSolanaTool { + name = "solana_fetch_token_detailed_report"; + description = `Fetches a detailed report for a specific token from RugCheck. + Inputs: + - mint: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required).`; + + protected async _call(input: string): Promise { + try { + const mint = input.trim(); + const detailedReport = + await this.solanaKit.fetchTokenDetailedReport(mint); + + return JSON.stringify({ + status: "success", + message: "Detailed token report fetched successfully", + report: detailedReport, + } as TokenReportResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/rugcheck/token-report-summary.tool.ts b/src/langchain/tools/rugcheck/token-report-summary.tool.ts new file mode 100644 index 0000000..47df2e8 --- /dev/null +++ b/src/langchain/tools/rugcheck/token-report-summary.tool.ts @@ -0,0 +1,24 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { TokenReportResponse } from "./types"; + +export class SolanaFetchTokenReportSummaryTool extends BaseSolanaTool { + name = "solana_fetch_token_report_summary"; + description = `Fetches a summary report for a specific token from RugCheck. + Inputs: + - mint: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required).`; + + protected async _call(input: string): Promise { + try { + const mint = input.trim(); + const report = await this.solanaKit.fetchTokenReportSummary(mint); + + return JSON.stringify({ + status: "success", + message: "Token report summary fetched successfully", + report, + } as TokenReportResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/rugcheck/types.ts b/src/langchain/tools/rugcheck/types.ts new file mode 100644 index 0000000..7d440a9 --- /dev/null +++ b/src/langchain/tools/rugcheck/types.ts @@ -0,0 +1,17 @@ +import { BaseToolResponse } from "../common/types"; + +export interface TokenCheckResult { + tokenProgram: string; + tokenType: string; + risks: Array<{ + name: string; + level: string; + description: string; + score: number; + }>; + score: number; +} + +export interface TokenReportResponse extends BaseToolResponse { + report?: TokenCheckResult; +} diff --git a/src/langchain/tools/sendarcade/index.ts b/src/langchain/tools/sendarcade/index.ts new file mode 100644 index 0000000..3ea3ff4 --- /dev/null +++ b/src/langchain/tools/sendarcade/index.ts @@ -0,0 +1,2 @@ +export * from "./rock-paper-scissors.tool"; +export * from "./types"; diff --git a/src/langchain/tools/sendarcade/rock-paper-scissors.tool.ts b/src/langchain/tools/sendarcade/rock-paper-scissors.tool.ts new file mode 100644 index 0000000..987dda1 --- /dev/null +++ b/src/langchain/tools/sendarcade/rock-paper-scissors.tool.ts @@ -0,0 +1,28 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { RockPaperScissorsInput } from "./types"; + +export class SolanaRockPaperScissorsTool extends BaseSolanaTool { + name = "rock_paper_scissors"; + description = `Play rock paper scissors to win SEND coins. + + Inputs (input is a JSON string): + choice: string, either "rock", "paper", or "scissors" (required) + amount: number, amount of SOL to play with - must be 0.1, 0.01, or 0.005 SOL (required)`; + + protected async _call(input: string): Promise { + try { + const params: RockPaperScissorsInput = JSON.parse(input); + const result = await this.solanaKit.rockPaperScissors( + params.amount, + params.choice, + ); + + return JSON.stringify({ + status: "success", + message: result, + }); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/sendarcade/types.ts b/src/langchain/tools/sendarcade/types.ts new file mode 100644 index 0000000..30f19f9 --- /dev/null +++ b/src/langchain/tools/sendarcade/types.ts @@ -0,0 +1,4 @@ +export interface RockPaperScissorsInput { + choice: "rock" | "paper" | "scissors"; + amount: number; +} diff --git a/src/langchain/tools/solana/get-tps.tool.ts b/src/langchain/tools/solana/get-tps.tool.ts new file mode 100644 index 0000000..57abc86 --- /dev/null +++ b/src/langchain/tools/solana/get-tps.tool.ts @@ -0,0 +1,20 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { TPSResponse } from "./types"; + +export class SolanaTPSCalculatorTool extends BaseSolanaTool { + name = "solana_get_tps"; + description = "Get the current TPS of the Solana network"; + + async _call(_input: string): Promise { + try { + const tps = await this.solanaKit.getTPS(); + return JSON.stringify({ + status: "success", + message: `Current network TPS: ${tps}`, + tps, + } as TPSResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/solana/index.ts b/src/langchain/tools/solana/index.ts new file mode 100644 index 0000000..ae406d0 --- /dev/null +++ b/src/langchain/tools/solana/index.ts @@ -0,0 +1,3 @@ +export * from "./get-tps.tool"; +export * from "./request-funds.tool"; +export * from "./types"; diff --git a/src/langchain/tools/solana/request-funds.tool.ts b/src/langchain/tools/solana/request-funds.tool.ts new file mode 100644 index 0000000..4e96f08 --- /dev/null +++ b/src/langchain/tools/solana/request-funds.tool.ts @@ -0,0 +1,21 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { BaseToolResponse } from "../common/types"; + +export class SolanaRequestFundsTool extends BaseSolanaTool { + name = "solana_request_funds"; + description = "Request SOL from Solana faucet (devnet/testnet only)"; + + protected async _call(_input: string): Promise { + try { + await this.solanaKit.requestFaucetFunds(); + + return JSON.stringify({ + status: "success", + message: "Successfully requested faucet funds", + network: this.solanaKit.connection.rpcEndpoint.split("/")[2], + } as BaseToolResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/solana/types.ts b/src/langchain/tools/solana/types.ts new file mode 100644 index 0000000..6adb097 --- /dev/null +++ b/src/langchain/tools/solana/types.ts @@ -0,0 +1,13 @@ +import { BaseToolResponse } from "../common/types"; + +export interface CreateImageResponse extends BaseToolResponse { + images?: string[]; +} + +export interface TPSResponse extends BaseToolResponse { + tps?: number; +} + +export interface WalletAddressResponse extends BaseToolResponse { + address?: string; +} diff --git a/src/langchain/tools/solayer/index.ts b/src/langchain/tools/solayer/index.ts new file mode 100644 index 0000000..6cb45e7 --- /dev/null +++ b/src/langchain/tools/solayer/index.ts @@ -0,0 +1 @@ +export * from "./restake.tool"; diff --git a/src/langchain/tools/solayer/restake.tool.ts b/src/langchain/tools/solayer/restake.tool.ts new file mode 100644 index 0000000..16c0e1a --- /dev/null +++ b/src/langchain/tools/solayer/restake.tool.ts @@ -0,0 +1,27 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { StakeResponse } from "./types"; + +export class SolanaRestakeTool extends BaseSolanaTool { + name = "solana_restake"; + description = `This tool can be used to restake your SOL on Solayer to receive Solayer SOL (sSOL) as a Liquid Staking Token (LST). + + Inputs: + amount: number, eg 1 or 0.01 (required)`; + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input) || Number(input); + + const tx = await this.solanaKit.restake(parsedInput.amount); + + return JSON.stringify({ + status: "success", + message: "Staked successfully", + transaction: tx, + amount: parsedInput.amount, + } as StakeResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/solayer/types.ts b/src/langchain/tools/solayer/types.ts new file mode 100644 index 0000000..de3bcf1 --- /dev/null +++ b/src/langchain/tools/solayer/types.ts @@ -0,0 +1,6 @@ +import { BaseToolResponse } from "../common/types"; + +export interface StakeResponse extends BaseToolResponse { + transaction?: string; + amount?: number; +} diff --git a/src/langchain/tools/tensor/cancel-listing.tool.ts b/src/langchain/tools/tensor/cancel-listing.tool.ts new file mode 100644 index 0000000..afc0bc0 --- /dev/null +++ b/src/langchain/tools/tensor/cancel-listing.tool.ts @@ -0,0 +1,30 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { NFTListingResponse } from "./types"; + +export class SolanaCancelNFTListingTool extends BaseSolanaTool { + name = "solana_cancel_nft_listing"; + description = `Cancel an NFT listing on Tensor Trade. + + Inputs (input is a JSON string): + nftMint: string, the mint address of the NFT (required)`; + + protected async _call(input: string): Promise { + try { + const params = JSON.parse(input); + + const tx = await this.solanaKit.tensorCancelListing( + new PublicKey(params.nftMint), + ); + + return JSON.stringify({ + status: "success", + message: "NFT listing cancelled successfully", + transaction: tx, + nftMint: params.nftMint, + } as NFTListingResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/tensor/index.ts b/src/langchain/tools/tensor/index.ts new file mode 100644 index 0000000..4a389d3 --- /dev/null +++ b/src/langchain/tools/tensor/index.ts @@ -0,0 +1,2 @@ +export * from "./list-nft.tool"; +export * from "./cancel-listing.tool"; diff --git a/src/langchain/tools/tensor/list-nft.tool.ts b/src/langchain/tools/tensor/list-nft.tool.ts new file mode 100644 index 0000000..712ff33 --- /dev/null +++ b/src/langchain/tools/tensor/list-nft.tool.ts @@ -0,0 +1,49 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { ListNFTInput, NFTListingResponse } from "./types"; + +export class SolanaListNFTForSaleTool extends BaseSolanaTool { + name = "solana_list_nft_for_sale"; + description = `List an NFT for sale on Tensor Trade. + + Inputs (input is a JSON string): + nftMint: string, the mint address of the NFT (required) + price: number, price in SOL (required)`; + + protected async _call(input: string): Promise { + try { + const params: ListNFTInput = JSON.parse(input); + + // Validate NFT ownership + const nftAccount = + await this.solanaKit.connection.getTokenAccountsByOwner( + this.solanaKit.wallet_address, + { mint: new PublicKey(params.nftMint) }, + ); + + if (nftAccount.value.length === 0) { + return JSON.stringify({ + status: "error", + message: + "NFT not found in wallet. Please make sure you own this NFT.", + code: "NFT_NOT_FOUND", + } as NFTListingResponse); + } + + const tx = await this.solanaKit.tensorListNFT( + new PublicKey(params.nftMint), + params.price, + ); + + return JSON.stringify({ + status: "success", + message: "NFT listed for sale successfully", + transaction: tx, + price: params.price, + nftMint: params.nftMint, + } as NFTListingResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/tensor/types.ts b/src/langchain/tools/tensor/types.ts new file mode 100644 index 0000000..2ff243f --- /dev/null +++ b/src/langchain/tools/tensor/types.ts @@ -0,0 +1,22 @@ +import { BaseToolResponse } from "../common/types"; + +export interface ListNFTInput { + nftMint: string; + price: number; +} + +export interface MintNFTResponse extends BaseToolResponse { + mintAddress?: string; + metadata?: { + name: string; + symbol?: string; + uri: string; + }; + recipient?: string; +} + +export interface NFTListingResponse extends BaseToolResponse { + transaction?: string; + price?: number; + nftMint?: string; +} diff --git a/src/langchain/tools/tiplink/index.ts b/src/langchain/tools/tiplink/index.ts new file mode 100644 index 0000000..d0fae37 --- /dev/null +++ b/src/langchain/tools/tiplink/index.ts @@ -0,0 +1,2 @@ +export * from "./tiplink.tool"; +export * from "./types"; diff --git a/src/langchain/tools/tiplink/tiplink.tool.ts b/src/langchain/tools/tiplink/tiplink.tool.ts new file mode 100644 index 0000000..b92825d --- /dev/null +++ b/src/langchain/tools/tiplink/tiplink.tool.ts @@ -0,0 +1,42 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { TipLinkInput, TipLinkResponse } from "./types"; + +export class SolanaTipLinkTool extends BaseSolanaTool { + name = "solana_tiplink"; + description = `Create a TipLink for transferring SOL or SPL tokens. + Input is a JSON string with: + - amount: number (required) - Amount to transfer + - splmintAddress: string (optional) - SPL token mint address`; + + protected async _call(input: string): Promise { + try { + const params: TipLinkInput = JSON.parse(input); + + if (!params.amount) { + throw new Error("Amount is required"); + } + + const amount = parseFloat(params.amount.toString()); + const splmintAddress = params.splmintAddress + ? new PublicKey(params.splmintAddress) + : undefined; + + const { url, signature } = await this.solanaKit.createTiplink( + amount, + splmintAddress, + ); + + return JSON.stringify({ + status: "success", + message: "TipLink created successfully", + url, + signature, + amount, + tokenType: splmintAddress ? "SPL" : "SOL", + } as TipLinkResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/tiplink/types.ts b/src/langchain/tools/tiplink/types.ts new file mode 100644 index 0000000..285f002 --- /dev/null +++ b/src/langchain/tools/tiplink/types.ts @@ -0,0 +1,13 @@ +import { BaseToolResponse } from "../common/types"; + +export interface TipLinkInput { + amount: number; + splmintAddress?: string; +} + +export interface TipLinkResponse extends BaseToolResponse { + url?: string; + signature?: string; + amount?: number; + tokenType?: "SOL" | "SPL"; +} diff --git a/src/langchain/tools/token/close-empty-accounts.tool.ts b/src/langchain/tools/token/close-empty-accounts.tool.ts new file mode 100644 index 0000000..1d31815 --- /dev/null +++ b/src/langchain/tools/token/close-empty-accounts.tool.ts @@ -0,0 +1,23 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { CloseEmptyAccountsResponse } from "./types"; + +export class SolanaCloseEmptyTokenAccounts extends BaseSolanaTool { + name = "close_empty_token_accounts"; + description = `Close all empty spl-token accounts and reclaim the rent`; + + protected async _call(): Promise { + try { + const { signature, size } = + await this.solanaKit.closeEmptyTokenAccounts(); + + return JSON.stringify({ + status: "success", + message: `${size} accounts closed successfully. ${size === 48 ? "48 accounts can be closed in a single transaction try again to close more accounts" : ""}`, + signature, + size, + } as CloseEmptyAccountsResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/token/compressed-airdrop.tool.ts b/src/langchain/tools/token/compressed-airdrop.tool.ts new file mode 100644 index 0000000..ce83903 --- /dev/null +++ b/src/langchain/tools/token/compressed-airdrop.tool.ts @@ -0,0 +1,38 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { CompressedAirdropInput, CompressedAirdropResponse } from "./types"; + +export class SolanaCompressedAirdropTool extends BaseSolanaTool { + name = "solana_compressed_airdrop"; + description = `Airdrop SPL tokens with ZK Compression (also called as airdropping tokens) + + Inputs (input is a JSON string): + mintAddress: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required) + amount: number, the amount of tokens to airdrop per recipient, e.g., 42 (required) + decimals: number, the decimals of the token, e.g., 6 (required) + recipients: string[], the recipient addresses, e.g., ["1nc1nerator11111111111111111111111111111111"] (required) + priorityFeeInLamports: number, the priority fee in lamports. Default is 30_000. (optional) + shouldLog: boolean, whether to log progress to stdout. Default is false. (optional)`; + + protected async _call(input: string): Promise { + try { + const params: CompressedAirdropInput = JSON.parse(input); + + const txs = await this.solanaKit.sendCompressedAirdrop( + params.mintAddress, + params.amount, + params.decimals, + params.recipients, + params.priorityFeeInLamports || 30_000, + params.shouldLog || false, + ); + + return JSON.stringify({ + status: "success", + message: `Airdropped ${params.amount} tokens to ${params.recipients.length} recipients.`, + transactionHashes: txs, + } as CompressedAirdropResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/token/deploy-token.tool.ts b/src/langchain/tools/token/deploy-token.tool.ts new file mode 100644 index 0000000..919e0ee --- /dev/null +++ b/src/langchain/tools/token/deploy-token.tool.ts @@ -0,0 +1,37 @@ +import { BaseSolanaTool } from "../common/base.tool"; +import { DeployTokenInput, DeployTokenResponse } from "./types"; + +export class SolanaDeployTokenTool extends BaseSolanaTool { + name = "solana_deploy_token"; + description = `Deploy a new token on Solana blockchain. + + Inputs (input is a JSON string): + name: string, eg "My Token" (required) + uri: string, eg "https://example.com/token.json" (required) + symbol: string, eg "MTK" (required) + decimals?: number, eg 9 (optional, defaults to 9) + initialSupply?: number, eg 1000000 (optional)`; + + protected async _call(input: string): Promise { + try { + const params: DeployTokenInput = JSON.parse(input); + + const result = await this.solanaKit.deployToken( + params.name, + params.uri, + params.symbol, + params.decimals, + params.initialSupply, + ); + + return JSON.stringify({ + status: "success", + message: "Token deployed successfully", + mintAddress: result.mint.toString(), + decimals: params.decimals || 9, + } as DeployTokenResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/token/index.ts b/src/langchain/tools/token/index.ts new file mode 100644 index 0000000..3db909d --- /dev/null +++ b/src/langchain/tools/token/index.ts @@ -0,0 +1,5 @@ +export * from "./deploy-token.tool"; +export * from "./compressed-airdrop.tool"; +export * from "./close-empty-accounts.tool"; +export * from "./transfer.tool"; +export * from "./types"; diff --git a/src/langchain/tools/token/transfer.tool.ts b/src/langchain/tools/token/transfer.tool.ts new file mode 100644 index 0000000..2a8e8e1 --- /dev/null +++ b/src/langchain/tools/token/transfer.tool.ts @@ -0,0 +1,39 @@ +import { PublicKey } from "@solana/web3.js"; +import { BaseSolanaTool } from "../common/base.tool"; +import { TransferToolInput, TransferToolResponse } from "./types"; + +export class SolanaTransferTool extends BaseSolanaTool { + name = "solana_transfer"; + description = `Transfer tokens or SOL to another address ( also called as wallet address ). + + Inputs ( input is a JSON string ): + to: string, eg "8x2dR8Mpzuz2YqyZyZjUbYWKSWesBo5jMx2Q9Y86udVk" (required) + amount: number, eg 1 (required) + mint?: string, eg "So11111111111111111111111111111111111111112" or "SENDdRQtYMWaQrBroBrJ2Q53fgVuq95CV9UPGEvpCxa" (optional)`; + + protected async _call(input: string): Promise { + try { + const params: TransferToolInput = JSON.parse(input); + + const recipient = new PublicKey(params.to); + const mintAddress = params.mint ? new PublicKey(params.mint) : undefined; + + const tx = await this.solanaKit.transfer( + recipient, + params.amount, + mintAddress, + ); + + return JSON.stringify({ + status: "success", + message: "Transfer completed successfully", + amount: params.amount, + recipient: params.to, + token: params.mint || "SOL", + transaction: tx, + } as TransferToolResponse); + } catch (error: any) { + return this.handleError(error); + } + } +} diff --git a/src/langchain/tools/token/types.ts b/src/langchain/tools/token/types.ts new file mode 100644 index 0000000..624f786 --- /dev/null +++ b/src/langchain/tools/token/types.ts @@ -0,0 +1,45 @@ +import { BaseToolResponse } from "../common/types"; + +export interface DeployTokenInput { + name: string; + uri: string; + symbol: string; + decimals?: number; + initialSupply?: number; +} + +export interface DeployTokenResponse extends BaseToolResponse { + mintAddress?: string; + decimals?: number; +} + +export interface CompressedAirdropInput { + mintAddress: string; + amount: number; + decimals: number; + recipients: string[]; + priorityFeeInLamports?: number; + shouldLog?: boolean; +} + +export interface CompressedAirdropResponse extends BaseToolResponse { + transactionHashes?: string[]; +} + +export interface CloseEmptyAccountsResponse extends BaseToolResponse { + signature?: string; + size?: number; +} + +export interface TransferToolInput { + to: string; + amount: number; + mint?: string; +} + +export interface TransferToolResponse extends BaseToolResponse { + amount?: number; + recipient?: string; + token?: string; + transaction?: string; +} diff --git a/src/tools/create_3land_collectible.ts b/src/tools/3land/create_3land_collectible.ts similarity index 100% rename from src/tools/create_3land_collectible.ts rename to src/tools/3land/create_3land_collectible.ts diff --git a/src/tools/3land/index.ts b/src/tools/3land/index.ts new file mode 100644 index 0000000..13200de --- /dev/null +++ b/src/tools/3land/index.ts @@ -0,0 +1 @@ +export * from "./create_3land_collectible"; diff --git a/src/tools/adrena_perp_trading.ts b/src/tools/adrena/adrena_perp_trading.ts similarity index 98% rename from src/tools/adrena_perp_trading.ts rename to src/tools/adrena/adrena_perp_trading.ts index 8c47216..ec6e8f1 100644 --- a/src/tools/adrena_perp_trading.ts +++ b/src/tools/adrena/adrena_perp_trading.ts @@ -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( diff --git a/src/tools/adrena/index.ts b/src/tools/adrena/index.ts new file mode 100644 index 0000000..8ad923a --- /dev/null +++ b/src/tools/adrena/index.ts @@ -0,0 +1 @@ +export * from "./adrena_perp_trading"; diff --git a/src/tools/create_image.ts b/src/tools/agent/create_image.ts similarity index 95% rename from src/tools/create_image.ts rename to src/tools/agent/create_image.ts index 106f3c2..91d5913 100644 --- a/src/tools/create_image.ts +++ b/src/tools/agent/create_image.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../index"; +import { SolanaAgentKit } from "../../index"; import OpenAI from "openai"; /** diff --git a/src/tools/get_wallet_address.ts b/src/tools/agent/get_wallet_address.ts similarity index 81% rename from src/tools/get_wallet_address.ts rename to src/tools/agent/get_wallet_address.ts index bf3c763..c302a86 100644 --- a/src/tools/get_wallet_address.ts +++ b/src/tools/agent/get_wallet_address.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../agent"; +import { SolanaAgentKit } from "../../agent"; /** * Get the agents wallet address diff --git a/src/tools/agent/index.ts b/src/tools/agent/index.ts new file mode 100644 index 0000000..b3f2f51 --- /dev/null +++ b/src/tools/agent/index.ts @@ -0,0 +1,2 @@ +export * from "./create_image"; +export * from "./get_wallet_address"; diff --git a/src/tools/get_balance.ts b/src/tools/balance/get_balance.ts similarity index 94% rename from src/tools/get_balance.ts rename to src/tools/balance/get_balance.ts index a1e3736..36dbd36 100644 --- a/src/tools/get_balance.ts +++ b/src/tools/balance/get_balance.ts @@ -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 diff --git a/src/tools/get_balance_other.ts b/src/tools/balance/get_balance_other.ts similarity index 97% rename from src/tools/get_balance_other.ts rename to src/tools/balance/get_balance_other.ts index 84c1c32..32df37c 100644 --- a/src/tools/get_balance_other.ts +++ b/src/tools/balance/get_balance_other.ts @@ -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) diff --git a/src/tools/balance/index.ts b/src/tools/balance/index.ts new file mode 100644 index 0000000..a5c50b1 --- /dev/null +++ b/src/tools/balance/index.ts @@ -0,0 +1,2 @@ +export * from "./get_balance"; +export * from "./get_balance_other"; diff --git a/src/tools/get_token_data.ts b/src/tools/dexscreener/get_token_data.ts similarity index 97% rename from src/tools/get_token_data.ts rename to src/tools/dexscreener/get_token_data.ts index 6e6bc44..1278d57 100644 --- a/src/tools/get_token_data.ts +++ b/src/tools/dexscreener/get_token_data.ts @@ -1,5 +1,5 @@ import { PublicKey } from "@solana/web3.js"; -import { JupiterTokenData } from "../types"; +import { JupiterTokenData } from "../../types"; export async function getTokenDataByAddress( mint: PublicKey, diff --git a/src/tools/dexscreener/index.ts b/src/tools/dexscreener/index.ts new file mode 100644 index 0000000..b9a3389 --- /dev/null +++ b/src/tools/dexscreener/index.ts @@ -0,0 +1 @@ +export * from "./get_token_data"; diff --git a/src/tools/get_all_domains_tlds.ts b/src/tools/domain/get_all_domains_tlds.ts similarity index 91% rename from src/tools/get_all_domains_tlds.ts rename to src/tools/domain/get_all_domains_tlds.ts index 4d2fcbd..2b84c2a 100644 --- a/src/tools/get_all_domains_tlds.ts +++ b/src/tools/domain/get_all_domains_tlds.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../index"; +import { SolanaAgentKit } from "../../index"; import { getAllTld } from "@onsol/tldparser"; /** diff --git a/src/tools/get_all_registered_all_domains.ts b/src/tools/domain/get_all_registered_all_domains.ts similarity index 95% rename from src/tools/get_all_registered_all_domains.ts rename to src/tools/domain/get_all_registered_all_domains.ts index 019a5ea..1e5cd0e 100644 --- a/src/tools/get_all_registered_all_domains.ts +++ b/src/tools/domain/get_all_registered_all_domains.ts @@ -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"; diff --git a/src/tools/get_main_all_domains_domain.ts b/src/tools/domain/get_main_all_domains_domain.ts similarity index 100% rename from src/tools/get_main_all_domains_domain.ts rename to src/tools/domain/get_main_all_domains_domain.ts diff --git a/src/tools/get_owned_all_domains.ts b/src/tools/domain/get_owned_all_domains.ts similarity index 94% rename from src/tools/get_owned_all_domains.ts rename to src/tools/domain/get_owned_all_domains.ts index aa52e1e..87fda7c 100644 --- a/src/tools/get_owned_all_domains.ts +++ b/src/tools/domain/get_owned_all_domains.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../agent"; +import { SolanaAgentKit } from "../../agent"; import { PublicKey } from "@solana/web3.js"; import { TldParser } from "@onsol/tldparser"; diff --git a/src/tools/get_owned_domains_for_tld.ts b/src/tools/domain/get_owned_domains_for_tld.ts similarity index 94% rename from src/tools/get_owned_domains_for_tld.ts rename to src/tools/domain/get_owned_domains_for_tld.ts index c3fde6a..347a180 100644 --- a/src/tools/get_owned_domains_for_tld.ts +++ b/src/tools/domain/get_owned_domains_for_tld.ts @@ -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 diff --git a/src/tools/get_primary_domain.ts b/src/tools/domain/get_primary_domain.ts similarity index 96% rename from src/tools/get_primary_domain.ts rename to src/tools/domain/get_primary_domain.ts index 8e53f1d..ac0ff8f 100644 --- a/src/tools/get_primary_domain.ts +++ b/src/tools/domain/get_primary_domain.ts @@ -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. diff --git a/src/tools/domain/index.ts b/src/tools/domain/index.ts new file mode 100644 index 0000000..4cbab02 --- /dev/null +++ b/src/tools/domain/index.ts @@ -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"; diff --git a/src/tools/register_domain.ts b/src/tools/domain/register_domain.ts similarity index 94% rename from src/tools/register_domain.ts rename to src/tools/domain/register_domain.ts index 1348001..a747f2d 100644 --- a/src/tools/register_domain.ts +++ b/src/tools/domain/register_domain.ts @@ -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 diff --git a/src/tools/resolve_domain.ts b/src/tools/domain/resolve_domain.ts similarity index 94% rename from src/tools/resolve_domain.ts rename to src/tools/domain/resolve_domain.ts index 6de2206..3230e2b 100644 --- a/src/tools/resolve_domain.ts +++ b/src/tools/domain/resolve_domain.ts @@ -1,5 +1,5 @@ import { TldParser } from "@onsol/tldparser"; -import { SolanaAgentKit } from "../index"; +import { SolanaAgentKit } from "../../agent"; import { PublicKey } from "@solana/web3.js"; /** diff --git a/src/tools/resolve_sol_domain.ts b/src/tools/domain/resolve_sol_domain.ts similarity index 95% rename from src/tools/resolve_sol_domain.ts rename to src/tools/domain/resolve_sol_domain.ts index 32b090b..9f87295 100644 --- a/src/tools/resolve_sol_domain.ts +++ b/src/tools/domain/resolve_sol_domain.ts @@ -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. diff --git a/src/tools/flash_close_trade.ts b/src/tools/flash/flash_close_trade.ts similarity index 96% rename from src/tools/flash_close_trade.ts rename to src/tools/flash/flash_close_trade.ts index c30d0b6..cdd2b4f 100644 --- a/src/tools/flash_close_trade.ts +++ b/src/tools/flash/flash_close_trade.ts @@ -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 diff --git a/src/tools/flash_open_trade.ts b/src/tools/flash/flash_open_trade.ts similarity index 98% rename from src/tools/flash_open_trade.ts rename to src/tools/flash/flash_open_trade.ts index 6a646dc..5af7c60 100644 --- a/src/tools/flash_open_trade.ts +++ b/src/tools/flash/flash_open_trade.ts @@ -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 diff --git a/src/tools/flash/index.ts b/src/tools/flash/index.ts new file mode 100644 index 0000000..9ba0ee8 --- /dev/null +++ b/src/tools/flash/index.ts @@ -0,0 +1,2 @@ +export * from "./flash_open_trade"; +export * from "./flash_close_trade"; diff --git a/src/tools/create_gibwork_task.ts b/src/tools/gibwork/create_gibwork_task.ts similarity index 97% rename from src/tools/create_gibwork_task.ts rename to src/tools/gibwork/create_gibwork_task.ts index 40ff3c3..3c06f8b 100644 --- a/src/tools/create_gibwork_task.ts +++ b/src/tools/gibwork/create_gibwork_task.ts @@ -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 diff --git a/src/tools/gibwork/index.ts b/src/tools/gibwork/index.ts new file mode 100644 index 0000000..aa738b2 --- /dev/null +++ b/src/tools/gibwork/index.ts @@ -0,0 +1 @@ +export * from "./create_gibwork_task"; diff --git a/src/tools/index.ts b/src/tools/index.ts index 2363e3a..7cb43ce 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -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"; diff --git a/src/tools/fetch_price.ts b/src/tools/jupiter/fetch_price.ts similarity index 100% rename from src/tools/fetch_price.ts rename to src/tools/jupiter/fetch_price.ts diff --git a/src/tools/jupiter/index.ts b/src/tools/jupiter/index.ts new file mode 100644 index 0000000..6007331 --- /dev/null +++ b/src/tools/jupiter/index.ts @@ -0,0 +1,3 @@ +export * from "./fetch_price"; +export * from "./stake_with_jup"; +export * from "./trade"; diff --git a/src/tools/stake_with_jup.ts b/src/tools/jupiter/stake_with_jup.ts similarity index 97% rename from src/tools/stake_with_jup.ts rename to src/tools/jupiter/stake_with_jup.ts index c05915b..1db0955 100644 --- a/src/tools/stake_with_jup.ts +++ b/src/tools/jupiter/stake_with_jup.ts @@ -1,5 +1,5 @@ import { VersionedTransaction } from "@solana/web3.js"; -import { SolanaAgentKit } from "../index"; +import { SolanaAgentKit } from "../../index"; /** * Stake SOL with Jup validator diff --git a/src/tools/trade.ts b/src/tools/jupiter/trade.ts similarity index 97% rename from src/tools/trade.ts rename to src/tools/jupiter/trade.ts index 4e11712..f4b2776 100644 --- a/src/tools/trade.ts +++ b/src/tools/jupiter/trade.ts @@ -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 diff --git a/src/tools/lulo/index.ts b/src/tools/lulo/index.ts new file mode 100644 index 0000000..a28ed36 --- /dev/null +++ b/src/tools/lulo/index.ts @@ -0,0 +1 @@ +export * from "./lend"; diff --git a/src/tools/lend.ts b/src/tools/lulo/lend.ts similarity index 97% rename from src/tools/lend.ts rename to src/tools/lulo/lend.ts index 732f00c..9a6644c 100644 --- a/src/tools/lend.ts +++ b/src/tools/lulo/lend.ts @@ -1,5 +1,5 @@ import { VersionedTransaction } from "@solana/web3.js"; -import { SolanaAgentKit } from "../index"; +import { SolanaAgentKit } from "../../index"; /** * Lend tokens for yields using Lulo diff --git a/src/tools/manifest/index.ts b/src/tools/manifest/index.ts new file mode 100644 index 0000000..d69980c --- /dev/null +++ b/src/tools/manifest/index.ts @@ -0,0 +1 @@ +export * from "./manifest_trade"; diff --git a/src/tools/manifest_trade.ts b/src/tools/manifest/manifest_trade.ts similarity index 99% rename from src/tools/manifest_trade.ts rename to src/tools/manifest/manifest_trade.ts index e65aef7..9ef1fb3 100644 --- a/src/tools/manifest_trade.ts +++ b/src/tools/manifest/manifest_trade.ts @@ -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, diff --git a/src/tools/deploy_collection.ts b/src/tools/metaplex/deploy_collection.ts similarity index 94% rename from src/tools/deploy_collection.ts rename to src/tools/metaplex/deploy_collection.ts index 10fef9d..0b981be 100644 --- a/src/tools/deploy_collection.ts +++ b/src/tools/metaplex/deploy_collection.ts @@ -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, diff --git a/src/tools/metaplex/index.ts b/src/tools/metaplex/index.ts new file mode 100644 index 0000000..d6fe812 --- /dev/null +++ b/src/tools/metaplex/index.ts @@ -0,0 +1,2 @@ +export * from "./deploy_collection"; +export * from "./mint_nft"; diff --git a/src/tools/mint_nft.ts b/src/tools/metaplex/mint_nft.ts similarity index 95% rename from src/tools/mint_nft.ts rename to src/tools/metaplex/mint_nft.ts index 4c25b91..dd6b68c 100644 --- a/src/tools/mint_nft.ts +++ b/src/tools/metaplex/mint_nft.ts @@ -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 diff --git a/src/tools/openbook/index.ts b/src/tools/openbook/index.ts new file mode 100644 index 0000000..58d481e --- /dev/null +++ b/src/tools/openbook/index.ts @@ -0,0 +1 @@ +export * from "./openbook_create_market"; diff --git a/src/tools/openbook_create_market.ts b/src/tools/openbook/openbook_create_market.ts similarity index 96% rename from src/tools/openbook_create_market.ts rename to src/tools/openbook/openbook_create_market.ts index c7c12aa..1702ba3 100644 --- a/src/tools/openbook_create_market.ts +++ b/src/tools/openbook/openbook_create_market.ts @@ -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, diff --git a/src/tools/orca/index.ts b/src/tools/orca/index.ts new file mode 100644 index 0000000..a405eb2 --- /dev/null +++ b/src/tools/orca/index.ts @@ -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"; diff --git a/src/tools/orca_close_position.ts b/src/tools/orca/orca_close_position.ts similarity index 96% rename from src/tools/orca_close_position.ts rename to src/tools/orca/orca_close_position.ts index 4475692..0cf758a 100644 --- a/src/tools/orca_close_position.ts +++ b/src/tools/orca/orca_close_position.ts @@ -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"; /** diff --git a/src/tools/orca_create_clmm.ts b/src/tools/orca/orca_create_clmm.ts similarity index 98% rename from src/tools/orca_create_clmm.ts rename to src/tools/orca/orca_create_clmm.ts index 9fcdc33..4d3bb50 100644 --- a/src/tools/orca_create_clmm.ts +++ b/src/tools/orca/orca_create_clmm.ts @@ -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"; /** diff --git a/src/tools/orca_create_single_sided_liquidity_pool.ts b/src/tools/orca/orca_create_single_sided_liquidity_pool.ts similarity index 99% rename from src/tools/orca_create_single_sided_liquidity_pool.ts rename to src/tools/orca/orca_create_single_sided_liquidity_pool.ts index 26792b8..c05a148 100644 --- a/src/tools/orca_create_single_sided_liquidity_pool.ts +++ b/src/tools/orca/orca_create_single_sided_liquidity_pool.ts @@ -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. diff --git a/src/tools/orca_fetch_positions.ts b/src/tools/orca/orca_fetch_positions.ts similarity index 98% rename from src/tools/orca_fetch_positions.ts rename to src/tools/orca/orca_fetch_positions.ts index f90b8a0..edeba5a 100644 --- a/src/tools/orca_fetch_positions.ts +++ b/src/tools/orca/orca_fetch_positions.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../agent"; +import { SolanaAgentKit } from "../../agent"; import { Wallet } from "@coral-xyz/anchor"; import { ORCA_WHIRLPOOL_PROGRAM_ID, diff --git a/src/tools/orca_open_centered_position_with_liquidity.ts b/src/tools/orca/orca_open_centered_position_with_liquidity.ts similarity index 98% rename from src/tools/orca_open_centered_position_with_liquidity.ts rename to src/tools/orca/orca_open_centered_position_with_liquidity.ts index 63a8972..0fea787 100644 --- a/src/tools/orca_open_centered_position_with_liquidity.ts +++ b/src/tools/orca/orca_open_centered_position_with_liquidity.ts @@ -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"; diff --git a/src/tools/orca_open_single_sided_position.ts b/src/tools/orca/orca_open_single_sided_position.ts similarity index 98% rename from src/tools/orca_open_single_sided_position.ts rename to src/tools/orca/orca_open_single_sided_position.ts index 741069a..daaec60 100644 --- a/src/tools/orca_open_single_sided_position.ts +++ b/src/tools/orca/orca_open_single_sided_position.ts @@ -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"; diff --git a/src/tools/pumpfun/index.ts b/src/tools/pumpfun/index.ts new file mode 100644 index 0000000..2d7cc24 --- /dev/null +++ b/src/tools/pumpfun/index.ts @@ -0,0 +1 @@ +export * from "./launch_pumpfun_token"; diff --git a/src/tools/launch_pumpfun_token.ts b/src/tools/pumpfun/launch_pumpfun_token.ts similarity index 99% rename from src/tools/launch_pumpfun_token.ts rename to src/tools/pumpfun/launch_pumpfun_token.ts index 08fd3bf..b18a05a 100644 --- a/src/tools/launch_pumpfun_token.ts +++ b/src/tools/pumpfun/launch_pumpfun_token.ts @@ -4,7 +4,7 @@ import { PumpfunLaunchResponse, PumpFunTokenOptions, SolanaAgentKit, -} from "../index"; +} from "../../index"; async function uploadMetadata( tokenName: string, diff --git a/src/tools/pyth/index.ts b/src/tools/pyth/index.ts new file mode 100644 index 0000000..118e222 --- /dev/null +++ b/src/tools/pyth/index.ts @@ -0,0 +1 @@ +export * from "./pyth_fetch_price"; diff --git a/src/tools/pyth_fetch_price.ts b/src/tools/pyth/pyth_fetch_price.ts similarity index 98% rename from src/tools/pyth_fetch_price.ts rename to src/tools/pyth/pyth_fetch_price.ts index 0946af4..ef5b6fa 100644 --- a/src/tools/pyth_fetch_price.ts +++ b/src/tools/pyth/pyth_fetch_price.ts @@ -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 diff --git a/src/tools/raydium/index.ts b/src/tools/raydium/index.ts new file mode 100644 index 0000000..a116c1f --- /dev/null +++ b/src/tools/raydium/index.ts @@ -0,0 +1,3 @@ +export * from "./raydium_create_ammV4"; +export * from "./raydium_create_clmm"; +export * from "./raydium_create_cpmm"; diff --git a/src/tools/raydium_create_ammV4.ts b/src/tools/raydium/raydium_create_ammV4.ts similarity index 97% rename from src/tools/raydium_create_ammV4.ts rename to src/tools/raydium/raydium_create_ammV4.ts index 98f641e..1b5ce71 100644 --- a/src/tools/raydium_create_ammV4.ts +++ b/src/tools/raydium/raydium_create_ammV4.ts @@ -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, diff --git a/src/tools/raydium_create_clmm.ts b/src/tools/raydium/raydium_create_clmm.ts similarity index 97% rename from src/tools/raydium_create_clmm.ts rename to src/tools/raydium/raydium_create_clmm.ts index 7d049d4..611c2f1 100644 --- a/src/tools/raydium_create_clmm.ts +++ b/src/tools/raydium/raydium_create_clmm.ts @@ -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, diff --git a/src/tools/raydium_create_cpmm.ts b/src/tools/raydium/raydium_create_cpmm.ts similarity index 97% rename from src/tools/raydium_create_cpmm.ts rename to src/tools/raydium/raydium_create_cpmm.ts index 35c702d..59f1124 100644 --- a/src/tools/raydium_create_cpmm.ts +++ b/src/tools/raydium/raydium_create_cpmm.ts @@ -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, diff --git a/src/tools/rugcheck/index.ts b/src/tools/rugcheck/index.ts new file mode 100644 index 0000000..0201430 --- /dev/null +++ b/src/tools/rugcheck/index.ts @@ -0,0 +1 @@ +export * from "./rugcheck"; diff --git a/src/tools/rugcheck.ts b/src/tools/rugcheck/rugcheck.ts similarity index 97% rename from src/tools/rugcheck.ts rename to src/tools/rugcheck/rugcheck.ts index 11d533d..923c0f5 100644 --- a/src/tools/rugcheck.ts +++ b/src/tools/rugcheck/rugcheck.ts @@ -1,4 +1,4 @@ -import { TokenCheck } from "../types"; +import { TokenCheck } from "../../types"; const BASE_URL = "https://api.rugcheck.xyz/v1"; diff --git a/src/tools/sendarcade/index.ts b/src/tools/sendarcade/index.ts new file mode 100644 index 0000000..5d09c37 --- /dev/null +++ b/src/tools/sendarcade/index.ts @@ -0,0 +1 @@ +export * from "./rock_paper_scissor"; diff --git a/src/tools/rock_paper_scissor.ts b/src/tools/sendarcade/rock_paper_scissor.ts similarity index 98% rename from src/tools/rock_paper_scissor.ts rename to src/tools/sendarcade/rock_paper_scissor.ts index 8a0603e..f2a48c2 100644 --- a/src/tools/rock_paper_scissor.ts +++ b/src/tools/sendarcade/rock_paper_scissor.ts @@ -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, diff --git a/src/tools/get_tps.ts b/src/tools/solana/get_tps.ts similarity index 90% rename from src/tools/get_tps.ts rename to src/tools/solana/get_tps.ts index 7314ce3..1c29a79 100644 --- a/src/tools/get_tps.ts +++ b/src/tools/solana/get_tps.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../index"; +import { SolanaAgentKit } from "../../index"; export async function getTPS(agent: SolanaAgentKit): Promise { const perfSamples = await agent.connection.getRecentPerformanceSamples(); diff --git a/src/tools/solana/index.ts b/src/tools/solana/index.ts new file mode 100644 index 0000000..2e0b65a --- /dev/null +++ b/src/tools/solana/index.ts @@ -0,0 +1,2 @@ +export * from "./get_tps"; +export * from "./request_faucet_funds"; diff --git a/src/tools/request_faucet_funds.ts b/src/tools/solana/request_faucet_funds.ts similarity index 93% rename from src/tools/request_faucet_funds.ts rename to src/tools/solana/request_faucet_funds.ts index bde8eed..3ce9111 100644 --- a/src/tools/request_faucet_funds.ts +++ b/src/tools/solana/request_faucet_funds.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../index"; +import { SolanaAgentKit } from "../../index"; import { LAMPORTS_PER_SOL } from "@solana/web3.js"; /** diff --git a/src/tools/solayer/index.ts b/src/tools/solayer/index.ts new file mode 100644 index 0000000..79dc074 --- /dev/null +++ b/src/tools/solayer/index.ts @@ -0,0 +1 @@ +export * from "./stake_with_solayer"; diff --git a/src/tools/stake_with_solayer.ts b/src/tools/solayer/stake_with_solayer.ts similarity index 97% rename from src/tools/stake_with_solayer.ts rename to src/tools/solayer/stake_with_solayer.ts index e2ef643..edbb8ff 100644 --- a/src/tools/stake_with_solayer.ts +++ b/src/tools/solayer/stake_with_solayer.ts @@ -1,5 +1,5 @@ import { VersionedTransaction } from "@solana/web3.js"; -import { SolanaAgentKit } from "../index"; +import { SolanaAgentKit } from "../../index"; /** * Stake SOL with Solayer diff --git a/src/tools/tensor/index.ts b/src/tools/tensor/index.ts new file mode 100644 index 0000000..574b361 --- /dev/null +++ b/src/tools/tensor/index.ts @@ -0,0 +1 @@ +export * from "./tensor_trade"; diff --git a/src/tools/tensor_trade.ts b/src/tools/tensor/tensor_trade.ts similarity index 98% rename from src/tools/tensor_trade.ts rename to src/tools/tensor/tensor_trade.ts index 4025ac3..b96069b 100644 --- a/src/tools/tensor_trade.ts +++ b/src/tools/tensor/tensor_trade.ts @@ -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"; diff --git a/src/tools/create_tiplinks.ts b/src/tools/tiplink/create_tiplinks.ts similarity index 98% rename from src/tools/create_tiplinks.ts rename to src/tools/tiplink/create_tiplinks.ts index 20348ad..f38dbc1 100644 --- a/src/tools/create_tiplinks.ts +++ b/src/tools/tiplink/create_tiplinks.ts @@ -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; diff --git a/src/tools/tiplink/index.ts b/src/tools/tiplink/index.ts new file mode 100644 index 0000000..a5f83d2 --- /dev/null +++ b/src/tools/tiplink/index.ts @@ -0,0 +1 @@ +export * from "./create_tiplinks"; diff --git a/src/tools/close_empty_token_accounts.ts b/src/tools/token/close_empty_token_accounts.ts similarity index 98% rename from src/tools/close_empty_token_accounts.ts rename to src/tools/token/close_empty_token_accounts.ts index 9a102db..a424b96 100644 --- a/src/tools/close_empty_token_accounts.ts +++ b/src/tools/token/close_empty_token_accounts.ts @@ -3,7 +3,7 @@ import { Transaction, TransactionInstruction, } from "@solana/web3.js"; -import { SolanaAgentKit } from "../agent"; +import { SolanaAgentKit } from "../../agent"; import { AccountLayout, createCloseAccountInstruction, diff --git a/src/tools/deploy_token.ts b/src/tools/token/deploy_token.ts similarity index 97% rename from src/tools/deploy_token.ts rename to src/tools/token/deploy_token.ts index 798e020..0f78743 100644 --- a/src/tools/deploy_token.ts +++ b/src/tools/token/deploy_token.ts @@ -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"; diff --git a/src/tools/token/index.ts b/src/tools/token/index.ts new file mode 100644 index 0000000..495d246 --- /dev/null +++ b/src/tools/token/index.ts @@ -0,0 +1,4 @@ +export * from "./close_empty_token_accounts"; +export * from "./deploy_token"; +export * from "./send_compressed_airdrop"; +export * from "./transfer"; diff --git a/src/tools/send_compressed_airdrop.ts b/src/tools/token/send_compressed_airdrop.ts similarity index 99% rename from src/tools/send_compressed_airdrop.ts rename to src/tools/token/send_compressed_airdrop.ts index 871c810..4d01ed6 100644 --- a/src/tools/send_compressed_airdrop.ts +++ b/src/tools/token/send_compressed_airdrop.ts @@ -5,7 +5,7 @@ import { PublicKey, TransactionInstruction, } from "@solana/web3.js"; -import { SolanaAgentKit } from "../index"; +import { SolanaAgentKit } from "../../index"; import { buildAndSignTx, calculateComputeUnitPrice, diff --git a/src/tools/transfer.ts b/src/tools/token/transfer.ts similarity index 97% rename from src/tools/transfer.ts rename to src/tools/token/transfer.ts index 9e11dd7..04473d1 100644 --- a/src/tools/transfer.ts +++ b/src/tools/token/transfer.ts @@ -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 { From 76bfa9764b459069ad03cc7f406ca3c69641cb4d Mon Sep 17 00:00:00 2001 From: 0xCipherCoder Date: Fri, 10 Jan 2025 19:29:58 +0530 Subject: [PATCH 094/138] Removed tooling added --- pnpm-lock.yaml | 250 ++++++++++++++++++++++++------------------------- 1 file changed, 120 insertions(+), 130 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ef0c43..a97ead0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,10 @@ importers: dependencies: '@3land/listings-sdk': specifier: ^0.0.4 - version: 0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@ai-sdk/openai': specifier: ^1.0.11 - version: 1.0.11(zod@3.24.1) + version: 1.0.13(zod@3.24.1) '@bonfida/spl-name-service': specifier: ^3.0.7 version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -109,7 +109,7 @@ importers: version: 16.4.7 flash-sdk: specifier: ^2.24.3 - version: 2.24.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 2.24.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) form-data: specifier: ^4.0.1 version: 4.0.1 @@ -134,7 +134,7 @@ importers: version: 5.0.1 '@types/node': specifier: ^22.10.2 - version: 22.10.5 + version: 22.10.2 '@typescript-eslint/eslint-plugin': specifier: ^8.18.2 version: 8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) @@ -161,7 +161,7 @@ importers: version: 3.4.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) + version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) typescript: specifier: ^5.7.2 version: 5.7.2 @@ -855,9 +855,6 @@ packages: '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} - '@shikijs/vscode-textmate@9.3.1': - resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} - '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} @@ -1039,10 +1036,6 @@ packages: '@solana/web3.js@1.98.0': resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} - '@sqds/multisig@2.1.3': - resolution: {integrity: sha512-WOiL7La+RSiJsz7jVO85yhSiiSvNMUthiWuLPeWVOoD6IYa34BEAzanF1RdXRWGglSbRFYCTkyr+Ay1WmXmSRQ==} - engines: {node: '>=14'} - '@supercharge/promise-pool@3.2.0': resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} engines: {node: '>=8'} @@ -2128,8 +2121,12 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} - get-intrinsic@1.2.6: - resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + get-intrinsic@1.2.7: + resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} get-stream@5.2.0: @@ -2287,9 +2284,6 @@ packages: resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} engines: {node: '>=12.0.0'} - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -2353,6 +2347,10 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + is-retry-allowed@2.2.0: resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} engines: {node: '>=10'} @@ -3062,8 +3060,8 @@ packages: regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - regex@5.0.2: - resolution: {integrity: sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==} + regex@5.1.1: + resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -3663,14 +3661,14 @@ packages: snapshots: - '@3land/listings-sdk@0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@3land/listings-sdk@0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/beet': 0.7.2 - '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@project-serum/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@project-serum/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn: 1.0.5 bn.js: 5.2.1 bs58: 6.0.0 @@ -3745,8 +3743,8 @@ snapshots: dependencies: '@aptos-labs/aptos-cli': 1.0.2 '@aptos-labs/aptos-client': 0.1.1 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 eventemitter3: 5.0.1 @@ -3840,16 +3838,16 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/anchor@0.27.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.1.8 + cross-fetch: 3.2.0 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -3862,7 +3860,7 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@noble/hashes': 1.6.1 @@ -3889,27 +3887,27 @@ snapshots: bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 @@ -4124,7 +4122,7 @@ snapshots: dependencies: '@ethersproject/logger': 5.7.0 - '@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@ethersproject/providers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -4145,7 +4143,7 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/web': 5.7.1 bech32: 1.1.4 - ws: 7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ws: 7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -4273,22 +4271,22 @@ snapshots: transitivePeerDependencies: - debug - '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@aptos-labs/ts-sdk': 1.33.1 '@ethersproject/bignumber': 5.7.0 '@ethersproject/contracts': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@ethersproject/wallet': 5.7.0 '@irys/query': 0.0.8 '@near-js/crypto': 0.0.3 '@near-js/keystores-browser': 0.0.3 '@near-js/providers': 0.0.4 '@near-js/transactions': 0.1.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@supercharge/promise-pool': 3.2.0 algosdk: 1.24.1 - arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10) + arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) async-retry: 1.3.3 axios: 1.7.9 base64url: 3.0.1 @@ -4780,7 +4778,7 @@ snapshots: '@noble/curves@1.7.0': dependencies: - '@noble/hashes': 1.6.0 + '@noble/hashes': 1.7.0 '@noble/ed25519@1.7.3': {} @@ -4841,16 +4839,16 @@ snapshots: '@pkgr/core@0.1.1': {} - '@project-serum/anchor@0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@project-serum/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.1.8 + cross-fetch: 3.2.0 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -4863,11 +4861,11 @@ snapshots: - encoding - utf-8-validate - '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4882,15 +4880,15 @@ snapshots: transitivePeerDependencies: - axios - '@pythnetwork/price-service-client@1.9.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@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.8)(utf-8-validate@5.0.10)) + isomorphic-ws: 4.0.1(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) ts-log: 2.2.7 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - debug @@ -4908,7 +4906,7 @@ snapshots: '@randlabs/communication-bridge': 1.0.1 optional: true - '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@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 '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -4999,11 +4997,9 @@ snapshots: '@shikijs/vscode-textmate@10.0.1': {} - '@shikijs/vscode-textmate@9.3.1': {} - '@sindresorhus/is@4.6.0': {} - '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -5270,15 +5266,15 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -5307,12 +5303,12 @@ snapshots: - encoding - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5321,7 +5317,7 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -5404,7 +5400,7 @@ snapshots: '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 '@solana/buffer-layout': 4.0.1 - agentkeepalive: 4.6.0 + agentkeepalive: 4.5.0 bigint-buffer: 1.1.5 bn.js: 5.2.1 borsh: 0.7.0 @@ -5420,11 +5416,11 @@ snapshots: - encoding - utf-8-validate - '@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -5433,7 +5429,7 @@ snapshots: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -5442,13 +5438,13 @@ snapshots: - encoding - utf-8-validate - '@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 '@solana/buffer-layout': 4.0.1 - agentkeepalive: 4.6.0 + agentkeepalive: 4.5.0 bigint-buffer: 1.1.5 bn.js: 5.2.1 borsh: 0.7.0 @@ -5464,26 +5460,6 @@ snapshots: - encoding - utf-8-validate - '@sqds/multisig@2.1.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': - dependencies: - '@metaplex-foundation/beet': 0.7.1 - '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@metaplex-foundation/cusper': 0.0.2 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@types/bn.js': 5.1.6 - assert: 2.1.0 - bn.js: 5.2.1 - buffer: 6.0.3 - invariant: 2.2.4 - transitivePeerDependencies: - - bufferutil - - encoding - - fastestsmallesttextencoderdecoder - - supports-color - - typescript - - utf-8-validate - '@supercharge/promise-pool@3.2.0': {} '@swc/helpers@0.5.15': @@ -5494,7 +5470,7 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -5574,7 +5550,7 @@ snapshots: '@types/bn.js@5.1.6': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/body-parser@1.19.5': dependencies: @@ -5594,7 +5570,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/deep-eql@4.0.2': {} @@ -5604,7 +5580,7 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -5638,7 +5614,7 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 form-data: 4.0.1 '@types/node@11.11.6': {} @@ -5676,12 +5652,12 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/send': 0.17.4 '@types/unist@3.0.3': {} @@ -5692,11 +5668,11 @@ snapshots: '@types/ws@7.4.7': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@types/ws@8.5.13': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.2 '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': dependencies: @@ -5838,7 +5814,7 @@ snapshots: dependencies: algo-msgpack-with-bigint: 2.1.1 buffer: 6.0.3 - cross-fetch: 3.1.8 + cross-fetch: 3.2.0 hi-base32: 0.5.1 js-sha256: 0.9.0 js-sha3: 0.8.0 @@ -5871,11 +5847,11 @@ snapshots: ansicolors@0.3.2: {} - arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10): + arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/hash': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@ethersproject/signing-key': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 @@ -5925,7 +5901,7 @@ snapshots: asn1.js@5.4.1: dependencies: - bn.js: 4.12.1 + bn.js: 4.11.6 inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 @@ -6739,13 +6715,13 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flash-sdk@2.24.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): + flash-sdk@2.24.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): dependencies: - '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@types/node': 20.17.11 bignumber.js: 9.1.2 bs58: 5.0.0 @@ -6833,6 +6809,11 @@ snapshots: hasown: 2.0.2 math-intrinsics: 1.1.0 + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.0.0 + get-stream@5.2.0: dependencies: pump: 3.0.2 @@ -6911,7 +6892,7 @@ snapshots: '@types/node': 18.19.68 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 - agentkeepalive: 4.6.0 + agentkeepalive: 4.5.0 form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0 @@ -7045,10 +7026,6 @@ snapshots: through: 2.3.8 wrap-ansi: 6.2.0 - invariant@2.2.4: - dependencies: - loose-envify: 1.4.0 - ipaddr.js@1.9.1: {} ipaddr.js@2.2.0: {} @@ -7093,6 +7070,13 @@ snapshots: is-path-inside@3.0.3: {} + is-regex@1.2.1: + dependencies: + call-bound: 1.0.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + is-retry-allowed@2.2.0: {} is-stream@3.0.0: {} @@ -7109,11 +7093,11 @@ snapshots: isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: - ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + 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.8)(utf-8-validate@5.0.10)): + isomorphic-ws@4.0.1(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) jackspeak@3.4.3: dependencies: @@ -7569,7 +7553,7 @@ snapshots: '@types/node': 18.19.68 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 - agentkeepalive: 4.6.0 + agentkeepalive: 4.5.0 form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0 @@ -7833,6 +7817,12 @@ snapshots: safe-buffer@5.2.1: {} + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-regex: 1.2.1 + safer-buffer@2.1.2: {} scrypt-js@3.0.1: {} @@ -8126,7 +8116,7 @@ snapshots: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.5 + '@types/node': 22.10.2 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -8348,12 +8338,12 @@ snapshots: wrappy@1.0.2: {} - ws@7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10): + ws@7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.8 + bufferutil: 4.0.9 utf-8-validate: 5.0.10 - ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.0.8 utf-8-validate: 5.0.10 @@ -8379,4 +8369,4 @@ snapshots: zstddec@0.0.2: {} - zwitch@2.0.4: {} + zwitch@2.0.4: {} \ No newline at end of file From 054f825b970b015ebb7e39ae41f242610a226dbf Mon Sep 17 00:00:00 2001 From: 0xCipherCoder Date: Fri, 10 Jan 2025 19:33:07 +0530 Subject: [PATCH 095/138] Removed tooling added --- pnpm-lock.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a97ead0..2479c38 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8369,4 +8369,5 @@ snapshots: zstddec@0.0.2: {} - zwitch@2.0.4: {} \ No newline at end of file + zwitch@2.0.4: {} + \ No newline at end of file From 35483211983733c9cbf82d180f4db93fbddbf26d Mon Sep 17 00:00:00 2001 From: 0xCipherCoder Date: Fri, 10 Jan 2025 19:33:55 +0530 Subject: [PATCH 096/138] Removed tooling added --- pnpm-lock.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2479c38..b98d918 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8370,4 +8370,3 @@ snapshots: zstddec@0.0.2: {} zwitch@2.0.4: {} - \ No newline at end of file From 315ce64eedeb4e0b5d60fbcca728f83754954c60 Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Fri, 10 Jan 2025 19:46:42 +0100 Subject: [PATCH 097/138] feat: drift vault actions --- src/actions/drift/createVault.ts | 65 ++++++++++ src/actions/drift/depositIntoVault.ts | 54 +++++++++ .../drift/requestWithdrawalFromVault.ts | 54 +++++++++ src/actions/drift/tradeDelegatedDriftVault.ts | 114 ++++++++++++++++++ src/actions/drift/updateVault.ts | 76 ++++++++++++ src/actions/drift/withdrawFromVault.ts | 52 ++++++++ src/actions/index.ts | 12 ++ src/actions/mintNFT.ts | 2 +- src/tools/drift_vault.ts | 21 ++-- src/tools/index.ts | 2 + 10 files changed, 444 insertions(+), 8 deletions(-) create mode 100644 src/actions/drift/createVault.ts create mode 100644 src/actions/drift/depositIntoVault.ts create mode 100644 src/actions/drift/requestWithdrawalFromVault.ts create mode 100644 src/actions/drift/tradeDelegatedDriftVault.ts create mode 100644 src/actions/drift/updateVault.ts create mode 100644 src/actions/drift/withdrawFromVault.ts diff --git a/src/actions/drift/createVault.ts b/src/actions/drift/createVault.ts new file mode 100644 index 0000000..8262f0a --- /dev/null +++ b/src/actions/drift/createVault.ts @@ -0,0 +1,65 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import type { SolanaAgentKit } from "../.."; +import { createVault } from "../../tools/drift_vault"; + +const createDriftVaultAction: Action = { + name: "CREATE_DRIFT_VAULT", + similes: ["create a drift vault", "open a drift vault", "create vault"], + description: + "Create a new drift vault delegating the agents address as the owner.", + examples: [ + [ + { + input: {}, + output: { + status: "success", + message: "Drift vault created successfully", + signature: + "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBDadwunHw8reXFxRWT7khbFsQ9JT3zK4RYDLNDFDRYvM3wJk", + }, + explanation: "Create a drift vault", + }, + ], + ], + schema: z.object({ + name: z.string().min(5, "Name must be at least 5 characters"), + // regex matches SOL-SPOT + marketName: z.string().regex(/^([A-Za-z0-9]{2,7})-SPOT$/), + redeemPeriod: z.number().int().min(1, "Redeem period must be at least 1"), + maxTokens: z.number().int().min(100, "Max tokens must be at least 100"), + minDepositAmount: z.number().positive(), + managementFee: z.number().positive().max(20), + profitShare: z.number().positive().max(90).optional().default(5), + handleRate: z.number().optional(), + permissioned: z + .boolean() + .optional() + .describe("Should the vault have a whitelist of not"), + }), + handler: async (agent: SolanaAgentKit, input) => { + try { + const tx = await createVault( + agent, + // @ts-expect-error - zod schema validation + { + ...input, + }, + ); + + return { + status: "success", + message: "Drift vault created successfully", + signature: tx, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - e is not a string + message: `Failed to create drift vault: ${e.message}`, + }; + } + }, +}; + +export default createDriftVaultAction; diff --git a/src/actions/drift/depositIntoVault.ts b/src/actions/drift/depositIntoVault.ts new file mode 100644 index 0000000..3c44bb3 --- /dev/null +++ b/src/actions/drift/depositIntoVault.ts @@ -0,0 +1,54 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import type { SolanaAgentKit } from "../../agent"; +import { depositIntoVault } from "../../tools/drift_vault"; + +const depositIntoDriftVaultAction: Action = { + name: "DEPOSIT_INTO_DRIFT_VAULT", + description: "Deposit funds into an existing drift vault", + similes: ["deposit into drift vault", "add funds to drift vault"], + examples: [ + [ + { + input: { + amount: 100, + vaultAddress: "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBD", + }, + output: { + status: "success", + message: "Funds deposited successfully", + signature: + "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBDadwunHw8reXFxRWT7khbFsQ9JT3zK4RYDLNDFDRYvM3wJk", + }, + explanation: "Deposit 100 USDC into a drift vault", + }, + ], + ], + schema: z.object({ + vaultAddress: z.string(), + amount: z.number().positive(), + }), + handler: async (agent: SolanaAgentKit, input) => { + try { + const tx = await depositIntoVault( + agent, + input.amount as number, + input.vaultAddress as string, + ); + + return { + status: "success", + message: "Funds deposited successfully", + signature: tx, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message + message: `Failed to deposit funds: ${e.message}`, + }; + } + }, +}; + +export default depositIntoDriftVaultAction; diff --git a/src/actions/drift/requestWithdrawalFromVault.ts b/src/actions/drift/requestWithdrawalFromVault.ts new file mode 100644 index 0000000..789c58d --- /dev/null +++ b/src/actions/drift/requestWithdrawalFromVault.ts @@ -0,0 +1,54 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import type { SolanaAgentKit } from "../../agent"; +import { requestWithdrawalFromVault } from "../../tools/drift_vault"; + +const requestWithdrawalFromVaultAction: Action = { + name: "REQUEST_WITHDRAWAL_FROM_DRIFT_VAULT", + description: "Request a withdrawal from an existing drift vault", + similes: ["withdraw from drift vault", "request withdrawal from vault"], + examples: [ + [ + { + input: { + amount: 100, + vaultAddress: "2nFeP7taii", + }, + output: { + status: "success", + message: "Withdrawal request successful", + signature: + "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBDadwunHw8reXFxRWT7khbFsQ9JT3zK4RYDLNDFDRYvM3wJk", + }, + explanation: "Request a withdrawal of 100 USDC from a drift vault", + }, + ], + ], + schema: z.object({ + vaultAddress: z.string(), + amount: z.number().positive(), + }), + handler: async (agent: SolanaAgentKit, input) => { + try { + const tx = await requestWithdrawalFromVault( + agent, + input.amount as number, + input.vaultAddress as string, + ); + + return { + status: "success", + message: "Withdrawal request successful", + signature: tx, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message + message: `Failed to request withdrawal: ${e.message}`, + }; + } + }, +}; + +export default requestWithdrawalFromVaultAction; diff --git a/src/actions/drift/tradeDelegatedDriftVault.ts b/src/actions/drift/tradeDelegatedDriftVault.ts new file mode 100644 index 0000000..a51e143 --- /dev/null +++ b/src/actions/drift/tradeDelegatedDriftVault.ts @@ -0,0 +1,114 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import type { SolanaAgentKit } from "../../agent"; +import { tradeDriftVault } from "../../tools"; + +const tradeDelegatedDriftVaultAction: Action = { + name: "TRADE_DELEGATED_DRIFT_VAULT", + similes: [ + "trade delegated drift vault", + "trade delegated vault", + "trade vault", + "trade drift vault", + "trade delegated vault", + "trade vault", + "trade drift vault", + "open drift vault trade", + ], + description: "Carry out trades in a Drift vault.", + examples: [ + [ + { + input: { + vaultAddress: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w", + amount: 100, + symbol: "SOL", + action: "buy", + type: "market", + }, + output: { + status: "success", + message: "Trade successful", + transactionId: "7nE9GvcwsqzYxmJLSrYmSB1V1YoJWVK1KWzAcWAzjXkN", + amount: 100, + symbol: "SOL", + action: "buy", + type: "market", + }, + explanation: "Buy 100 SOL in the vault", + }, + ], + [ + { + input: { + vaultAddress: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w", + amount: 50, + symbol: "SOL", + action: "sell", + type: "limit", + price: 200, + }, + output: { + status: "success", + message: "Order placed successful", + transactionId: "8nE9GvcwsqzYxmJLSrYmSB1V1YoJWVK1KWzAcWAzjXkM", + amount: 50, + symbol: "SOL", + action: "sell", + type: "limit", + price: 200, + }, + explanation: "Sell 50 SOL in the vault at $200", + }, + ], + ], + schema: z.object({ + vaultAddress: z.string().describe("Address of the Drift vault to trade in"), + amount: z.number().positive().describe("Amount to trade"), + symbol: z.string().describe("Symbol of the token to trade"), + action: z.enum(["buy", "sell"]).describe("Trade action - buy or sell"), + type: z.enum(["market", "limit"]).describe("Trade type - market or limit"), + price: z.number().positive().optional().describe("Price for limit order"), + }), + handler: async (agent: SolanaAgentKit, input) => { + try { + const params = { + vaultAddress: input.vaultAddress as string, + amount: input.amount as number, + symbol: input.symbol as string, + action: input.action as "buy" | "sell", + type: input.type as "market" | "limit", + price: input.price as number | undefined, + }; + + // Carry out the trade + const transactionId = await tradeDriftVault( + agent, + params.vaultAddress, + params.amount, + params.symbol, + params.action, + params.type, + params.price, + ); + + return { + status: "success", + message: + params.type === "limit" + ? "Order placed successfully" + : "Trade successful", + transactionId, + ...params, + }; + } catch (error) { + return { + status: "error", + // @ts-expect-error error is not a string + message: error.message, + }; + } + }, +}; + +export default tradeDelegatedDriftVaultAction; diff --git a/src/actions/drift/updateVault.ts b/src/actions/drift/updateVault.ts new file mode 100644 index 0000000..6aa82f2 --- /dev/null +++ b/src/actions/drift/updateVault.ts @@ -0,0 +1,76 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import type { SolanaAgentKit } from "../../agent"; +import { updateVault } from "../../tools/drift_vault"; + +const updateDriftVaultAction: Action = { + name: "UPDATE_DRIFT_VAULT", + similes: ["update a drift vault", "modify a drift vault", "update vault"], + description: "Update an existing drift vault with new settings.", + examples: [ + [ + { + input: { + redeemPeriod: 30, + maxTokens: 10000, + minDepositAmount: 10, + managementFee: 5, + profitShare: 10, + handleRate: 0.1, + permissioned: false, + vaultAddress: "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBD", + }, + output: { + status: "success", + message: "Drift vault updated successfully", + signature: + "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBDadwunHw8reXFxRWT7khbFsQ9JT3zK4RYDLNDFDRYvM3wJk", + }, + explanation: "Update a drift vault", + }, + ], + ], + schema: z.object({ + vaultAddress: z.string(), + name: z.string().min(5, "Name must be at least 5 characters"), + // regex matches SOL-SPOT + marketName: z.string().regex(/^([A-Za-z0-9]{2,7})-SPOT$/), + redeemPeriod: z.number().int().min(1, "Redeem period must be at least 1"), + maxTokens: z.number().int().min(100, "Max tokens must be at least 100"), + minDepositAmount: z.number().positive(), + managementFee: z.number().positive().max(20), + profitShare: z.number().positive().max(90).optional().default(5), + handleRate: z.number().optional(), + permissioned: z + .boolean() + .optional() + .describe("Should the vault have a whitelist of not"), + }), + handler: async (agent: SolanaAgentKit, input) => { + try { + const tx = await updateVault(agent, input.vaultAddress, { + hurdleRate: input.hurdleRate, + maxTokens: input.maxTokens, + minDepositAmount: input.minDepositAmount, + profitShare: input.profitShare, + managementFee: input.managementFee, + permissioned: input.permissioned, + redeemPeriod: input.redeemPeriod, + }); + + return { + status: "success", + message: "Drift vault parameters updated successfully", + signature: tx, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message + message: `Failed to update drift vault: ${e.message}`, + }; + } + }, +}; + +export default updateDriftVaultAction; diff --git a/src/actions/drift/withdrawFromVault.ts b/src/actions/drift/withdrawFromVault.ts new file mode 100644 index 0000000..b6007f2 --- /dev/null +++ b/src/actions/drift/withdrawFromVault.ts @@ -0,0 +1,52 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import type { SolanaAgentKit } from "../../agent"; +import { withdrawFromDriftVault } from "../../tools"; + +const withdrawFromVaultAction: Action = { + name: "WITHDRAW_FROM_DRIFT_VAULT", + description: + "Withdraw funds from a vault given the redemption time has elapsed.", + similes: ["withdraw from drift vault", "redeem funds from vault"], + examples: [ + [ + { + input: { + vaultAddress: "2nFeP7taii", + }, + output: { + status: "success", + message: "Withdrawal successful", + signature: + "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBDadwunHw8reXFxRWT7khbFsQ9JT3zK4RYDLNDFDRYvM3wJk", + }, + explanation: "Withdraw funds from a drift vault", + }, + ], + ], + schema: z.object({ + vaultAddress: z.string(), + }), + handler: async (agent: SolanaAgentKit, input) => { + try { + const tx = await withdrawFromDriftVault( + agent, + input.vaultAddress as string, + ); + + return { + status: "success", + message: "Withdrawal successful", + signature: tx, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message + message: `Failed to withdraw funds: ${e.message}`, + }; + } + }, +}; + +export default withdrawFromVaultAction; diff --git a/src/actions/index.ts b/src/actions/index.ts index c974209..217d547 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -30,6 +30,12 @@ import launchPumpfunTokenAction from "./launchPumpfunToken"; import getWalletAddressAction from "./getWalletAddress"; import flashOpenTradeAction from "./flashOpenTrade"; import flashCloseTradeAction from "./flashCloseTrade"; +import createDriftVaultAction from "./drift/createVault"; +import updateDriftVaultAction from "./drift/updateVault"; +import depositIntoDriftVaultAction from "./drift/depositIntoVault"; +import requestWithdrawalFromVaultAction from "./drift/requestWithdrawalFromVault"; +import withdrawFromVaultAction from "./drift/withdrawFromVault"; +import tradeDelegatedDriftVaultAction from "./drift/tradeDelegatedDriftVault"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -65,6 +71,12 @@ export const ACTIONS = { LAUNCH_PUMPFUN_TOKEN_ACTION: launchPumpfunTokenAction, FLASH_OPEN_TRADE_ACTION: flashOpenTradeAction, FLASH_CLOSE_TRADE_ACTION: flashCloseTradeAction, + CREATE_DRIFT_VAULT_ACTION: createDriftVaultAction, + UPDATE_DRIFT_VAULT_ACTION: updateDriftVaultAction, + DEPOSIT_INTO_DRIFT_VAULT_ACTION: depositIntoDriftVaultAction, + REQUEST_WITHDRAWAL_FROM_DRIFT_VAULT_ACTION: requestWithdrawalFromVaultAction, + WITHDRAW_FROM_DRIFT_VAULT_ACTION: withdrawFromVaultAction, + TRADE_DELEGATED_DRIFT_VAULT_ACTION: tradeDelegatedDriftVaultAction, }; export type { Action, ActionExample, Handler } from "../types/action"; diff --git a/src/actions/mintNFT.ts b/src/actions/mintNFT.ts index f04cfb7..acee758 100644 --- a/src/actions/mintNFT.ts +++ b/src/actions/mintNFT.ts @@ -13,7 +13,7 @@ const mintNFTAction: Action = { "create token", "add nft to collection", ], - description: `Mint a new NFT in a collection on Solana blockchain.`, + description: "Mint a new NFT in a collection on Solana blockchain.", examples: [ [ { diff --git a/src/tools/drift_vault.ts b/src/tools/drift_vault.ts index 6d70bf3..dda6542 100644 --- a/src/tools/drift_vault.ts +++ b/src/tools/drift_vault.ts @@ -165,8 +165,8 @@ export async function createVault( .mul(PERCENTAGE_PRECISION) .div(new BN(100)) .toNumber(), - minDepositAmount: new BN(params.minDepositAmount).mul(spotPrecision), - redeemPeriod: new BN(params.redeemPeriod), + minDepositAmount: numberToSafeBN(params.minDepositAmount, spotPrecision), + redeemPeriod: new BN(params.redeemPeriod * 86400), maxTokens: new BN(params.maxTokens).mul(spotPrecision), managementFee: new BN(params.managementFee) .mul(PERCENTAGE_PRECISION) @@ -214,7 +214,11 @@ export async function updateVault( const vaultDetails = await vaultClient.getVault(vaultPublicKey); const tx = await vaultClient.managerUpdateVault(vaultPublicKey, { - redeemPeriod: new BN(params.redeemPeriod ?? vaultDetails.redeemPeriod), + redeemPeriod: new BN( + params.redeemPeriod + ? params.redeemPeriod * 86400 + : vaultDetails.redeemPeriod, + ), maxTokens: new BN(params.maxTokens ?? vaultDetails.maxTokens), minDepositAmount: new BN( params.minDepositAmount ?? vaultDetails.minDepositAmount, @@ -326,7 +330,10 @@ export async function requestWithdrawalFromVault( @param vault Vault address @returns Promise - The transaction signature of the redemption */ -export async function withdraw(agent: SolanaAgentKit, vault: string) { +export async function withdrawFromDriftVault( + agent: SolanaAgentKit, + vault: string, +) { try { const { vaultClient } = initClients(agent); const vaultPublicKey = new PublicKey(vault); @@ -353,7 +360,7 @@ export async function withdraw(agent: SolanaAgentKit, vault: string) { @param vault Vault address @returns Promise - Whether the vault is owned by the user */ -export async function getIsOwned(agent: SolanaAgentKit, vault: string) { +async function getIsOwned(agent: SolanaAgentKit, vault: string) { try { const { vaultClient } = initClients(agent); const vaultPublicKey = new PublicKey(vault); @@ -375,13 +382,13 @@ export async function getIsOwned(agent: SolanaAgentKit, vault: string) { @param type Type of trade (e.g. "market" or "limit") @param vault Vault address */ -export async function trade( +export async function tradeDriftVault( agent: SolanaAgentKit, + vault: string, amount: number, symbol: string, action: "buy" | "sell", type: "market" | "limit", - vault: string, price?: number, ) { try { diff --git a/src/tools/index.ts b/src/tools/index.ts index 2363e3a..f466f59 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -50,3 +50,5 @@ export * from "./flash_open_trade"; export * from "./flash_close_trade"; export * from "./create_3land_collectible"; + +export * from "./drift_vault"; From 2f83188cb9dbe86e6a3131189f6b4ea0e8c13aff Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Fri, 10 Jan 2025 20:07:46 +0100 Subject: [PATCH 098/138] fix: add descriptions to some drift vault schemas --- src/actions/drift/createVault.ts | 60 ++++++++++++++++--- src/actions/drift/depositIntoVault.ts | 5 +- .../drift/requestWithdrawalFromVault.ts | 5 +- 3 files changed, 59 insertions(+), 11 deletions(-) diff --git a/src/actions/drift/createVault.ts b/src/actions/drift/createVault.ts index 8262f0a..c0702c3 100644 --- a/src/actions/drift/createVault.ts +++ b/src/actions/drift/createVault.ts @@ -11,7 +11,17 @@ const createDriftVaultAction: Action = { examples: [ [ { - input: {}, + input: { + name: "My Drift Vault", + marketName: "SOL-SPOT", + redeemPeriod: 30, + maxTokens: 1000, + minDepositAmount: 100, + managementFee: 10, + profitShare: 5, + hurdleRate: 0.1, + permissioned: false, + }, output: { status: "success", message: "Drift vault created successfully", @@ -23,15 +33,47 @@ const createDriftVaultAction: Action = { ], ], schema: z.object({ - name: z.string().min(5, "Name must be at least 5 characters"), + name: z + .string() + .min(5, "Name must be at least 5 characters") + .describe("Has to be unique. 2 Vaults can not have the same name."), // regex matches SOL-SPOT - marketName: z.string().regex(/^([A-Za-z0-9]{2,7})-SPOT$/), - redeemPeriod: z.number().int().min(1, "Redeem period must be at least 1"), - maxTokens: z.number().int().min(100, "Max tokens must be at least 100"), - minDepositAmount: z.number().positive(), - managementFee: z.number().positive().max(20), - profitShare: z.number().positive().max(90).optional().default(5), - handleRate: z.number().optional(), + marketName: z + .string() + .regex(/^([A-Za-z0-9]{2,7})-SPOT$/) + .describe('Market name must be in the format "TOKEN-SPOT"'), + redeemPeriod: z + .number() + .int() + .min(1, "Redeem period must be at least 1") + .describe( + "Number of days to wait before funds deposited in a vault can be redeemed ", + ), + maxTokens: z + .number() + .int() + .min(100, "Max tokens must be at least 100") + .describe( + "The maximum amount of tokens the vault will be accomodating. For example some vaults have a cap at 10 million USDC", + ), + minDepositAmount: z.number().positive().describe("Minimum deposit amount"), + managementFee: z + .number() + .positive() + .max(20) + .describe( + "How much of a fee you'll be taking to manage depositors funds. This is in percentage e.g 2 for 2%", + ), + profitShare: z + .number() + .positive() + .max(90) + .optional() + .default(5) + .describe( + "How much of the profit you'll be sharing with depositors. This is in percentage e.g 2 for 2%. Defaults to 5%", + ), + hurdleRate: z.number().optional(), permissioned: z .boolean() .optional() diff --git a/src/actions/drift/depositIntoVault.ts b/src/actions/drift/depositIntoVault.ts index 3c44bb3..5dcd477 100644 --- a/src/actions/drift/depositIntoVault.ts +++ b/src/actions/drift/depositIntoVault.ts @@ -26,7 +26,10 @@ const depositIntoDriftVaultAction: Action = { ], schema: z.object({ vaultAddress: z.string(), - amount: z.number().positive(), + amount: z + .number() + .positive() + .describe("The amount in tokens you'd like to deposit into the vault"), }), handler: async (agent: SolanaAgentKit, input) => { try { diff --git a/src/actions/drift/requestWithdrawalFromVault.ts b/src/actions/drift/requestWithdrawalFromVault.ts index 789c58d..1739803 100644 --- a/src/actions/drift/requestWithdrawalFromVault.ts +++ b/src/actions/drift/requestWithdrawalFromVault.ts @@ -26,7 +26,10 @@ const requestWithdrawalFromVaultAction: Action = { ], schema: z.object({ vaultAddress: z.string(), - amount: z.number().positive(), + amount: z + .number() + .positive() + .describe("Amount of shares you would like to withdraw from the vault"), }), handler: async (agent: SolanaAgentKit, input) => { try { From e5e25b0ab0886e4e1364bc8658a42bbc18e1729a Mon Sep 17 00:00:00 2001 From: calintje Date: Fri, 10 Jan 2025 20:39:43 +0100 Subject: [PATCH 099/138] Fix --- pnpm-lock.yaml | 248 +++++++++--------- src/tools/orca_close_position.ts | 2 +- src/tools/orca_create_clmm.ts | 2 +- ...orca_create_single_sided_liquidity_pool.ts | 3 +- ...a_open_centered_position_with_liquidity.ts | 2 +- src/tools/orca_open_single_sided_position.ts | 24 +- src/utils/keypair.ts | 30 ++- 7 files changed, 175 insertions(+), 136 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b98d918..2ef0c43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,10 @@ importers: dependencies: '@3land/listings-sdk': specifier: ^0.0.4 - version: 0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) '@ai-sdk/openai': specifier: ^1.0.11 - version: 1.0.13(zod@3.24.1) + version: 1.0.11(zod@3.24.1) '@bonfida/spl-name-service': specifier: ^3.0.7 version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -109,7 +109,7 @@ importers: version: 16.4.7 flash-sdk: specifier: ^2.24.3 - version: 2.24.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 2.24.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) form-data: specifier: ^4.0.1 version: 4.0.1 @@ -134,7 +134,7 @@ importers: version: 5.0.1 '@types/node': specifier: ^22.10.2 - version: 22.10.2 + version: 22.10.5 '@typescript-eslint/eslint-plugin': specifier: ^8.18.2 version: 8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) @@ -161,7 +161,7 @@ importers: version: 3.4.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) + version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) typescript: specifier: ^5.7.2 version: 5.7.2 @@ -855,6 +855,9 @@ packages: '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} + '@shikijs/vscode-textmate@9.3.1': + resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} + '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} @@ -1036,6 +1039,10 @@ packages: '@solana/web3.js@1.98.0': resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + '@sqds/multisig@2.1.3': + resolution: {integrity: sha512-WOiL7La+RSiJsz7jVO85yhSiiSvNMUthiWuLPeWVOoD6IYa34BEAzanF1RdXRWGglSbRFYCTkyr+Ay1WmXmSRQ==} + engines: {node: '>=14'} + '@supercharge/promise-pool@3.2.0': resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} engines: {node: '>=8'} @@ -2121,12 +2128,8 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} - get-intrinsic@1.2.7: - resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} - engines: {node: '>= 0.4'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + get-intrinsic@1.2.6: + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} engines: {node: '>= 0.4'} get-stream@5.2.0: @@ -2284,6 +2287,9 @@ packages: resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} engines: {node: '>=12.0.0'} + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -2347,10 +2353,6 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - is-retry-allowed@2.2.0: resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} engines: {node: '>=10'} @@ -3060,8 +3062,8 @@ packages: regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - regex@5.1.1: - resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + regex@5.0.2: + resolution: {integrity: sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==} resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -3661,14 +3663,14 @@ packages: snapshots: - '@3land/listings-sdk@0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@3land/listings-sdk@0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/beet': 0.7.2 - '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@project-serum/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@project-serum/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn: 1.0.5 bn.js: 5.2.1 bs58: 6.0.0 @@ -3743,8 +3745,8 @@ snapshots: dependencies: '@aptos-labs/aptos-cli': 1.0.2 '@aptos-labs/aptos-client': 0.1.1 - '@noble/curves': 1.8.0 - '@noble/hashes': 1.7.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 eventemitter3: 5.0.1 @@ -3838,16 +3840,16 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/anchor@0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.27.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.2.0 + cross-fetch: 3.1.8 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -3860,7 +3862,7 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@noble/hashes': 1.6.1 @@ -3887,27 +3889,27 @@ snapshots: bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 @@ -4122,7 +4124,7 @@ snapshots: dependencies: '@ethersproject/logger': 5.7.0 - '@ethersproject/providers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -4143,7 +4145,7 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/web': 5.7.1 bech32: 1.1.4 - ws: 7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -4271,22 +4273,22 @@ snapshots: transitivePeerDependencies: - debug - '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@aptos-labs/ts-sdk': 1.33.1 '@ethersproject/bignumber': 5.7.0 '@ethersproject/contracts': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@ethersproject/wallet': 5.7.0 '@irys/query': 0.0.8 '@near-js/crypto': 0.0.3 '@near-js/keystores-browser': 0.0.3 '@near-js/providers': 0.0.4 '@near-js/transactions': 0.1.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@supercharge/promise-pool': 3.2.0 algosdk: 1.24.1 - arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10) async-retry: 1.3.3 axios: 1.7.9 base64url: 3.0.1 @@ -4778,7 +4780,7 @@ snapshots: '@noble/curves@1.7.0': dependencies: - '@noble/hashes': 1.7.0 + '@noble/hashes': 1.6.0 '@noble/ed25519@1.7.3': {} @@ -4839,16 +4841,16 @@ snapshots: '@pkgr/core@0.1.1': {} - '@project-serum/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@project-serum/anchor@0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.2.0 + cross-fetch: 3.1.8 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -4861,11 +4863,11 @@ snapshots: - encoding - utf-8-validate - '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -4880,15 +4882,15 @@ snapshots: transitivePeerDependencies: - axios - '@pythnetwork/price-service-client@1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@pythnetwork/price-service-client@1.9.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@pythnetwork/price-service-sdk': 1.8.0 '@types/ws': 8.5.13 axios: 1.7.9 axios-retry: 3.9.1 - isomorphic-ws: 4.0.1(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + isomorphic-ws: 4.0.1(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) ts-log: 2.2.7 - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - debug @@ -4906,7 +4908,7 @@ snapshots: '@randlabs/communication-bridge': 1.0.1 optional: true - '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -4997,9 +4999,11 @@ snapshots: '@shikijs/vscode-textmate@10.0.1': {} + '@shikijs/vscode-textmate@9.3.1': {} + '@sindresorhus/is@4.6.0': {} - '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -5266,15 +5270,15 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -5303,12 +5307,12 @@ snapshots: - encoding - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5317,7 +5321,7 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -5400,7 +5404,7 @@ snapshots: '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 '@solana/buffer-layout': 4.0.1 - agentkeepalive: 4.5.0 + agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 bn.js: 5.2.1 borsh: 0.7.0 @@ -5416,11 +5420,11 @@ snapshots: - encoding - utf-8-validate - '@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.8.0 - '@noble/hashes': 1.7.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -5429,7 +5433,7 @@ snapshots: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -5438,13 +5442,13 @@ snapshots: - encoding - utf-8-validate - '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 '@solana/buffer-layout': 4.0.1 - agentkeepalive: 4.5.0 + agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 bn.js: 5.2.1 borsh: 0.7.0 @@ -5460,6 +5464,26 @@ snapshots: - encoding - utf-8-validate + '@sqds/multisig@2.1.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@types/bn.js': 5.1.6 + assert: 2.1.0 + bn.js: 5.2.1 + buffer: 6.0.3 + invariant: 2.2.4 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + '@supercharge/promise-pool@3.2.0': {} '@swc/helpers@0.5.15': @@ -5470,7 +5494,7 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -5550,7 +5574,7 @@ snapshots: '@types/bn.js@5.1.6': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 '@types/body-parser@1.19.5': dependencies: @@ -5570,7 +5594,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 '@types/deep-eql@4.0.2': {} @@ -5580,7 +5604,7 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -5614,7 +5638,7 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 form-data: 4.0.1 '@types/node@11.11.6': {} @@ -5652,12 +5676,12 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.10.2 + '@types/node': 22.10.5 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.10.2 + '@types/node': 22.10.5 '@types/send': 0.17.4 '@types/unist@3.0.3': {} @@ -5668,11 +5692,11 @@ snapshots: '@types/ws@7.4.7': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 '@types/ws@8.5.13': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': dependencies: @@ -5814,7 +5838,7 @@ snapshots: dependencies: algo-msgpack-with-bigint: 2.1.1 buffer: 6.0.3 - cross-fetch: 3.2.0 + cross-fetch: 3.1.8 hi-base32: 0.5.1 js-sha256: 0.9.0 js-sha3: 0.8.0 @@ -5847,11 +5871,11 @@ snapshots: ansicolors@0.3.2: {} - arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10): + arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/hash': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@ethersproject/signing-key': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 @@ -5901,7 +5925,7 @@ snapshots: asn1.js@5.4.1: dependencies: - bn.js: 4.11.6 + bn.js: 4.12.1 inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 @@ -6715,13 +6739,13 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flash-sdk@2.24.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): + flash-sdk@2.24.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): dependencies: - '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@types/node': 20.17.11 bignumber.js: 9.1.2 bs58: 5.0.0 @@ -6809,11 +6833,6 @@ snapshots: hasown: 2.0.2 math-intrinsics: 1.1.0 - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.0.0 - get-stream@5.2.0: dependencies: pump: 3.0.2 @@ -6892,7 +6911,7 @@ snapshots: '@types/node': 18.19.68 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 - agentkeepalive: 4.5.0 + agentkeepalive: 4.6.0 form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0 @@ -7026,6 +7045,10 @@ snapshots: through: 2.3.8 wrap-ansi: 6.2.0 + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + ipaddr.js@1.9.1: {} ipaddr.js@2.2.0: {} @@ -7070,13 +7093,6 @@ snapshots: is-path-inside@3.0.3: {} - is-regex@1.2.1: - dependencies: - call-bound: 1.0.3 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - is-retry-allowed@2.2.0: {} is-stream@3.0.0: {} @@ -7093,11 +7109,11 @@ snapshots: isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: - ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - isomorphic-ws@4.0.1(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + isomorphic-ws@4.0.1(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: - ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) jackspeak@3.4.3: dependencies: @@ -7553,7 +7569,7 @@ snapshots: '@types/node': 18.19.68 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 - agentkeepalive: 4.5.0 + agentkeepalive: 4.6.0 form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0 @@ -7817,12 +7833,6 @@ snapshots: safe-buffer@5.2.1: {} - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - is-regex: 1.2.1 - safer-buffer@2.1.2: {} scrypt-js@3.0.1: {} @@ -8116,7 +8126,7 @@ snapshots: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.2 + '@types/node': 22.10.5 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -8338,12 +8348,12 @@ snapshots: wrappy@1.0.2: {} - ws@7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.9 + bufferutil: 4.0.8 utf-8-validate: 5.0.10 - ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.0.8 utf-8-validate: 5.0.10 diff --git a/src/tools/orca_close_position.ts b/src/tools/orca_close_position.ts index 4475692..1f09403 100644 --- a/src/tools/orca_close_position.ts +++ b/src/tools/orca_close_position.ts @@ -5,7 +5,7 @@ import { VersionedTransaction, } from "@solana/web3.js"; import { SolanaAgentKit } from "../agent"; -import { Wallet } from "@coral-xyz/anchor"; +import { Wallet } from "../utils/keypair"; import { ORCA_WHIRLPOOL_PROGRAM_ID, WhirlpoolContext, diff --git a/src/tools/orca_create_clmm.ts b/src/tools/orca_create_clmm.ts index 9fcdc33..8cbd81f 100644 --- a/src/tools/orca_create_clmm.ts +++ b/src/tools/orca_create_clmm.ts @@ -5,7 +5,7 @@ import { VersionedTransaction, } from "@solana/web3.js"; import { SolanaAgentKit } from "../agent"; -import { Wallet } from "@coral-xyz/anchor"; +import { Wallet } from "../utils/keypair"; import { Decimal } from "decimal.js"; import { ORCA_WHIRLPOOL_PROGRAM_ID, diff --git a/src/tools/orca_create_single_sided_liquidity_pool.ts b/src/tools/orca_create_single_sided_liquidity_pool.ts index 26792b8..f83df94 100644 --- a/src/tools/orca_create_single_sided_liquidity_pool.ts +++ b/src/tools/orca_create_single_sided_liquidity_pool.ts @@ -5,7 +5,8 @@ import { VersionedTransaction, } from "@solana/web3.js"; import { SolanaAgentKit } from "../agent"; -import { BN, Wallet } from "@coral-xyz/anchor"; +import { BN } from "@coral-xyz/anchor"; +import { Wallet } from "../utils/keypair"; import { Decimal } from "decimal.js"; import { PDAUtil, diff --git a/src/tools/orca_open_centered_position_with_liquidity.ts b/src/tools/orca_open_centered_position_with_liquidity.ts index 63a8972..9a2619d 100644 --- a/src/tools/orca_open_centered_position_with_liquidity.ts +++ b/src/tools/orca_open_centered_position_with_liquidity.ts @@ -6,7 +6,7 @@ import { VersionedTransaction, } from "@solana/web3.js"; import { SolanaAgentKit } from "../agent"; -import { Wallet } from "@coral-xyz/anchor"; +import { Wallet } from "../utils/keypair"; import { Decimal } from "decimal.js"; import { ORCA_WHIRLPOOL_PROGRAM_ID, diff --git a/src/tools/orca_open_single_sided_position.ts b/src/tools/orca_open_single_sided_position.ts index 741069a..6b95dfc 100644 --- a/src/tools/orca_open_single_sided_position.ts +++ b/src/tools/orca_open_single_sided_position.ts @@ -1,11 +1,12 @@ import { Keypair, PublicKey, + TransactionInstruction, TransactionMessage, VersionedTransaction, } from "@solana/web3.js"; import { SolanaAgentKit } from "../agent"; -import { Wallet } from "@coral-xyz/anchor"; +import { Wallet } from "../utils/keypair"; import { Decimal } from "decimal.js"; import { ORCA_WHIRLPOOL_PROGRAM_ID, @@ -119,17 +120,17 @@ export async function orcaOpenSingleSidedPosition( lowerTick, upperTick, ]); - let txIds: string = ""; + let instructions: TransactionInstruction[] = []; + let signers: Keypair[] = []; if (txBuilderTickArrays !== null) { const txPayloadTickArrays = await txBuilderTickArrays.build(); const txPayloadTickArraysDecompiled = TransactionMessage.decompile( (txPayloadTickArrays.transaction as VersionedTransaction).message, ); - const instructions = txPayloadTickArraysDecompiled.instructions; - const signers = txPayloadTickArrays.signers as Keypair[]; - - const tickArrayTxId = await sendTx(agent, instructions, signers); - txIds += tickArrayTxId + ","; + instructions = instructions.concat( + txPayloadTickArraysDecompiled.instructions, + ); + signers = signers.concat(txPayloadTickArrays.signers as Keypair[]); } const tokenExtensionCtx: TokenExtensionContextForPool = { @@ -161,14 +162,13 @@ export async function orcaOpenSingleSidedPosition( const txPayloadDecompiled = TransactionMessage.decompile( (txPayload.transaction as VersionedTransaction).message, ); - const instructions = txPayloadDecompiled.instructions; - const signers = txPayload.signers as Keypair[]; + instructions = instructions.concat(txPayloadDecompiled.instructions); + signers = signers.concat(txPayload.signers as Keypair[]); - const positionTxId = await sendTx(agent, instructions, signers); - txIds += positionTxId; + const txId = await sendTx(agent, instructions, signers); return JSON.stringify({ - transactionIds: txIds, + transactionIds: txId, positionMint: positionMint.toString(), }); } catch (error) { diff --git a/src/utils/keypair.ts b/src/utils/keypair.ts index 665765b..25d1a0e 100644 --- a/src/utils/keypair.ts +++ b/src/utils/keypair.ts @@ -1,7 +1,35 @@ -import { Keypair } from "@solana/web3.js"; +import { Keypair, PublicKey, Transaction, VersionedTransaction } from "@solana/web3.js"; import bs58 from "bs58"; export const keypair = Keypair.generate(); console.log(keypair.publicKey.toString()); console.log(bs58.encode(keypair.secretKey)); + + +export class Wallet { + private _signer: Keypair; + + constructor(signer: Keypair) { + this._signer = signer; + } + + async signTransaction(tx: T): Promise { + if (tx instanceof Transaction) { + tx.sign(this._signer); + } else if (tx instanceof VersionedTransaction) { + tx.sign([this._signer]); + } else { + throw new Error("Unsupported transaction type"); + } + return tx; + } + + async signAllTransactions(txs: T[]): Promise { + return Promise.all(txs.map((tx) => this.signTransaction(tx))); + } + + get publicKey(): PublicKey { + return this._signer.publicKey; + } +} \ No newline at end of file From 677d17491c8d88ff1a1d09d2d750df5e80005a49 Mon Sep 17 00:00:00 2001 From: aryan Date: Sat, 11 Jan 2025 02:29:52 +0530 Subject: [PATCH 100/138] chore: docs + lint --- docs/assets/hierarchy.js | 2 +- docs/assets/highlight.css | 7 +++++++ docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 21 +++++++++++++------ docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/index.html | 21 ++++++++++++++++++- docs/interfaces/Action.html | 14 ++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/FlashCloseTradeParams.html | 4 ++-- docs/interfaces/FlashTradeParams.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 8 ++----- .../LuloAccountDetailsResponse.html | 4 ++-- .../interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- package.json | 2 +- src/tools/squads_multisig/create_multisig.ts | 1 - .../squads_multisig/deposit_to_multisig.ts | 2 +- 37 files changed, 101 insertions(+), 71 deletions(-) diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js index 88636f0..fb85f0a 100644 --- a/docs/assets/hierarchy.js +++ b/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm" \ No newline at end of file +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index 63010a9..ecb07c6 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -17,6 +17,8 @@ --dark-hl-7: #4FC1FF; --light-hl-8: #098658; --dark-hl-8: #B5CEA8; + --light-hl-9: #267F99; + --dark-hl-9: #4EC9B0; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -31,6 +33,7 @@ --hl-6: var(--light-hl-6); --hl-7: var(--light-hl-7); --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); --code-background: var(--light-code-background); } } @@ -44,6 +47,7 @@ --hl-6: var(--dark-hl-6); --hl-7: var(--dark-hl-7); --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); --code-background: var(--dark-code-background); } } @@ -57,6 +61,7 @@ --hl-6: var(--light-hl-6); --hl-7: var(--light-hl-7); --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); --code-background: var(--light-code-background); } @@ -70,6 +75,7 @@ --hl-6: var(--dark-hl-6); --hl-7: var(--dark-hl-7); --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); --code-background: var(--dark-code-background); } @@ -82,4 +88,5 @@ .hl-6 { color: var(--hl-6); } .hl-7 { color: var(--hl-7); } .hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } pre, code { background: var(--code-background); } diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 2f5fc3c..94a19ed 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -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 +window.navigationData = "eJyNllGTkzAQgP9LnjvWq96pfaut1ep57dwxvjg+7IWlZAgJkyzajuN/d0o7B5Sw8MID++23sMkSfv4VhAcSc/FkNRhY7NHQN0ViIgqgVMyF1OA9+mk7/iqlXIuJyJSJxfxm9v7f5MW0kKSsqQ3KELoEJPrpOdROnt3edZI/HSAvNDKOC8GpPgLJdOtidDsgQhd+pA7FKZdWa6zqr7DQ9pijoaA1BI4Tb4vT1Q9YLxSvNIna93hOITbZIZB14exzjEtfI8l055TER/SFNT68lF2MlWrw6VJbj5GDGHfgIA/3KUgOqkdZRwo/q+c/1mVVqzACnz1ifxv6YK7A17JQhC6yGZoVEATF1xAnvC+1XUhpS0MrJFDas0vXj3NFvitD9SZ+WEdsjV6aK3EZ5d5VbMQ5za7Mi6Q091AambJPGSSH1OvSVKvCTXuAY7VHSkfOXRgdklfwGjHerDaEea/5ihulHRYOqao2LVOUWdBThznJFzCxxsZnj44F+unl9lXm6w/vbm5nzbNrGW22D0919m9wCp716dA6h9qGN81kWU3/+ZSNrNWNPZGUppoAP+1AbeHd247wBzqJerEZULYwRooHlCXh9RFf61oAI0qUifstdZRR7JFa/wLB1+tAHeGv/7OFIBQ=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 940ddfa..e9af7ad 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 aa4729f..2602212 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 @@ -9,8 +9,11 @@ Provides a unified interface for token operations, NFT management, trading and m

    Methods

    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

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
  • Parameters

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Returns Promise<{ signature: string; size: number }>

    • 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

      • optionsWithBase58: StoreInitOptions
      • collectionOpts: CreateCollectionOptions

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionAccount: string
      • createItemOptions: CreateSingleOptions
      • isMainnet: boolean

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Opens a new trading position on Flash.Trade

      +

      Parameters

      • params: FlashTradeParams

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

        +

      Returns Promise<string>

      Transaction signature

      +
    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 6670a6b..946e754 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
          | Solana3LandCreateSingle
          | Solana3LandCreateCollection
          | SolanaCloseEmptyTokenAccounts
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaExecuteProposal2by2Multisig
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 5f38ba3..41d02bc 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 63adb9c..106baa4 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 c24b348..f83cd39 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 76fc9f6..82e0ce8 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

    • action: Action

    Returns string

    diff --git a/docs/index.html b/docs/index.html index 4496ee0..b698fac 100644 --- a/docs/index.html +++ b/docs/index.html @@ -31,6 +31,14 @@
  • +

    NFTs on 3.Land

    +
      +
    • Create your own collection
    • +
    • NFT creation and automatic listing on 3.land
    • +
    • List your NFT for sale in any SPL token
    • +
    +
  • +
  • NFT Management via Metaplex

    • Collection deployment
    • @@ -109,6 +117,7 @@
  • +

    You can view the full documentation of the kit at docs.solanaagentkit.xyz

    npm install solana-agent-kit
     
    @@ -118,6 +127,13 @@
    const result = await agent.deployToken(
    "my ai token", // name
    "uri", // uri
    "token", // symbol
    9, // decimals
    1000000 // initial supply
    );

    console.log("Token Mint Address:", result.mint.toString());
    +
    const optionsWithBase58: StoreInitOptions = {
    privateKey: "",
    isMainnet: true, // if false, collection will be created on devnet 3.land (dev.3.land)
    };

    const collectionOpts: CreateCollectionOptions = {
    collectionName: "",
    collectionSymbol: "",
    collectionDescription: "",
    mainImageUrl: ""
    };

    const result = await agent.create3LandCollection(
    optionsWithBase58,
    collectionOpts
    ); +
    + +

    When creating an NFT using 3Land's tool, it automatically goes for sale on 3.land website

    +
    const optionsWithBase58: StoreInitOptions = {
    privateKey: "",
    isMainnet: true, // if false, listing will be on devnet 3.land (dev.3.land)
    };
    const collectionAccount = ""; //hash for the collection
    const createItemOptions: CreateSingleOptions = {
    itemName: "",
    sellerFee: 500, //5%
    itemAmount: 100, //total items to be created
    itemSymbol: "",
    itemDescription: "",
    traits: [
    { trait_type: "", value: "" },
    ],
    price: 0, //100000000 == 0.1 sol, can be set to 0 for a free mint
    mainImageUrl: "",
    splHash: "", //present if listing is on a specific SPL token, if not present sale will be on $SOL
    };
    const isMainnet = true;
    const result = await agent.create3LandNft(
    optionsWithBase58,
    collectionAccount,
    createItemOptions,
    isMainnet
    );
    +
    +
    const collection = await agent.deployCollection({
    name: "My NFT Collection",
    uri: "https://arweave.net/metadata.json",
    royaltyBasisPoints: 500, // 5%
    creators: [
    {
    address: "creator-wallet-address",
    percentage: 100,
    },
    ],
    });
    @@ -145,6 +161,9 @@
    import { PublicKey } from "@solana/web3.js";

    const signature = await agent.closePerpTradeLong({
    price: 200, // $200 SOL price
    tradeMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL
    });
    +

    const { signature } = await agent.closeEmptyTokenAccounts(); +
    +

    The repository includes an advanced example of building a multi-agent system using LangGraph and Solana Agent Kit. Located in examples/agent-kit-langgraph, this example demonstrates:

    • Multi-agent architecture using LangGraph's StateGraph
    • @@ -180,4 +199,4 @@ Refer to CONTRIBUTING.md for detailed guidel

      If you wanna give back any tokens or donations to the OSS community -- The Public Solana Agent Kit Treasury Address:

      Solana Network : EKHTbXpsm6YDgJzMkFxNU1LNXeWcUW7Ezf8mjUNQQ4Pa

      This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys.

      -
      +
      diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 38682fa..0a8bde7 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 1ccbff9..1b9b012 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 bb59b51..17f674f 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 39fd7c6..fdca3d7 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 326ae90..b5e8943 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 7ec97b9..f9a0f9e 100644 --- a/docs/interfaces/Config.html +++ b/docs/interfaces/Config.html @@ -1,5 +1,5 @@ -Config | solana-agent-kit

      Interface Config

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

      Properties

      FLASH_PRIVILEGE? +Config | solana-agent-kit

      Interface Config

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

      Properties

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

      Properties

      FLASH_PRIVILEGE?: string
      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 b19a317..c2fdf85 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 c7eada5..78c47ba 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 index 578f8bd..3286ef6 100644 --- a/docs/interfaces/FlashCloseTradeParams.html +++ b/docs/interfaces/FlashCloseTradeParams.html @@ -1,3 +1,3 @@ -FlashCloseTradeParams | solana-agent-kit

      Interface FlashCloseTradeParams

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

      Properties

      side +FlashCloseTradeParams | solana-agent-kit

      Interface FlashCloseTradeParams

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

      Properties

      Properties

      side: "long" | "short"
      token: string
      +

      Properties

      side: "long" | "short"
      token: string
      diff --git a/docs/interfaces/FlashTradeParams.html b/docs/interfaces/FlashTradeParams.html index d894b97..863734d 100644 --- a/docs/interfaces/FlashTradeParams.html +++ b/docs/interfaces/FlashTradeParams.html @@ -1,5 +1,5 @@ -FlashTradeParams | solana-agent-kit

      Interface FlashTradeParams

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

      Properties

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

      Properties

      collateralUsd: number
      leverage: number
      side: "long" | "short"
      token: string
      diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index dc40740..42cfb7c 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 9cc5ed9..6949e66 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

      Properties

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

      Properties

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

      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 5baf956..3123e79 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 b575886..e5cc1f2 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 00df0bd..91d7e84 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 f279978..1d471e9 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 b6b18d1..5822e59 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 f202f4b..6f7362c 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 5fc51fd..2457d7a 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 286dd06..6b18692 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 668a432..0e7ee85 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 900c63e..2209e3c 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

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

          Returns Promise<Record<string, any>>

      diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 5d9a291..db561eb 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;
          FLASH_CLOSE_TRADE_ACTION: Action;
          FLASH_OPEN_TRADE_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
      • FLASH_CLOSE_TRADE_ACTION: Action
      • FLASH_OPEN_TRADE_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;
          FLASH_CLOSE_TRADE_ACTION: Action;
          FLASH_OPEN_TRADE_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
      • FLASH_CLOSE_TRADE_ACTION: Action
      • FLASH_OPEN_TRADE_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 e64c039..f7aa8bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solana-agent-kit", - "version": "1.3.7", + "version": "1.3.8", "description": "connect any ai agents to solana protocols", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/src/tools/squads_multisig/create_multisig.ts b/src/tools/squads_multisig/create_multisig.ts index 3fa76ef..770c9dd 100644 --- a/src/tools/squads_multisig/create_multisig.ts +++ b/src/tools/squads_multisig/create_multisig.ts @@ -17,7 +17,6 @@ export async function create_squads_multisig( ): Promise { const connection = agent.connection; const createKey = agent.wallet; // can be any keypair, using the agent wallet as only one multisig is required - console.log("Multisig Create Key:", createKey.publicKey.toBase58()); const [multisigPda] = multisig.getMultisigPda({ createKey: createKey.publicKey, diff --git a/src/tools/squads_multisig/deposit_to_multisig.ts b/src/tools/squads_multisig/deposit_to_multisig.ts index 11a2582..e2b23ad 100644 --- a/src/tools/squads_multisig/deposit_to_multisig.ts +++ b/src/tools/squads_multisig/deposit_to_multisig.ts @@ -54,7 +54,7 @@ export async function deposit_to_multisig( mint, agent.wallet_address, ); - let transaction = new Transaction(); + const transaction = new Transaction(); const toAta = await getAssociatedTokenAddress(mint, to, true); const toTokenAccountInfo = await agent.connection.getAccountInfo(toAta); // Create associated token account if it doesn't exist From 8bef717eb9a50e4843f8ff78e2a788d90531c2c5 Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Fri, 10 Jan 2025 23:26:14 +0100 Subject: [PATCH 101/138] feat: drift vault info action --- .eslintrc | 3 +- src/actions/drift/createVault.ts | 1 - src/actions/drift/vaultInfo.ts | 78 +++++++++++++++++++++++++++ src/actions/index.ts | 2 + src/tools/drift_vault.ts | 92 ++++++++++++++++++++++++++------ 5 files changed, 158 insertions(+), 18 deletions(-) create mode 100644 src/actions/drift/vaultInfo.ts diff --git a/.eslintrc b/.eslintrc index e619c84..3b8e4c6 100644 --- a/.eslintrc +++ b/.eslintrc @@ -13,6 +13,7 @@ "no-constant-condition": "off", "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-empty-object-type": "off", "@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }], "no-console": ["warn", { "allow": ["warn", "error"] }], "curly": ["error", "all"], @@ -30,4 +31,4 @@ "ecmaVersion": 2020, "sourceType": "module" } -} \ No newline at end of file +} diff --git a/src/actions/drift/createVault.ts b/src/actions/drift/createVault.ts index c0702c3..2296196 100644 --- a/src/actions/drift/createVault.ts +++ b/src/actions/drift/createVault.ts @@ -40,7 +40,6 @@ const createDriftVaultAction: Action = { // regex matches SOL-SPOT marketName: z .string() - .regex(/^([A-Za-z0-9]{2,7})-SPOT$/) .describe('Market name must be in the format "TOKEN-SPOT"'), redeemPeriod: z .number() diff --git a/src/actions/drift/vaultInfo.ts b/src/actions/drift/vaultInfo.ts new file mode 100644 index 0000000..c354ae5 --- /dev/null +++ b/src/actions/drift/vaultInfo.ts @@ -0,0 +1,78 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import { getVaultInfo } from "../../tools"; +import type { SolanaAgentKit } from "../../agent"; +import { decodeName } from "@drift-labs/vaults-sdk"; +import { MainnetSpotMarkets, PERCENTAGE_PRECISION } from "@drift-labs/sdk"; + +const vaultInfoAction: Action = { + name: "DRIFT_VAULT_INFO", + similes: ["get drift vault info", "vault info", "vault information"], + description: "Get information about a drift vault", + examples: [ + [ + { + input: { + vaultAddress: "2nFeP7taii", + }, + output: { + status: "success", + message: "Vault info retrieved successfully", + data: { + name: "My Drift Vault", + marketName: "SOL-SPOT", + redeemPeriod: 30, + maxTokens: 1000, + minDepositAmount: 100, + managementFee: 10, + profitShare: 5, + hurdleRate: 0.1, + permissioned: false, + }, + }, + explanation: "Get information about a drift vault", + }, + ], + ], + schema: z.object({ + vaultAddress: z.string(), + }), + handler: async (agent: SolanaAgentKit, input) => { + try { + const vaultInfo = await getVaultInfo(agent, input.vaultAddress as string); + const spotToken = MainnetSpotMarkets[vaultInfo.spotMarketIndex]; + const data = { + name: decodeName(vaultInfo.name), + marketName: `${spotToken.symbol}-SPOT`, + redeemPeriod: vaultInfo.redeemPeriod.toNumber(), + maxTokens: vaultInfo.maxTokens.div(spotToken.precision).toNumber(), + minDepositAmount: vaultInfo.minDepositAmount + .div(spotToken.precision) + .toNumber(), + managementFee: + (vaultInfo.managementFee.toNumber() / + PERCENTAGE_PRECISION.toNumber()) * + 100, + profitShare: + (vaultInfo.profitShare / PERCENTAGE_PRECISION.toNumber()) * 100, + hurdleRate: + (vaultInfo.hurdleRate / PERCENTAGE_PRECISION.toNumber()) * 100, + permissioned: vaultInfo.permissioned, + }; + + return { + status: "success", + message: "Vault info retrieved successfully", + data, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message + message: `Failed to retrieve vault info: ${e.message}`, + }; + } + }, +}; + +export default vaultInfoAction; diff --git a/src/actions/index.ts b/src/actions/index.ts index 217d547..7baf94e 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -36,6 +36,7 @@ import depositIntoDriftVaultAction from "./drift/depositIntoVault"; import requestWithdrawalFromVaultAction from "./drift/requestWithdrawalFromVault"; import withdrawFromVaultAction from "./drift/withdrawFromVault"; import tradeDelegatedDriftVaultAction from "./drift/tradeDelegatedDriftVault"; +import vaultInfoAction from "./drift/vaultInfo"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -77,6 +78,7 @@ export const ACTIONS = { REQUEST_WITHDRAWAL_FROM_DRIFT_VAULT_ACTION: requestWithdrawalFromVaultAction, WITHDRAW_FROM_DRIFT_VAULT_ACTION: withdrawFromVaultAction, TRADE_DELEGATED_DRIFT_VAULT_ACTION: tradeDelegatedDriftVaultAction, + DRIFT_VAULT_INFO_ACTION: vaultInfoAction, }; export type { Action, ActionExample, Handler } from "../types/action"; diff --git a/src/tools/drift_vault.ts b/src/tools/drift_vault.ts index dda6542..54d56d7 100644 --- a/src/tools/drift_vault.ts +++ b/src/tools/drift_vault.ts @@ -6,6 +6,8 @@ import { getLimitOrderParams, getMarketOrderParams, getOrderParams, + MainnetPerpMarkets, + MainnetSpotMarkets, MarketType, numberToSafeBN, PERCENTAGE_PRECISION, @@ -33,7 +35,25 @@ import { import type { SolanaAgentKit } from "../agent"; import { BN } from "bn.js"; -function initClients(agent: SolanaAgentKit) { +export function getMarketIndexAndType(name: `${string}-${string}`) { + const [symbol, type] = name.toUpperCase().split("-"); + + if (type === "PERP") { + const token = MainnetPerpMarkets.find((v) => v.symbol === symbol); + if (!token) { + throw new Error("Drift doesn't have that market"); + } + return { marketIndex: token.marketIndex, marketType: MarketType.PERP }; + } + + const token = MainnetSpotMarkets.find((v) => v.symbol === symbol); + if (!token) { + throw new Error("Drift doesn't have that market"); + } + return { marketIndex: token.marketIndex, marketType: MarketType.SPOT }; +} + +async function initClients(agent: SolanaAgentKit) { const wallet: IWallet = { publicKey: agent.wallet.publicKey, payer: agent.wallet, @@ -76,12 +96,17 @@ function initClients(agent: SolanaAgentKit) { program: vaultProgram, cliMode: false, }); + await driftClient.subscribe(); - return { driftClient, vaultClient }; + async function cleanUp() { + await driftClient.unsubscribe(); + } + + return { driftClient, vaultClient, cleanUp }; } async function getOrCreateVaultDepositor(agent: SolanaAgentKit, vault: string) { - const { vaultClient } = initClients(agent); + const { vaultClient, cleanUp } = await initClients(agent); const vaultPublicKey = new PublicKey(vault); const vaultDepositor = getVaultDepositorAddressSync( vaultClient.program.programId, @@ -91,12 +116,14 @@ async function getOrCreateVaultDepositor(agent: SolanaAgentKit, vault: string) { try { await vaultClient.getVaultDepositor(vaultDepositor); + await cleanUp(); return vaultDepositor; } catch (e) { // @ts-expect-error - error message is a string if (e.message === "Account not found") { await vaultClient.initializeVaultDepositor(vaultDepositor); } + await cleanUp(); return vaultDepositor; } } @@ -131,10 +158,8 @@ export async function createVault( }, ) { try { - const { vaultClient, driftClient } = initClients(agent); - const marketIndexAndType = driftClient.getMarketIndexAndType( - params.marketName, - ); + const { vaultClient, driftClient, cleanUp } = await initClients(agent); + const marketIndexAndType = getMarketIndexAndType(params.marketName); if (!marketIndexAndType) { throw new Error("Invalid market name"); @@ -174,6 +199,8 @@ export async function createVault( permissioned: params.permissioned ?? false, }); + await cleanUp(); + return tx; } catch (e) { // @ts-expect-error - error message is a string @@ -209,7 +236,7 @@ export async function updateVault( }, ) { try { - const { vaultClient } = initClients(agent); + const { vaultClient, cleanUp } = await initClients(agent); const vaultPublicKey = new PublicKey(vault); const vaultDetails = await vaultClient.getVault(vaultPublicKey); @@ -233,6 +260,8 @@ export async function updateVault( permissioned: params.permissioned ?? vaultDetails.permissioned, }); + await cleanUp(); + return tx; } catch (e) { // @ts-expect-error - error message is a string @@ -240,6 +269,24 @@ export async function updateVault( } } +export async function getVaultInfo( + agent: SolanaAgentKit, + vaultAddress: string, +) { + try { + const { vaultClient, cleanUp } = await initClients(agent); + const vaultPublicKey = new PublicKey(vaultAddress); + const vaultDetails = await vaultClient.getVault(vaultPublicKey); + + await cleanUp(); + + return vaultDetails; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to get vault info: ${e.message}`); + } +} + /** Deposit tokens into a vault @param agent SolanaAgentKit instance @@ -252,8 +299,9 @@ export async function depositIntoVault( amount: number, vault: string, ) { + const { vaultClient, driftClient, cleanUp } = await initClients(agent); + try { - const { vaultClient, driftClient } = initClients(agent); const vaultPublicKey = new PublicKey(vault); const [isOwned, vaultDetails] = await Promise.all([ getIsOwned(agent, vault), @@ -275,8 +323,11 @@ export async function depositIntoVault( } const vaultDepositor = await getOrCreateVaultDepositor(agent, vault); + const tx = await vaultClient.deposit(vaultDepositor, amountBN); - return await vaultClient.deposit(vaultDepositor, amountBN); + await cleanUp(); + + return tx; } catch (e) { // @ts-expect-error - error message is a string throw new Error(`Failed to deposit into Drift vault: ${e.message}`); @@ -295,7 +346,7 @@ export async function requestWithdrawalFromVault( vault: string, ) { try { - const { vaultClient } = initClients(agent); + const { vaultClient, cleanUp } = await initClients(agent); const vaultPublicKey = new PublicKey(vault); const isOwned = await getIsOwned(agent, vault); @@ -315,6 +366,8 @@ export async function requestWithdrawalFromVault( WithdrawUnit.SHARES, ); + await cleanUp(); + return tx; } catch (e) { throw new Error( @@ -335,7 +388,7 @@ export async function withdrawFromDriftVault( vault: string, ) { try { - const { vaultClient } = initClients(agent); + const { vaultClient, cleanUp } = await initClients(agent); const vaultPublicKey = new PublicKey(vault); const isOwned = await getIsOwned(agent, vault); @@ -347,6 +400,8 @@ export async function withdrawFromDriftVault( const tx = await vaultClient.withdraw(vaultDepositor); + await cleanUp(); + return tx; } catch (e) { // @ts-expect-error - error message is a string @@ -362,11 +417,14 @@ export async function withdrawFromDriftVault( */ async function getIsOwned(agent: SolanaAgentKit, vault: string) { try { - const { vaultClient } = initClients(agent); + const { vaultClient, cleanUp } = await initClients(agent); const vaultPublicKey = new PublicKey(vault); const vaultDetails = await vaultClient.getVault(vaultPublicKey); + const isOwned = vaultDetails.delegate.equals(agent.wallet.publicKey); - return vaultDetails.delegate.equals(agent.wallet.publicKey); + await cleanUp(); + + return isOwned; } catch (e) { // @ts-expect-error - error message is a string throw new Error(`Failed to check if vault is owned: ${e.message}`); @@ -392,7 +450,7 @@ export async function tradeDriftVault( price?: number, ) { try { - const { driftClient, vaultClient } = initClients(agent); + const { driftClient, vaultClient, cleanUp } = await initClients(agent); const [isOwned, vaultDetails, driftLookupTableAccount] = await Promise.all([ getIsOwned(agent, vault), vaultClient.getVault(new PublicKey(vault)), @@ -433,7 +491,7 @@ export async function tradeDriftVault( ); } - const perpMarketIndexAndType = driftClient.getMarketIndexAndType( + const perpMarketIndexAndType = getMarketIndexAndType( `${symbol.toUpperCase()}-PERP`, ); @@ -506,6 +564,8 @@ export async function tradeDriftVault( ), ); + await cleanUp(); + return tx; } catch (e) { // @ts-expect-error - error message is a string From f1b8a118ac98921acfe23193d66aa7d5877d7198 Mon Sep 17 00:00:00 2001 From: 0xCipherCoder Date: Sat, 11 Jan 2025 10:09:56 +0530 Subject: [PATCH 102/138] Merged main --- .../orca_create_single_sided_liquidity_pool.ts | 1 + src/utils/keypair.ts | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/tools/orca/orca_create_single_sided_liquidity_pool.ts b/src/tools/orca/orca_create_single_sided_liquidity_pool.ts index dc7fd52..022489f 100644 --- a/src/tools/orca/orca_create_single_sided_liquidity_pool.ts +++ b/src/tools/orca/orca_create_single_sided_liquidity_pool.ts @@ -5,6 +5,7 @@ import { VersionedTransaction, } from "@solana/web3.js"; import { SolanaAgentKit } from "../../agent"; +import { BN } from "@coral-xyz/anchor"; import { Wallet } from "../../utils/keypair"; import { Decimal } from "decimal.js"; import { diff --git a/src/utils/keypair.ts b/src/utils/keypair.ts index 25d1a0e..1b62f1f 100644 --- a/src/utils/keypair.ts +++ b/src/utils/keypair.ts @@ -1,4 +1,9 @@ -import { Keypair, PublicKey, Transaction, VersionedTransaction } from "@solana/web3.js"; +import { + Keypair, + PublicKey, + Transaction, + VersionedTransaction, +} from "@solana/web3.js"; import bs58 from "bs58"; export const keypair = Keypair.generate(); @@ -6,7 +11,6 @@ export const keypair = Keypair.generate(); console.log(keypair.publicKey.toString()); console.log(bs58.encode(keypair.secretKey)); - export class Wallet { private _signer: Keypair; @@ -14,7 +18,9 @@ export class Wallet { this._signer = signer; } - async signTransaction(tx: T): Promise { + async signTransaction( + tx: T, + ): Promise { if (tx instanceof Transaction) { tx.sign(this._signer); } else if (tx instanceof VersionedTransaction) { @@ -25,11 +31,13 @@ export class Wallet { return tx; } - async signAllTransactions(txs: T[]): Promise { + async signAllTransactions( + txs: T[], + ): Promise { return Promise.all(txs.map((tx) => this.signTransaction(tx))); } get publicKey(): PublicKey { return this._signer.publicKey; } -} \ No newline at end of file +} From 48c81ac7e0bbc3d9464278aad47b5a6e93f80575 Mon Sep 17 00:00:00 2001 From: 0xCipherCoder Date: Sat, 11 Jan 2025 14:41:55 +0530 Subject: [PATCH 103/138] Added fix for the issue --- src/langchain/3land/create_collection.ts | 18 +++-- src/langchain/3land/create_single.ts | 46 ++++++++----- src/langchain/adrena/close_trade.ts | 34 +++++---- src/langchain/adrena/open_trade.ts | 26 +++++-- src/langchain/adrena/types.ts | 29 -------- src/langchain/agent/create_image.ts | 18 +++-- src/langchain/agent/types.ts | 9 --- src/langchain/agent/wallet_address.ts | 18 ++--- src/langchain/bonfida/get_domain.ts | 21 ++++-- src/langchain/bonfida/main_domain.ts | 20 ++++-- src/langchain/bonfida/register_domain.ts | 44 +++++++++--- src/langchain/bonfida/resolve_domain.ts | 21 ++++-- src/langchain/bonfida/types.ts | 45 ------------ src/langchain/common/base.ts | 17 ----- src/langchain/common/index.ts | 2 - src/langchain/common/types.ts | 5 -- .../dexscreener/token_data_ticker.ts | 16 +++-- src/langchain/flash/flash_close.ts | 39 ++++++++--- src/langchain/flash/flash_open.ts | 69 +++++++++++++++---- src/langchain/flash/index.ts | 1 - src/langchain/flash/types.ts | 25 ------- src/langchain/gibwork/create_task.ts | 47 ++++++++----- src/langchain/gibwork/index.ts | 1 - src/langchain/gibwork/types.ts | 16 ----- src/langchain/index.ts | 8 +-- src/langchain/jupiter/fetch_price.ts | 21 ++++-- src/langchain/jupiter/index.ts | 1 - src/langchain/jupiter/stake.ts | 18 +++-- src/langchain/jupiter/token_data.ts | 16 ++++- src/langchain/jupiter/trade.ts | 27 +++++--- src/langchain/jupiter/types.ts | 19 ----- .../lightprotocol/compressed_airdrop.ts | 31 ++++++--- src/langchain/lulo/index.ts | 1 - src/langchain/lulo/lend_asset.ts | 21 ++++-- src/langchain/lulo/types.ts | 10 --- src/langchain/manifest/batch_order.ts | 69 +++++++++++-------- src/langchain/manifest/cancel_orders.ts | 21 ++++-- src/langchain/manifest/index.ts | 1 - src/langchain/manifest/limit_order.ts | 31 ++++++--- src/langchain/manifest/manifest_market.ts | 29 +++++--- src/langchain/manifest/types.ts | 11 --- src/langchain/manifest/withdraw.ts | 15 ++-- src/langchain/metaplex/deploy_collection.ts | 27 +++++--- src/langchain/metaplex/deploy_token.ts | 29 +++++--- src/langchain/metaplex/index.ts | 1 - src/langchain/metaplex/mint_nft.ts | 39 +++++++---- src/langchain/metaplex/types.ts | 33 --------- src/langchain/onsol/get_all_tld.ts | 9 ++- src/langchain/onsol/index.ts | 1 - src/langchain/onsol/owned_domains.ts | 20 ++++-- src/langchain/onsol/resolve_all_domains.ts | 22 ++++-- src/langchain/onsol/tld_domains.ts | 20 ++++-- src/langchain/onsol/types.ts | 45 ------------ src/langchain/openbook/index.ts | 1 - src/langchain/openbook/openbook_market.ts | 32 ++++++--- src/langchain/openbook/types.ts | 6 -- src/langchain/orca/index.ts | 1 - src/langchain/orca/orca_centered_position.ts | 39 ++++++++--- src/langchain/orca/orca_clmm.ts | 32 ++++++--- src/langchain/orca/orca_fetch_positions.ts | 26 ++++--- src/langchain/orca/orca_position.ts | 26 ++++--- src/langchain/orca/orca_single_sided_pool.ts | 38 ++++++---- .../orca/orca_single_sided_position.ts | 45 ++++++++---- src/langchain/orca/types.ts | 51 -------------- src/langchain/pumpfun/launch_pumpfun_token.ts | 9 ++- src/langchain/pyth/index.ts | 1 - src/langchain/pyth/pyth_price.ts | 15 ++-- src/langchain/pyth/types.ts | 11 --- src/langchain/raydium/raydium_amm.ts | 31 ++++++--- src/langchain/raydium/raydium_clmm.ts | 35 ++++++---- src/langchain/raydium/raydium_cpmm.ts | 38 ++++++---- src/langchain/rugcheck/index.ts | 1 - .../rugcheck/token_report_detailed.ts | 18 +++-- .../rugcheck/token_report_summary.ts | 18 +++-- src/langchain/rugcheck/types.ts | 17 ----- src/langchain/sendarcade/index.ts | 1 - .../sendarcade/rock_paper_scissors.ts | 38 ++++++++-- src/langchain/sendarcade/types.ts | 4 -- src/langchain/solana/balance.ts | 22 +++--- src/langchain/solana/balance_other.ts | 28 +++++--- src/langchain/solana/close_empty_accounts.ts | 16 +++-- src/langchain/solana/get_tps.ts | 18 ++--- src/langchain/solana/index.ts | 1 - src/langchain/solana/request_funds.ts | 18 +++-- src/langchain/solana/transfer.ts | 31 ++++++--- src/langchain/solana/types.ts | 13 ---- src/langchain/solayer/restake.ts | 18 +++-- .../squads_multisig/approve_proposal.ts | 9 ++- .../squads_multisig/create_multisig.ts | 9 ++- .../squads_multisig/create_proposal.ts | 9 ++- .../squads_multisig/deposit_to_multisig.ts | 9 ++- .../squads_multisig/execute_proposal.ts | 9 ++- .../squads_multisig/reject_proposal.ts | 9 ++- .../squads_multisig/transfer_from_multisig.ts | 9 ++- src/langchain/tensor/cancel_listing.ts | 24 ++++--- src/langchain/tensor/list_nft.ts | 34 +++++---- src/langchain/tensor/types.ts | 22 ------ src/langchain/tiplink/index.ts | 1 - src/langchain/tiplink/tiplink.ts | 30 +++++--- src/langchain/tiplink/types.ts | 13 ---- 100 files changed, 1133 insertions(+), 936 deletions(-) delete mode 100644 src/langchain/adrena/types.ts delete mode 100644 src/langchain/agent/types.ts delete mode 100644 src/langchain/bonfida/types.ts delete mode 100644 src/langchain/common/base.ts delete mode 100644 src/langchain/common/index.ts delete mode 100644 src/langchain/common/types.ts delete mode 100644 src/langchain/flash/types.ts delete mode 100644 src/langchain/gibwork/types.ts delete mode 100644 src/langchain/jupiter/types.ts delete mode 100644 src/langchain/lulo/types.ts delete mode 100644 src/langchain/manifest/types.ts delete mode 100644 src/langchain/metaplex/types.ts delete mode 100644 src/langchain/onsol/types.ts delete mode 100644 src/langchain/openbook/types.ts delete mode 100644 src/langchain/orca/types.ts delete mode 100644 src/langchain/pyth/types.ts delete mode 100644 src/langchain/rugcheck/types.ts delete mode 100644 src/langchain/sendarcade/types.ts delete mode 100644 src/langchain/solana/types.ts delete mode 100644 src/langchain/tensor/types.ts delete mode 100644 src/langchain/tiplink/types.ts diff --git a/src/langchain/3land/create_collection.ts b/src/langchain/3land/create_collection.ts index 9b95682..111dd4c 100644 --- a/src/langchain/3land/create_collection.ts +++ b/src/langchain/3land/create_collection.ts @@ -1,10 +1,11 @@ -import { BaseSolanaTool } from "../common/base"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; import { CreateCollectionOptions, StoreInitOptions, } from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; -export class Solana3LandCreateCollection extends BaseSolanaTool { +export class Solana3LandCreateCollection extends Tool { name = "3land_minting_tool"; description = `Creates an NFT Collection that you can visit on 3.land's website (3.land/collection/{collectionAccount}) @@ -15,7 +16,12 @@ export class Solana3LandCreateCollection extends BaseSolanaTool { collectionName (required): the name of the collection collectionDescription (required): the description of the collection mainImageUrl (required): the image of the collection - coverImageUrl (optional): the cover image of the collection`; + coverImageUrl (optional): the cover image of the collection + `; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { @@ -52,7 +58,11 @@ export class Solana3LandCreateCollection extends BaseSolanaTool { transaction: tx, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/3land/create_single.ts b/src/langchain/3land/create_single.ts index a79f9e8..25db42e 100644 --- a/src/langchain/3land/create_single.ts +++ b/src/langchain/3land/create_single.ts @@ -1,26 +1,32 @@ -import { BaseSolanaTool } from "../common/base"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; import { CreateSingleOptions, StoreInitOptions, } from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; -export class Solana3LandCreateSingle extends BaseSolanaTool { +export class Solana3LandCreateSingle extends Tool { name = "3land_minting_tool"; description = `Creates an NFT and lists it on 3.land's website - - Inputs: - privateKey (required): represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string - collectionAccount (optional): represents the account for the nft collection - itemName (required): the name of the NFT - sellerFee (required): the fee of the seller - itemAmount (required): the amount of the NFTs that can be minted - itemDescription (required): the description of the NFT - traits (required): the traits of the NFT [{trait_type: string, value: string}] - price (required): the price of the item, if is 0 the listing will be free - mainImageUrl (required): the main image of the NFT - coverImageUrl (optional): the cover image of the NFT - splHash (optional): the hash of the spl token, if not provided listing will be in $SOL - isMainnet (required): defines is the tx takes places in mainnet`; + + Inputs: + privateKey (required): represents the privateKey of the wallet - can be an array of numbers, Uint8Array or base58 string + collectionAccount (optional): represents the account for the nft collection + itemName (required): the name of the NFT + sellerFee (required): the fee of the seller + itemAmount (required): the amount of the NFTs that can be minted + itemDescription (required): the description of the NFT + traits (required): the traits of the NFT [{trait_type: string, value: string}] + price (required): the price of the item, if is 0 the listing will be free + mainImageUrl (required): the main image of the NFT + coverImageUrl (optional): the cover image of the NFT + splHash (optional): the hash of the spl token, if not provided listing will be in $SOL + isMainnet (required): defines is the tx takes places in mainnet + `; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { @@ -62,20 +68,24 @@ export class Solana3LandCreateSingle extends BaseSolanaTool { if (!collectionAccount) { throw new Error("Collection account is required"); } + const tx = await this.solanaKit.create3LandNft( optionsWithBase58, collectionAccount, createItemOptions, isMainnet, ); - return JSON.stringify({ status: "success", message: `Created listing successfully ${tx}`, transaction: tx, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/adrena/close_trade.ts b/src/langchain/adrena/close_trade.ts index c434b1b..7380e89 100644 --- a/src/langchain/adrena/close_trade.ts +++ b/src/langchain/adrena/close_trade.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { PerpTradeResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaPerpCloseTradeTool extends BaseSolanaTool { +export class SolanaPerpCloseTradeTool extends Tool { name = "solana_close_perp_trade"; description = `This tool can be used to close perpetuals trade ( It uses Adrena Protocol ). @@ -11,29 +11,39 @@ export class SolanaPerpCloseTradeTool extends BaseSolanaTool { price?: number, eg 100 (optional) side: string, eg: "long" or "short"`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params = JSON.parse(input); + const parsedInput = JSON.parse(input); const tx = - params.side === "long" + parsedInput.side === "long" ? await this.solanaKit.closePerpTradeLong({ - price: params.price, - tradeMint: new PublicKey(params.tradeMint), + price: parsedInput.price, + tradeMint: new PublicKey(parsedInput.tradeMint), }) : await this.solanaKit.closePerpTradeShort({ - price: params.price, - tradeMint: new PublicKey(params.tradeMint), + price: parsedInput.price, + tradeMint: new PublicKey(parsedInput.tradeMint), }); return JSON.stringify({ status: "success", message: "Perpetual trade closed successfully", transaction: tx, - ...params, - } as PerpTradeResponse); + price: parsedInput.price, + tradeMint: new PublicKey(parsedInput.tradeMint), + side: parsedInput.side, + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/adrena/open_trade.ts b/src/langchain/adrena/open_trade.ts index 38a79ae..18f3ecc 100644 --- a/src/langchain/adrena/open_trade.ts +++ b/src/langchain/adrena/open_trade.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { PerpTradeResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaPerpOpenTradeTool extends BaseSolanaTool { +export class SolanaPerpOpenTradeTool extends Tool { name = "solana_open_perp_trade"; description = `This tool can be used to open perpetuals trade ( It uses Adrena Protocol ). @@ -15,6 +15,10 @@ export class SolanaPerpOpenTradeTool extends BaseSolanaTool { slippage?: number, eg 0.3 (optional) side: string, eg: "long" or "short"`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const parsedInput = JSON.parse(input); @@ -42,10 +46,20 @@ export class SolanaPerpOpenTradeTool extends BaseSolanaTool { status: "success", message: "Perpetual trade opened successfully", transaction: tx, - ...parsedInput, - } as PerpTradeResponse); + price: parsedInput.price, + collateralAmount: parsedInput.collateralAmount, + collateralMint: new PublicKey(parsedInput.collateralMint), + leverage: parsedInput.leverage, + tradeMint: new PublicKey(parsedInput.tradeMint), + slippage: parsedInput.slippage, + side: parsedInput.side, + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/adrena/types.ts b/src/langchain/adrena/types.ts deleted file mode 100644 index 90f0d53..0000000 --- a/src/langchain/adrena/types.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface PerpCloseTradeInput { - tradeMint: string; - price?: number; - side: "long" | "short"; -} - -export interface PerpOpenTradeInput { - collateralAmount: number; - collateralMint?: string; - tradeMint?: string; - leverage?: number; - price?: number; - slippage?: number; - side: "long" | "short"; -} - -export interface PerpTradeResponse extends BaseToolResponse { - transaction?: string; - price?: number; - tradeMint?: string; - side?: "long" | "short"; - collateralAmount?: number; - collateralMint?: string; - leverage?: number; - slippage?: number; - token?: string; -} diff --git a/src/langchain/agent/create_image.ts b/src/langchain/agent/create_image.ts index 5837732..441945d 100644 --- a/src/langchain/agent/create_image.ts +++ b/src/langchain/agent/create_image.ts @@ -1,12 +1,16 @@ -import { BaseSolanaTool } from "../common/base"; -import { CreateImageResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; import { create_image } from "../../tools/agent"; -export class SolanaCreateImageTool extends BaseSolanaTool { +export class SolanaCreateImageTool extends Tool { name = "solana_create_image"; description = "Create an image using OpenAI's DALL-E. Input should be a string prompt for the image."; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + private validateInput(input: string): void { if (typeof input !== "string" || input.trim().length === 0) { throw new Error("Input must be a non-empty string prompt"); @@ -22,9 +26,13 @@ export class SolanaCreateImageTool extends BaseSolanaTool { status: "success", message: "Image created successfully", ...result, - } as CreateImageResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/agent/types.ts b/src/langchain/agent/types.ts deleted file mode 100644 index 8dce4d6..0000000 --- a/src/langchain/agent/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface CreateImageResponse extends BaseToolResponse { - images?: string[]; -} - -export interface WalletAddressResponse extends BaseToolResponse { - address?: string; -} diff --git a/src/langchain/agent/wallet_address.ts b/src/langchain/agent/wallet_address.ts index 79408fb..402f9f6 100644 --- a/src/langchain/agent/wallet_address.ts +++ b/src/langchain/agent/wallet_address.ts @@ -1,15 +1,15 @@ -import { BaseSolanaTool } from "../common/base"; -import { WalletAddressResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaGetWalletAddressTool extends BaseSolanaTool { +export class SolanaGetWalletAddressTool extends Tool { name = "solana_get_wallet_address"; - description = "Get the wallet address of the agent"; + description = `Get the wallet address of the agent`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } async _call(_input: string): Promise { - return JSON.stringify({ - status: "success", - message: "Wallet address retrieved successfully", - address: this.solanaKit.wallet_address.toString(), - } as WalletAddressResponse); + return this.solanaKit.wallet_address.toString(); } } diff --git a/src/langchain/bonfida/get_domain.ts b/src/langchain/bonfida/get_domain.ts index b81759e..6456879 100644 --- a/src/langchain/bonfida/get_domain.ts +++ b/src/langchain/bonfida/get_domain.ts @@ -1,13 +1,18 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { DomainResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaGetDomainTool extends BaseSolanaTool { +export class SolanaGetDomainTool extends Tool { name = "solana_get_domain"; description = `Retrieve the .sol domain associated for a given account address. Inputs: - account: string, eg "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required)`; + account: string, eg "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required) + `; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { @@ -18,9 +23,13 @@ export class SolanaGetDomainTool extends BaseSolanaTool { status: "success", message: "Primary domain retrieved successfully", domain, - } as DomainResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/bonfida/main_domain.ts b/src/langchain/bonfida/main_domain.ts index d9df61c..4bd17e8 100644 --- a/src/langchain/bonfida/main_domain.ts +++ b/src/langchain/bonfida/main_domain.ts @@ -1,15 +1,19 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { DomainResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaGetMainDomain extends BaseSolanaTool { +export class SolanaGetMainDomain extends Tool { name = "solana_get_main_domain"; description = `Get the main/favorite domain for a given wallet address. Inputs: owner: string, eg "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required)`; - protected async _call(input: string): Promise { + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + async _call(input: string): Promise { try { const ownerPubkey = new PublicKey(input.trim()); const mainDomain = @@ -19,9 +23,13 @@ export class SolanaGetMainDomain extends BaseSolanaTool { status: "success", message: "Main domain fetched successfully", domain: mainDomain, - } as DomainResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "FETCH_MAIN_DOMAIN_ERROR", + }); } } } diff --git a/src/langchain/bonfida/register_domain.ts b/src/langchain/bonfida/register_domain.ts index d4d3b94..d59d668 100644 --- a/src/langchain/bonfida/register_domain.ts +++ b/src/langchain/bonfida/register_domain.ts @@ -1,32 +1,54 @@ -import { BaseSolanaTool } from "../common/base"; -import { RegisterDomainInput, RegisterDomainResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaRegisterDomainTool extends BaseSolanaTool { +export class SolanaRegisterDomainTool extends Tool { name = "solana_register_domain"; description = `Register a .sol domain name for your wallet. Inputs: name: string, eg "pumpfun.sol" (required) - spaceKB: number, eg 1 (optional, default is 1)`; + spaceKB: number, eg 1 (optional, default is 1) + `; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + private validateInput(input: any): void { + if (!input.name || typeof input.name !== "string") { + throw new Error("name is required and must be a string"); + } + if ( + input.spaceKB !== undefined && + (typeof input.spaceKB !== "number" || input.spaceKB <= 0) + ) { + throw new Error("spaceKB must be a positive number when provided"); + } + } protected async _call(input: string): Promise { try { - const params: RegisterDomainInput = JSON.parse(input); + const parsedInput = JSON.parse(input); + this.validateInput(parsedInput); const tx = await this.solanaKit.registerDomain( - params.name, - params.spaceKB || 1, + parsedInput.name, + parsedInput.spaceKB || 1, ); return JSON.stringify({ status: "success", message: "Domain registered successfully", transaction: tx, - domain: `${params.name}.sol`, - spaceKB: params.spaceKB || 1, - } as RegisterDomainResponse); + domain: `${parsedInput.name}.sol`, + spaceKB: parsedInput.spaceKB || 1, + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/bonfida/resolve_domain.ts b/src/langchain/bonfida/resolve_domain.ts index be3dd6d..77e71a6 100644 --- a/src/langchain/bonfida/resolve_domain.ts +++ b/src/langchain/bonfida/resolve_domain.ts @@ -1,14 +1,19 @@ -import { BaseSolanaTool } from "../common/base"; -import { ResolveDomainResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaResolveDomainTool extends BaseSolanaTool { +export class SolanaResolveDomainTool extends Tool { name = "solana_resolve_domain"; description = `Resolve ONLY .sol domain names to a Solana PublicKey. This tool is exclusively for .sol domains. DO NOT use this for other domain types like .blink, .bonk, etc. Inputs: - domain: string, eg "pumpfun.sol" (required)`; + domain: string, eg "pumpfun.sol" (required) + `; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { @@ -19,9 +24,13 @@ export class SolanaResolveDomainTool extends BaseSolanaTool { status: "success", message: "Domain resolved successfully", publicKey: publicKey.toBase58(), - } as ResolveDomainResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/bonfida/types.ts b/src/langchain/bonfida/types.ts deleted file mode 100644 index bf9a31f..0000000 --- a/src/langchain/bonfida/types.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface RegisterDomainInput { - name: string; - spaceKB?: number; -} - -export interface ResolveDomainInput { - domain: string; -} - -export interface GetDomainInput { - account: string; -} - -export interface OwnedDomainsInput { - owner: string; -} - -export interface TldDomainsInput { - tld: string; -} - -export interface RegisterDomainResponse extends BaseToolResponse { - transaction?: string; - domain?: string; - spaceKB?: number; -} - -export interface ResolveDomainResponse extends BaseToolResponse { - publicKey?: string; - owner?: string; -} - -export interface DomainResponse extends BaseToolResponse { - domain?: string | null; -} - -export interface DomainsListResponse extends BaseToolResponse { - domains?: string[]; -} - -export interface TldsResponse extends BaseToolResponse { - tlds?: string[]; -} diff --git a/src/langchain/common/base.ts b/src/langchain/common/base.ts deleted file mode 100644 index 80757ca..0000000 --- a/src/langchain/common/base.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Tool } from "langchain/tools"; -import { SolanaAgentKit } from "../../agent"; -import { BaseToolResponse } from "./types"; - -export abstract class BaseSolanaTool extends Tool { - constructor(protected solanaKit: SolanaAgentKit) { - super(); - } - - protected handleError(error: any): string { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - } as BaseToolResponse); - } -} diff --git a/src/langchain/common/index.ts b/src/langchain/common/index.ts deleted file mode 100644 index 97fae0d..0000000 --- a/src/langchain/common/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./types"; -export * from "./base"; diff --git a/src/langchain/common/types.ts b/src/langchain/common/types.ts deleted file mode 100644 index 71400bb..0000000 --- a/src/langchain/common/types.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface BaseToolResponse { - status: "success" | "error"; - message: string; - code?: string; -} diff --git a/src/langchain/dexscreener/token_data_ticker.ts b/src/langchain/dexscreener/token_data_ticker.ts index 42df350..88d8a6d 100644 --- a/src/langchain/dexscreener/token_data_ticker.ts +++ b/src/langchain/dexscreener/token_data_ticker.ts @@ -1,23 +1,31 @@ -import { BaseSolanaTool } from "../common/base"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaTokenDataByTickerTool extends BaseSolanaTool { +export class SolanaTokenDataByTickerTool extends Tool { name = "solana_token_data_by_ticker"; description = `Get the token data for a given token ticker Inputs: ticker is required. ticker: string, eg "USDC" (required)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const ticker = input.trim(); const tokenData = await this.solanaKit.getTokenDataByTicker(ticker); - return JSON.stringify({ status: "success", tokenData, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/flash/flash_close.ts b/src/langchain/flash/flash_close.ts index 623fd07..c671bb1 100644 --- a/src/langchain/flash/flash_close.ts +++ b/src/langchain/flash/flash_close.ts @@ -1,7 +1,7 @@ -import { BaseSolanaTool } from "../common/base"; -import { FlashCloseTradeInput, PerpTradeResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaFlashCloseTrade extends BaseSolanaTool { +export class SolanaFlashCloseTrade extends Tool { name = "solana_flash_close_trade"; description = `Close an existing leveraged trading position on Flash.Trade exchange. @@ -11,24 +11,43 @@ export class SolanaFlashCloseTrade extends BaseSolanaTool { Example prompt is Close a 20x leveraged trade for SOL on long side`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params: FlashCloseTradeInput = JSON.parse(input); + const parsedInput = JSON.parse(input); + + // Validate input parameters + if (!parsedInput.token) { + throw new Error("Token is required"); + } + if (!["SOL", "BTC", "ETH"].includes(parsedInput.token)) { + throw new Error('Token must be one of ["SOL", "BTC", "ETH"]'); + } + if (!["long", "short"].includes(parsedInput.side)) { + throw new Error('Side must be either "long" or "short"'); + } const tx = await this.solanaKit.flashCloseTrade({ - token: params.token, - side: params.side, + token: parsedInput.token, + side: parsedInput.side, }); return JSON.stringify({ status: "success", message: "Flash trade position closed successfully", transaction: tx, - token: params.token, - side: params.side, - } as PerpTradeResponse); + token: parsedInput.token, + side: parsedInput.side, + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/flash/flash_open.ts b/src/langchain/flash/flash_open.ts index c8cdd0e..e35a966 100644 --- a/src/langchain/flash/flash_open.ts +++ b/src/langchain/flash/flash_open.ts @@ -1,7 +1,8 @@ -import { BaseSolanaTool } from "../common/base"; -import { FlashOpenTradeInput, PerpTradeResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; +import { marketTokenMap } from "../../utils/flashUtils"; -export class SolanaFlashOpenTrade extends BaseSolanaTool { +export class SolanaFlashOpenTrade extends Tool { name = "solana_flash_open_trade"; description = `This tool can be used to open a new leveraged trading position on Flash.Trade exchange. @@ -13,28 +14,68 @@ export class SolanaFlashOpenTrade extends BaseSolanaTool { Example prompt is Open a 20x leveraged trade for SOL on long side using flash trade with 500 USD as collateral`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params: FlashOpenTradeInput = JSON.parse(input); + const parsedInput = JSON.parse(input); + + // Validate input parameters + if (!parsedInput.token) { + throw new Error("Token is required, received: " + parsedInput.token); + } + if (!Object.keys(marketTokenMap).includes(parsedInput.token)) { + throw new Error( + "Token must be one of " + + Object.keys(marketTokenMap).join(", ") + + ", received: " + + parsedInput.token + + "\n" + + "Please check https://beast.flash.trade/ for the list of supported tokens", + ); + } + if (!["long", "short"].includes(parsedInput.type)) { + throw new Error( + 'Type must be either "long" or "short", received: ' + + parsedInput.type, + ); + } + if (!parsedInput.collateral || parsedInput.collateral <= 0) { + throw new Error( + "Collateral amount must be positive, received: " + + parsedInput.collateral, + ); + } + if (!parsedInput.leverage || parsedInput.leverage <= 0) { + throw new Error( + "Leverage must be positive, received: " + parsedInput.leverage, + ); + } const tx = await this.solanaKit.flashOpenTrade({ - token: params.token, - side: params.type, - collateralUsd: params.collateral, - leverage: params.leverage, + token: parsedInput.token, + side: parsedInput.type, + collateralUsd: parsedInput.collateral, + leverage: parsedInput.leverage, }); return JSON.stringify({ status: "success", message: "Flash trade position opened successfully", transaction: tx, - token: params.token, - side: params.type, - collateralAmount: params.collateral, - leverage: params.leverage, - } as PerpTradeResponse); + token: parsedInput.token, + side: parsedInput.type, + collateral: parsedInput.collateral, + leverage: parsedInput.leverage, + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/flash/index.ts b/src/langchain/flash/index.ts index bb17b16..da6243e 100644 --- a/src/langchain/flash/index.ts +++ b/src/langchain/flash/index.ts @@ -1,3 +1,2 @@ export * from "./flash_open"; export * from "./flash_close"; -export * from "./types"; diff --git a/src/langchain/flash/types.ts b/src/langchain/flash/types.ts deleted file mode 100644 index d733d5f..0000000 --- a/src/langchain/flash/types.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface FlashOpenTradeInput { - token: string; - type: "long" | "short"; - collateral: number; - leverage: number; -} - -export interface FlashCloseTradeInput { - token: string; - side: "long" | "short"; -} - -export interface PerpTradeResponse extends BaseToolResponse { - transaction?: string; - price?: number; - tradeMint?: string; - side?: "long" | "short"; - collateralAmount?: number; - collateralMint?: string; - leverage?: number; - slippage?: number; - token?: string; -} diff --git a/src/langchain/gibwork/create_task.ts b/src/langchain/gibwork/create_task.ts index e3a357e..c7af778 100644 --- a/src/langchain/gibwork/create_task.ts +++ b/src/langchain/gibwork/create_task.ts @@ -1,7 +1,8 @@ -import { BaseSolanaTool } from "../common/base"; -import { CreateGibworkTaskInput, GibworkTaskResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; +import { GibworkCreateTaskReponse } from "../../index"; -export class SolanaCreateGibworkTask extends BaseSolanaTool { +export class SolanaCreateGibworkTask extends Tool { name = "create_gibwork_task"; description = `Create a task on Gibwork. @@ -12,30 +13,40 @@ export class SolanaCreateGibworkTask extends BaseSolanaTool { tags: string[], list of tags associated with the task (required) payer: string, payer address (optional, defaults to agent wallet) tokenMintAddress: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required) - amount: number, payment amount (required)`; + amount: number, payment amount (required) + `; + + constructor(private solanaSdk: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { - const params: CreateGibworkTaskInput = JSON.parse(input); + const parsedInput = JSON.parse(input); - const taskData = await this.solanaKit.createGibworkTask( - params.title, - params.content, - params.requirements, - params.tags, - params.tokenMintAddress, - params.amount, - params.payer, + const taskData = await this.solanaSdk.createGibworkTask( + parsedInput.title, + parsedInput.content, + parsedInput.requirements, + parsedInput.tags, + parsedInput.tokenMintAddress, + parsedInput.amount, + parsedInput.payer, ); - return JSON.stringify({ + const response: GibworkCreateTaskReponse = { status: "success", taskId: taskData.taskId, signature: taskData.signature, - message: `Task "${params.title}" created successfully`, - } as GibworkTaskResponse); - } catch (error: any) { - return this.handleError(error); + }; + + return JSON.stringify(response); + } catch (err: any) { + return JSON.stringify({ + status: "error", + message: err.message, + code: err.code || "CREATE_TASK_ERROR", + }); } } } diff --git a/src/langchain/gibwork/index.ts b/src/langchain/gibwork/index.ts index cbe7509..34d0b3b 100644 --- a/src/langchain/gibwork/index.ts +++ b/src/langchain/gibwork/index.ts @@ -1,2 +1 @@ export * from "./create_task"; -export * from "./types"; diff --git a/src/langchain/gibwork/types.ts b/src/langchain/gibwork/types.ts deleted file mode 100644 index 489ecbb..0000000 --- a/src/langchain/gibwork/types.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface CreateGibworkTaskInput { - title: string; - content: string; - requirements: string; - tags: string[]; - tokenMintAddress: string; - amount: number; - payer?: string; -} - -export interface GibworkTaskResponse extends BaseToolResponse { - taskId?: string; - signature?: string; -} diff --git a/src/langchain/index.ts b/src/langchain/index.ts index d0a3bb3..76efb18 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -56,9 +56,9 @@ import { SolanaBatchOrderTool, SolanaCancelAllOrdersTool, SolanaWithdrawAllTool, - SolanaOrcaClosePosition, + SolanaClosePosition, SolanaOrcaCreateCLMM, - SolanaOrcaCreateSingleSidedPool, + SolanaOrcaCreateSingleSideLiquidityPool, SolanaOrcaFetchPositions, SolanaOrcaOpenCenteredPosition, SolanaOrcaOpenSingleSidedPosition, @@ -117,9 +117,9 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaBatchOrderTool(solanaKit), new SolanaCancelAllOrdersTool(solanaKit), new SolanaWithdrawAllTool(solanaKit), - new SolanaOrcaClosePosition(solanaKit), + new SolanaClosePosition(solanaKit), new SolanaOrcaCreateCLMM(solanaKit), - new SolanaOrcaCreateSingleSidedPool(solanaKit), + new SolanaOrcaCreateSingleSideLiquidityPool(solanaKit), new SolanaOrcaFetchPositions(solanaKit), new SolanaOrcaOpenCenteredPosition(solanaKit), new SolanaOrcaOpenSingleSidedPosition(solanaKit), diff --git a/src/langchain/jupiter/fetch_price.ts b/src/langchain/jupiter/fetch_price.ts index 789625d..78df83b 100644 --- a/src/langchain/jupiter/fetch_price.ts +++ b/src/langchain/jupiter/fetch_price.ts @@ -1,13 +1,20 @@ -import { BaseSolanaTool } from "../common/base"; -import { PriceResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaFetchPriceTool extends BaseSolanaTool { +/** + * Tool to fetch the price of a token in USDC + */ +export class SolanaFetchPriceTool extends Tool { name = "solana_fetch_price"; description = `Fetch the price of a given token in USDC. Inputs: - tokenId: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + async _call(input: string): Promise { try { const price = await this.solanaKit.fetchTokenPrice(input.trim()); @@ -15,9 +22,13 @@ export class SolanaFetchPriceTool extends BaseSolanaTool { status: "success", tokenId: input.trim(), priceInUSDC: price, - } as PriceResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/jupiter/index.ts b/src/langchain/jupiter/index.ts index 2a09508..93b9b2a 100644 --- a/src/langchain/jupiter/index.ts +++ b/src/langchain/jupiter/index.ts @@ -2,4 +2,3 @@ export * from "./fetch_price"; export * from "./token_data"; export * from "./trade"; export * from "./stake"; -export * from "./types"; diff --git a/src/langchain/jupiter/stake.ts b/src/langchain/jupiter/stake.ts index 3c5d3fe..38a9263 100644 --- a/src/langchain/jupiter/stake.ts +++ b/src/langchain/jupiter/stake.ts @@ -1,13 +1,17 @@ -import { BaseSolanaTool } from "../common/base"; -import { StakeResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaStakeTool extends BaseSolanaTool { +export class SolanaStakeTool extends Tool { name = "solana_stake"; description = `This tool can be used to stake your SOL (Solana), also called as SOL staking or liquid staking. Inputs ( input is a JSON string ): amount: number, eg 1 or 0.01 (required)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const parsedInput = JSON.parse(input) || Number(input); @@ -19,9 +23,13 @@ export class SolanaStakeTool extends BaseSolanaTool { message: "Staked successfully", transaction: tx, amount: parsedInput.amount, - } as StakeResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/jupiter/token_data.ts b/src/langchain/jupiter/token_data.ts index 54fbc05..d202656 100644 --- a/src/langchain/jupiter/token_data.ts +++ b/src/langchain/jupiter/token_data.ts @@ -1,15 +1,21 @@ -import { BaseSolanaTool } from "../common/base"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaTokenDataTool extends BaseSolanaTool { +export class SolanaTokenDataTool extends Tool { name = "solana_token_data"; description = `Get the token data for a given token mint address Inputs: mintAddress is required. mintAddress: string, eg "So11111111111111111111111111111111111111112" (required)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const parsedInput = input.trim(); + const tokenData = await this.solanaKit.getTokenDataByAddress(parsedInput); return JSON.stringify({ @@ -17,7 +23,11 @@ export class SolanaTokenDataTool extends BaseSolanaTool { tokenData, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/jupiter/trade.ts b/src/langchain/jupiter/trade.ts index 9c88b5b..f3f03cc 100644 --- a/src/langchain/jupiter/trade.ts +++ b/src/langchain/jupiter/trade.ts @@ -1,15 +1,20 @@ -import { BaseSolanaTool } from "../common"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; import { PublicKey } from "@solana/web3.js"; -export class SolanaTradeTool extends BaseSolanaTool { +export class SolanaTradeTool extends Tool { name = "solana_trade"; description = `This tool can be used to swap tokens to another token ( It uses Jupiter Exchange ). - - Inputs ( input is a JSON string ): - outputMint: string, eg "So11111111111111111111111111111111111111112" or "SENDdRQtYMWaQrBroBrJ2Q53fgVuq95CV9UPGEvpCxa" (required) - inputAmount: number, eg 1 or 0.01 (required) - inputMint?: string, eg "So11111111111111111111111111111111111111112" (optional) - slippageBps?: number, eg 100 (optional)`; + + Inputs ( input is a JSON string ): + outputMint: string, eg "So11111111111111111111111111111111111111112" or "SENDdRQtYMWaQrBroBrJ2Q53fgVuq95CV9UPGEvpCxa" (required) + inputAmount: number, eg 1 or 0.01 (required) + inputMint?: string, eg "So11111111111111111111111111111111111111112" (optional) + slippageBps?: number, eg 100 (optional)`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { @@ -33,7 +38,11 @@ export class SolanaTradeTool extends BaseSolanaTool { outputToken: parsedInput.outputMint, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/jupiter/types.ts b/src/langchain/jupiter/types.ts deleted file mode 100644 index 42ca0e8..0000000 --- a/src/langchain/jupiter/types.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface FetchPriceInput { - tokenId: string; -} - -export interface PriceResponse extends BaseToolResponse { - tokenId?: string; - priceInUSDC?: string; -} - -export interface StakeInput { - amount: number; -} - -export interface StakeResponse extends BaseToolResponse { - transaction?: string; - amount?: number; -} diff --git a/src/langchain/lightprotocol/compressed_airdrop.ts b/src/langchain/lightprotocol/compressed_airdrop.ts index 0efa235..1cf5e8a 100644 --- a/src/langchain/lightprotocol/compressed_airdrop.ts +++ b/src/langchain/lightprotocol/compressed_airdrop.ts @@ -1,6 +1,7 @@ -import { BaseSolanaTool } from "../common/base"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaCompressedAirdropTool extends BaseSolanaTool { +export class SolanaCompressedAirdropTool extends Tool { name = "solana_compressed_airdrop"; description = `Airdrop SPL tokens with ZK Compression (also called as airdropping tokens) @@ -12,26 +13,34 @@ export class SolanaCompressedAirdropTool extends BaseSolanaTool { priorityFeeInLamports: number, the priority fee in lamports. Default is 30_000. (optional) shouldLog: boolean, whether to log progress to stdout. Default is false. (optional)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params = JSON.parse(input); + const parsedInput = JSON.parse(input); const txs = await this.solanaKit.sendCompressedAirdrop( - params.mintAddress, - params.amount, - params.decimals, - params.recipients, - params.priorityFeeInLamports || 30_000, - params.shouldLog || false, + parsedInput.mintAddress, + parsedInput.amount, + parsedInput.decimals, + parsedInput.recipients, + parsedInput.priorityFeeInLamports || 30_000, + parsedInput.shouldLog || false, ); return JSON.stringify({ status: "success", - message: `Airdropped ${params.amount} tokens to ${params.recipients.length} recipients.`, + message: `Airdropped ${parsedInput.amount} tokens to ${parsedInput.recipients.length} recipients.`, transactionHashes: txs, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/lulo/index.ts b/src/langchain/lulo/index.ts index 9a7fe85..f4ecf39 100644 --- a/src/langchain/lulo/index.ts +++ b/src/langchain/lulo/index.ts @@ -1,2 +1 @@ export * from "./lend_asset"; -export * from "./types"; diff --git a/src/langchain/lulo/lend_asset.ts b/src/langchain/lulo/lend_asset.ts index c30300b..d1e2655 100644 --- a/src/langchain/lulo/lend_asset.ts +++ b/src/langchain/lulo/lend_asset.ts @@ -1,17 +1,20 @@ -import { BaseSolanaTool } from "../common/base"; -import { LendAssetResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaLendAssetTool extends BaseSolanaTool { +export class SolanaLendAssetTool extends Tool { name = "solana_lend_asset"; description = `Lend idle USDC for yield using Lulo. ( only USDC is supported ) Inputs (input is a json string): amount: number, eg 1, 0.01 (required)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + async _call(input: string): Promise { try { - // Parse input either as direct number or JSON object - const amount = JSON.parse(input).amount || Number(input); + const amount = JSON.parse(input).amount || input; const tx = await this.solanaKit.lendAssets(amount); @@ -20,9 +23,13 @@ export class SolanaLendAssetTool extends BaseSolanaTool { message: "Asset lent successfully", transaction: tx, amount, - } as LendAssetResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/lulo/types.ts b/src/langchain/lulo/types.ts deleted file mode 100644 index aba87b2..0000000 --- a/src/langchain/lulo/types.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface LendAssetInput { - amount: number; -} - -export interface LendAssetResponse extends BaseToolResponse { - transaction?: string; - amount?: number; -} diff --git a/src/langchain/manifest/batch_order.ts b/src/langchain/manifest/batch_order.ts index 4249efd..36dedbf 100644 --- a/src/langchain/manifest/batch_order.ts +++ b/src/langchain/manifest/batch_order.ts @@ -1,39 +1,44 @@ -import { BaseSolanaTool } from "../common"; import { OrderParams } from "../../types"; import { generateOrdersfromPattern } from "../../tools/manifest"; import { PublicKey } from "@solana/web3.js"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaBatchOrderTool extends BaseSolanaTool { +export class SolanaBatchOrderTool extends Tool { name = "solana_batch_order"; description = `Places multiple limit orders in one transaction using Manifest. Submit orders either as a list or pattern: - - 1. List format: - { - "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", - "orders": [ - { "quantity": 1, "side": "Buy", "price": 200 }, - { "quantity": 0.5, "side": "Sell", "price": 205 } - ] + + 1. List format: + { + "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", + "orders": [ + { "quantity": 1, "side": "Buy", "price": 200 }, + { "quantity": 0.5, "side": "Sell", "price": 205 } + ] + } + + 2. Pattern format: + { + "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", + "pattern": { + "side": "Buy", + "totalQuantity": 100, + "priceRange": { "max": 1.0 }, + "spacing": { "type": "percentage", "value": 1 }, + "numberOfOrders": 5 } - - 2. Pattern format: - { - "marketId": "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ", - "pattern": { - "side": "Buy", - "totalQuantity": 100, - "priceRange": { "max": 1.0 }, - "spacing": { "type": "percentage", "value": 1 }, - "numberOfOrders": 5 - } - } - - Examples: - - "Place 5 buy orders totaling 100 tokens, 1% apart below $1" - - "Create 3 sell orders of 10 tokens each between $50-$55" - - "Place buy orders worth 50 tokens, $0.10 spacing from $0.80" - - Important: All orders must be in one transaction. Combine buy and sell orders into a single pattern or list. Never break the orders down to individual buy or sell orders.`; + } + + Examples: + - "Place 5 buy orders totaling 100 tokens, 1% apart below $1" + - "Create 3 sell orders of 10 tokens each between $50-$55" + - "Place buy orders worth 50 tokens, $0.10 spacing from $0.80" + + Important: All orders must be in one transaction. Combine buy and sell orders into a single pattern or list. Never break the orders down to individual buy or sell orders.`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { @@ -82,7 +87,11 @@ export class SolanaBatchOrderTool extends BaseSolanaTool { orders: parsedInput.orders, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/manifest/cancel_orders.ts b/src/langchain/manifest/cancel_orders.ts index 1ef4ff3..4b185a9 100644 --- a/src/langchain/manifest/cancel_orders.ts +++ b/src/langchain/manifest/cancel_orders.ts @@ -1,12 +1,17 @@ -import { BaseSolanaTool } from "../common"; import { PublicKey } from "@solana/web3.js"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaCancelAllOrdersTool extends BaseSolanaTool { +export class SolanaCancelAllOrdersTool extends Tool { name = "solana_cancel_all_orders"; description = `This tool can be used to cancel all orders from a Manifest market. - - Input ( input is a JSON string ): - marketId: string, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required)`; + + Input ( input is a JSON string ): + marketId: string, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required)`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { @@ -20,7 +25,11 @@ export class SolanaCancelAllOrdersTool extends BaseSolanaTool { marketId, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/manifest/index.ts b/src/langchain/manifest/index.ts index f10156c..6657556 100644 --- a/src/langchain/manifest/index.ts +++ b/src/langchain/manifest/index.ts @@ -3,4 +3,3 @@ export * from "./batch_order"; export * from "./cancel_orders"; export * from "./limit_order"; export * from "./withdraw"; -export * from "./types"; diff --git a/src/langchain/manifest/limit_order.ts b/src/langchain/manifest/limit_order.ts index 73b23e1..72f26e5 100644 --- a/src/langchain/manifest/limit_order.ts +++ b/src/langchain/manifest/limit_order.ts @@ -1,17 +1,22 @@ -import { BaseSolanaTool } from "../common"; import { PublicKey } from "@solana/web3.js"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaLimitOrderTool extends BaseSolanaTool { +export class SolanaLimitOrderTool extends Tool { name = "solana_limit_order"; description = `This tool can be used to place limit orders using Manifest. - - Do not allow users to place multiple orders with this instruction, use solana_batch_order instead. - - Inputs ( input is a JSON string ): - marketId: PublicKey, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required) - quantity: number, eg 1 or 0.01 (required) - side: string, eg "Buy" or "Sell" (required) - price: number, in tokens eg 200 for SOL/USDC (required)`; + + Do not allow users to place multiple orders with this instruction, use solana_batch_order instead. + + Inputs ( input is a JSON string ): + marketId: PublicKey, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required) + quantity: number, eg 1 or 0.01 (required) + side: string, eg "Buy" or "Sell" (required) + price: number, in tokens eg 200 for SOL/USDC (required)`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { @@ -34,7 +39,11 @@ export class SolanaLimitOrderTool extends BaseSolanaTool { price: parsedInput.price, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/manifest/manifest_market.ts b/src/langchain/manifest/manifest_market.ts index 0999f8d..d05bc70 100644 --- a/src/langchain/manifest/manifest_market.ts +++ b/src/langchain/manifest/manifest_market.ts @@ -1,22 +1,27 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { ManifestMarketInput, ManifestMarketResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaManifestCreateMarket extends BaseSolanaTool { +export class SolanaManifestCreateMarket extends Tool { name = "solana_manifest_create_market"; description = `Manifest market Inputs (input is a json string): baseMint: string (required) - quoteMint: string (required)`; + quoteMint: string (required) + `; - protected async _call(input: string): Promise { + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + async _call(input: string): Promise { try { - const params: ManifestMarketInput = JSON.parse(input); + const inputFormat = JSON.parse(input); const tx = await this.solanaKit.manifestCreateMarket( - new PublicKey(params.baseMint), - new PublicKey(params.quoteMint), + new PublicKey(inputFormat.baseMint), + new PublicKey(inputFormat.quoteMint), ); return JSON.stringify({ @@ -24,9 +29,13 @@ export class SolanaManifestCreateMarket extends BaseSolanaTool { message: "Create manifest market successfully", transaction: tx[0], marketId: tx[1], - } as ManifestMarketResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/manifest/types.ts b/src/langchain/manifest/types.ts deleted file mode 100644 index c0150f0..0000000 --- a/src/langchain/manifest/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface ManifestMarketInput { - baseMint: string; - quoteMint: string; -} - -export interface ManifestMarketResponse extends BaseToolResponse { - transaction: string; - marketId: string; -} diff --git a/src/langchain/manifest/withdraw.ts b/src/langchain/manifest/withdraw.ts index 7d110fb..31a172f 100644 --- a/src/langchain/manifest/withdraw.ts +++ b/src/langchain/manifest/withdraw.ts @@ -1,12 +1,17 @@ -import { BaseSolanaTool } from "../common"; import { PublicKey } from "@solana/web3.js"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaWithdrawAllTool extends BaseSolanaTool { +export class SolanaWithdrawAllTool extends Tool { name = "solana_withdraw_all"; description = `This tool can be used to withdraw all funds from a Manifest market. - - Input ( input is a JSON string ): - marketId: string, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required)`; + + Input ( input is a JSON string ): + marketId: string, eg "ENhU8LsaR7vDD2G1CsWcsuSGNrih9Cv5WZEk7q9kPapQ" for SOL/USDC (required)`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { diff --git a/src/langchain/metaplex/deploy_collection.ts b/src/langchain/metaplex/deploy_collection.ts index cd507a1..08f6d62 100644 --- a/src/langchain/metaplex/deploy_collection.ts +++ b/src/langchain/metaplex/deploy_collection.ts @@ -1,30 +1,37 @@ -import { BaseSolanaTool } from "../common/base"; -import { DeployCollectionInput, DeployCollectionResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaDeployCollectionTool extends BaseSolanaTool { +export class SolanaDeployCollectionTool extends Tool { name = "solana_deploy_collection"; description = `Deploy a new NFT collection on Solana blockchain. Inputs (input is a JSON string): name: string, eg "My Collection" (required) uri: string, eg "https://example.com/collection.json" (required) - royaltyBasisPoints?: number, eg 500 for 5% (optional) - creators?: Array of { address: string, percentage: number } (optional)`; + royaltyBasisPoints?: number, eg 500 for 5% (optional)`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { - const params: DeployCollectionInput = JSON.parse(input); + const parsedInput = JSON.parse(input); - const result = await this.solanaKit.deployCollection(params); + const result = await this.solanaKit.deployCollection(parsedInput); return JSON.stringify({ status: "success", message: "Collection deployed successfully", collectionAddress: result.collectionAddress.toString(), - name: params.name, - } as DeployCollectionResponse); + name: parsedInput.name, + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/metaplex/deploy_token.ts b/src/langchain/metaplex/deploy_token.ts index 2b6454d..77eb692 100644 --- a/src/langchain/metaplex/deploy_token.ts +++ b/src/langchain/metaplex/deploy_token.ts @@ -1,6 +1,7 @@ -import { BaseSolanaTool } from "../common/base"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaDeployTokenTool extends BaseSolanaTool { +export class SolanaDeployTokenTool extends Tool { name = "solana_deploy_token"; description = `Deploy a new token on Solana blockchain. @@ -11,26 +12,34 @@ export class SolanaDeployTokenTool extends BaseSolanaTool { decimals?: number, eg 9 (optional, defaults to 9) initialSupply?: number, eg 1000000 (optional)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params = JSON.parse(input); + const parsedInput = JSON.parse(input); const result = await this.solanaKit.deployToken( - params.name, - params.uri, - params.symbol, - params.decimals, - params.initialSupply, + parsedInput.name, + parsedInput.uri, + parsedInput.symbol, + parsedInput.decimals, + parsedInput.initialSupply, ); return JSON.stringify({ status: "success", message: "Token deployed successfully", mintAddress: result.mint.toString(), - decimals: params.decimals || 9, + decimals: parsedInput.decimals || 9, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/metaplex/index.ts b/src/langchain/metaplex/index.ts index f3aa4f4..7cdfe15 100644 --- a/src/langchain/metaplex/index.ts +++ b/src/langchain/metaplex/index.ts @@ -1,4 +1,3 @@ export * from "./deploy_collection"; export * from "./mint_nft"; export * from "./deploy_token"; -export * from "./types"; diff --git a/src/langchain/metaplex/mint_nft.ts b/src/langchain/metaplex/mint_nft.ts index 2acd5b9..775c6a4 100644 --- a/src/langchain/metaplex/mint_nft.ts +++ b/src/langchain/metaplex/mint_nft.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { MintNFTInput, MintNFTResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaMintNFTTool extends BaseSolanaTool { +export class SolanaMintNFTTool extends Tool { name = "solana_mint_nft"; description = `Mint a new NFT in a collection on Solana blockchain. @@ -10,20 +10,24 @@ export class SolanaMintNFTTool extends BaseSolanaTool { collectionMint: string, eg "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w" (required) - The address of the collection to mint into name: string, eg "My NFT" (required) uri: string, eg "https://example.com/nft.json" (required) - recipient?: string, eg "9aUn5swQzUTRanaaTwmszxiv89cvFwUCjEBv1vZCoT1u" (optional) - The wallet to receive the NFT, defaults to agent's wallet`; + recipient?: string, eg "9aUn5swQzUTRanaaTwmszxiv89cvFwUCjEBv1vZCoT1u" (optional) - The wallet to receive the NFT, defaults to agent's wallet which is ${this.solanaKit.wallet_address.toString()}`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } protected async _call(input: string): Promise { try { - const params: MintNFTInput = JSON.parse(input); + const parsedInput = JSON.parse(input); const result = await this.solanaKit.mintNFT( - new PublicKey(params.collectionMint), + new PublicKey(parsedInput.collectionMint), { - name: params.name, - uri: params.uri, + name: parsedInput.name, + uri: parsedInput.uri, }, - params.recipient - ? new PublicKey(params.recipient) + parsedInput.recipient + ? new PublicKey(parsedInput.recipient) : this.solanaKit.wallet_address, ); @@ -32,13 +36,18 @@ export class SolanaMintNFTTool extends BaseSolanaTool { message: "NFT minted successfully", mintAddress: result.mint.toString(), metadata: { - name: params.name, - uri: params.uri, + name: parsedInput.name, + symbol: parsedInput.symbol, + uri: parsedInput.uri, }, - recipient: params.recipient || result.mint.toString(), - } as MintNFTResponse); + recipient: parsedInput.recipient || result.mint.toString(), + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/metaplex/types.ts b/src/langchain/metaplex/types.ts deleted file mode 100644 index ecfcafd..0000000 --- a/src/langchain/metaplex/types.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface DeployCollectionInput { - name: string; - uri: string; - royaltyBasisPoints?: number; - creators?: Array<{ - address: string; - percentage: number; - }>; -} - -export interface MintNFTInput { - collectionMint: string; - name: string; - uri: string; - recipient?: string; -} - -export interface DeployCollectionResponse extends BaseToolResponse { - collectionAddress?: string; - name?: string; -} - -export interface MintNFTResponse extends BaseToolResponse { - mintAddress?: string; - metadata?: { - name: string; - symbol?: string; - uri: string; - }; - recipient?: string; -} diff --git a/src/langchain/onsol/get_all_tld.ts b/src/langchain/onsol/get_all_tld.ts index 8f5f1b4..b6ee67c 100644 --- a/src/langchain/onsol/get_all_tld.ts +++ b/src/langchain/onsol/get_all_tld.ts @@ -1,9 +1,14 @@ -import { BaseSolanaTool } from "../common"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaGetAllTlds extends BaseSolanaTool { +export class SolanaGetAllTlds extends Tool { name = "solana_get_all_tlds"; description = `Get all active top-level domains (TLDs) in the AllDomains Name Service`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + async _call(): Promise { try { const tlds = await this.solanaKit.getAllDomainsTLDs(); diff --git a/src/langchain/onsol/index.ts b/src/langchain/onsol/index.ts index 3149d75..f9f025c 100644 --- a/src/langchain/onsol/index.ts +++ b/src/langchain/onsol/index.ts @@ -2,4 +2,3 @@ export * from "./resolve_all_domains"; export * from "./owned_domains"; export * from "./tld_domains"; export * from "./get_all_tld"; -export * from "./types"; diff --git a/src/langchain/onsol/owned_domains.ts b/src/langchain/onsol/owned_domains.ts index dd5a3ca..df7e84d 100644 --- a/src/langchain/onsol/owned_domains.ts +++ b/src/langchain/onsol/owned_domains.ts @@ -1,15 +1,19 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { DomainsListResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaGetOwnedDomains extends BaseSolanaTool { +export class SolanaGetOwnedDomains extends Tool { name = "solana_get_owned_domains"; description = `Get all domains owned by a specific wallet address. Inputs: owner: string, eg "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required)`; - protected async _call(input: string): Promise { + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + async _call(input: string): Promise { try { const ownerPubkey = new PublicKey(input.trim()); const domains = await this.solanaKit.getOwnedAllDomains(ownerPubkey); @@ -18,9 +22,13 @@ export class SolanaGetOwnedDomains extends BaseSolanaTool { status: "success", message: "Owned domains fetched successfully", domains, - } as DomainsListResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "FETCH_OWNED_DOMAINS_ERROR", + }); } } } diff --git a/src/langchain/onsol/resolve_all_domains.ts b/src/langchain/onsol/resolve_all_domains.ts index 586a7e2..30e053c 100644 --- a/src/langchain/onsol/resolve_all_domains.ts +++ b/src/langchain/onsol/resolve_all_domains.ts @@ -1,7 +1,7 @@ -import { BaseSolanaTool } from "../common/base"; -import { ResolveDomainResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaResolveAllDomainsTool extends BaseSolanaTool { +export class SolanaResolveAllDomainsTool extends Tool { name = "solana_resolve_all_domains"; description = `Resolve domain names to a public key for ALL domain types EXCEPT .sol domains. Use this for domains like .blink, .bonk, etc. @@ -10,7 +10,11 @@ export class SolanaResolveAllDomainsTool extends BaseSolanaTool { Input: domain: string, eg "mydomain.blink" or "mydomain.bonk" (required)`; - protected async _call(input: string): Promise { + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + async _call(input: string): Promise { try { const owner = await this.solanaKit.resolveAllDomains(input); @@ -19,16 +23,20 @@ export class SolanaResolveAllDomainsTool extends BaseSolanaTool { status: "error", message: "Domain not found", code: "DOMAIN_NOT_FOUND", - } as ResolveDomainResponse); + }); } return JSON.stringify({ status: "success", message: "Domain resolved successfully", owner: owner?.toString(), - } as ResolveDomainResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "DOMAIN_RESOLUTION_ERROR", + }); } } } diff --git a/src/langchain/onsol/tld_domains.ts b/src/langchain/onsol/tld_domains.ts index 7b09d1b..b3707dd 100644 --- a/src/langchain/onsol/tld_domains.ts +++ b/src/langchain/onsol/tld_domains.ts @@ -1,14 +1,18 @@ -import { BaseSolanaTool } from "../common/base"; -import { DomainsListResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaGetOwnedTldDomains extends BaseSolanaTool { +export class SolanaGetOwnedTldDomains extends Tool { name = "solana_get_owned_tld_domains"; description = `Get all domains owned by the agent's wallet for a specific TLD. Inputs: tld: string, eg "bonk" (required)`; - protected async _call(input: string): Promise { + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + async _call(input: string): Promise { try { const domains = await this.solanaKit.getOwnedDomainsForTLD(input); @@ -16,9 +20,13 @@ export class SolanaGetOwnedTldDomains extends BaseSolanaTool { status: "success", message: "TLD domains fetched successfully", domains, - } as DomainsListResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "FETCH_TLD_DOMAINS_ERROR", + }); } } } diff --git a/src/langchain/onsol/types.ts b/src/langchain/onsol/types.ts deleted file mode 100644 index bf9a31f..0000000 --- a/src/langchain/onsol/types.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface RegisterDomainInput { - name: string; - spaceKB?: number; -} - -export interface ResolveDomainInput { - domain: string; -} - -export interface GetDomainInput { - account: string; -} - -export interface OwnedDomainsInput { - owner: string; -} - -export interface TldDomainsInput { - tld: string; -} - -export interface RegisterDomainResponse extends BaseToolResponse { - transaction?: string; - domain?: string; - spaceKB?: number; -} - -export interface ResolveDomainResponse extends BaseToolResponse { - publicKey?: string; - owner?: string; -} - -export interface DomainResponse extends BaseToolResponse { - domain?: string | null; -} - -export interface DomainsListResponse extends BaseToolResponse { - domains?: string[]; -} - -export interface TldsResponse extends BaseToolResponse { - tlds?: string[]; -} diff --git a/src/langchain/openbook/index.ts b/src/langchain/openbook/index.ts index ef007ed..22b2ef1 100644 --- a/src/langchain/openbook/index.ts +++ b/src/langchain/openbook/index.ts @@ -1,2 +1 @@ export * from "./openbook_market"; -export * from "./types"; diff --git a/src/langchain/openbook/openbook_market.ts b/src/langchain/openbook/openbook_market.ts index e52b928..4f6b63c 100644 --- a/src/langchain/openbook/openbook_market.ts +++ b/src/langchain/openbook/openbook_market.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { OpenbookMarketInput } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaOpenbookCreateMarket extends BaseSolanaTool { +export class SolanaOpenbookCreateMarket extends Tool { name = "solana_openbook_create_market"; description = `Openbook marketId, required for ammv4 @@ -10,17 +10,23 @@ export class SolanaOpenbookCreateMarket extends BaseSolanaTool { baseMint: string (required) quoteMint: string (required) lotSize: number (required) - tickSize: number (required)`; + tickSize: number (required) + `; - protected async _call(input: string): Promise { + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + async _call(input: string): Promise { try { - const params: OpenbookMarketInput = JSON.parse(input); + const inputFormat = JSON.parse(input); const tx = await this.solanaKit.openbookCreateMarket( - new PublicKey(params.baseMint), - new PublicKey(params.quoteMint), - params.lotSize, - params.tickSize, + new PublicKey(inputFormat.baseMint), + new PublicKey(inputFormat.quoteMint), + + inputFormat.lotSize, + inputFormat.tickSize, ); return JSON.stringify({ @@ -29,7 +35,11 @@ export class SolanaOpenbookCreateMarket extends BaseSolanaTool { transaction: tx, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/openbook/types.ts b/src/langchain/openbook/types.ts deleted file mode 100644 index 6ae5503..0000000 --- a/src/langchain/openbook/types.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface OpenbookMarketInput { - baseMint: string; - quoteMint: string; - lotSize: number; - tickSize: number; -} diff --git a/src/langchain/orca/index.ts b/src/langchain/orca/index.ts index f3011c2..10358af 100644 --- a/src/langchain/orca/index.ts +++ b/src/langchain/orca/index.ts @@ -4,4 +4,3 @@ export * from "./orca_position"; export * from "./orca_fetch_positions"; export * from "./orca_centered_position"; export * from "./orca_single_sided_position"; -export * from "./types"; diff --git a/src/langchain/orca/orca_centered_position.ts b/src/langchain/orca/orca_centered_position.ts index cb4df17..ca7abca 100644 --- a/src/langchain/orca/orca_centered_position.ts +++ b/src/langchain/orca/orca_centered_position.ts @@ -1,9 +1,9 @@ import { PublicKey } from "@solana/web3.js"; import { Decimal } from "decimal.js"; -import { BaseSolanaTool } from "../common/base"; -import { OrcaCenteredPositionInput, LiquidityResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaOrcaOpenCenteredPosition extends BaseSolanaTool { +export class SolanaOrcaOpenCenteredPosition extends Tool { name = "orca_open_centered_position_with_liquidity"; description = `Add liquidity to a CLMM by opening a centered position in an Orca Whirlpool, the most efficient liquidity pool on Solana. @@ -13,23 +13,42 @@ export class SolanaOrcaOpenCenteredPosition extends BaseSolanaTool { - inputTokenMint: string, mint address of the deposit token (required). - inputAmount: number, amount of the deposit token, e.g., 100.0 (required).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + async _call(input: string): Promise { try { - const params: OrcaCenteredPositionInput = JSON.parse(input); + const inputFormat = JSON.parse(input); + const whirlpoolAddress = new PublicKey(inputFormat.whirlpoolAddress); + const priceOffsetBps = parseInt(inputFormat.priceOffsetBps, 10); + const inputTokenMint = new PublicKey(inputFormat.inputTokenMint); + const inputAmount = new Decimal(inputFormat.inputAmount); + + if (priceOffsetBps < 0) { + throw new Error( + "Invalid distanceFromCurrentPriceBps. It must be equal or greater than 0.", + ); + } + const txId = await this.solanaKit.orcaOpenCenteredPositionWithLiquidity( - new PublicKey(params.whirlpoolAddress), - params.priceOffsetBps, - new PublicKey(params.inputTokenMint), - new Decimal(params.inputAmount), + whirlpoolAddress, + priceOffsetBps, + inputTokenMint, + inputAmount, ); return JSON.stringify({ status: "success", message: "Centered liquidity position opened successfully.", transaction: txId, - } as LiquidityResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/orca/orca_clmm.ts b/src/langchain/orca/orca_clmm.ts index 609a9de..8508a45 100644 --- a/src/langchain/orca/orca_clmm.ts +++ b/src/langchain/orca/orca_clmm.ts @@ -1,10 +1,10 @@ import { PublicKey } from "@solana/web3.js"; import { Decimal } from "decimal.js"; -import { BaseSolanaTool } from "../common/base"; -import { LiquidityResponse } from "./types"; import { FEE_TIERS } from "../../tools/orca"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaOrcaCreateCLMM extends BaseSolanaTool { +export class SolanaOrcaCreateCLMM extends Tool { name = "orca_create_clmm"; description = `Create a Concentrated Liquidity Market Maker (CLMM) pool on Orca, the most efficient and capital-optimized CLMM on Solana. This function initializes a CLMM pool but does not add liquidity. You can add liquidity later using a centered position or a single-sided position. @@ -14,10 +14,17 @@ export class SolanaOrcaCreateCLMM extends BaseSolanaTool { - initialPrice: number, initial price of mintA in terms of mintB, e.g., 0.001 (required). - feeTier: number, fee tier in bps. Options: 1, 2, 4, 5, 16, 30, 65, 100, 200 (required).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + async _call(input: string): Promise { try { - const params = JSON.parse(input); - const feeTier = params.feeTier; + const inputFormat = JSON.parse(input); + const mintA = new PublicKey(inputFormat.mintDeploy); + const mintB = new PublicKey(inputFormat.mintPair); + const initialPrice = new Decimal(inputFormat.initialPrice); + const feeTier = inputFormat.feeTier; if (!feeTier || !(feeTier in FEE_TIERS)) { throw new Error( @@ -26,10 +33,11 @@ export class SolanaOrcaCreateCLMM extends BaseSolanaTool { )}`, ); } + const txId = await this.solanaKit.orcaCreateCLMM( - new PublicKey(params.mintDeploy), - new PublicKey(params.mintPair), - new Decimal(params.initialPrice), + mintA, + mintB, + initialPrice, feeTier, ); @@ -38,9 +46,13 @@ export class SolanaOrcaCreateCLMM extends BaseSolanaTool { message: "CLMM pool created successfully. Note: No liquidity was added.", transaction: txId, - } as LiquidityResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/orca/orca_fetch_positions.ts b/src/langchain/orca/orca_fetch_positions.ts index 591e2a6..820780b 100644 --- a/src/langchain/orca/orca_fetch_positions.ts +++ b/src/langchain/orca/orca_fetch_positions.ts @@ -1,21 +1,29 @@ -import { BaseSolanaTool } from "../common/base"; -import { OrcaPositionsResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaOrcaFetchPositions extends BaseSolanaTool { +export class SolanaOrcaFetchPositions extends Tool { name = "orca_fetch_positions"; - description = `Fetch all the liquidity positions in an Orca Whirlpool by owner. Returns an object with position mint addresses as keys and position status details as values.`; + description = `Fetch all the liquidity positions in an Orca Whirlpool by owner. Returns an object with positiont mint addresses as keys and position status details as values.`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } async _call(): Promise { try { - const positions = await this.solanaKit.orcaFetchPositions(); + const txId = await this.solanaKit.orcaFetchPositions(); return JSON.stringify({ status: "success", - message: "Liquidity positions fetched successfully", - positions: JSON.parse(positions), - } as OrcaPositionsResponse); + message: "Liquidity positions fetched.", + transaction: txId, + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/orca/orca_position.ts b/src/langchain/orca/orca_position.ts index d001e5c..a72ecc2 100644 --- a/src/langchain/orca/orca_position.ts +++ b/src/langchain/orca/orca_position.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { OrcaPositionInput, LiquidityResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaOrcaClosePosition extends BaseSolanaTool { +export class SolanaClosePosition extends Tool { name = "orca_close_position"; description = `Closes an existing liquidity position in an Orca Whirlpool. This function fetches the position details using the provided mint address and closes the position with a 1% slippage. @@ -10,20 +10,30 @@ export class SolanaOrcaClosePosition extends BaseSolanaTool { Inputs (JSON string): - positionMintAddress: string, the address of the position mint that represents the liquidity position.`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + async _call(input: string): Promise { try { - const params: OrcaPositionInput = JSON.parse(input); - const txId = await this.solanaKit.orcaClosePosition( - new PublicKey(params.positionMintAddress), + const inputFormat = JSON.parse(input); + const positionMintAddress = new PublicKey( + inputFormat.positionMintAddress, ); + const txId = await this.solanaKit.orcaClosePosition(positionMintAddress); + return JSON.stringify({ status: "success", message: "Liquidity position closed successfully.", transaction: txId, - } as LiquidityResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/orca/orca_single_sided_pool.ts b/src/langchain/orca/orca_single_sided_pool.ts index bd0dbf4..549373b 100644 --- a/src/langchain/orca/orca_single_sided_pool.ts +++ b/src/langchain/orca/orca_single_sided_pool.ts @@ -1,10 +1,10 @@ import { PublicKey } from "@solana/web3.js"; import { Decimal } from "decimal.js"; -import { BaseSolanaTool } from "../common/base"; -import { LiquidityResponse } from "./types"; import { FEE_TIERS } from "../../tools/orca"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaOrcaCreateSingleSidedPool extends BaseSolanaTool { +export class SolanaOrcaCreateSingleSideLiquidityPool extends Tool { name = "orca_create_single_sided_liquidity_pool"; description = `Create a single-sided liquidity pool on Orca, the most efficient and capital-optimized CLMM platform on Solana. @@ -18,10 +18,19 @@ export class SolanaOrcaCreateSingleSidedPool extends BaseSolanaTool { - maxPrice: number, maximum price at which liquidity is added, e.g., 5.0 (required). - feeTier: number, fee tier for the pool in bps. Options: 1, 2, 4, 5, 16, 30, 65, 100, 200 (required).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + async _call(input: string): Promise { try { - const params = JSON.parse(input); - const feeTier = params.feeTier; + const inputFormat = JSON.parse(input); + const depositTokenAmount = inputFormat.depositTokenAmount; + const depositTokenMint = new PublicKey(inputFormat.depositTokenMint); + const otherTokenMint = new PublicKey(inputFormat.otherTokenMint); + const initialPrice = new Decimal(inputFormat.initialPrice); + const maxPrice = new Decimal(inputFormat.maxPrice); + const feeTier = inputFormat.feeTier; if (!feeTier || !(feeTier in FEE_TIERS)) { throw new Error( @@ -30,12 +39,13 @@ export class SolanaOrcaCreateSingleSidedPool extends BaseSolanaTool { )}`, ); } + const txId = await this.solanaKit.orcaCreateSingleSidedLiquidityPool( - params.depositTokenAmount, - new PublicKey(params.depositTokenMint), - new PublicKey(params.otherTokenMint), - new Decimal(params.initialPrice), - new Decimal(params.maxPrice), + depositTokenAmount, + depositTokenMint, + otherTokenMint, + initialPrice, + maxPrice, feeTier, ); @@ -43,9 +53,13 @@ export class SolanaOrcaCreateSingleSidedPool extends BaseSolanaTool { status: "success", message: "Single-sided Whirlpool created successfully", transaction: txId, - } as LiquidityResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/orca/orca_single_sided_position.ts b/src/langchain/orca/orca_single_sided_position.ts index 47f5a0d..d7b993e 100644 --- a/src/langchain/orca/orca_single_sided_position.ts +++ b/src/langchain/orca/orca_single_sided_position.ts @@ -1,37 +1,58 @@ import { PublicKey } from "@solana/web3.js"; import { Decimal } from "decimal.js"; -import { BaseSolanaTool } from "../common/base"; -import { OrcaSingleSidedPositionInput, LiquidityResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaOrcaOpenSingleSidedPosition extends BaseSolanaTool { +export class SolanaOrcaOpenSingleSidedPosition extends Tool { name = "orca_open_single_sided_position"; description = `Add liquidity to a CLMM by opening a single-sided position in an Orca Whirlpool, the most efficient liquidity pool on Solana. Inputs (JSON string): - whirlpoolAddress: string, address of the Orca Whirlpool (required). - - distanceFromCurrentPriceBps: number, distance in basis points from the current price (required). + - distanceFromCurrentPriceBps: number, distance in basis points from the current price for the position (required). - widthBps: number, width of the position in basis points (required). - inputTokenMint: string, mint address of the deposit token (required). - inputAmount: number, amount of the deposit token, e.g., 100.0 (required).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + async _call(input: string): Promise { try { - const params: OrcaSingleSidedPositionInput = JSON.parse(input); + const inputFormat = JSON.parse(input); + const whirlpoolAddress = new PublicKey(inputFormat.whirlpoolAddress); + const distanceFromCurrentPriceBps = + inputFormat.distanceFromCurrentPriceBps; + const widthBps = inputFormat.widthBps; + const inputTokenMint = new PublicKey(inputFormat.inputTokenMint); + const inputAmount = new Decimal(inputFormat.inputAmount); + + if (distanceFromCurrentPriceBps < 0 || widthBps < 0) { + throw new Error( + "Invalid distanceFromCurrentPriceBps or width. It must be equal or greater than 0.", + ); + } + const txId = await this.solanaKit.orcaOpenSingleSidedPosition( - new PublicKey(params.whirlpoolAddress), - params.distanceFromCurrentPriceBps, - params.widthBps, - new PublicKey(params.inputTokenMint), - new Decimal(params.inputAmount), + whirlpoolAddress, + distanceFromCurrentPriceBps, + widthBps, + inputTokenMint, + inputAmount, ); return JSON.stringify({ status: "success", message: "Single-sided liquidity position opened successfully.", transaction: txId, - } as LiquidityResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/orca/types.ts b/src/langchain/orca/types.ts deleted file mode 100644 index a7e51dc..0000000 --- a/src/langchain/orca/types.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface OrcaClmmInput { - mintDeploy: string; - mintPair: string; - initialPrice: number | string; - feeTier: string; -} - -export interface OrcaSingleSidedInput { - depositTokenAmount: number; - depositTokenMint: string; - otherTokenMint: string; - initialPrice: number | string; - maxPrice: number | string; - feeTier: string; -} - -export interface OrcaPositionInput { - positionMintAddress: string; -} - -export interface OrcaCenteredPositionInput { - whirlpoolAddress: string; - priceOffsetBps: number; - inputTokenMint: string; - inputAmount: number | string; -} - -export interface OrcaSingleSidedPositionInput { - whirlpoolAddress: string; - distanceFromCurrentPriceBps: number; - widthBps: number; - inputTokenMint: string; - inputAmount: number | string; -} - -export interface LiquidityResponse extends BaseToolResponse { - transaction?: string; -} - -export interface OrcaPositionsResponse extends BaseToolResponse { - positions?: Record< - string, - { - whirlpoolAddress: string; - positionInRange: boolean; - distanceFromCenterBps: number; - } - >; -} diff --git a/src/langchain/pumpfun/launch_pumpfun_token.ts b/src/langchain/pumpfun/launch_pumpfun_token.ts index a4df4ba..6fbabcf 100644 --- a/src/langchain/pumpfun/launch_pumpfun_token.ts +++ b/src/langchain/pumpfun/launch_pumpfun_token.ts @@ -1,6 +1,7 @@ -import { BaseSolanaTool } from "../common"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaPumpfunTokenLaunchTool extends BaseSolanaTool { +export class SolanaPumpfunTokenLaunchTool extends Tool { name = "solana_launch_pumpfun_token"; description = `This tool can be used to launch a token on Pump.fun, @@ -14,6 +15,10 @@ export class SolanaPumpfunTokenLaunchTool extends BaseSolanaTool { description: string, eg "PumpFun Token is a token on the Solana blockchain", imageUrl: string, eg "https://i.imgur.com/UFm07Np_d.png`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + private validateInput(input: any): void { if (!input.tokenName || typeof input.tokenName !== "string") { throw new Error("tokenName is required and must be a string"); diff --git a/src/langchain/pyth/index.ts b/src/langchain/pyth/index.ts index fe2e481..5cf3952 100644 --- a/src/langchain/pyth/index.ts +++ b/src/langchain/pyth/index.ts @@ -1,2 +1 @@ export * from "./pyth_price"; -export * from "./types"; diff --git a/src/langchain/pyth/pyth_price.ts b/src/langchain/pyth/pyth_price.ts index 615af3b..0ac524c 100644 --- a/src/langchain/pyth/pyth_price.ts +++ b/src/langchain/pyth/pyth_price.ts @@ -1,19 +1,24 @@ -import { BaseSolanaTool } from "../common/base"; -import { PythPriceResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; +import { PythFetchPriceResponse } from "../../index"; -export class SolanaPythFetchPrice extends BaseSolanaTool { +export class SolanaPythFetchPrice extends Tool { name = "solana_pyth_fetch_price"; description = `Fetch the price of a given price feed from Pyth's Hermes service Inputs: tokenSymbol: string, e.g., BTC for bitcoin`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + async _call(input: string): Promise { try { const priceFeedID = await this.solanaKit.getPythPriceFeedID(input); const price = await this.solanaKit.getPythPrice(priceFeedID); - const response = { + const response: PythFetchPriceResponse = { status: "success", tokenSymbol: input, priceFeedID, @@ -22,7 +27,7 @@ export class SolanaPythFetchPrice extends BaseSolanaTool { return JSON.stringify(response); } catch (error: any) { - const response: PythPriceResponse = { + const response: PythFetchPriceResponse = { status: "error", tokenSymbol: input, message: error.message, diff --git a/src/langchain/pyth/types.ts b/src/langchain/pyth/types.ts deleted file mode 100644 index 8e31745..0000000 --- a/src/langchain/pyth/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface PythFetchPriceInput { - tokenSymbol: string; -} - -export interface PythPriceResponse extends BaseToolResponse { - tokenSymbol?: string; - priceFeedID?: string; - price?: string; -} diff --git a/src/langchain/raydium/raydium_amm.ts b/src/langchain/raydium/raydium_amm.ts index 898b242..f31858a 100644 --- a/src/langchain/raydium/raydium_amm.ts +++ b/src/langchain/raydium/raydium_amm.ts @@ -1,9 +1,9 @@ import { PublicKey } from "@solana/web3.js"; import { BN } from "@coral-xyz/anchor"; -import { BaseSolanaTool } from "../common/base"; -import { RaydiumAmmV4Input } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaRaydiumCreateAmmV4 extends BaseSolanaTool { +export class SolanaRaydiumCreateAmmV4 extends Tool { name = "raydium_create_ammV4"; description = `Raydium's Legacy AMM that requires an OpenBook marketID @@ -11,17 +11,22 @@ export class SolanaRaydiumCreateAmmV4 extends BaseSolanaTool { marketId: string (required) baseAmount: number(int), eg: 111111 (required) quoteAmount: number(int), eg: 111111 (required) - startTime: number(seconds), eg: now number or zero (required)`; + startTime: number(seconds), eg: now number or zero (required) + `; - protected async _call(input: string): Promise { + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + async _call(input: string): Promise { try { - const params: RaydiumAmmV4Input = JSON.parse(input); + const inputFormat = JSON.parse(input); const tx = await this.solanaKit.raydiumCreateAmmV4( - new PublicKey(params.marketId), - new BN(params.baseAmount), - new BN(params.quoteAmount), - new BN(params.startTime), + new PublicKey(inputFormat.marketId), + new BN(inputFormat.baseAmount), + new BN(inputFormat.quoteAmount), + new BN(inputFormat.startTime), ); return JSON.stringify({ @@ -30,7 +35,11 @@ export class SolanaRaydiumCreateAmmV4 extends BaseSolanaTool { transaction: tx, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/raydium/raydium_clmm.ts b/src/langchain/raydium/raydium_clmm.ts index 4e6de08..9d493e5 100644 --- a/src/langchain/raydium/raydium_clmm.ts +++ b/src/langchain/raydium/raydium_clmm.ts @@ -1,10 +1,10 @@ import { PublicKey } from "@solana/web3.js"; import { BN } from "@coral-xyz/anchor"; import { Decimal } from "decimal.js"; -import { BaseSolanaTool } from "../common/base"; -import { RaydiumClmmInput } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaRaydiumCreateClmm extends BaseSolanaTool { +export class SolanaRaydiumCreateClmm extends Tool { name = "raydium_create_clmm"; description = `Concentrated liquidity market maker, custom liquidity ranges, increased capital efficiency @@ -13,18 +13,25 @@ export class SolanaRaydiumCreateClmm extends BaseSolanaTool { mint2: string (required) configId: string (required) stores pool info, id, index, protocolFeeRate, tradeFeeRate, tickSpacing, fundFeeRate initialPrice: number, eg: 123.12 (required) - startTime: number(seconds), eg: now number or zero (required)`; + startTime: number(seconds), eg: now number or zero (required) + `; - protected async _call(input: string): Promise { + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + async _call(input: string): Promise { try { - const params: RaydiumClmmInput = JSON.parse(input); + const inputFormat = JSON.parse(input); const tx = await this.solanaKit.raydiumCreateClmm( - new PublicKey(params.mint1), - new PublicKey(params.mint2), - new PublicKey(params.configId), - new Decimal(params.initialPrice), - new BN(params.startTime), + new PublicKey(inputFormat.mint1), + new PublicKey(inputFormat.mint2), + + new PublicKey(inputFormat.configId), + + new Decimal(inputFormat.initialPrice), + new BN(inputFormat.startTime), ); return JSON.stringify({ @@ -33,7 +40,11 @@ export class SolanaRaydiumCreateClmm extends BaseSolanaTool { transaction: tx, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/raydium/raydium_cpmm.ts b/src/langchain/raydium/raydium_cpmm.ts index aeb6284..81ded50 100644 --- a/src/langchain/raydium/raydium_cpmm.ts +++ b/src/langchain/raydium/raydium_cpmm.ts @@ -1,9 +1,9 @@ import { PublicKey } from "@solana/web3.js"; import { BN } from "@coral-xyz/anchor"; -import { BaseSolanaTool } from "../common/base"; -import { RaydiumCpmmInput } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaRaydiumCreateCpmm extends BaseSolanaTool { +export class SolanaRaydiumCreateCpmm extends Tool { name = "raydium_create_cpmm"; description = `Raydium's newest CPMM, does not require marketID, supports Token 2022 standard @@ -13,19 +13,27 @@ export class SolanaRaydiumCreateCpmm extends BaseSolanaTool { configId: string (required), stores pool info, index, protocolFeeRate, tradeFeeRate, fundFeeRate, createPoolFee mintAAmount: number(int), eg: 1111 (required) mintBAmount: number(int), eg: 2222 (required) - startTime: number(seconds), eg: now number or zero (required)`; + startTime: number(seconds), eg: now number or zero (required) + `; - protected async _call(input: string): Promise { + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + async _call(input: string): Promise { try { - const params: RaydiumCpmmInput = JSON.parse(input); + const inputFormat = JSON.parse(input); const tx = await this.solanaKit.raydiumCreateCpmm( - new PublicKey(params.mint1), - new PublicKey(params.mint2), - new PublicKey(params.configId), - new BN(params.mintAAmount), - new BN(params.mintBAmount), - new BN(params.startTime), + new PublicKey(inputFormat.mint1), + new PublicKey(inputFormat.mint2), + + new PublicKey(inputFormat.configId), + + new BN(inputFormat.mintAAmount), + new BN(inputFormat.mintBAmount), + + new BN(inputFormat.startTime), ); return JSON.stringify({ @@ -34,7 +42,11 @@ export class SolanaRaydiumCreateCpmm extends BaseSolanaTool { transaction: tx, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/rugcheck/index.ts b/src/langchain/rugcheck/index.ts index 92cfab2..a058c2d 100644 --- a/src/langchain/rugcheck/index.ts +++ b/src/langchain/rugcheck/index.ts @@ -1,3 +1,2 @@ export * from "./token_report_summary"; export * from "./token_report_detailed"; -export * from "./types"; diff --git a/src/langchain/rugcheck/token_report_detailed.ts b/src/langchain/rugcheck/token_report_detailed.ts index 92bf6b1..9d45bac 100644 --- a/src/langchain/rugcheck/token_report_detailed.ts +++ b/src/langchain/rugcheck/token_report_detailed.ts @@ -1,12 +1,16 @@ -import { BaseSolanaTool } from "../common/base"; -import { TokenReportResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaFetchTokenDetailedReportTool extends BaseSolanaTool { +export class SolanaFetchTokenDetailedReportTool extends Tool { name = "solana_fetch_token_detailed_report"; description = `Fetches a detailed report for a specific token from RugCheck. Inputs: - mint: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const mint = input.trim(); @@ -17,9 +21,13 @@ export class SolanaFetchTokenDetailedReportTool extends BaseSolanaTool { status: "success", message: "Detailed token report fetched successfully", report: detailedReport, - } as TokenReportResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "FETCH_TOKEN_DETAILED_REPORT_ERROR", + }); } } } diff --git a/src/langchain/rugcheck/token_report_summary.ts b/src/langchain/rugcheck/token_report_summary.ts index ee7aeba..766abdb 100644 --- a/src/langchain/rugcheck/token_report_summary.ts +++ b/src/langchain/rugcheck/token_report_summary.ts @@ -1,12 +1,16 @@ -import { BaseSolanaTool } from "../common/base"; -import { TokenReportResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaFetchTokenReportSummaryTool extends BaseSolanaTool { +export class SolanaFetchTokenReportSummaryTool extends Tool { name = "solana_fetch_token_report_summary"; description = `Fetches a summary report for a specific token from RugCheck. Inputs: - mint: string, the mint address of the token, e.g., "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" (required).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const mint = input.trim(); @@ -16,9 +20,13 @@ export class SolanaFetchTokenReportSummaryTool extends BaseSolanaTool { status: "success", message: "Token report summary fetched successfully", report, - } as TokenReportResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "FETCH_TOKEN_REPORT_SUMMARY_ERROR", + }); } } } diff --git a/src/langchain/rugcheck/types.ts b/src/langchain/rugcheck/types.ts deleted file mode 100644 index 7d440a9..0000000 --- a/src/langchain/rugcheck/types.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface TokenCheckResult { - tokenProgram: string; - tokenType: string; - risks: Array<{ - name: string; - level: string; - description: string; - score: number; - }>; - score: number; -} - -export interface TokenReportResponse extends BaseToolResponse { - report?: TokenCheckResult; -} diff --git a/src/langchain/sendarcade/index.ts b/src/langchain/sendarcade/index.ts index 71aed69..9d6a8d7 100644 --- a/src/langchain/sendarcade/index.ts +++ b/src/langchain/sendarcade/index.ts @@ -1,2 +1 @@ export * from "./rock_paper_scissors"; -export * from "./types"; diff --git a/src/langchain/sendarcade/rock_paper_scissors.ts b/src/langchain/sendarcade/rock_paper_scissors.ts index 2c930d5..ab90107 100644 --- a/src/langchain/sendarcade/rock_paper_scissors.ts +++ b/src/langchain/sendarcade/rock_paper_scissors.ts @@ -1,7 +1,7 @@ -import { BaseSolanaTool } from "../common/base"; -import { RockPaperScissorsInput } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaRockPaperScissorsTool extends BaseSolanaTool { +export class SolanaRockPaperScissorsTool extends Tool { name = "rock_paper_scissors"; description = `Play rock paper scissors to win SEND coins. @@ -9,12 +9,32 @@ export class SolanaRockPaperScissorsTool extends BaseSolanaTool { choice: string, either "rock", "paper", or "scissors" (required) amount: number, amount of SOL to play with - must be 0.1, 0.01, or 0.005 SOL (required)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + private validateInput(input: any): void { + if (input.choice !== undefined) { + throw new Error("choice is required."); + } + if ( + input.amount !== undefined && + (typeof input.spaceKB !== "number" || input.spaceKB <= 0) + ) { + throw new Error("amount must be a positive number when provided"); + } + } + protected async _call(input: string): Promise { try { - const params: RockPaperScissorsInput = JSON.parse(input); + const parsedInput = JSON.parse(input); + this.validateInput(parsedInput); const result = await this.solanaKit.rockPaperScissors( - params.amount, - params.choice, + Number(parsedInput['"amount"']), + parsedInput['"choice"'].replace(/^"|"$/g, "") as + | "rock" + | "paper" + | "scissors", ); return JSON.stringify({ @@ -22,7 +42,11 @@ export class SolanaRockPaperScissorsTool extends BaseSolanaTool { message: result, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/sendarcade/types.ts b/src/langchain/sendarcade/types.ts deleted file mode 100644 index 30f19f9..0000000 --- a/src/langchain/sendarcade/types.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface RockPaperScissorsInput { - choice: "rock" | "paper" | "scissors"; - amount: number; -} diff --git a/src/langchain/solana/balance.ts b/src/langchain/solana/balance.ts index 32cc541..fd84b88 100644 --- a/src/langchain/solana/balance.ts +++ b/src/langchain/solana/balance.ts @@ -1,7 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaBalanceTool extends BaseSolanaTool { +export class SolanaBalanceTool extends Tool { name = "solana_balance"; description = `Get the balance of a Solana wallet or token account. @@ -11,21 +12,26 @@ export class SolanaBalanceTool extends BaseSolanaTool { Inputs ( input is a JSON string ): tokenAddress: string, eg "So11111111111111111111111111111111111111112" (optional)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params = input ? JSON.parse(input) : {}; - const tokenAddress = params.tokenAddress - ? new PublicKey(params.tokenAddress) - : undefined; + const tokenAddress = input ? new PublicKey(input) : undefined; const balance = await this.solanaKit.getBalance(tokenAddress); return JSON.stringify({ status: "success", balance, - token: params.tokenAddress || "SOL", + token: input || "SOL", }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/solana/balance_other.ts b/src/langchain/solana/balance_other.ts index 5a1fdd8..c29f7f1 100644 --- a/src/langchain/solana/balance_other.ts +++ b/src/langchain/solana/balance_other.ts @@ -1,7 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaBalanceOtherTool extends BaseSolanaTool { +export class SolanaBalanceOtherTool extends Tool { name = "solana_balance_other"; description = `Get the balance of a Solana wallet or token account which is different from the agent's wallet. @@ -11,26 +12,35 @@ export class SolanaBalanceOtherTool extends BaseSolanaTool { walletAddress: string, eg "GDEkQF7UMr7RLv1KQKMtm8E2w3iafxJLtyXu3HVQZnME" (required) tokenAddress: string, eg "SENDdRQtYMWaQrBroBrJ2Q53fgVuq95CV9UPGEvpCxa" (optional)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params = JSON.parse(input); - const tokenPubKey = params.tokenAddress - ? new PublicKey(params.tokenAddress) + const { walletAddress, tokenAddress } = JSON.parse(input); + + const tokenPubKey = tokenAddress + ? new PublicKey(tokenAddress) : undefined; const balance = await this.solanaKit.getBalanceOther( - new PublicKey(params.walletAddress), + new PublicKey(walletAddress), tokenPubKey, ); return JSON.stringify({ status: "success", balance, - wallet: params.walletAddress, - token: params.tokenAddress || "SOL", + wallet: walletAddress, + token: tokenAddress || "SOL", }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/solana/close_empty_accounts.ts b/src/langchain/solana/close_empty_accounts.ts index 9d82137..9a1bba9 100644 --- a/src/langchain/solana/close_empty_accounts.ts +++ b/src/langchain/solana/close_empty_accounts.ts @@ -1,9 +1,14 @@ -import { BaseSolanaTool } from "../common/base"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaCloseEmptyTokenAccounts extends BaseSolanaTool { +export class SolanaCloseEmptyTokenAccounts extends Tool { name = "close_empty_token_accounts"; description = `Close all empty spl-token accounts and reclaim the rent`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(): Promise { try { const { signature, size } = @@ -13,10 +18,13 @@ export class SolanaCloseEmptyTokenAccounts extends BaseSolanaTool { status: "success", message: `${size} accounts closed successfully. ${size === 48 ? "48 accounts can be closed in a single transaction try again to close more accounts" : ""}`, signature, - size, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/solana/get_tps.ts b/src/langchain/solana/get_tps.ts index 92e300e..4f052d8 100644 --- a/src/langchain/solana/get_tps.ts +++ b/src/langchain/solana/get_tps.ts @@ -1,20 +1,20 @@ -import { BaseSolanaTool } from "../common/base"; -import { TPSResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaTPSCalculatorTool extends BaseSolanaTool { +export class SolanaTPSCalculatorTool extends Tool { name = "solana_get_tps"; description = "Get the current TPS of the Solana network"; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + async _call(_input: string): Promise { try { const tps = await this.solanaKit.getTPS(); - return JSON.stringify({ - status: "success", - message: `Current network TPS: ${tps}`, - tps, - } as TPSResponse); + return `Solana (mainnet-beta) current transactions per second: ${tps}`; } catch (error: any) { - return this.handleError(error); + return `Error fetching TPS: ${error.message}`; } } } diff --git a/src/langchain/solana/index.ts b/src/langchain/solana/index.ts index 9ed6edb..02db35c 100644 --- a/src/langchain/solana/index.ts +++ b/src/langchain/solana/index.ts @@ -4,4 +4,3 @@ export * from "./balance"; export * from "./balance_other"; export * from "./close_empty_accounts"; export * from "./transfer"; -export * from "./types"; diff --git a/src/langchain/solana/request_funds.ts b/src/langchain/solana/request_funds.ts index 024405c..832db99 100644 --- a/src/langchain/solana/request_funds.ts +++ b/src/langchain/solana/request_funds.ts @@ -1,10 +1,14 @@ -import { BaseSolanaTool } from "../common/base"; -import { BaseToolResponse } from "../common/types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaRequestFundsTool extends BaseSolanaTool { +export class SolanaRequestFundsTool extends Tool { name = "solana_request_funds"; description = "Request SOL from Solana faucet (devnet/testnet only)"; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(_input: string): Promise { try { await this.solanaKit.requestFaucetFunds(); @@ -13,9 +17,13 @@ export class SolanaRequestFundsTool extends BaseSolanaTool { status: "success", message: "Successfully requested faucet funds", network: this.solanaKit.connection.rpcEndpoint.split("/")[2], - } as BaseToolResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/solana/transfer.ts b/src/langchain/solana/transfer.ts index de09b87..2f21ebf 100644 --- a/src/langchain/solana/transfer.ts +++ b/src/langchain/solana/transfer.ts @@ -1,7 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaTransferTool extends BaseSolanaTool { +export class SolanaTransferTool extends Tool { name = "solana_transfer"; description = `Transfer tokens or SOL to another address ( also called as wallet address ). @@ -10,29 +11,39 @@ export class SolanaTransferTool extends BaseSolanaTool { amount: number, eg 1 (required) mint?: string, eg "So11111111111111111111111111111111111111112" or "SENDdRQtYMWaQrBroBrJ2Q53fgVuq95CV9UPGEvpCxa" (optional)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params = JSON.parse(input); + const parsedInput = JSON.parse(input); - const recipient = new PublicKey(params.to); - const mintAddress = params.mint ? new PublicKey(params.mint) : undefined; + const recipient = new PublicKey(parsedInput.to); + const mintAddress = parsedInput.mint + ? new PublicKey(parsedInput.mint) + : undefined; const tx = await this.solanaKit.transfer( recipient, - params.amount, + parsedInput.amount, mintAddress, ); return JSON.stringify({ status: "success", message: "Transfer completed successfully", - amount: params.amount, - recipient: params.to, - token: params.mint || "SOL", + amount: parsedInput.amount, + recipient: parsedInput.to, + token: parsedInput.mint || "SOL", transaction: tx, }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/solana/types.ts b/src/langchain/solana/types.ts deleted file mode 100644 index 6adb097..0000000 --- a/src/langchain/solana/types.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface CreateImageResponse extends BaseToolResponse { - images?: string[]; -} - -export interface TPSResponse extends BaseToolResponse { - tps?: number; -} - -export interface WalletAddressResponse extends BaseToolResponse { - address?: string; -} diff --git a/src/langchain/solayer/restake.ts b/src/langchain/solayer/restake.ts index 0d8eb55..d13291f 100644 --- a/src/langchain/solayer/restake.ts +++ b/src/langchain/solayer/restake.ts @@ -1,13 +1,17 @@ -import { BaseSolanaTool } from "../common/base"; -import { StakeResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaRestakeTool extends BaseSolanaTool { +export class SolanaRestakeTool extends Tool { name = "solana_restake"; description = `This tool can be used to restake your SOL on Solayer to receive Solayer SOL (sSOL) as a Liquid Staking Token (LST). Inputs: amount: number, eg 1 or 0.01 (required)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const parsedInput = JSON.parse(input) || Number(input); @@ -19,9 +23,13 @@ export class SolanaRestakeTool extends BaseSolanaTool { message: "Staked successfully", transaction: tx, amount: parsedInput.amount, - } as StakeResponse); + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/squads_multisig/approve_proposal.ts b/src/langchain/squads_multisig/approve_proposal.ts index 50f5147..23bac26 100644 --- a/src/langchain/squads_multisig/approve_proposal.ts +++ b/src/langchain/squads_multisig/approve_proposal.ts @@ -1,6 +1,7 @@ -import { BaseSolanaTool } from "../common"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaApproveProposal2by2Multisig extends BaseSolanaTool { +export class SolanaApproveProposal2by2Multisig extends Tool { name = "approve_proposal_2by2_multisig"; description = `Approve a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. @@ -9,6 +10,10 @@ export class SolanaApproveProposal2by2Multisig extends BaseSolanaTool { Inputs (JSON string): - proposalIndex: number, the index of the proposal (optional).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); diff --git a/src/langchain/squads_multisig/create_multisig.ts b/src/langchain/squads_multisig/create_multisig.ts index 683cff2..4628d25 100644 --- a/src/langchain/squads_multisig/create_multisig.ts +++ b/src/langchain/squads_multisig/create_multisig.ts @@ -1,7 +1,8 @@ -import { BaseSolanaTool } from "../common"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; import { PublicKey } from "@solana/web3.js"; -export class SolanaCreate2by2Multisig extends BaseSolanaTool { +export class SolanaCreate2by2Multisig extends Tool { name = "create_2by2_multisig"; description = `Create a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. @@ -10,6 +11,10 @@ export class SolanaCreate2by2Multisig extends BaseSolanaTool { Inputs (JSON string): - creator: string, the public key of the creator (required).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); diff --git a/src/langchain/squads_multisig/create_proposal.ts b/src/langchain/squads_multisig/create_proposal.ts index 46ef85b..fb79cde 100644 --- a/src/langchain/squads_multisig/create_proposal.ts +++ b/src/langchain/squads_multisig/create_proposal.ts @@ -1,6 +1,7 @@ -import { BaseSolanaTool } from "../common"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaCreateProposal2by2Multisig extends BaseSolanaTool { +export class SolanaCreateProposal2by2Multisig extends Tool { name = "create_proposal_2by2_multisig"; description = `Create a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. @@ -9,6 +10,10 @@ export class SolanaCreateProposal2by2Multisig extends BaseSolanaTool { Inputs (JSON string): - transactionIndex: number, the index of the transaction (optional).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); diff --git a/src/langchain/squads_multisig/deposit_to_multisig.ts b/src/langchain/squads_multisig/deposit_to_multisig.ts index bb49b45..4e9645c 100644 --- a/src/langchain/squads_multisig/deposit_to_multisig.ts +++ b/src/langchain/squads_multisig/deposit_to_multisig.ts @@ -1,13 +1,18 @@ -import { BaseSolanaTool } from "../common"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; import Decimal from "decimal.js"; -export class SolanaDepositTo2by2Multisig extends BaseSolanaTool { +export class SolanaDepositTo2by2Multisig extends Tool { name = "deposit_to_2by2_multisig"; description = `Deposit funds to a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. Inputs (JSON string): - amount: number, the amount to deposit in SOL (required).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); diff --git a/src/langchain/squads_multisig/execute_proposal.ts b/src/langchain/squads_multisig/execute_proposal.ts index 08156aa..4c6463b 100644 --- a/src/langchain/squads_multisig/execute_proposal.ts +++ b/src/langchain/squads_multisig/execute_proposal.ts @@ -1,6 +1,7 @@ -import { BaseSolanaTool } from "../common"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaExecuteProposal2by2Multisig extends BaseSolanaTool { +export class SolanaExecuteProposal2by2Multisig extends Tool { name = "execute_proposal_2by2_multisig"; description = `Execute a proposal/transaction to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. @@ -9,6 +10,10 @@ export class SolanaExecuteProposal2by2Multisig extends BaseSolanaTool { Inputs (JSON string): - proposalIndex: number, the index of the proposal (optional).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); diff --git a/src/langchain/squads_multisig/reject_proposal.ts b/src/langchain/squads_multisig/reject_proposal.ts index 01c618b..30a62fc 100644 --- a/src/langchain/squads_multisig/reject_proposal.ts +++ b/src/langchain/squads_multisig/reject_proposal.ts @@ -1,6 +1,7 @@ -import { BaseSolanaTool } from "../common"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaRejectProposal2by2Multisig extends BaseSolanaTool { +export class SolanaRejectProposal2by2Multisig extends Tool { name = "reject_proposal_2by2_multisig"; description = `Reject a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. @@ -9,6 +10,10 @@ export class SolanaRejectProposal2by2Multisig extends BaseSolanaTool { Inputs (JSON string): - proposalIndex: number, the index of the proposal (optional).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); diff --git a/src/langchain/squads_multisig/transfer_from_multisig.ts b/src/langchain/squads_multisig/transfer_from_multisig.ts index 7fd841c..ef657ff 100644 --- a/src/langchain/squads_multisig/transfer_from_multisig.ts +++ b/src/langchain/squads_multisig/transfer_from_multisig.ts @@ -1,8 +1,9 @@ -import { BaseSolanaTool } from "../common"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; import { PublicKey } from "@solana/web3.js"; import Decimal from "decimal.js"; -export class SolanaTransferFrom2by2Multisig extends BaseSolanaTool { +export class SolanaTransferFrom2by2Multisig extends Tool { name = "transfer_from_2by2_multisig"; description = `Create a transaction to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. @@ -10,6 +11,10 @@ export class SolanaTransferFrom2by2Multisig extends BaseSolanaTool { - amount: number, the amount to transfer in SOL (required). - recipient: string, the public key of the recipient (required).`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { const inputFormat = JSON.parse(input); diff --git a/src/langchain/tensor/cancel_listing.ts b/src/langchain/tensor/cancel_listing.ts index effdc4b..8fd764d 100644 --- a/src/langchain/tensor/cancel_listing.ts +++ b/src/langchain/tensor/cancel_listing.ts @@ -1,30 +1,38 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { NFTListingResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaCancelNFTListingTool extends BaseSolanaTool { +export class SolanaCancelNFTListingTool extends Tool { name = "solana_cancel_nft_listing"; description = `Cancel an NFT listing on Tensor Trade. Inputs (input is a JSON string): nftMint: string, the mint address of the NFT (required)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params = JSON.parse(input); + const parsedInput = JSON.parse(input); const tx = await this.solanaKit.tensorCancelListing( - new PublicKey(params.nftMint), + new PublicKey(parsedInput.nftMint), ); return JSON.stringify({ status: "success", message: "NFT listing cancelled successfully", transaction: tx, - nftMint: params.nftMint, - } as NFTListingResponse); + nftMint: parsedInput.nftMint, + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/tensor/list_nft.ts b/src/langchain/tensor/list_nft.ts index 0d91320..a54ea2b 100644 --- a/src/langchain/tensor/list_nft.ts +++ b/src/langchain/tensor/list_nft.ts @@ -1,8 +1,8 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { ListNFTInput, NFTListingResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaListNFTForSaleTool extends BaseSolanaTool { +export class SolanaListNFTForSaleTool extends Tool { name = "solana_list_nft_for_sale"; description = `List an NFT for sale on Tensor Trade. @@ -10,15 +10,19 @@ export class SolanaListNFTForSaleTool extends BaseSolanaTool { nftMint: string, the mint address of the NFT (required) price: number, price in SOL (required)`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params: ListNFTInput = JSON.parse(input); + const parsedInput = JSON.parse(input); - // Validate NFT ownership + // Validate NFT ownership first const nftAccount = await this.solanaKit.connection.getTokenAccountsByOwner( this.solanaKit.wallet_address, - { mint: new PublicKey(params.nftMint) }, + { mint: new PublicKey(parsedInput.nftMint) }, ); if (nftAccount.value.length === 0) { @@ -27,23 +31,27 @@ export class SolanaListNFTForSaleTool extends BaseSolanaTool { message: "NFT not found in wallet. Please make sure you own this NFT.", code: "NFT_NOT_FOUND", - } as NFTListingResponse); + }); } const tx = await this.solanaKit.tensorListNFT( - new PublicKey(params.nftMint), - params.price, + new PublicKey(parsedInput.nftMint), + parsedInput.price, ); return JSON.stringify({ status: "success", message: "NFT listed for sale successfully", transaction: tx, - price: params.price, - nftMint: params.nftMint, - } as NFTListingResponse); + price: parsedInput.price, + nftMint: parsedInput.nftMint, + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/tensor/types.ts b/src/langchain/tensor/types.ts deleted file mode 100644 index 2ff243f..0000000 --- a/src/langchain/tensor/types.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface ListNFTInput { - nftMint: string; - price: number; -} - -export interface MintNFTResponse extends BaseToolResponse { - mintAddress?: string; - metadata?: { - name: string; - symbol?: string; - uri: string; - }; - recipient?: string; -} - -export interface NFTListingResponse extends BaseToolResponse { - transaction?: string; - price?: number; - nftMint?: string; -} diff --git a/src/langchain/tiplink/index.ts b/src/langchain/tiplink/index.ts index 207c6f6..b480c71 100644 --- a/src/langchain/tiplink/index.ts +++ b/src/langchain/tiplink/index.ts @@ -1,2 +1 @@ export * from "./tiplink"; -export * from "./types"; diff --git a/src/langchain/tiplink/tiplink.ts b/src/langchain/tiplink/tiplink.ts index f680076..f029b3b 100644 --- a/src/langchain/tiplink/tiplink.ts +++ b/src/langchain/tiplink/tiplink.ts @@ -1,25 +1,29 @@ import { PublicKey } from "@solana/web3.js"; -import { BaseSolanaTool } from "../common/base"; -import { TipLinkInput, TipLinkResponse } from "./types"; +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; -export class SolanaTipLinkTool extends BaseSolanaTool { +export class SolanaTipLinkTool extends Tool { name = "solana_tiplink"; description = `Create a TipLink for transferring SOL or SPL tokens. Input is a JSON string with: - amount: number (required) - Amount to transfer - splmintAddress: string (optional) - SPL token mint address`; + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + protected async _call(input: string): Promise { try { - const params: TipLinkInput = JSON.parse(input); + const parsedInput = JSON.parse(input); - if (!params.amount) { + if (!parsedInput.amount) { throw new Error("Amount is required"); } - const amount = parseFloat(params.amount.toString()); - const splmintAddress = params.splmintAddress - ? new PublicKey(params.splmintAddress) + const amount = parseFloat(parsedInput.amount); + const splmintAddress = parsedInput.splmintAddress + ? new PublicKey(parsedInput.splmintAddress) : undefined; const { url, signature } = await this.solanaKit.createTiplink( @@ -29,14 +33,18 @@ export class SolanaTipLinkTool extends BaseSolanaTool { return JSON.stringify({ status: "success", - message: "TipLink created successfully", url, signature, amount, tokenType: splmintAddress ? "SPL" : "SOL", - } as TipLinkResponse); + message: `TipLink created successfully`, + }); } catch (error: any) { - return this.handleError(error); + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); } } } diff --git a/src/langchain/tiplink/types.ts b/src/langchain/tiplink/types.ts deleted file mode 100644 index 285f002..0000000 --- a/src/langchain/tiplink/types.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface TipLinkInput { - amount: number; - splmintAddress?: string; -} - -export interface TipLinkResponse extends BaseToolResponse { - url?: string; - signature?: string; - amount?: number; - tokenType?: "SOL" | "SPL"; -} From af85a502e0f77f429c0e8155dd35fd40afd7a501 Mon Sep 17 00:00:00 2001 From: 0xCipherCoder Date: Sat, 11 Jan 2025 14:42:51 +0530 Subject: [PATCH 104/138] Removed types in solayer --- src/langchain/solayer/types.ts | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 src/langchain/solayer/types.ts diff --git a/src/langchain/solayer/types.ts b/src/langchain/solayer/types.ts deleted file mode 100644 index de3bcf1..0000000 --- a/src/langchain/solayer/types.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { BaseToolResponse } from "../common/types"; - -export interface StakeResponse extends BaseToolResponse { - transaction?: string; - amount?: number; -} From a6f9b05e2aa85ca0efef605d4961dc2fd19f3911 Mon Sep 17 00:00:00 2001 From: 0xCipherCoder Date: Sat, 11 Jan 2025 21:27:54 +0530 Subject: [PATCH 105/138] Updated protocol name instead of library name --- .../{onsol => alldomains}/getAllDomainsTLDs.ts | 0 .../getOwnedAllDomains.ts | 0 .../getOwnedDomainsForTLD.ts | 0 .../{onsol => alldomains}/resolveDomain.ts | 0 src/actions/index.ts | 18 +++++++++--------- .../getAllRegisteredAllDomains.ts | 0 .../getMainAllDomainsDomain.ts | 0 .../{bonfida => sns}/getPrimaryDomain.ts | 0 src/actions/{bonfida => sns}/registerDomain.ts | 0 .../{bonfida => sns}/resolveSolDomain.ts | 0 .../{onsol => alldomains}/get_all_tld.ts | 0 src/langchain/{onsol => alldomains}/index.ts | 0 .../{onsol => alldomains}/owned_domains.ts | 0 .../resolve_all_domains.ts | 0 .../{onsol => alldomains}/tld_domains.ts | 0 src/langchain/index.ts | 6 +++--- src/langchain/{bonfida => sns}/get_domain.ts | 0 src/langchain/{bonfida => sns}/index.ts | 0 src/langchain/{bonfida => sns}/main_domain.ts | 0 .../{bonfida => sns}/register_domain.ts | 0 .../{bonfida => sns}/resolve_domain.ts | 0 .../get_all_domains_tlds.ts | 0 .../get_owned_all_domains.ts | 0 .../get_owned_domains_for_tld.ts | 0 src/tools/{onsol => alldomains}/index.ts | 0 .../{onsol => alldomains}/resolve_domain.ts | 0 src/tools/index.ts | 4 ++-- .../get_all_registered_all_domains.ts | 2 +- .../get_main_all_domains_domain.ts | 0 .../{bonfida => sns}/get_primary_domain.ts | 0 src/tools/{bonfida => sns}/index.ts | 0 src/tools/{bonfida => sns}/register_domain.ts | 0 .../{bonfida => sns}/resolve_sol_domain.ts | 0 33 files changed, 15 insertions(+), 15 deletions(-) rename src/actions/{onsol => alldomains}/getAllDomainsTLDs.ts (100%) rename src/actions/{onsol => alldomains}/getOwnedAllDomains.ts (100%) rename src/actions/{onsol => alldomains}/getOwnedDomainsForTLD.ts (100%) rename src/actions/{onsol => alldomains}/resolveDomain.ts (100%) rename src/actions/{bonfida => sns}/getAllRegisteredAllDomains.ts (100%) rename src/actions/{bonfida => sns}/getMainAllDomainsDomain.ts (100%) rename src/actions/{bonfida => sns}/getPrimaryDomain.ts (100%) rename src/actions/{bonfida => sns}/registerDomain.ts (100%) rename src/actions/{bonfida => sns}/resolveSolDomain.ts (100%) rename src/langchain/{onsol => alldomains}/get_all_tld.ts (100%) rename src/langchain/{onsol => alldomains}/index.ts (100%) rename src/langchain/{onsol => alldomains}/owned_domains.ts (100%) rename src/langchain/{onsol => alldomains}/resolve_all_domains.ts (100%) rename src/langchain/{onsol => alldomains}/tld_domains.ts (100%) rename src/langchain/{bonfida => sns}/get_domain.ts (100%) rename src/langchain/{bonfida => sns}/index.ts (100%) rename src/langchain/{bonfida => sns}/main_domain.ts (100%) rename src/langchain/{bonfida => sns}/register_domain.ts (100%) rename src/langchain/{bonfida => sns}/resolve_domain.ts (100%) rename src/tools/{onsol => alldomains}/get_all_domains_tlds.ts (100%) rename src/tools/{onsol => alldomains}/get_owned_all_domains.ts (100%) rename src/tools/{onsol => alldomains}/get_owned_domains_for_tld.ts (100%) rename src/tools/{onsol => alldomains}/index.ts (100%) rename src/tools/{onsol => alldomains}/resolve_domain.ts (100%) rename src/tools/{bonfida => sns}/get_all_registered_all_domains.ts (93%) rename src/tools/{bonfida => sns}/get_main_all_domains_domain.ts (100%) rename src/tools/{bonfida => sns}/get_primary_domain.ts (100%) rename src/tools/{bonfida => sns}/index.ts (100%) rename src/tools/{bonfida => sns}/register_domain.ts (100%) rename src/tools/{bonfida => sns}/resolve_sol_domain.ts (100%) diff --git a/src/actions/onsol/getAllDomainsTLDs.ts b/src/actions/alldomains/getAllDomainsTLDs.ts similarity index 100% rename from src/actions/onsol/getAllDomainsTLDs.ts rename to src/actions/alldomains/getAllDomainsTLDs.ts diff --git a/src/actions/onsol/getOwnedAllDomains.ts b/src/actions/alldomains/getOwnedAllDomains.ts similarity index 100% rename from src/actions/onsol/getOwnedAllDomains.ts rename to src/actions/alldomains/getOwnedAllDomains.ts diff --git a/src/actions/onsol/getOwnedDomainsForTLD.ts b/src/actions/alldomains/getOwnedDomainsForTLD.ts similarity index 100% rename from src/actions/onsol/getOwnedDomainsForTLD.ts rename to src/actions/alldomains/getOwnedDomainsForTLD.ts diff --git a/src/actions/onsol/resolveDomain.ts b/src/actions/alldomains/resolveDomain.ts similarity index 100% rename from src/actions/onsol/resolveDomain.ts rename to src/actions/alldomains/resolveDomain.ts diff --git a/src/actions/index.ts b/src/actions/index.ts index 0718c6b..e878aa1 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -5,24 +5,24 @@ import deployCollectionAction from "./metaplex/deployCollection"; import mintNFTAction from "./metaplex/mintNFT"; import tradeAction from "./jupiter/trade"; import requestFundsAction from "./solana/requestFunds"; -import resolveDomainAction from "./bonfida/registerDomain"; +import resolveDomainAction from "./sns/registerDomain"; import getTokenDataAction from "./jupiter/getTokenData"; import getTPSAction from "./solana/getTPS"; import fetchPriceAction from "./jupiter/fetchPrice"; import stakeWithJupAction from "./jupiter/stakeWithJup"; import stakeWithSolayerAction from "./solayer/stakeWithSolayer"; -import registerDomainAction from "./bonfida/registerDomain"; +import registerDomainAction from "./sns/registerDomain"; import lendAssetAction from "./lulo/lendAsset"; import createGibworkTaskAction from "./gibwork/createGibworkTask"; -import resolveSolDomainAction from "./bonfida/resolveSolDomain"; +import resolveSolDomainAction from "./sns/resolveSolDomain"; import pythFetchPriceAction from "./pyth/pythFetchPrice"; -import getOwnedDomainsForTLDAction from "./onsol/getOwnedDomainsForTLD"; -import getPrimaryDomainAction from "./bonfida/getPrimaryDomain"; -import getAllDomainsTLDsAction from "./onsol/getAllDomainsTLDs"; -import getOwnedAllDomainsAction from "./onsol/getOwnedAllDomains"; +import getOwnedDomainsForTLDAction from "./alldomains/getOwnedDomainsForTLD"; +import getPrimaryDomainAction from "./sns/getPrimaryDomain"; +import getAllDomainsTLDsAction from "./alldomains/getAllDomainsTLDs"; +import getOwnedAllDomainsAction from "./alldomains/getOwnedAllDomains"; import createImageAction from "./agent/createImage"; -import getMainAllDomainsDomainAction from "./bonfida/getMainAllDomainsDomain"; -import getAllRegisteredAllDomainsAction from "./bonfida/getAllRegisteredAllDomains"; +import getMainAllDomainsDomainAction from "./sns/getMainAllDomainsDomain"; +import getAllRegisteredAllDomainsAction from "./sns/getAllRegisteredAllDomains"; import raydiumCreateCpmmAction from "./raydium/raydiumCreateCpmm"; import raydiumCreateAmmV4Action from "./raydium/raydiumCreateAmmV4"; import createOrcaSingleSidedWhirlpoolAction from "./orca/createOrcaSingleSidedWhirlpool"; diff --git a/src/actions/bonfida/getAllRegisteredAllDomains.ts b/src/actions/sns/getAllRegisteredAllDomains.ts similarity index 100% rename from src/actions/bonfida/getAllRegisteredAllDomains.ts rename to src/actions/sns/getAllRegisteredAllDomains.ts diff --git a/src/actions/bonfida/getMainAllDomainsDomain.ts b/src/actions/sns/getMainAllDomainsDomain.ts similarity index 100% rename from src/actions/bonfida/getMainAllDomainsDomain.ts rename to src/actions/sns/getMainAllDomainsDomain.ts diff --git a/src/actions/bonfida/getPrimaryDomain.ts b/src/actions/sns/getPrimaryDomain.ts similarity index 100% rename from src/actions/bonfida/getPrimaryDomain.ts rename to src/actions/sns/getPrimaryDomain.ts diff --git a/src/actions/bonfida/registerDomain.ts b/src/actions/sns/registerDomain.ts similarity index 100% rename from src/actions/bonfida/registerDomain.ts rename to src/actions/sns/registerDomain.ts diff --git a/src/actions/bonfida/resolveSolDomain.ts b/src/actions/sns/resolveSolDomain.ts similarity index 100% rename from src/actions/bonfida/resolveSolDomain.ts rename to src/actions/sns/resolveSolDomain.ts diff --git a/src/langchain/onsol/get_all_tld.ts b/src/langchain/alldomains/get_all_tld.ts similarity index 100% rename from src/langchain/onsol/get_all_tld.ts rename to src/langchain/alldomains/get_all_tld.ts diff --git a/src/langchain/onsol/index.ts b/src/langchain/alldomains/index.ts similarity index 100% rename from src/langchain/onsol/index.ts rename to src/langchain/alldomains/index.ts diff --git a/src/langchain/onsol/owned_domains.ts b/src/langchain/alldomains/owned_domains.ts similarity index 100% rename from src/langchain/onsol/owned_domains.ts rename to src/langchain/alldomains/owned_domains.ts diff --git a/src/langchain/onsol/resolve_all_domains.ts b/src/langchain/alldomains/resolve_all_domains.ts similarity index 100% rename from src/langchain/onsol/resolve_all_domains.ts rename to src/langchain/alldomains/resolve_all_domains.ts diff --git a/src/langchain/onsol/tld_domains.ts b/src/langchain/alldomains/tld_domains.ts similarity index 100% rename from src/langchain/onsol/tld_domains.ts rename to src/langchain/alldomains/tld_domains.ts diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 76efb18..c2e5aff 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -1,7 +1,7 @@ export * from "./adrena"; -export * from "./onsol"; +export * from "./alldomains"; export * from "./dexscreener"; -export * from "./onsol"; +export * from "./alldomains"; export * from "./flash"; export * from "./gibwork"; export * from "./jupiter"; @@ -21,7 +21,7 @@ export * from "./solayer"; export * from "./tensor"; export * from "./3land"; export * from "./tiplink"; -export * from "./bonfida"; +export * from "./sns"; export * from "./lightprotocol"; import { SolanaAgentKit } from "../agent"; diff --git a/src/langchain/bonfida/get_domain.ts b/src/langchain/sns/get_domain.ts similarity index 100% rename from src/langchain/bonfida/get_domain.ts rename to src/langchain/sns/get_domain.ts diff --git a/src/langchain/bonfida/index.ts b/src/langchain/sns/index.ts similarity index 100% rename from src/langchain/bonfida/index.ts rename to src/langchain/sns/index.ts diff --git a/src/langchain/bonfida/main_domain.ts b/src/langchain/sns/main_domain.ts similarity index 100% rename from src/langchain/bonfida/main_domain.ts rename to src/langchain/sns/main_domain.ts diff --git a/src/langchain/bonfida/register_domain.ts b/src/langchain/sns/register_domain.ts similarity index 100% rename from src/langchain/bonfida/register_domain.ts rename to src/langchain/sns/register_domain.ts diff --git a/src/langchain/bonfida/resolve_domain.ts b/src/langchain/sns/resolve_domain.ts similarity index 100% rename from src/langchain/bonfida/resolve_domain.ts rename to src/langchain/sns/resolve_domain.ts diff --git a/src/tools/onsol/get_all_domains_tlds.ts b/src/tools/alldomains/get_all_domains_tlds.ts similarity index 100% rename from src/tools/onsol/get_all_domains_tlds.ts rename to src/tools/alldomains/get_all_domains_tlds.ts diff --git a/src/tools/onsol/get_owned_all_domains.ts b/src/tools/alldomains/get_owned_all_domains.ts similarity index 100% rename from src/tools/onsol/get_owned_all_domains.ts rename to src/tools/alldomains/get_owned_all_domains.ts diff --git a/src/tools/onsol/get_owned_domains_for_tld.ts b/src/tools/alldomains/get_owned_domains_for_tld.ts similarity index 100% rename from src/tools/onsol/get_owned_domains_for_tld.ts rename to src/tools/alldomains/get_owned_domains_for_tld.ts diff --git a/src/tools/onsol/index.ts b/src/tools/alldomains/index.ts similarity index 100% rename from src/tools/onsol/index.ts rename to src/tools/alldomains/index.ts diff --git a/src/tools/onsol/resolve_domain.ts b/src/tools/alldomains/resolve_domain.ts similarity index 100% rename from src/tools/onsol/resolve_domain.ts rename to src/tools/alldomains/resolve_domain.ts diff --git a/src/tools/index.ts b/src/tools/index.ts index 18e1777..6ea6443 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -1,7 +1,7 @@ export * from "./adrena"; -export * from "./bonfida"; +export * from "./sns"; export * from "./dexscreener"; -export * from "./onsol"; +export * from "./alldomains"; export * from "./flash"; export * from "./gibwork"; export * from "./jupiter"; diff --git a/src/tools/bonfida/get_all_registered_all_domains.ts b/src/tools/sns/get_all_registered_all_domains.ts similarity index 93% rename from src/tools/bonfida/get_all_registered_all_domains.ts rename to src/tools/sns/get_all_registered_all_domains.ts index 465c11b..f6565b4 100644 --- a/src/tools/bonfida/get_all_registered_all_domains.ts +++ b/src/tools/sns/get_all_registered_all_domains.ts @@ -1,7 +1,7 @@ import { getAllDomains } from "@bonfida/spl-name-service"; import { SolanaAgentKit } from "../../agent"; import { PublicKey } from "@solana/web3.js"; -import { getAllDomainsTLDs } from "../onsol/get_all_domains_tlds"; +import { getAllDomainsTLDs } from "../alldomains/get_all_domains_tlds"; /** * Get all registered domains across all TLDs diff --git a/src/tools/bonfida/get_main_all_domains_domain.ts b/src/tools/sns/get_main_all_domains_domain.ts similarity index 100% rename from src/tools/bonfida/get_main_all_domains_domain.ts rename to src/tools/sns/get_main_all_domains_domain.ts diff --git a/src/tools/bonfida/get_primary_domain.ts b/src/tools/sns/get_primary_domain.ts similarity index 100% rename from src/tools/bonfida/get_primary_domain.ts rename to src/tools/sns/get_primary_domain.ts diff --git a/src/tools/bonfida/index.ts b/src/tools/sns/index.ts similarity index 100% rename from src/tools/bonfida/index.ts rename to src/tools/sns/index.ts diff --git a/src/tools/bonfida/register_domain.ts b/src/tools/sns/register_domain.ts similarity index 100% rename from src/tools/bonfida/register_domain.ts rename to src/tools/sns/register_domain.ts diff --git a/src/tools/bonfida/resolve_sol_domain.ts b/src/tools/sns/resolve_sol_domain.ts similarity index 100% rename from src/tools/bonfida/resolve_sol_domain.ts rename to src/tools/sns/resolve_sol_domain.ts From 80fb0c4d5f2117a3249ff4993c9ea1a63ed96e18 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:38:46 +0530 Subject: [PATCH 106/138] fix --- src/agent/index.ts | 32 +++++++++---------- .../{squads_multisig => }/create_multisig.ts | 4 +-- src/tools/index.ts | 18 +++++++---- ...oposal.ts => multisig_approve_proposal.ts} | 4 +-- ...roposal.ts => multisig_create_proposal.ts} | 4 +-- ...sig.ts => multisig_deposit_to_treasury.ts} | 6 ++-- ...oposal.ts => multisig_execute_proposal.ts} | 4 +-- ...roposal.ts => multisig_reject_proposal.ts} | 4 +-- ....ts => multisig_transfer_from_treasury.ts} | 6 ++-- 9 files changed, 42 insertions(+), 40 deletions(-) rename src/tools/{squads_multisig => }/create_multisig.ts (97%) rename src/tools/{squads_multisig/approve_proposal.ts => multisig_approve_proposal.ts} (95%) rename src/tools/{squads_multisig/create_proposal.ts => multisig_create_proposal.ts} (94%) rename src/tools/{squads_multisig/deposit_to_multisig.ts => multisig_deposit_to_treasury.ts} (94%) rename src/tools/{squads_multisig/execute_proposal.ts => multisig_execute_proposal.ts} (95%) rename src/tools/{squads_multisig/reject_proposal.ts => multisig_reject_proposal.ts} (95%) rename src/tools/{squads_multisig/transfer_from_multisig.ts => multisig_transfer_from_treasury.ts} (94%) diff --git a/src/agent/index.ts b/src/agent/index.ts index 5651703..4550fd9 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -63,6 +63,15 @@ import { fetchPythPriceFeedID, flashOpenTrade, flashCloseTrade, + createCollection, + createSingle, + multisig_transfer_from_treasury, + create_squads_multisig, + multisig_create_proposal, + multisig_deposit_to_treasury, + multisig_reject_proposal, + multisig_approve_proposal, + multisig_execute_proposal, } from "../tools"; import { CollectionDeployment, @@ -76,22 +85,11 @@ import { FlashTradeParams, FlashCloseTradeParams, } from "../types"; -import { - createCollection, - createSingle, -} from "../tools/create_3land_collectible"; import { CreateCollectionOptions, CreateSingleOptions, StoreInitOptions, } from "@3land/listings-sdk/dist/types/implementation/implementationTypes"; -import { create_squads_multisig } from "../tools/squads_multisig/create_multisig"; -import { deposit_to_multisig } from "../tools/squads_multisig/deposit_to_multisig"; -import { transfer_from_multisig } from "../tools/squads_multisig/transfer_from_multisig"; -import { create_proposal } from "../tools/squads_multisig/create_proposal"; -import { approve_proposal } from "../tools/squads_multisig/approve_proposal"; -import { execute_transaction } from "../tools/squads_multisig/execute_proposal"; -import { reject_proposal } from "../tools/squads_multisig/reject_proposal"; /** * Main class for interacting with Solana blockchain @@ -620,7 +618,7 @@ export class SolanaAgentKit { vaultIndex: number = 0, mint?: PublicKey, ): Promise { - return deposit_to_multisig(this, amount, vaultIndex, mint); + return multisig_deposit_to_treasury(this, amount, vaultIndex, mint); } async transferFromMultisig( @@ -629,30 +627,30 @@ export class SolanaAgentKit { vaultIndex: number = 0, mint?: PublicKey, ): Promise { - return transfer_from_multisig(this, amount, to, vaultIndex, mint); + return multisig_transfer_from_treasury(this, amount, to, vaultIndex, mint); } async createMultisigProposal( transactionIndex?: number | bigint, ): Promise { - return create_proposal(this, transactionIndex); + return multisig_create_proposal(this, transactionIndex); } async approveMultisigProposal( transactionIndex?: number | bigint, ): Promise { - return approve_proposal(this, transactionIndex); + return multisig_approve_proposal(this, transactionIndex); } async rejectMultisigProposal( transactionIndex?: number | bigint, ): Promise { - return reject_proposal(this, transactionIndex); + return multisig_reject_proposal(this, transactionIndex); } async executeMultisigTransaction( transactionIndex?: number | bigint, ): Promise { - return execute_transaction(this, transactionIndex); + return multisig_execute_proposal(this, transactionIndex); } } diff --git a/src/tools/squads_multisig/create_multisig.ts b/src/tools/create_multisig.ts similarity index 97% rename from src/tools/squads_multisig/create_multisig.ts rename to src/tools/create_multisig.ts index 770c9dd..7da0e0a 100644 --- a/src/tools/squads_multisig/create_multisig.ts +++ b/src/tools/create_multisig.ts @@ -1,6 +1,6 @@ -import * as multisig from "@sqds/multisig"; import { PublicKey } from "@solana/web3.js"; -import { SolanaAgentKit } from "../../index"; +import * as multisig from "@sqds/multisig"; +import { SolanaAgentKit } from "../agent"; /** * Creates a new Squads multisig account. diff --git a/src/tools/index.ts b/src/tools/index.ts index 2363e3a..79407c1 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -1,10 +1,21 @@ export * from "./adrena_perp_trading"; +export * from "./close_empty_token_accounts"; +export * from "./create_3land_collectible"; export * from "./create_gibwork_task"; export * from "./create_image"; +export * from "./create_multisig"; +export * from "./multisig_approve_proposal"; +export * from "./multisig_create_proposal"; +export * from "./multisig_deposit_to_treasury"; +export * from "./multisig_execute_proposal"; +export * from "./multisig_reject_proposal"; +export * from "./multisig_transfer_from_treasury"; export * from "./create_tiplinks"; export * from "./deploy_collection"; export * from "./deploy_token"; export * from "./fetch_price"; +export * from "./flash_close_trade"; +export * from "./flash_open_trade"; export * from "./get_all_domains_tlds"; export * from "./get_all_registered_all_domains"; export * from "./get_balance"; @@ -41,12 +52,5 @@ 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"; diff --git a/src/tools/squads_multisig/approve_proposal.ts b/src/tools/multisig_approve_proposal.ts similarity index 95% rename from src/tools/squads_multisig/approve_proposal.ts rename to src/tools/multisig_approve_proposal.ts index 178f4d5..7b74a4a 100644 --- a/src/tools/squads_multisig/approve_proposal.ts +++ b/src/tools/multisig_approve_proposal.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../../index"; +import { SolanaAgentKit } from "../agent"; import * as multisig from "@sqds/multisig"; const { Multisig } = multisig.accounts; @@ -10,7 +10,7 @@ const { Multisig } = multisig.accounts; * @returns {Promise} - A promise that resolves to the transaction ID of the approved proposal. * @throws {Error} - Throws an error if the approval process fails. */ -export async function approve_proposal( +export async function multisig_approve_proposal( agent: SolanaAgentKit, transactionIndex?: number | bigint, ): Promise { diff --git a/src/tools/squads_multisig/create_proposal.ts b/src/tools/multisig_create_proposal.ts similarity index 94% rename from src/tools/squads_multisig/create_proposal.ts rename to src/tools/multisig_create_proposal.ts index 4ff47e2..fff39c3 100644 --- a/src/tools/squads_multisig/create_proposal.ts +++ b/src/tools/multisig_create_proposal.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../../index"; +import { SolanaAgentKit } from "../agent"; import * as multisig from "@sqds/multisig"; const { Multisig } = multisig.accounts; @@ -10,7 +10,7 @@ const { Multisig } = multisig.accounts; * @returns {Promise} - The transaction ID of the created proposal. * @throws {Error} - Throws an error if the proposal creation fails. */ -export async function create_proposal( +export async function multisig_create_proposal( agent: SolanaAgentKit, transactionIndex?: number | bigint, ): Promise { diff --git a/src/tools/squads_multisig/deposit_to_multisig.ts b/src/tools/multisig_deposit_to_treasury.ts similarity index 94% rename from src/tools/squads_multisig/deposit_to_multisig.ts rename to src/tools/multisig_deposit_to_treasury.ts index e2b23ad..f9daf97 100644 --- a/src/tools/squads_multisig/deposit_to_multisig.ts +++ b/src/tools/multisig_deposit_to_treasury.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../../index"; +import { SolanaAgentKit } from "../agent"; import { PublicKey, SystemProgram, Transaction } from "@solana/web3.js"; import { LAMPORTS_PER_SOL } from "@solana/web3.js"; import { @@ -10,14 +10,14 @@ import { import * as multisig from "@sqds/multisig"; /** - * Transfer SOL or SPL tokens to a multisig vault. + * Transfer SOL or SPL tokens to a multisig treasury vault. * @param agent SolanaAgentKit instance * @param amount Amount to transfer * @param vaultIndex Optional vault index, default is 0 * @param mint Optional mint address for SPL tokens * @returns Transaction signature */ -export async function deposit_to_multisig( +export async function multisig_deposit_to_treasury( agent: SolanaAgentKit, amount: number, vaultIndex?: number, diff --git a/src/tools/squads_multisig/execute_proposal.ts b/src/tools/multisig_execute_proposal.ts similarity index 95% rename from src/tools/squads_multisig/execute_proposal.ts rename to src/tools/multisig_execute_proposal.ts index 60c21f4..69efde9 100644 --- a/src/tools/squads_multisig/execute_proposal.ts +++ b/src/tools/multisig_execute_proposal.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../../index"; +import { SolanaAgentKit } from "../agent"; import * as multisig from "@sqds/multisig"; const { Multisig } = multisig.accounts; @@ -10,7 +10,7 @@ const { Multisig } = multisig.accounts; * @returns {Promise} - A promise that resolves to the transaction signature string. * @throws {Error} - Throws an error if the transaction execution fails. */ -export async function execute_transaction( +export async function multisig_execute_proposal( agent: SolanaAgentKit, transactionIndex?: number | bigint, ): Promise { diff --git a/src/tools/squads_multisig/reject_proposal.ts b/src/tools/multisig_reject_proposal.ts similarity index 95% rename from src/tools/squads_multisig/reject_proposal.ts rename to src/tools/multisig_reject_proposal.ts index 1736b6d..78b8246 100644 --- a/src/tools/squads_multisig/reject_proposal.ts +++ b/src/tools/multisig_reject_proposal.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../../index"; +import { SolanaAgentKit } from "../agent"; import * as multisig from "@sqds/multisig"; const { Multisig } = multisig.accounts; @@ -10,7 +10,7 @@ const { Multisig } = multisig.accounts; * @returns A promise that resolves to the transaction ID of the rejection transaction. * @throws Will throw an error if the transaction fails. */ -export async function reject_proposal( +export async function multisig_reject_proposal( agent: SolanaAgentKit, transactionIndex?: number | bigint, ): Promise { diff --git a/src/tools/squads_multisig/transfer_from_multisig.ts b/src/tools/multisig_transfer_from_treasury.ts similarity index 94% rename from src/tools/squads_multisig/transfer_from_multisig.ts rename to src/tools/multisig_transfer_from_treasury.ts index 6c9c35b..fae9bf2 100644 --- a/src/tools/squads_multisig/transfer_from_multisig.ts +++ b/src/tools/multisig_transfer_from_treasury.ts @@ -1,4 +1,4 @@ -import { SolanaAgentKit } from "../../index"; +import { SolanaAgentKit } from "../agent"; import { PublicKey, SystemProgram, @@ -15,7 +15,7 @@ import * as multisig from "@sqds/multisig"; const { Multisig } = multisig.accounts; /** - * Transfer SOL or SPL tokens to a recipient from a multisig vault. + * Transfer SOL or SPL tokens to a recipient from a multisig treasury vault. * @param agent - SolanaAgentKit instance. * @param amount - Amount to transfer. * @param to - Recipient's public key. @@ -23,7 +23,7 @@ const { Multisig } = multisig.accounts; * @param mint - Optional mint address for SPL tokens. * @returns Transaction signature. */ -export async function transfer_from_multisig( +export async function multisig_transfer_from_treasury( agent: SolanaAgentKit, amount: number, to: PublicKey, From 9aa74ceab0f4389882f341e60d6cccda987c28af Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:39:52 +0530 Subject: [PATCH 107/138] chore: remove unnecessary commented function --- src/tools/create_3land_collectible.ts | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/tools/create_3land_collectible.ts b/src/tools/create_3land_collectible.ts index 68bf80a..29295ab 100644 --- a/src/tools/create_3land_collectible.ts +++ b/src/tools/create_3land_collectible.ts @@ -55,15 +55,3 @@ export async function createSingle( throw new Error(`Single edition creation failed: ${error.message}`); } } - -/** - * Buy a single edition on 3Land - * @param - * @returns - */ -// export async function buySingle() { -// try { -// } catch (error: any) { -// throw new Error(`Buying single edition failed: ${error.message}`); -// } -// } From 83a7616367fddb23c5d18b243fc2a09e33fd1f53 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:44:45 +0530 Subject: [PATCH 108/138] chore: combine all multisig tools in one --- src/tools/create_multisig.ts | 61 --- src/tools/index.ts | 8 +- src/tools/multisig_approve_proposal.ts | 52 --- src/tools/multisig_create_proposal.ts | 48 --- src/tools/multisig_deposit_to_treasury.ts | 91 ---- src/tools/multisig_execute_proposal.ts | 49 --- src/tools/multisig_reject_proposal.ts | 52 --- src/tools/multisig_tools.ts | 428 +++++++++++++++++++ src/tools/multisig_transfer_from_treasury.ts | 98 ----- 9 files changed, 429 insertions(+), 458 deletions(-) delete mode 100644 src/tools/create_multisig.ts delete mode 100644 src/tools/multisig_approve_proposal.ts delete mode 100644 src/tools/multisig_create_proposal.ts delete mode 100644 src/tools/multisig_deposit_to_treasury.ts delete mode 100644 src/tools/multisig_execute_proposal.ts delete mode 100644 src/tools/multisig_reject_proposal.ts create mode 100644 src/tools/multisig_tools.ts delete mode 100644 src/tools/multisig_transfer_from_treasury.ts diff --git a/src/tools/create_multisig.ts b/src/tools/create_multisig.ts deleted file mode 100644 index 7da0e0a..0000000 --- a/src/tools/create_multisig.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { PublicKey } from "@solana/web3.js"; -import * as multisig from "@sqds/multisig"; -import { SolanaAgentKit } from "../agent"; - -/** - * Creates a new Squads multisig account. - * - * @param agent - The SolanaAgentKit instance containing the connection and wallet information. - * @param creator - The public key of the creator who will be a member of the multisig. - * @returns A promise that resolves to the transaction ID of the multisig creation transaction. - * - * @throws Will throw an error if the transaction fails. - */ -export async function create_squads_multisig( - agent: SolanaAgentKit, - creator: PublicKey, -): Promise { - const connection = agent.connection; - const createKey = agent.wallet; // can be any keypair, using the agent wallet as only one multisig is required - - const [multisigPda] = multisig.getMultisigPda({ - createKey: createKey.publicKey, - }); - - const programConfigPda = multisig.getProgramConfigPda({})[0]; - - const programConfig = - await multisig.accounts.ProgramConfig.fromAccountAddress( - connection, - programConfigPda, - ); - - const configTreasury = programConfig.treasury; - const tx = multisig.transactions.multisigCreateV2({ - blockhash: (await connection.getLatestBlockhash()).blockhash, - treasury: configTreasury, - createKey: createKey.publicKey, - creator: agent.wallet.publicKey, - multisigPda, - configAuthority: null, - timeLock: 0, - threshold: 2, - rentCollector: null, - members: [ - { - key: agent.wallet.publicKey, - permissions: multisig.types.Permissions.all(), - }, - { - key: creator, - permissions: multisig.types.Permissions.all(), - }, - ], - }); - - tx.sign([agent.wallet, createKey]); - - const txId = connection.sendRawTransaction(tx.serialize()); - - return txId; -} diff --git a/src/tools/index.ts b/src/tools/index.ts index 79407c1..3b1a1eb 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -3,13 +3,6 @@ export * from "./close_empty_token_accounts"; export * from "./create_3land_collectible"; export * from "./create_gibwork_task"; export * from "./create_image"; -export * from "./create_multisig"; -export * from "./multisig_approve_proposal"; -export * from "./multisig_create_proposal"; -export * from "./multisig_deposit_to_treasury"; -export * from "./multisig_execute_proposal"; -export * from "./multisig_reject_proposal"; -export * from "./multisig_transfer_from_treasury"; export * from "./create_tiplinks"; export * from "./deploy_collection"; export * from "./deploy_token"; @@ -31,6 +24,7 @@ export * from "./launch_pumpfun_token"; export * from "./lend"; export * from "./manifest_trade"; export * from "./mint_nft"; +export * from "./multisig_tools"; export * from "./openbook_create_market"; export * from "./orca_close_position"; export * from "./orca_create_clmm"; diff --git a/src/tools/multisig_approve_proposal.ts b/src/tools/multisig_approve_proposal.ts deleted file mode 100644 index 7b74a4a..0000000 --- a/src/tools/multisig_approve_proposal.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { SolanaAgentKit } from "../agent"; -import * as multisig from "@sqds/multisig"; -const { Multisig } = multisig.accounts; - -/** - * Approves a proposal in a Solana multisig wallet. - * - * @param {SolanaAgentKit} agent - The Solana agent kit instance. - * @param {number | bigint} [transactionIndex] - The index of the transaction to approve. If not provided, the current transaction index will be used. - * @returns {Promise} - A promise that resolves to the transaction ID of the approved proposal. - * @throws {Error} - Throws an error if the approval process fails. - */ -export async function multisig_approve_proposal( - agent: SolanaAgentKit, - transactionIndex?: number | bigint, -): Promise { - try { - const createKey = agent.wallet; - const [multisigPda] = multisig.getMultisigPda({ - createKey: createKey.publicKey, - }); - const multisigInfo = await Multisig.fromAccountAddress( - agent.connection, - multisigPda, - ); - const currentTransactionIndex = Number(multisigInfo.transactionIndex); - if (!transactionIndex) { - transactionIndex = BigInt(currentTransactionIndex); - } else if (typeof transactionIndex !== "bigint") { - transactionIndex = BigInt(transactionIndex); - } - // const [proposalPda, proposalBump] = multisig.getProposalPda({ - // multisigPda, - // transactionIndex, - // }); - const multisigTx = multisig.transactions.proposalApprove({ - blockhash: (await agent.connection.getLatestBlockhash()).blockhash, - feePayer: agent.wallet.publicKey, - multisigPda, - transactionIndex: transactionIndex, - member: agent.wallet.publicKey, - }); - - multisigTx.sign([agent.wallet]); - const tx = await agent.connection.sendRawTransaction( - multisigTx.serialize(), - ); - return tx; - } catch (error: any) { - throw new Error(`Transfer failed: ${error}`); - } -} diff --git a/src/tools/multisig_create_proposal.ts b/src/tools/multisig_create_proposal.ts deleted file mode 100644 index fff39c3..0000000 --- a/src/tools/multisig_create_proposal.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { SolanaAgentKit } from "../agent"; -import * as multisig from "@sqds/multisig"; -const { Multisig } = multisig.accounts; - -/** - * Creates a proposal for a multisig transaction. - * - * @param {SolanaAgentKit} agent - The Solana agent kit instance. - * @param {number | bigint} [transactionIndex] - Optional transaction index. If not provided, the current transaction index will be used. - * @returns {Promise} - The transaction ID of the created proposal. - * @throws {Error} - Throws an error if the proposal creation fails. - */ -export async function multisig_create_proposal( - agent: SolanaAgentKit, - transactionIndex?: number | bigint, -): Promise { - try { - const createKey = agent.wallet; - const [multisigPda] = multisig.getMultisigPda({ - createKey: createKey.publicKey, - }); - const multisigInfo = await Multisig.fromAccountAddress( - agent.connection, - multisigPda, - ); - const currentTransactionIndex = Number(multisigInfo.transactionIndex); - if (!transactionIndex) { - transactionIndex = BigInt(currentTransactionIndex); - } else if (typeof transactionIndex !== "bigint") { - transactionIndex = BigInt(transactionIndex); - } - const multisigTx = multisig.transactions.proposalCreate({ - blockhash: (await agent.connection.getLatestBlockhash()).blockhash, - feePayer: agent.wallet_address, - multisigPda, - transactionIndex, - creator: agent.wallet_address, - }); - - multisigTx.sign([agent.wallet]); - const tx = await agent.connection.sendRawTransaction( - multisigTx.serialize(), - ); - return tx; - } catch (error: any) { - throw new Error(`Transfer failed: ${error}`); - } -} diff --git a/src/tools/multisig_deposit_to_treasury.ts b/src/tools/multisig_deposit_to_treasury.ts deleted file mode 100644 index f9daf97..0000000 --- a/src/tools/multisig_deposit_to_treasury.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { SolanaAgentKit } from "../agent"; -import { PublicKey, SystemProgram, Transaction } from "@solana/web3.js"; -import { LAMPORTS_PER_SOL } from "@solana/web3.js"; -import { - getAssociatedTokenAddress, - createTransferInstruction, - getMint, - createAssociatedTokenAccountInstruction, -} from "@solana/spl-token"; -import * as multisig from "@sqds/multisig"; - -/** - * Transfer SOL or SPL tokens to a multisig treasury vault. - * @param agent SolanaAgentKit instance - * @param amount Amount to transfer - * @param vaultIndex Optional vault index, default is 0 - * @param mint Optional mint address for SPL tokens - * @returns Transaction signature - */ -export async function multisig_deposit_to_treasury( - agent: SolanaAgentKit, - amount: number, - vaultIndex?: number, - mint?: PublicKey, -): Promise { - try { - let tx: string; - if (!vaultIndex) { - vaultIndex = 0; - } - const createKey = agent.wallet; - const [multisigPda] = multisig.getMultisigPda({ - createKey: createKey.publicKey, - }); - const [vaultPda] = multisig.getVaultPda({ - multisigPda, - index: vaultIndex, - }); - const to = vaultPda; - if (!mint) { - // Transfer native SOL - const transaction = new Transaction().add( - SystemProgram.transfer({ - fromPubkey: agent.wallet_address, - toPubkey: to, - lamports: amount * LAMPORTS_PER_SOL, - }), - ); - - tx = await agent.connection.sendTransaction(transaction, [agent.wallet]); - } else { - // Transfer SPL token - const fromAta = await getAssociatedTokenAddress( - mint, - agent.wallet_address, - ); - const transaction = new Transaction(); - const toAta = await getAssociatedTokenAddress(mint, to, true); - const toTokenAccountInfo = await agent.connection.getAccountInfo(toAta); - // Create associated token account if it doesn't exist - if (!toTokenAccountInfo) { - transaction.add( - createAssociatedTokenAccountInstruction( - agent.wallet_address, - toAta, - to, - mint, - ), - ); - } - // Get mint info to determine decimals - const mintInfo = await getMint(agent.connection, mint); - const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); - - transaction.add( - createTransferInstruction( - fromAta, - toAta, - agent.wallet_address, - adjustedAmount, - ), - ); - - tx = await agent.connection.sendTransaction(transaction, [agent.wallet]); - } - - return tx; - } catch (error: any) { - throw new Error(`Transfer failed: ${error}`); - } -} diff --git a/src/tools/multisig_execute_proposal.ts b/src/tools/multisig_execute_proposal.ts deleted file mode 100644 index 69efde9..0000000 --- a/src/tools/multisig_execute_proposal.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { SolanaAgentKit } from "../agent"; -import * as multisig from "@sqds/multisig"; -const { Multisig } = multisig.accounts; - -/** - * Executes a transaction on the Solana blockchain using the provided agent. - * - * @param {SolanaAgentKit} agent - The Solana agent kit instance containing the wallet and connection. - * @param {number | bigint} [transactionIndex] - Optional transaction index to execute. If not provided, the current transaction index from the multisig account will be used. - * @returns {Promise} - A promise that resolves to the transaction signature string. - * @throws {Error} - Throws an error if the transaction execution fails. - */ -export async function multisig_execute_proposal( - agent: SolanaAgentKit, - transactionIndex?: number | bigint, -): Promise { - try { - const createKey = agent.wallet; - const [multisigPda] = multisig.getMultisigPda({ - createKey: createKey.publicKey, - }); - const multisigInfo = await Multisig.fromAccountAddress( - agent.connection, - multisigPda, - ); - const currentTransactionIndex = Number(multisigInfo.transactionIndex); - if (!transactionIndex) { - transactionIndex = BigInt(currentTransactionIndex); - } else if (typeof transactionIndex !== "bigint") { - transactionIndex = BigInt(transactionIndex); - } - const multisigTx = await multisig.transactions.vaultTransactionExecute({ - connection: agent.connection, - blockhash: (await agent.connection.getLatestBlockhash()).blockhash, - feePayer: agent.wallet.publicKey, - multisigPda, - transactionIndex, - member: agent.wallet.publicKey, - }); - - multisigTx.sign([agent.wallet]); - const tx = await agent.connection.sendRawTransaction( - multisigTx.serialize(), - ); - return tx; - } catch (error: any) { - throw new Error(`Transfer failed: ${error}`); - } -} diff --git a/src/tools/multisig_reject_proposal.ts b/src/tools/multisig_reject_proposal.ts deleted file mode 100644 index 78b8246..0000000 --- a/src/tools/multisig_reject_proposal.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { SolanaAgentKit } from "../agent"; -import * as multisig from "@sqds/multisig"; -const { Multisig } = multisig.accounts; - -/** - * Rejects a proposal in a Solana multisig setup. - * - * @param agent - The SolanaAgentKit instance containing the wallet and connection. - * @param transactionIndex - Optional. The index of the transaction to reject. If not provided, the current transaction index will be used. - * @returns A promise that resolves to the transaction ID of the rejection transaction. - * @throws Will throw an error if the transaction fails. - */ -export async function multisig_reject_proposal( - agent: SolanaAgentKit, - transactionIndex?: number | bigint, -): Promise { - try { - const createKey = agent.wallet; - const [multisigPda] = multisig.getMultisigPda({ - createKey: createKey.publicKey, - }); - const multisigInfo = await Multisig.fromAccountAddress( - agent.connection, - multisigPda, - ); - const currentTransactionIndex = Number(multisigInfo.transactionIndex); - if (!transactionIndex) { - transactionIndex = BigInt(currentTransactionIndex); - } else if (typeof transactionIndex !== "bigint") { - transactionIndex = BigInt(transactionIndex); - } - // const [proposalPda, proposalBump] = multisig.getProposalPda({ - // multisigPda, - // transactionIndex, - // }); - const multisigTx = multisig.transactions.proposalReject({ - blockhash: (await agent.connection.getLatestBlockhash()).blockhash, - feePayer: agent.wallet.publicKey, - multisigPda, - transactionIndex: transactionIndex, - member: agent.wallet.publicKey, - }); - - multisigTx.sign([agent.wallet]); - const tx = await agent.connection.sendRawTransaction( - multisigTx.serialize(), - ); - return tx; - } catch (error: any) { - throw new Error(`Transfer failed: ${error}`); - } -} diff --git a/src/tools/multisig_tools.ts b/src/tools/multisig_tools.ts new file mode 100644 index 0000000..1639d45 --- /dev/null +++ b/src/tools/multisig_tools.ts @@ -0,0 +1,428 @@ +import { + LAMPORTS_PER_SOL, + PublicKey, + SystemProgram, + Transaction, + TransactionInstruction, + TransactionMessage, +} from "@solana/web3.js"; +import * as multisig from "@sqds/multisig"; +import { + getAssociatedTokenAddress, + createAssociatedTokenAccountInstruction, + getMint, + createTransferInstruction, +} from "@solana/spl-token"; +import { SolanaAgentKit } from "../agent"; + +const { Multisig } = multisig.accounts; + +/** + * Creates a new Squads multisig account. + * + * @param agent - The SolanaAgentKit instance containing the connection and wallet information. + * @param creator - The public key of the creator who will be a member of the multisig. + * @returns A promise that resolves to the transaction ID of the multisig creation transaction. + * + * @throws Will throw an error if the transaction fails. + */ +export async function create_squads_multisig( + agent: SolanaAgentKit, + creator: PublicKey, +): Promise { + const connection = agent.connection; + const createKey = agent.wallet; // can be any keypair, using the agent wallet as only one multisig is required + + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + + const programConfigPda = multisig.getProgramConfigPda({})[0]; + + const programConfig = + await multisig.accounts.ProgramConfig.fromAccountAddress( + connection, + programConfigPda, + ); + + const configTreasury = programConfig.treasury; + const tx = multisig.transactions.multisigCreateV2({ + blockhash: (await connection.getLatestBlockhash()).blockhash, + treasury: configTreasury, + createKey: createKey.publicKey, + creator: agent.wallet.publicKey, + multisigPda, + configAuthority: null, + timeLock: 0, + threshold: 2, + rentCollector: null, + members: [ + { + key: agent.wallet.publicKey, + permissions: multisig.types.Permissions.all(), + }, + { + key: creator, + permissions: multisig.types.Permissions.all(), + }, + ], + }); + + tx.sign([agent.wallet, createKey]); + + const txId = connection.sendRawTransaction(tx.serialize()); + + return txId; +} + +/** + * Creates a proposal for a multisig transaction. + * + * @param {SolanaAgentKit} agent - The Solana agent kit instance. + * @param {number | bigint} [transactionIndex] - Optional transaction index. If not provided, the current transaction index will be used. + * @returns {Promise} - The transaction ID of the created proposal. + * @throws {Error} - Throws an error if the proposal creation fails. + */ +export async function multisig_create_proposal( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + const multisigTx = multisig.transactions.proposalCreate({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet_address, + multisigPda, + transactionIndex, + creator: agent.wallet_address, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Create proposal failed: ${error}`); + } +} + +/** + * Transfer SOL or SPL tokens to a multisig treasury vault. + * @param agent SolanaAgentKit instance + * @param amount Amount to transfer + * @param vaultIndex Optional vault index, default is 0 + * @param mint Optional mint address for SPL tokens + * @returns Transaction signature + */ +export async function multisig_deposit_to_treasury( + agent: SolanaAgentKit, + amount: number, + vaultIndex?: number, + mint?: PublicKey, +): Promise { + try { + let tx: string; + if (!vaultIndex) { + vaultIndex = 0; + } + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const [vaultPda] = multisig.getVaultPda({ + multisigPda, + index: vaultIndex, + }); + const to = vaultPda; + if (!mint) { + // Transfer native SOL + const transaction = new Transaction().add( + SystemProgram.transfer({ + fromPubkey: agent.wallet_address, + toPubkey: to, + lamports: amount * LAMPORTS_PER_SOL, + }), + ); + + tx = await agent.connection.sendTransaction(transaction, [agent.wallet]); + } else { + // Transfer SPL token + const fromAta = await getAssociatedTokenAddress( + mint, + agent.wallet_address, + ); + const transaction = new Transaction(); + const toAta = await getAssociatedTokenAddress(mint, to, true); + const toTokenAccountInfo = await agent.connection.getAccountInfo(toAta); + // Create associated token account if it doesn't exist + if (!toTokenAccountInfo) { + transaction.add( + createAssociatedTokenAccountInstruction( + agent.wallet_address, + toAta, + to, + mint, + ), + ); + } + // Get mint info to determine decimals + const mintInfo = await getMint(agent.connection, mint); + const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); + + transaction.add( + createTransferInstruction( + fromAta, + toAta, + agent.wallet_address, + adjustedAmount, + ), + ); + + tx = await agent.connection.sendTransaction(transaction, [agent.wallet]); + } + + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} + +/** + * Approves a proposal in a Solana multisig wallet. + * + * @param {SolanaAgentKit} agent - The Solana agent kit instance. + * @param {number | bigint} [transactionIndex] - The index of the transaction to approve. If not provided, the current transaction index will be used. + * @returns {Promise} - A promise that resolves to the transaction ID of the approved proposal. + * @throws {Error} - Throws an error if the approval process fails. + */ +export async function multisig_approve_proposal( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + + // const [proposalPda, proposalBump] = multisig.getProposalPda({ + // multisigPda, + // transactionIndex, + // }); + + const multisigTx = multisig.transactions.proposalApprove({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet.publicKey, + multisigPda, + transactionIndex: transactionIndex, + member: agent.wallet.publicKey, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Approve proposal failed: ${error}`); + } +} + +/** + * Executes a transaction on the Solana blockchain using the provided agent. + * + * @param {SolanaAgentKit} agent - The Solana agent kit instance containing the wallet and connection. + * @param {number | bigint} [transactionIndex] - Optional transaction index to execute. If not provided, the current transaction index from the multisig account will be used. + * @returns {Promise} - A promise that resolves to the transaction signature string. + * @throws {Error} - Throws an error if the transaction execution fails. + */ +export async function multisig_execute_proposal( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + const multisigTx = await multisig.transactions.vaultTransactionExecute({ + connection: agent.connection, + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet.publicKey, + multisigPda, + transactionIndex, + member: agent.wallet.publicKey, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Execute proposal failed: ${error}`); + } +} + +/** + * Rejects a proposal in a Solana multisig setup. + * + * @param agent - The SolanaAgentKit instance containing the wallet and connection. + * @param transactionIndex - Optional. The index of the transaction to reject. If not provided, the current transaction index will be used. + * @returns A promise that resolves to the transaction ID of the rejection transaction. + * @throws Will throw an error if the transaction fails. + */ +export async function multisig_reject_proposal( + agent: SolanaAgentKit, + transactionIndex?: number | bigint, +): Promise { + try { + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + if (!transactionIndex) { + transactionIndex = BigInt(currentTransactionIndex); + } else if (typeof transactionIndex !== "bigint") { + transactionIndex = BigInt(transactionIndex); + } + + const multisigTx = multisig.transactions.proposalReject({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet.publicKey, + multisigPda, + transactionIndex: transactionIndex, + member: agent.wallet.publicKey, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Reject proposal failed: ${error}`); + } +} + +/** + * Transfer SOL or SPL tokens from a multisig treasury vault to a recipient. + * @param agent - SolanaAgentKit instance. + * @param amount - Amount to transfer. + * @param to - Recipient's public key. + * @param vaultIndex - Optional vault index, default is 0. + * @param mint - Optional mint address for SPL tokens. + * @returns Transaction signature. + */ +export async function multisig_transfer_from_treasury( + agent: SolanaAgentKit, + amount: number, + to: PublicKey, + vaultIndex: number = 0, + mint?: PublicKey, +): Promise { + try { + let transferInstruction: TransactionInstruction; + + const createKey = agent.wallet; + const [multisigPda] = multisig.getMultisigPda({ + createKey: createKey.publicKey, + }); + const multisigInfo = await Multisig.fromAccountAddress( + agent.connection, + multisigPda, + ); + const currentTransactionIndex = Number(multisigInfo.transactionIndex); + const transactionIndex = BigInt(currentTransactionIndex + 1); + const [vaultPda] = multisig.getVaultPda({ + multisigPda, + index: vaultIndex, + }); + + if (!mint) { + // Transfer native SOL + transferInstruction = SystemProgram.transfer({ + fromPubkey: agent.wallet_address, + toPubkey: to, + lamports: amount * LAMPORTS_PER_SOL, + }); + } else { + // Transfer SPL token + const fromAta = await getAssociatedTokenAddress(mint, vaultPda, true); + const toAta = await getAssociatedTokenAddress(mint, to, true); + const mintInfo = await getMint(agent.connection, mint); + const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); + + transferInstruction = createTransferInstruction( + fromAta, + toAta, + agent.wallet_address, + adjustedAmount, + ); + } + + const transferMessage = new TransactionMessage({ + payerKey: vaultPda, + recentBlockhash: (await agent.connection.getLatestBlockhash()).blockhash, + instructions: [transferInstruction], + }); + + const multisigTx = multisig.transactions.vaultTransactionCreate({ + blockhash: (await agent.connection.getLatestBlockhash()).blockhash, + feePayer: agent.wallet_address, + multisigPda, + transactionIndex, + creator: agent.wallet_address, + vaultIndex: 0, + ephemeralSigners: 0, + transactionMessage: transferMessage, + }); + + multisigTx.sign([agent.wallet]); + const tx = await agent.connection.sendRawTransaction( + multisigTx.serialize(), + ); + return tx; + } catch (error: any) { + throw new Error(`Transfer failed: ${error}`); + } +} diff --git a/src/tools/multisig_transfer_from_treasury.ts b/src/tools/multisig_transfer_from_treasury.ts deleted file mode 100644 index fae9bf2..0000000 --- a/src/tools/multisig_transfer_from_treasury.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { SolanaAgentKit } from "../agent"; -import { - PublicKey, - SystemProgram, - TransactionInstruction, - TransactionMessage, -} from "@solana/web3.js"; -import { LAMPORTS_PER_SOL } from "@solana/web3.js"; -import { - getAssociatedTokenAddress, - createTransferInstruction, - getMint, -} from "@solana/spl-token"; -import * as multisig from "@sqds/multisig"; -const { Multisig } = multisig.accounts; - -/** - * Transfer SOL or SPL tokens to a recipient from a multisig treasury vault. - * @param agent - SolanaAgentKit instance. - * @param amount - Amount to transfer. - * @param to - Recipient's public key. - * @param vaultIndex - Optional vault index, default is 0. - * @param mint - Optional mint address for SPL tokens. - * @returns Transaction signature. - */ -export async function multisig_transfer_from_treasury( - agent: SolanaAgentKit, - amount: number, - to: PublicKey, - vaultIndex: number = 0, - mint?: PublicKey, -): Promise { - try { - let transferInstruction: TransactionInstruction; - - const createKey = agent.wallet; - const [multisigPda] = multisig.getMultisigPda({ - createKey: createKey.publicKey, - }); - const multisigInfo = await Multisig.fromAccountAddress( - agent.connection, - multisigPda, - ); - const currentTransactionIndex = Number(multisigInfo.transactionIndex); - const transactionIndex = BigInt(currentTransactionIndex + 1); - const [vaultPda] = multisig.getVaultPda({ - multisigPda, - index: vaultIndex, - }); - - if (!mint) { - // Transfer native SOL - transferInstruction = SystemProgram.transfer({ - fromPubkey: agent.wallet_address, - toPubkey: to, - lamports: amount * LAMPORTS_PER_SOL, - }); - } else { - // Transfer SPL token - const fromAta = await getAssociatedTokenAddress(mint, vaultPda, true); - const toAta = await getAssociatedTokenAddress(mint, to, true); - const mintInfo = await getMint(agent.connection, mint); - const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); - - transferInstruction = createTransferInstruction( - fromAta, - toAta, - agent.wallet_address, - adjustedAmount, - ); - } - - const transferMessage = new TransactionMessage({ - payerKey: vaultPda, - recentBlockhash: (await agent.connection.getLatestBlockhash()).blockhash, - instructions: [transferInstruction], - }); - - const multisigTx = multisig.transactions.vaultTransactionCreate({ - blockhash: (await agent.connection.getLatestBlockhash()).blockhash, - feePayer: agent.wallet_address, - multisigPda, - transactionIndex, - creator: agent.wallet_address, - vaultIndex: 0, - ephemeralSigners: 0, - transactionMessage: transferMessage, - }); - - multisigTx.sign([agent.wallet]); - const tx = await agent.connection.sendRawTransaction( - multisigTx.serialize(), - ); - return tx; - } catch (error: any) { - throw new Error(`Transfer failed: ${error}`); - } -} From b8d02de046e1d080d3500fd3ab0919388ee13585 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:59:21 +0530 Subject: [PATCH 109/138] chore: fix contribution docs --- docs/classes/SolanaAgentKit.html | 16 +- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +- docs/interfaces/ActionExample.html | 4 +- docs/interfaces/BatchOrderPattern.html | 4 +- docs/interfaces/CollectionDeployment.html | 4 +- docs/interfaces/CollectionOptions.html | 4 +- docs/interfaces/Config.html | 4 +- docs/interfaces/Creator.html | 4 +- docs/interfaces/FetchPriceResponse.html | 4 +- docs/interfaces/FlashCloseTradeParams.html | 4 +- docs/interfaces/FlashTradeParams.html | 4 +- docs/interfaces/GibworkCreateTaskReponse.html | 4 +- docs/interfaces/JupiterTokenData.html | 4 +- .../LuloAccountDetailsResponse.html | 4 +- .../interfaces/MintCollectionNFTResponse.html | 4 +- docs/interfaces/OrderParams.html | 4 +- docs/interfaces/PumpFunTokenOptions.html | 4 +- docs/interfaces/PumpfunLaunchResponse.html | 4 +- docs/interfaces/PythFetchPriceResponse.html | 4 +- docs/interfaces/PythPriceFeedIDItem.html | 4 +- docs/interfaces/PythPriceItem.html | 4 +- docs/interfaces/TokenCheck.html | 4 +- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- guides/add_your_own_tool.md | 147 ++++++++++++++---- 30 files changed, 178 insertions(+), 93 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 2602212..c095be5 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 @@ -77,14 +77,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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Returns Promise<{ signature: string; size: number }>

    • 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

      • optionsWithBase58: StoreInitOptions
      • collectionOpts: CreateCollectionOptions

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionAccount: string
      • createItemOptions: CreateSingleOptions
      • isMainnet: boolean

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • mint: string

      Returns Promise<string>

    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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Returns Promise<{ signature: string; size: number }>

    • 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

      • optionsWithBase58: StoreInitOptions
      • collectionOpts: CreateCollectionOptions

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionAccount: string
      • createItemOptions: CreateSingleOptions
      • isMainnet: boolean

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Opens a new trading position on Flash.Trade

      Parameters

      • params: FlashTradeParams

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

      Returns Promise<string>

      Transaction signature

      -
    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 946e754..f166d40 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
          | Solana3LandCreateSingle
          | Solana3LandCreateCollection
          | SolanaCloseEmptyTokenAccounts
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaExecuteProposal2by2Multisig
      )[]

    +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
          | Solana3LandCreateSingle
          | Solana3LandCreateCollection
          | SolanaCloseEmptyTokenAccounts
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaExecuteProposal2by2Multisig
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 41d02bc..7329dcf 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 106baa4..80ddc47 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 f83cd39..0008737 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 82e0ce8..17e5b9a 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index 0a8bde7..bdc0d3f 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 1b9b012..ed6bc47 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 17f674f..188959d 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 fdca3d7..274c7d7 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 b5e8943..c86ad11 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 f9a0f9e..73a52dd 100644 --- a/docs/interfaces/Config.html +++ b/docs/interfaces/Config.html @@ -1,5 +1,5 @@ -Config | solana-agent-kit

    Interface Config

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

    Properties

    FLASH_PRIVILEGE? +Config | solana-agent-kit

    Interface Config

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

    Properties

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

    Properties

    FLASH_PRIVILEGE?: string
    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 c2fdf85..71aa89b 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 78c47ba..bf3bf12 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 index 3286ef6..64069da 100644 --- a/docs/interfaces/FlashCloseTradeParams.html +++ b/docs/interfaces/FlashCloseTradeParams.html @@ -1,3 +1,3 @@ -FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    side +FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    Properties

    side: "long" | "short"
    token: string
    +

    Properties

    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/FlashTradeParams.html b/docs/interfaces/FlashTradeParams.html index 863734d..428381e 100644 --- a/docs/interfaces/FlashTradeParams.html +++ b/docs/interfaces/FlashTradeParams.html @@ -1,5 +1,5 @@ -FlashTradeParams | solana-agent-kit

    Interface FlashTradeParams

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

    Properties

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

    Properties

    collateralUsd: number
    leverage: number
    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index 42cfb7c..e6bad21 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 6949e66..2ceb11f 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 3123e79..695c382 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 e5cc1f2..c1b999c 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 91d7e84..2bf5600 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 1d471e9..fcad38b 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 5822e59..34e2df4 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 6f7362c..7960246 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 2457d7a..0c2f2b0 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 6b18692..1aa6f4b 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 0e7ee85..4294793 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 2209e3c..3baf647 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index db561eb..efca73e 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;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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/guides/add_your_own_tool.md b/guides/add_your_own_tool.md index ba7a7c6..2176ed9 100644 --- a/guides/add_your_own_tool.md +++ b/guides/add_your_own_tool.md @@ -5,11 +5,12 @@ Extending the **Solana Agent Kit** with custom tools allows you to add specializ ## Overview 1. Create a new tool file -2. Implement the tool class -3. Implement supporting functions in SolanaAgentKit -4. Export the new tool -5. Integrate the tool into the agent -6. Use the custom tool +2. Export the new tool +3. Add supporting functions in SolanaAgentKit +4. Implement the Langchain tool class +5. Export the Langchain tool +6. Define Action class for given tool +7. Use the custom tool ## Implementation Guide @@ -17,7 +18,29 @@ Extending the **Solana Agent Kit** with custom tools allows you to add specializ Create a new TypeScript file in the `src/tools/` directory for your tool (e.g., `custom_tool.ts`). -### 2. Implement the Tool Class + +### 2. Export the Tool +> `src/tools/index.ts` +```typescript:src/tools/index.ts +export * from "./request_faucet_funds"; +export * from "./deploy_token"; +export * from "./custom_tool"; // Add your new tool +``` + +### 3. Add Supporting Functions to SolanaAgentKit +> `src/agent/index.ts` +```typescript:src/agent/index.ts +export class SolanaAgentKit { + // ... existing code ... + + async customFunction(input: string): Promise { + // Implement your custom functionality + return `Processed input: ${input}`; + } +} +``` + +### 4. Implement the Langchain Tool Class > `src/langchain/index.ts` ```typescript:src/langchain/index.ts import { Tool } from "langchain/tools"; @@ -50,31 +73,10 @@ export class CustomTool extends Tool { } ``` -### 3. Add Supporting Functions to SolanaAgentKit -> `src/agent/index.ts` -```typescript:src/agent/index.ts -export class SolanaAgentKit { - // ... existing code ... - - async customFunction(input: string): Promise { - // Implement your custom functionality - return `Processed input: ${input}`; - } -} -``` - -### 4. Export the Tool -> `src/tools/index.ts` -```typescript:src/tools/index.ts -export * from "./request_faucet_funds"; -export * from "./deploy_token"; -export * from "./custom_tool"; // Add your new tool -``` - -### 5. Integrate with Agent +### 5. Export Langchain Tool > `src/langchain/index.ts` ```typescript:src/langchain/index.ts -import { CustomTool } from "../tools/custom_tool"; +import { CustomTool } from "../tools"; export function createSolanaTools(agent: SolanaAgentKit) { return [ @@ -84,7 +86,53 @@ export function createSolanaTools(agent: SolanaAgentKit) { } ``` -### 6. Usage Example +### 6. Define Action class for given tool + +> `src/actions/custom_action.ts` +```typescript:src/actions/custom_action.ts +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { custom_tool } from "../tools"; + +const customAction: Action = { + name: "CUSTOM_ACTION", + similes: ["custom tool"], + description: "Description of what the custom tool does.", + examples: [ + { + input: {}, + output: { + status: "success", + message: "Custom tool executed successfully", + data: result, + }, + explanation: "Custom tool executed successfully", + }, + ], + schema: z.object({ + input: z.string(), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const result = await agent.customFunction(input); + return result; + }, +}; +``` + +### 7. Export Action +> `src/actions/index.ts` +```typescript:src/actions/index.ts +export * from "./balance"; +export * from "./custom_action"; + +export const ACTIONS = { + // ... existing actions ... + CUSTOM_ACTION: customAction, +} +``` + +### 8. Usage Example Add a code example in the `README.md` file. @@ -106,7 +154,7 @@ if (customTool) { } // or alternatively -const result = await agent.customFunction("your-input"); // assuming you have a `customFunction` method in SolanaAgentKit +const result = await agent.customFunction("your-input"); // assuming you have implemented `customFunction` method in SolanaAgentKit console.log(result); ``` @@ -174,6 +222,43 @@ export class SolanaAgentKit { } ``` +Add Action for given tool: +> `src/actions/fetch_token_price.ts` +```typescript:src/actions/fetch_token_price.ts +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { fetch_token_price } from "../tools"; + +const fetchTokenPriceAction: Action = { + name: "FETCH_TOKEN_PRICE", + similes: ["fetch token price"], + description: "Fetches the current price of a specified token.", + examples: [ + { + input: { tokenSymbol: "SOL" }, + output: { + status: "success", + message: "Price fetched successfully for SOL.", + price: 150, + }, + explanation: "Fetch the current price of SOL token in USDC", + }, + ], + schema: z.object({ + tokenSymbol: z.string().describe("The symbol of the token to fetch the price for"), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const price = await agent.getTokenPrice(input.tokenSymbol); + return { + status: "success", + price, + message: `Price fetched successfully for ${input.tokenSymbol}.`, + }; + }, +}; +``` + Then it can be used as such: ```typescript From b93b961a9ec95742bd57b6927f649eec77f422bd Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sat, 11 Jan 2025 23:04:53 +0530 Subject: [PATCH 110/138] fix --- guides/add_your_own_tool.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guides/add_your_own_tool.md b/guides/add_your_own_tool.md index 2176ed9..b5c0a97 100644 --- a/guides/add_your_own_tool.md +++ b/guides/add_your_own_tool.md @@ -10,7 +10,8 @@ Extending the **Solana Agent Kit** with custom tools allows you to add specializ 4. Implement the Langchain tool class 5. Export the Langchain tool 6. Define Action class for given tool -7. Use the custom tool +7. Export Action +8. Use the custom tool ## Implementation Guide From cd72af002ed7ef7d585e0466b5ef813e139a4949 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sat, 11 Jan 2025 23:15:37 +0530 Subject: [PATCH 111/138] feat: add squads actions --- src/actions/createMultisig.ts | 52 ++++++++++++++++++++++++ src/actions/depositToMultisigTreasury.ts | 49 ++++++++++++++++++++++ src/actions/index.ts | 4 ++ 3 files changed, 105 insertions(+) create mode 100644 src/actions/createMultisig.ts create mode 100644 src/actions/depositToMultisigTreasury.ts diff --git a/src/actions/createMultisig.ts b/src/actions/createMultisig.ts new file mode 100644 index 0000000..df5326e --- /dev/null +++ b/src/actions/createMultisig.ts @@ -0,0 +1,52 @@ +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { create_squads_multisig } from "../tools"; +import { PublicKey } from "@solana/web3.js"; + +const createMultisigAction: Action = { + name: "CREATE_MULTISIG_ACTION", + similes: [ + "create multisig", + "create squads multisig", + "create 2-by-2 multisig", + "create 2-of-2 multisig", + "create 2-of-2 multisig account", + "create 2-of-2 multisig account on Solana", + ], + description: `Create a 2-of-2 multisig account on Solana using Squads with the user and the agent, where both approvals will be required to run the transactions. + + Note: For one AI agent, only one 2-by-2 multisig can be created as it is pair-wise.`, + examples: [ + [ + { + input: { + creator: "7nE9GvcwsqzYxmJLSrYmSB1V1YoJWVK1KWzAcWAzjXkN", + }, + output: { + status: "success", + message: "2-by-2 multisig account created successfully", + signature: "4xKpN2...", + }, + explanation: "Create a 2-of-2 multisig account on Solana", + }, + ], + ], + schema: z.object({ + creator: z.string(), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const multisig = await create_squads_multisig( + agent, + new PublicKey(input.creator as string), + ); + + return { + status: "success", + message: "2-by-2 multisig account created successfully", + signature: multisig, + }; + }, +}; + +export default createMultisigAction; diff --git a/src/actions/depositToMultisigTreasury.ts b/src/actions/depositToMultisigTreasury.ts new file mode 100644 index 0000000..b0e1985 --- /dev/null +++ b/src/actions/depositToMultisigTreasury.ts @@ -0,0 +1,49 @@ +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { create_squads_multisig, multisig_deposit_to_treasury } from "../tools"; + +const depositToMultisigAction: Action = { + name: "DEPOSIT_TO_MULTISIG_ACTION", + similes: [ + "deposit to multisig", + "deposit to squads multisig", + "deposit to 2-by-2 multisig", + "deposit to 2-of-2 multisig", + "deposit SOL to 2-of-2 multisig account on Solana", + "deposit SPL tokens to 2-of-2 multisig account", + ], + description: `Deposit funds to a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions.`, + examples: [ + [ + { + input: { + amount: 1, + }, + output: { + status: "success", + message: "Funds deposited to 2-by-2 multisig account successfully", + signature: "4xKpN2...", + }, + explanation: "Deposit 1 SOL to 2-of-2 multisig account on Solana", + }, + ], + ], + schema: z.object({ + amount: z.number().min(0, "Amount must be greater than 0"), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const multisig = await multisig_deposit_to_treasury( + agent, + input.amount as number, + ); + + return { + status: "success", + message: "Funds deposited to 2-by-2 multisig account successfully", + signature: multisig, + }; + }, +}; + +export default depositToMultisigAction; diff --git a/src/actions/index.ts b/src/actions/index.ts index c974209..74ff542 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -30,6 +30,8 @@ import launchPumpfunTokenAction from "./launchPumpfunToken"; import getWalletAddressAction from "./getWalletAddress"; import flashOpenTradeAction from "./flashOpenTrade"; import flashCloseTradeAction from "./flashCloseTrade"; +import createMultisigAction from "./createMultisig"; +import depositToMultisigAction from "./depositToMultisigTreasury"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -65,6 +67,8 @@ export const ACTIONS = { LAUNCH_PUMPFUN_TOKEN_ACTION: launchPumpfunTokenAction, FLASH_OPEN_TRADE_ACTION: flashOpenTradeAction, FLASH_CLOSE_TRADE_ACTION: flashCloseTradeAction, + CREATE_MULTISIG_ACTION: createMultisigAction, + DEPOSIT_TO_MULTISIG_ACTION: depositToMultisigAction, }; export type { Action, ActionExample, Handler } from "../types/action"; From ea6430129bf395698dfcc512be10e20a7950af56 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sat, 11 Jan 2025 23:24:58 +0530 Subject: [PATCH 112/138] feat: add more squads actions --- src/actions/approveMultisigProposal.ts | 50 ++++++++++++++++++ src/actions/createMultisigProposal.ts | 53 +++++++++++++++++++ src/actions/depositToMultisigTreasury.ts | 10 ++-- src/actions/index.ts | 6 +++ src/actions/transferFromMultisigTreasury.ts | 56 +++++++++++++++++++++ 5 files changed, 170 insertions(+), 5 deletions(-) create mode 100644 src/actions/approveMultisigProposal.ts create mode 100644 src/actions/createMultisigProposal.ts create mode 100644 src/actions/transferFromMultisigTreasury.ts diff --git a/src/actions/approveMultisigProposal.ts b/src/actions/approveMultisigProposal.ts new file mode 100644 index 0000000..c60a8a1 --- /dev/null +++ b/src/actions/approveMultisigProposal.ts @@ -0,0 +1,50 @@ +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { multisig_approve_proposal } from "../tools"; + +const approveMultisigProposalAction: Action = { + name: "APPROVE_MULTISIG_PROPOSAL_ACTION", + similes: [ + "approve proposal", + "approve proposal to transfer funds", + "approve proposal to transfer funds from 2-of-2 multisig", + "approve proposal to transfer funds from 2-of-2 multisig account", + "approve proposal to transfer funds from 2-of-2 multisig account on Solana", + ], + description: `Approve a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + Note: For one AI agent, only one 2-by-2 multisig can be created as it is pair-wise.`, + examples: [ + [ + { + input: { + transactionIndex: 0, + }, + output: { + status: "success", + message: "Proposal approved successfully", + transaction: "4xKpN2...", + transactionIndex: "0", + }, + explanation: + "Approve a proposal to transfer 1 SOL from 2-of-2 multisig account on Solana", + }, + ], + ], + schema: z.object({ + transactionIndex: z.number().optional(), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const tx = await multisig_approve_proposal(agent, input.transactionIndex); + + return { + status: "success", + message: "Proposal approved successfully", + transaction: tx, + transactionIndex: input.transactionIndex.toString(), + }; + }, +}; + +export default approveMultisigProposalAction; diff --git a/src/actions/createMultisigProposal.ts b/src/actions/createMultisigProposal.ts new file mode 100644 index 0000000..9c83ab5 --- /dev/null +++ b/src/actions/createMultisigProposal.ts @@ -0,0 +1,53 @@ +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { multisig_create_proposal } from "../tools"; + +const createMultisigProposalAction: Action = { + name: "CREATE_MULTISIG_PROPOSAL_ACTION", + similes: [ + "create proposal", + "create proposal to transfer funds", + "create proposal to transfer funds from 2-of-2 multisig", + "create proposal to transfer funds from 2-of-2 multisig account", + "create proposal to transfer funds from 2-of-2 multisig account on Solana", + ], + description: `Create a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions. + + If transactionIndex is not provided, the latest index will automatically be fetched and used.`, + examples: [ + [ + { + input: { + transactionIndex: 0, + }, + output: { + status: "success", + message: "Proposal created successfully", + transaction: "4xKpN2...", + transactionIndex: "0", + }, + explanation: + "Create a proposal to transfer 1 SOL from 2-of-2 multisig account on Solana", + }, + ], + ], + schema: z.object({ + transactionIndex: z.number().optional(), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const multisig = await multisig_create_proposal( + agent, + input.transactionIndex as number, + ); + + return { + status: "success", + message: "Proposal created successfully", + transaction: multisig, + transactionIndex: input.transactionIndex as number, + }; + }, +}; + +export default createMultisigProposalAction; diff --git a/src/actions/depositToMultisigTreasury.ts b/src/actions/depositToMultisigTreasury.ts index b0e1985..520dc62 100644 --- a/src/actions/depositToMultisigTreasury.ts +++ b/src/actions/depositToMultisigTreasury.ts @@ -1,17 +1,17 @@ import { Action } from "../types/action"; import { SolanaAgentKit } from "../agent"; import { z } from "zod"; -import { create_squads_multisig, multisig_deposit_to_treasury } from "../tools"; +import { multisig_deposit_to_treasury } from "../tools"; const depositToMultisigAction: Action = { name: "DEPOSIT_TO_MULTISIG_ACTION", similes: [ "deposit to multisig", "deposit to squads multisig", - "deposit to 2-by-2 multisig", - "deposit to 2-of-2 multisig", - "deposit SOL to 2-of-2 multisig account on Solana", - "deposit SPL tokens to 2-of-2 multisig account", + "deposit to 2-of-2 multisig account", + "deposit to 2-of-2 multisig account on Solana", + "deposit SOL to 2-of-2 multisig", + "deposit SPL tokens to 2-of-2 multisig", ], description: `Deposit funds to a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions.`, examples: [ diff --git a/src/actions/index.ts b/src/actions/index.ts index 74ff542..c29483a 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -32,6 +32,9 @@ import flashOpenTradeAction from "./flashOpenTrade"; import flashCloseTradeAction from "./flashCloseTrade"; import createMultisigAction from "./createMultisig"; import depositToMultisigAction from "./depositToMultisigTreasury"; +import transferFromMultisigAction from "./transferFromMultisigTreasury"; +import createMultisigProposalAction from "./createMultisigProposal"; +import approveMultisigProposalAction from "./approveMultisigProposal"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -69,6 +72,9 @@ export const ACTIONS = { FLASH_CLOSE_TRADE_ACTION: flashCloseTradeAction, CREATE_MULTISIG_ACTION: createMultisigAction, DEPOSIT_TO_MULTISIG_ACTION: depositToMultisigAction, + TRANSFER_FROM_MULTISIG_ACTION: transferFromMultisigAction, + CREATE_MULTISIG_PROPOSAL_ACTION: createMultisigProposalAction, + APPROVE_MULTISIG_PROPOSAL_ACTION: approveMultisigProposalAction, }; export type { Action, ActionExample, Handler } from "../types/action"; diff --git a/src/actions/transferFromMultisigTreasury.ts b/src/actions/transferFromMultisigTreasury.ts new file mode 100644 index 0000000..cddb205 --- /dev/null +++ b/src/actions/transferFromMultisigTreasury.ts @@ -0,0 +1,56 @@ +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { multisig_transfer_from_treasury } from "../tools"; +import { PublicKey } from "@solana/web3.js"; + +const transferFromMultisigAction: Action = { + name: "TRANSFER_FROM_MULTISIG_ACTION", + similes: [ + "transfer from multisig", + "transfer from squads multisig", + "transfer SOL from 2-by-2 multisig", + "transfer from 2-of-2 multisig account", + "transfer from 2-of-2 multisig account on Solana", + ], + description: `Create a transaction to transfer funds from a 2-of-2 multisig account on Solana using Squads with the user and the agent, where both approvals will be required to run the transactions.`, + examples: [ + [ + { + input: { + amount: 1, + recipient: "7nE9GvcwsqzYxmJLSrYmSB1V1YoJWVK1KWzAcWAzjXkN", + }, + output: { + status: "success", + message: "Transaction added to 2-by-2 multisig account successfully", + transaction: "4xKpN2...", + amount: "1", + recipient: "7nE9GvcwsqzYxmJLSrYmSB1V1YoJWVK1KWzAcWAzjXkN", + }, + explanation: "Transfer 1 SOL from 2-of-2 multisig account on Solana", + }, + ], + ], + schema: z.object({ + amount: z.number().min(0, "Amount must be greater than 0"), + recipient: z.string().optional(), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const multisig = await multisig_transfer_from_treasury( + agent, + input.amount as number, + new PublicKey(input.recipient as string), + ); + + return { + status: "success", + message: "Transaction added to 2-by-2 multisig account successfully", + transaction: multisig, + amount: input.amount, + recipient: input.recipient, + }; + }, +}; + +export default transferFromMultisigAction; From ba9f6a94238db596d7ba0e42da952a07284ddf6d Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sat, 11 Jan 2025 23:33:14 +0530 Subject: [PATCH 113/138] feat: add rest of squads actions --- src/actions/createMultisigProposal.ts | 12 +++-- src/actions/executeMultisigProposal.ts | 53 +++++++++++++++++++++ src/actions/index.ts | 4 ++ src/actions/rejectMultisigProposal.ts | 53 +++++++++++++++++++++ src/actions/transferFromMultisigTreasury.ts | 2 +- 5 files changed, 118 insertions(+), 6 deletions(-) create mode 100644 src/actions/executeMultisigProposal.ts create mode 100644 src/actions/rejectMultisigProposal.ts diff --git a/src/actions/createMultisigProposal.ts b/src/actions/createMultisigProposal.ts index 9c83ab5..2100f98 100644 --- a/src/actions/createMultisigProposal.ts +++ b/src/actions/createMultisigProposal.ts @@ -36,16 +36,18 @@ const createMultisigProposalAction: Action = { transactionIndex: z.number().optional(), }), handler: async (agent: SolanaAgentKit, input: Record) => { - const multisig = await multisig_create_proposal( - agent, - input.transactionIndex as number, - ); + const transactionIndex = + input.transactionIndex !== undefined + ? Number(input.transactionIndex) + : undefined; + + const multisig = await multisig_create_proposal(agent, transactionIndex); return { status: "success", message: "Proposal created successfully", transaction: multisig, - transactionIndex: input.transactionIndex as number, + transactionIndex: transactionIndex, }; }, }; diff --git a/src/actions/executeMultisigProposal.ts b/src/actions/executeMultisigProposal.ts new file mode 100644 index 0000000..fee9c28 --- /dev/null +++ b/src/actions/executeMultisigProposal.ts @@ -0,0 +1,53 @@ +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { multisig_execute_proposal } from "../tools"; + +const executeMultisigProposalAction: Action = { + name: "EXECUTE_MULTISIG_PROPOSAL_ACTION", + similes: [ + "execute proposal", + "execute proposal to transfer funds", + "execute proposal to transfer funds from 2-of-2 multisig", + "execute proposal to transfer funds from 2-of-2 multisig account", + "execute proposal to transfer funds from 2-of-2 multisig account on Solana", + ], + description: `Execute a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions.`, + examples: [ + [ + { + input: { + proposalIndex: 0, + }, + output: { + status: "success", + message: "Proposal executed successfully", + transaction: "4xKpN2...", + proposalIndex: "0", + }, + explanation: + "Execute a proposal to transfer 1 SOL from 2-of-2 multisig account on Solana", + }, + ], + ], + schema: z.object({ + proposalIndex: z.number().optional(), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const proposalIndex = + input.proposalIndex !== undefined + ? Number(input.proposalIndex) + : undefined; + + const multisig = await multisig_execute_proposal(agent, proposalIndex); + + return { + status: "success", + message: "Proposal executed successfully", + transaction: multisig, + proposalIndex, + }; + }, +}; + +export default executeMultisigProposalAction; diff --git a/src/actions/index.ts b/src/actions/index.ts index c29483a..ed00588 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -35,6 +35,8 @@ import depositToMultisigAction from "./depositToMultisigTreasury"; import transferFromMultisigAction from "./transferFromMultisigTreasury"; import createMultisigProposalAction from "./createMultisigProposal"; import approveMultisigProposalAction from "./approveMultisigProposal"; +import rejectMultisigProposalAction from "./rejectMultisigProposal"; +import executeMultisigProposalAction from "./executeMultisigProposal"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -75,6 +77,8 @@ export const ACTIONS = { TRANSFER_FROM_MULTISIG_ACTION: transferFromMultisigAction, CREATE_MULTISIG_PROPOSAL_ACTION: createMultisigProposalAction, APPROVE_MULTISIG_PROPOSAL_ACTION: approveMultisigProposalAction, + REJECT_MULTISIG_PROPOSAL_ACTION: rejectMultisigProposalAction, + EXECUTE_MULTISIG_PROPOSAL_ACTION: executeMultisigProposalAction, }; export type { Action, ActionExample, Handler } from "../types/action"; diff --git a/src/actions/rejectMultisigProposal.ts b/src/actions/rejectMultisigProposal.ts new file mode 100644 index 0000000..7e62ce0 --- /dev/null +++ b/src/actions/rejectMultisigProposal.ts @@ -0,0 +1,53 @@ +import { Action } from "../types/action"; +import { SolanaAgentKit } from "../agent"; +import { z } from "zod"; +import { multisig_reject_proposal } from "../tools"; + +const rejectMultisigProposalAction: Action = { + name: "REJECT_MULTISIG_PROPOSAL_ACTION", + similes: [ + "reject proposal", + "reject proposal to transfer funds", + "reject proposal to transfer funds from 2-of-2 multisig", + "reject proposal to transfer funds from 2-of-2 multisig account", + "reject proposal to transfer funds from 2-of-2 multisig account on Solana", + ], + description: `Reject a proposal to transfer funds from a 2-of-2 multisig account on Solana with the user and the agent, where both approvals will be required to run the transactions.`, + examples: [ + [ + { + input: { + transactionIndex: 0, + }, + output: { + status: "success", + message: "Proposal rejected successfully", + transaction: "4xKpN2...", + transactionIndex: "0", + }, + explanation: + "Reject a proposal to transfer 1 SOL from 2-of-2 multisig account on Solana", + }, + ], + ], + schema: z.object({ + transactionIndex: z.number().optional(), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const transactionIndex = + input.transactionIndex !== undefined + ? Number(input.transactionIndex) + : undefined; + + const tx = await multisig_reject_proposal(agent, transactionIndex); + + return { + status: "success", + message: "Proposal rejected successfully", + transaction: tx, + transactionIndex: transactionIndex, + }; + }, +}; + +export default rejectMultisigProposalAction; diff --git a/src/actions/transferFromMultisigTreasury.ts b/src/actions/transferFromMultisigTreasury.ts index cddb205..16db4b5 100644 --- a/src/actions/transferFromMultisigTreasury.ts +++ b/src/actions/transferFromMultisigTreasury.ts @@ -34,7 +34,7 @@ const transferFromMultisigAction: Action = { ], schema: z.object({ amount: z.number().min(0, "Amount must be greater than 0"), - recipient: z.string().optional(), + recipient: z.string(), }), handler: async (agent: SolanaAgentKit, input: Record) => { const multisig = await multisig_transfer_from_treasury( From 8eb9e9be815f833e19ad44ab5ff052e316da842d Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sat, 11 Jan 2025 23:33:36 +0530 Subject: [PATCH 114/138] chore: docs --- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 16 ++++++++-------- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/FlashCloseTradeParams.html | 4 ++-- docs/interfaces/FlashTradeParams.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- 30 files changed, 63 insertions(+), 63 deletions(-) diff --git a/docs/assets/search.js b/docs/assets/search.js index e9af7ad..e086ffb 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 c095be5..5440490 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 @@ -77,14 +77,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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Returns Promise<{ signature: string; size: number }>

    • 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

      • optionsWithBase58: StoreInitOptions
      • collectionOpts: CreateCollectionOptions

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionAccount: string
      • createItemOptions: CreateSingleOptions
      • isMainnet: boolean

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Closes an existing trading position on Flash.Trade

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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Returns Promise<{ signature: string; size: number }>

    • 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

      • optionsWithBase58: StoreInitOptions
      • collectionOpts: CreateCollectionOptions

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionAccount: string
      • createItemOptions: CreateSingleOptions
      • isMainnet: boolean

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Opens a new trading position on Flash.Trade

      Parameters

      • params: FlashTradeParams

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

      Returns Promise<string>

      Transaction signature

      -
    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index f166d40..dc4a8cd 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
          | Solana3LandCreateSingle
          | Solana3LandCreateCollection
          | SolanaCloseEmptyTokenAccounts
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaExecuteProposal2by2Multisig
      )[]

    +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
          | Solana3LandCreateSingle
          | Solana3LandCreateCollection
          | SolanaCloseEmptyTokenAccounts
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaExecuteProposal2by2Multisig
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 7329dcf..20aab3b 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 80ddc47..1dd05f1 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 0008737..cab7bee 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 17e5b9a..866f4c1 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index bdc0d3f..cf3930c 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 ed6bc47..dfef543 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 188959d..48c1f92 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 274c7d7..25dd7e8 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 c86ad11..0a7ddc6 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 73a52dd..7f7456e 100644 --- a/docs/interfaces/Config.html +++ b/docs/interfaces/Config.html @@ -1,5 +1,5 @@ -Config | solana-agent-kit

    Interface Config

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

    Properties

    FLASH_PRIVILEGE? +Config | solana-agent-kit

    Interface Config

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

    Properties

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

    Properties

    FLASH_PRIVILEGE?: string
    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 71aa89b..ecdf8db 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 bf3bf12..0a77780 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 index 64069da..443ec20 100644 --- a/docs/interfaces/FlashCloseTradeParams.html +++ b/docs/interfaces/FlashCloseTradeParams.html @@ -1,3 +1,3 @@ -FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    side +FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    Properties

    side: "long" | "short"
    token: string
    +

    Properties

    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/FlashTradeParams.html b/docs/interfaces/FlashTradeParams.html index 428381e..ab9bbde 100644 --- a/docs/interfaces/FlashTradeParams.html +++ b/docs/interfaces/FlashTradeParams.html @@ -1,5 +1,5 @@ -FlashTradeParams | solana-agent-kit

    Interface FlashTradeParams

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

    Properties

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

    Properties

    collateralUsd: number
    leverage: number
    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index e6bad21..22fd1b4 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 2ceb11f..9de063e 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 695c382..498ae5a 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 c1b999c..b3c8140 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 2bf5600..0f230fa 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 fcad38b..884eff7 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 34e2df4..c603d3d 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 7960246..c9a8072 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 0c2f2b0..ee4bb5c 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 1aa6f4b..04e1cf6 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 4294793..bf1c093 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 3baf647..e97135e 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index efca73e..ef90e43 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;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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: {
        APPROVE_MULTISIG_PROPOSAL_ACTION: Action;
        BALANCE_ACTION: Action;
        CREATE_GIBWORK_TASK_ACTION: Action;
        CREATE_IMAGE_ACTION: Action;
        CREATE_MULTISIG_ACTION: Action;
        CREATE_MULTISIG_PROPOSAL_ACTION: Action;
        CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action;
        DEPLOY_COLLECTION_ACTION: Action;
        DEPLOY_TOKEN_ACTION: Action;
        DEPOSIT_TO_MULTISIG_ACTION: Action;
        EXECUTE_MULTISIG_PROPOSAL_ACTION: Action;
        FETCH_PRICE_ACTION: Action;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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;
        REJECT_MULTISIG_PROPOSAL_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;
        TRANSFER_FROM_MULTISIG_ACTION: Action;
        WALLET_ADDRESS_ACTION: Action;
    } = ...

    Type declaration

    • APPROVE_MULTISIG_PROPOSAL_ACTION: Action
    • BALANCE_ACTION: Action
    • CREATE_GIBWORK_TASK_ACTION: Action
    • CREATE_IMAGE_ACTION: Action
    • CREATE_MULTISIG_ACTION: Action
    • CREATE_MULTISIG_PROPOSAL_ACTION: Action
    • CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action
    • DEPLOY_COLLECTION_ACTION: Action
    • DEPLOY_TOKEN_ACTION: Action
    • DEPOSIT_TO_MULTISIG_ACTION: Action
    • EXECUTE_MULTISIG_PROPOSAL_ACTION: Action
    • FETCH_PRICE_ACTION: Action
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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
    • REJECT_MULTISIG_PROPOSAL_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
    • TRANSFER_FROM_MULTISIG_ACTION: Action
    • WALLET_ADDRESS_ACTION: Action
    From 14d4d468bb25b9cfc73a29238d064b9a95f0c352 Mon Sep 17 00:00:00 2001 From: Arpit Singh Bhatia <84636859+The-x-35@users.noreply.github.com> Date: Sat, 11 Jan 2025 23:50:21 +0530 Subject: [PATCH 115/138] Minor changes --- examples/tg-bot-starter/README.md | 31 +- .../advanced-tg-bot/.env.example | 10 + .../{ => advanced-tg-bot}/.gitignore | 0 .../tg-bot-starter/advanced-tg-bot/README.md | 24 + .../{ => advanced-tg-bot}/next.config.ts | 0 .../advanced-tg-bot/package.json | 33 + .../advanced-tg-bot/pnpm-lock.yaml | 5178 +++++++++++++++++ .../{ => advanced-tg-bot}/postcss.config.mjs | 0 .../{ => advanced-tg-bot}/public/file.svg | 0 .../{ => advanced-tg-bot}/public/globe.svg | 0 .../{ => advanced-tg-bot}/public/next.svg | 0 .../{ => advanced-tg-bot}/public/vercel.svg | 0 .../{ => advanced-tg-bot}/public/window.svg | 0 .../advanced-tg-bot/src/app/api/bot/route.ts | 157 + .../{ => advanced-tg-bot}/src/app/favicon.ico | Bin .../{ => advanced-tg-bot}/src/app/globals.css | 0 .../{ => advanced-tg-bot}/src/app/layout.tsx | 0 .../{ => advanced-tg-bot}/src/app/page.tsx | 0 .../{ => advanced-tg-bot}/tailwind.config.ts | 0 .../{ => advanced-tg-bot}/tsconfig.json | 0 .../{ => basic-tg-bot}/.env.example | 0 .../tg-bot-starter/basic-tg-bot/.gitignore | 41 + .../tg-bot-starter/basic-tg-bot/README.md | 24 + .../basic-tg-bot/next.config.ts | 7 + .../{ => basic-tg-bot}/package.json | 0 .../{ => basic-tg-bot}/pnpm-lock.yaml | 0 .../basic-tg-bot/postcss.config.mjs | 8 + .../basic-tg-bot/public/file.svg | 1 + .../basic-tg-bot/public/globe.svg | 1 + .../basic-tg-bot/public/next.svg | 1 + .../basic-tg-bot/public/vercel.svg | 1 + .../basic-tg-bot/public/window.svg | 1 + .../src/app/api/bot/route.ts | 2 +- .../basic-tg-bot/src/app/favicon.ico | Bin 0 -> 25931 bytes .../basic-tg-bot/src/app/globals.css | 21 + .../basic-tg-bot/src/app/layout.tsx | 34 + .../basic-tg-bot/src/app/page.tsx | 101 + .../basic-tg-bot/tailwind.config.ts | 18 + .../tg-bot-starter/basic-tg-bot/tsconfig.json | 27 + .../tg-bot-starter/group-tg-bot/.env.example | 10 + .../tg-bot-starter/group-tg-bot/.gitignore | 41 + .../tg-bot-starter/group-tg-bot/README.md | 30 + .../group-tg-bot/next.config.ts | 7 + .../tg-bot-starter/group-tg-bot/package.json | 33 + .../group-tg-bot/pnpm-lock.yaml | 5178 +++++++++++++++++ .../group-tg-bot/postcss.config.mjs | 8 + .../group-tg-bot/public/file.svg | 1 + .../group-tg-bot/public/globe.svg | 1 + .../group-tg-bot/public/next.svg | 1 + .../group-tg-bot/public/vercel.svg | 1 + .../group-tg-bot/public/window.svg | 1 + .../group-tg-bot/src/app/api/bot/route.ts | 160 + .../group-tg-bot/src/app/favicon.ico | Bin 0 -> 25931 bytes .../group-tg-bot/src/app/globals.css | 21 + .../group-tg-bot/src/app/layout.tsx | 34 + .../group-tg-bot/src/app/page.tsx | 101 + .../group-tg-bot/tailwind.config.ts | 18 + .../tg-bot-starter/group-tg-bot/tsconfig.json | 27 + 58 files changed, 11372 insertions(+), 22 deletions(-) create mode 100644 examples/tg-bot-starter/advanced-tg-bot/.env.example rename examples/tg-bot-starter/{ => advanced-tg-bot}/.gitignore (100%) create mode 100644 examples/tg-bot-starter/advanced-tg-bot/README.md rename examples/tg-bot-starter/{ => advanced-tg-bot}/next.config.ts (100%) create mode 100644 examples/tg-bot-starter/advanced-tg-bot/package.json create mode 100644 examples/tg-bot-starter/advanced-tg-bot/pnpm-lock.yaml rename examples/tg-bot-starter/{ => advanced-tg-bot}/postcss.config.mjs (100%) rename examples/tg-bot-starter/{ => advanced-tg-bot}/public/file.svg (100%) rename examples/tg-bot-starter/{ => advanced-tg-bot}/public/globe.svg (100%) rename examples/tg-bot-starter/{ => advanced-tg-bot}/public/next.svg (100%) rename examples/tg-bot-starter/{ => advanced-tg-bot}/public/vercel.svg (100%) rename examples/tg-bot-starter/{ => advanced-tg-bot}/public/window.svg (100%) create mode 100644 examples/tg-bot-starter/advanced-tg-bot/src/app/api/bot/route.ts rename examples/tg-bot-starter/{ => advanced-tg-bot}/src/app/favicon.ico (100%) rename examples/tg-bot-starter/{ => advanced-tg-bot}/src/app/globals.css (100%) rename examples/tg-bot-starter/{ => advanced-tg-bot}/src/app/layout.tsx (100%) rename examples/tg-bot-starter/{ => advanced-tg-bot}/src/app/page.tsx (100%) rename examples/tg-bot-starter/{ => advanced-tg-bot}/tailwind.config.ts (100%) rename examples/tg-bot-starter/{ => advanced-tg-bot}/tsconfig.json (100%) rename examples/tg-bot-starter/{ => basic-tg-bot}/.env.example (100%) create mode 100644 examples/tg-bot-starter/basic-tg-bot/.gitignore create mode 100644 examples/tg-bot-starter/basic-tg-bot/README.md create mode 100644 examples/tg-bot-starter/basic-tg-bot/next.config.ts rename examples/tg-bot-starter/{ => basic-tg-bot}/package.json (100%) rename examples/tg-bot-starter/{ => basic-tg-bot}/pnpm-lock.yaml (100%) create mode 100644 examples/tg-bot-starter/basic-tg-bot/postcss.config.mjs create mode 100644 examples/tg-bot-starter/basic-tg-bot/public/file.svg create mode 100644 examples/tg-bot-starter/basic-tg-bot/public/globe.svg create mode 100644 examples/tg-bot-starter/basic-tg-bot/public/next.svg create mode 100644 examples/tg-bot-starter/basic-tg-bot/public/vercel.svg create mode 100644 examples/tg-bot-starter/basic-tg-bot/public/window.svg rename examples/tg-bot-starter/{ => basic-tg-bot}/src/app/api/bot/route.ts (98%) create mode 100644 examples/tg-bot-starter/basic-tg-bot/src/app/favicon.ico create mode 100644 examples/tg-bot-starter/basic-tg-bot/src/app/globals.css create mode 100644 examples/tg-bot-starter/basic-tg-bot/src/app/layout.tsx create mode 100644 examples/tg-bot-starter/basic-tg-bot/src/app/page.tsx create mode 100644 examples/tg-bot-starter/basic-tg-bot/tailwind.config.ts create mode 100644 examples/tg-bot-starter/basic-tg-bot/tsconfig.json create mode 100644 examples/tg-bot-starter/group-tg-bot/.env.example create mode 100644 examples/tg-bot-starter/group-tg-bot/.gitignore create mode 100644 examples/tg-bot-starter/group-tg-bot/README.md create mode 100644 examples/tg-bot-starter/group-tg-bot/next.config.ts create mode 100644 examples/tg-bot-starter/group-tg-bot/package.json create mode 100644 examples/tg-bot-starter/group-tg-bot/pnpm-lock.yaml create mode 100644 examples/tg-bot-starter/group-tg-bot/postcss.config.mjs create mode 100644 examples/tg-bot-starter/group-tg-bot/public/file.svg create mode 100644 examples/tg-bot-starter/group-tg-bot/public/globe.svg create mode 100644 examples/tg-bot-starter/group-tg-bot/public/next.svg create mode 100644 examples/tg-bot-starter/group-tg-bot/public/vercel.svg create mode 100644 examples/tg-bot-starter/group-tg-bot/public/window.svg create mode 100644 examples/tg-bot-starter/group-tg-bot/src/app/api/bot/route.ts create mode 100644 examples/tg-bot-starter/group-tg-bot/src/app/favicon.ico create mode 100644 examples/tg-bot-starter/group-tg-bot/src/app/globals.css create mode 100644 examples/tg-bot-starter/group-tg-bot/src/app/layout.tsx create mode 100644 examples/tg-bot-starter/group-tg-bot/src/app/page.tsx create mode 100644 examples/tg-bot-starter/group-tg-bot/tailwind.config.ts create mode 100644 examples/tg-bot-starter/group-tg-bot/tsconfig.json diff --git a/examples/tg-bot-starter/README.md b/examples/tg-bot-starter/README.md index 2c0e760..3ad4cdc 100644 --- a/examples/tg-bot-starter/README.md +++ b/examples/tg-bot-starter/README.md @@ -1,24 +1,13 @@ -# Telegram Bot Starter with Solana Agent Kit +We have three guides on how you can host Solana Agent Kit as a Telegram bot: -This example showcases how we can make a telegram bot with the Solana Agent Kit by Send AI. +1. **Basic TG Bot**: This guide explains how to run a simple Solana Agent Kit on a Telegram bot for a single user. -## Quick Deploy -[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsendaifun%2Fsolana-agent-kit%2Ftree%2Fmain%2Fexamples%2Ftg-bot-starter&env=OPENAI_API_KEY,RPC_URL,SOLANA_PRIVATE_KEY,TELEGRAM_BOT_TOKEN&project-name=solana-agent-kit&repository-name=sak-yourprojectname) - -## How to get the telegram bot token - -You can check [here](https://help.zoho.com/portal/en/kb/desk/support-channels/instant-messaging/telegram/articles/telegram-integration-with-zoho-desk#How_to_find_a_token_for_an_existing_Telegram_Bot) how you can obtain a bot token for your telegram bot. - -## How to setup the project - -- Set env variables -- Run ``` pnpm install ``` -- Run ``` pnpm run dev ``` -- Run ``` ngrok http 3000 ``` -- With the URL you got from ngrok, where your bot is hosted at https://yourUrl.app/api/bot -- Set the webhook by using this command ``` curl https://api.telegram.org/bot/setWebhook?url=https://.app/api/bot ``` or simply clicking on that link. -- You can host it on Vercel too as we have used NextJs in this. -- Once the URL is set successfully, you will see this ``` {"ok":true,"result":true,"description":"Webhook was set"} ``` - -Done!!! Congratulations you just hosted Solana Agent Kit on a Telegram bot. +2. **Advanced TG Bot**: This guide includes advanced features such as: + - Storing chat history for each user in a PostgreSQL database. + - Maintaining a unique wallet for each user in a Firebase database. + - Managing the chats of multiple users simultaneously. +3. **Group TG Bot**: This example demonstrates how to create a Telegram bot using the Solana Agent Kit by Send AI. It includes advanced features such as: + - Storing chat history for each user in a PostgreSQL database. + - Maintaining a unique wallet for each user in a Firebase database. + - This special bot can be run in Telegram groups and handle private conversations, such as wallet addresses, in private chats. It works in groups, maintains a separate context for each user, responds to each user by tagging them, and can handle multiple requests simultaneously. It will only reply if the bot is tagged in the group or its message is replied to. \ No newline at end of file diff --git a/examples/tg-bot-starter/advanced-tg-bot/.env.example b/examples/tg-bot-starter/advanced-tg-bot/.env.example new file mode 100644 index 0000000..e8b34da --- /dev/null +++ b/examples/tg-bot-starter/advanced-tg-bot/.env.example @@ -0,0 +1,10 @@ +OPENAI_API_KEY= +RPC_URL= +TELEGRAM_BOT_TOKEN= +NEXT_PUBLIC_FIREBASE_API_KEY= +NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN= +NEXT_PUBLIC_FIREBASE_PROJECT_ID= +NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET= +NEXT_PUBLIC_FIREBASE_APP_ID= +NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID= +POSTGRES_LINK= \ No newline at end of file diff --git a/examples/tg-bot-starter/.gitignore b/examples/tg-bot-starter/advanced-tg-bot/.gitignore similarity index 100% rename from examples/tg-bot-starter/.gitignore rename to examples/tg-bot-starter/advanced-tg-bot/.gitignore diff --git a/examples/tg-bot-starter/advanced-tg-bot/README.md b/examples/tg-bot-starter/advanced-tg-bot/README.md new file mode 100644 index 0000000..682a575 --- /dev/null +++ b/examples/tg-bot-starter/advanced-tg-bot/README.md @@ -0,0 +1,24 @@ +# Telegram Bot Starter with Solana Agent Kit + +This example demonstrates how to create a Telegram bot using the Solana Agent Kit by Send AI. It includes advanced features such as storing chat history for each user in a PostgreSQL database, maintaining a unique wallet for each user in a Firebase database, and managing the state of multiple users simultaneously, each with their own unique wallet. + +## Quick Deploy +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsendaifun%2Fsolana-agent-kit%2Ftree%2Fmain%2Fexamples%2Ftg-bot-starter&env=OPENAI_API_KEY,RPC_URL,SOLANA_PRIVATE_KEY,TELEGRAM_BOT_TOKEN&project-name=solana-agent-kit&repository-name=sak-yourprojectname) + +## How to get the telegram bot token + +You can check [here](https://help.zoho.com/portal/en/kb/desk/support-channels/instant-messaging/telegram/articles/telegram-integration-with-zoho-desk#How_to_find_a_token_for_an_existing_Telegram_Bot) how you can obtain a bot token for your telegram bot. + +## How to setup the project + +- Set env variables +- Run ``` pnpm install ``` +- Run ``` pnpm run dev ``` +- Run ``` ngrok http 3000 ``` +- With the URL you got from ngrok, where your bot is hosted at https://yourUrl.app/api/bot +- Set the webhook by using this command ``` curl https://api.telegram.org/bot/setWebhook?url=https://.app/api/bot ``` or simply clicking on that link. +- You can host it on Vercel too as we have used NextJs in this. +- Once the URL is set successfully, you will see this ``` {"ok":true,"result":true,"description":"Webhook was set"} ``` + +Done!!! Congratulations you just hosted Solana Agent Kit on a Telegram bot. + diff --git a/examples/tg-bot-starter/next.config.ts b/examples/tg-bot-starter/advanced-tg-bot/next.config.ts similarity index 100% rename from examples/tg-bot-starter/next.config.ts rename to examples/tg-bot-starter/advanced-tg-bot/next.config.ts diff --git a/examples/tg-bot-starter/advanced-tg-bot/package.json b/examples/tg-bot-starter/advanced-tg-bot/package.json new file mode 100644 index 0000000..4954931 --- /dev/null +++ b/examples/tg-bot-starter/advanced-tg-bot/package.json @@ -0,0 +1,33 @@ +{ + "name": "tg-bot-starter", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@langchain/core": "^0.3.26", + "@langchain/langgraph": "^0.2.36", + "@langchain/langgraph-checkpoint-postgres": "^0.0.2", + "@langchain/openai": "^0.3.16", + "firebase": "^11.1.0", + "grammy": "^1.33.0", + "messages": "link:@langchain/core/messages", + "next": "15.1.3", + "prebuilt": "link:@langchain/langgraph/prebuilt", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "solana-agent-kit": "^1.3.0" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } +} diff --git a/examples/tg-bot-starter/advanced-tg-bot/pnpm-lock.yaml b/examples/tg-bot-starter/advanced-tg-bot/pnpm-lock.yaml new file mode 100644 index 0000000..38c3b29 --- /dev/null +++ b/examples/tg-bot-starter/advanced-tg-bot/pnpm-lock.yaml @@ -0,0 +1,5178 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@langchain/core': + specifier: ^0.3.26 + version: 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/langgraph': + specifier: ^0.2.36 + version: 0.2.36(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/langgraph-checkpoint-postgres': + specifier: ^0.0.2 + version: 0.0.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))) + '@langchain/openai': + specifier: ^0.3.16 + version: 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + firebase: + specifier: ^11.1.0 + version: 11.1.0 + grammy: + specifier: ^1.33.0 + version: 1.33.0 + messages: + specifier: link:@langchain/core/messages + version: link:@langchain/core/messages + next: + specifier: 15.1.3 + version: 15.1.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + prebuilt: + specifier: link:@langchain/langgraph/prebuilt + version: link:@langchain/langgraph/prebuilt + react: + specifier: ^19.0.0 + version: 19.0.0 + react-dom: + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) + solana-agent-kit: + specifier: ^1.3.0 + version: 1.3.0(@noble/hashes@1.6.1)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + devDependencies: + '@types/node': + specifier: ^20 + version: 20.17.10 + '@types/react': + specifier: ^19 + version: 19.0.2 + '@types/react-dom': + specifier: ^19 + version: 19.0.2(@types/react@19.0.2) + postcss: + specifier: ^8 + version: 8.4.49 + tailwindcss: + specifier: ^3.4.1 + version: 3.4.17 + typescript: + specifier: ^5 + version: 5.7.2 + +packages: + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + + '@bonfida/sns-records@0.0.1': + resolution: {integrity: sha512-i28w9+BMFufhhpmLQCNx1CKKXTsEn+5RT18VFpPqdGO3sqaYlnUWC1m3wDpOvlzGk498dljgRpRo5wmcsnuEMg==} + peerDependencies: + '@solana/web3.js': ^1.87.3 + + '@bonfida/spl-name-service@3.0.7': + resolution: {integrity: sha512-okOLXhy+fQoyQ/sZgMleO5RrIZfTkWEoHMxWgUqg6RP/MTBlrKxlhKC6ymKn4UUe0C5s3Nb8A+3Ams7vX0nMDg==} + peerDependencies: + '@solana/web3.js': ^1.87.3 + + '@cfworker/json-schema@4.0.3': + resolution: {integrity: sha512-ZykIcDTVv5UNmKWSTLAs3VukO6NDJkkSKxrgUTDPBkAlORVT3H9n5DbRjRl8xIotklscHdbLIa0b9+y3mQq73g==} + + '@coral-xyz/anchor@0.29.0': + resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} + engines: {node: '>=11'} + + '@coral-xyz/borsh@0.29.0': + resolution: {integrity: sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + + '@emnapi/runtime@1.3.1': + resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + + '@ethersproject/bytes@5.7.0': + resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + + '@ethersproject/logger@5.7.0': + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + + '@ethersproject/sha2@5.7.0': + resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + + '@firebase/analytics-compat@0.2.16': + resolution: {integrity: sha512-Q/s+u/TEMSb2EDJFQMGsOzpSosybBl8HuoSEMyGZ99+0Pu7SIR9MPDGUjc8PKiCFQWDJ3QXxgqh1d/rujyAMbA==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/analytics-types@0.8.3': + resolution: {integrity: sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==} + + '@firebase/analytics@0.10.10': + resolution: {integrity: sha512-Psdo7c9g2SLAYh6u1XRA+RZ7ab2JfBVuAt/kLzXkhKZL/gS2cQUCMsOW5p0RIlDPRKqpdNSmvujd2TeRWLKOkQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-check-compat@0.3.17': + resolution: {integrity: sha512-a/eadrGsY0MVCBPhrNbKUhoYpms4UKTYLKO7nswwSFVsm3Rw6NslQQCNLfvljcDqP4E7alQDRGJXjkxd/5gJ+Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/app-check-interop-types@0.3.3': + resolution: {integrity: sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==} + + '@firebase/app-check-types@0.5.3': + resolution: {integrity: sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==} + + '@firebase/app-check@0.8.10': + resolution: {integrity: sha512-DWFfxxif/t+Ow4MmRUevDX+A3hVxm1rUf6y5ZP4sIomfnVCO1NNahqtsv9rb1/tKGkTeoVT40weiTS/WjQG1mA==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-compat@0.2.47': + resolution: {integrity: sha512-TdEWGDp6kSwuO1mxiM2Fe39eLWygfyzqTZcoU3aPV0viqqphPCbBBnVjPbFJErZ4+yaS7uCWXEbFEP9m5/COKA==} + engines: {node: '>=18.0.0'} + + '@firebase/app-types@0.9.3': + resolution: {integrity: sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==} + + '@firebase/app@0.10.17': + resolution: {integrity: sha512-53sIYyAnYEPIZdaxuyq5OST7j4KBc2pqmktz+tEb1BIUSbXh8Gp4k/o6qzLelLpm4ngrBz7SRN0PZJqNRAyPog==} + engines: {node: '>=18.0.0'} + + '@firebase/auth-compat@0.5.16': + resolution: {integrity: sha512-YlYwJMBqAyv0ESy3jDUyshMhZlbUiwAm6B6+uUmigNDHU+uq7j4SFiDJEZlFFIz397yBzKn06SUdqutdQzGnCA==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/auth-interop-types@0.2.4': + resolution: {integrity: sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==} + + '@firebase/auth-types@0.12.3': + resolution: {integrity: sha512-Zq9zI0o5hqXDtKg6yDkSnvMCMuLU6qAVS51PANQx+ZZX5xnzyNLEBO3GZgBUPsV5qIMFhjhqmLDxUqCbnAYy2A==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/auth@1.8.1': + resolution: {integrity: sha512-LX9N/Cf5Z35r5yqm2+5M3+2bRRe/+RFaa/+u4HDni7TA27C/Xm4XHLKcWcLg1BzjrS4zngSaBEOSODvp6RFOqQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@react-native-async-storage/async-storage': ^1.18.1 + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + + '@firebase/component@0.6.11': + resolution: {integrity: sha512-eQbeCgPukLgsKD0Kw5wQgsMDX5LeoI1MIrziNDjmc6XDq5ZQnuUymANQgAb2wp1tSF9zDSXyxJmIUXaKgN58Ug==} + engines: {node: '>=18.0.0'} + + '@firebase/data-connect@0.1.3': + resolution: {integrity: sha512-FbAQpWNHownJx1VTCQI4ydbWGOZmSWXoFlirQn3ItHqsLJYSywqxSgDafzvyooifFh3J/2WqaM8y9hInnPcsTw==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/database-compat@2.0.1': + resolution: {integrity: sha512-IsFivOjdE1GrjTeKoBU/ZMenESKDXidFDzZzHBPQ/4P20ptGdrl3oLlWrV/QJqJ9lND4IidE3z4Xr5JyfUW1vg==} + engines: {node: '>=18.0.0'} + + '@firebase/database-types@1.0.7': + resolution: {integrity: sha512-I7zcLfJXrM0WM+ksFmFdAMdlq/DFmpeMNa+/GNsLyFo5u/lX5zzkPzGe3srVWqaBQBY5KprylDGxOsP6ETfL0A==} + + '@firebase/database@1.0.10': + resolution: {integrity: sha512-sWp2g92u7xT4BojGbTXZ80iaSIaL6GAL0pwvM0CO/hb0nHSnABAqsH7AhnWGsGvXuEvbPr7blZylPaR9J+GSuQ==} + engines: {node: '>=18.0.0'} + + '@firebase/firestore-compat@0.3.40': + resolution: {integrity: sha512-18HopMN811KYBc9Ptpr1Rewwio0XF09FF3jc5wtV6rGyAs815SlFFw5vW7ZeLd43zv9tlEc2FzM0H+5Vr9ZRxw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/firestore-types@3.0.3': + resolution: {integrity: sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/firestore@4.7.5': + resolution: {integrity: sha512-OO3rHvjC07jL2ITN255xH/UzCVSvh6xG8oTzQdFScQvFbcm1fjCL1hgAdpDZcx3vVcKMV+6ktr8wbllkB8r+FQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/functions-compat@0.3.17': + resolution: {integrity: sha512-oj2XV8YsJYutyPCRYUfbN6swmfrL6zar0/qtqZsKT7P7btOiYRl+lD6fxtQaT+pKE5YgOBGZW//kLPZfY0jWhw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/functions-types@0.6.3': + resolution: {integrity: sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==} + + '@firebase/functions@0.12.0': + resolution: {integrity: sha512-plTtzY/nT0jOgHzT0vB9qch4FpHFOhCnR8HhYBqqdArG6GOQMIruKZbiTyLybO8bcaaNgQ6kSm9yohGUwxHcIw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/installations-compat@0.2.11': + resolution: {integrity: sha512-SHRgw5LTa6v8LubmJZxcOCwEd1MfWQPUtKdiuCx2VMWnapX54skZd1PkQg0K4l3k+4ujbI2cn7FE6Li9hbChBw==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/installations-types@0.5.3': + resolution: {integrity: sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==} + peerDependencies: + '@firebase/app-types': 0.x + + '@firebase/installations@0.6.11': + resolution: {integrity: sha512-w8fY8mw6fxJzsZM2ufmTtomopXl1+bn/syYon+Gpn+0p0nO1cIUEVEFrFazTLaaL9q1CaVhc3HmseRTsI3igAA==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/logger@0.4.4': + resolution: {integrity: sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g==} + engines: {node: '>=18.0.0'} + + '@firebase/messaging-compat@0.2.15': + resolution: {integrity: sha512-mEKKASRvRWq1aBNHgioGsOYR2c5nBZpO7k90K794zjKe0WkGNf0k7PLs5SlCf8FKnzumEkhTAp/SjYxovuxa8A==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/messaging-interop-types@0.2.3': + resolution: {integrity: sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==} + + '@firebase/messaging@0.12.15': + resolution: {integrity: sha512-Bz+qvWNEwEWAbYtG4An8hgcNco6NWNoNLuLbGVwPL2fAoCF1zz+dcaBp+iTR2+K199JyRyDT9yDPAXhNHNDaKQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/performance-compat@0.2.11': + resolution: {integrity: sha512-DqeNBy51W2xzlklyC7Ht9JQ94HhTA08PCcM4MDeyG/ol3fqum/+YgtHWQ2IQuduqH9afETthZqLwCZiSgY7hiA==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/performance-types@0.2.3': + resolution: {integrity: sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==} + + '@firebase/performance@0.6.11': + resolution: {integrity: sha512-FlkJFeqLlIeh5T4Am3uE38HVzggliDIEFy/fErEc1faINOUFCb6vQBEoNZGaXvRnTR8lh3X/hP7tv37C7BsK9g==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/remote-config-compat@0.2.11': + resolution: {integrity: sha512-zfIjpwPrGuIOZDmduukN086qjhZ1LnbJi/iYzgua+2qeTlO0XdlE1v66gJPwygGB3TOhT0yb9EiUZ3nBNttMqg==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/remote-config-types@0.3.3': + resolution: {integrity: sha512-YlRI9CHxrk3lpQuFup9N1eohpwdWayKZUNZ/YeQ0PZoncJ66P32UsKUKqVXOaieTjJIOh7yH8JEzRdht5s+d6g==} + + '@firebase/remote-config@0.4.11': + resolution: {integrity: sha512-9z0rgKuws2nj+7cdiqF+NY1QR4na6KnuOvP+jQvgilDOhGtKOcCMq5XHiu66i73A9kFhyU6QQ2pHXxcmaq1pBw==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/storage-compat@0.3.14': + resolution: {integrity: sha512-Ok5FmXJiapaNAOQ8W8qppnfwgP8540jw2B8M0c4TFZqF4BD+CoKBxW0dRtOuLNGadLhzqqkDZZZtkexxrveQqA==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/storage-types@0.8.3': + resolution: {integrity: sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/storage@0.13.4': + resolution: {integrity: sha512-b1KaTTRiMupFurIhpGIbReaWev0k5O3ouTHkAPcEssT+FvU3q/1JwzvkX4+ZdB60Fc43Mbp8qQ1gWfT0Z2FP9Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/util@1.10.2': + resolution: {integrity: sha512-qnSHIoE9FK+HYnNhTI8q14evyqbc/vHRivfB4TgCIUOl4tosmKSQlp7ltymOlMP4xVIJTg5wrkfcZ60X4nUf7Q==} + engines: {node: '>=18.0.0'} + + '@firebase/vertexai@1.0.2': + resolution: {integrity: sha512-4dC9m2nD0tkfKJT5v+i27tELrmUePjFXW3CDAxhVHUEv647B2R7kqpGQnyPkNEeaXkCr76THe7GGg35EWn4lDw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@firebase/app-types': 0.x + + '@firebase/webchannel-wrapper@1.0.3': + resolution: {integrity: sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==} + + '@grammyjs/types@3.17.0': + resolution: {integrity: sha512-e8AR3xQwRAFX248E7Qw/7mIu1OzvoXloJzOBJVtuPKzzL7tGkn5trZAdZUBgGViVQg5ZwVS/x9N2nRrcyH/DfA==} + + '@grpc/grpc-js@1.9.15': + resolution: {integrity: sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==} + engines: {node: ^8.13.0 || >=10.10.0} + + '@grpc/proto-loader@0.7.13': + resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==} + engines: {node: '>=6'} + hasBin: true + + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@langchain/core@0.3.26': + resolution: {integrity: sha512-6RUQHEp8wv+JwtYIIEBYBzbLlcAQZFc7EDOgAM0ukExjh9HiXoJzoWpgMRRCrr/koIbtwXPJUqBprZK1I1CXHQ==} + engines: {node: '>=18'} + + '@langchain/groq@0.1.2': + resolution: {integrity: sha512-bgQ9yGoNHOwG6LG2ngGvSNxF/1U1c1u3vKmFWmzecFIcBoQQOJY0jb0MrL3g1uTife0Sr3zxkWKXQg2aK/U4Sg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + + '@langchain/langgraph-checkpoint-postgres@0.0.2': + resolution: {integrity: sha512-st4qH1DZkYU6WGymG+TP2DEgxy8HH2EMq5Re51Z1sj11Ac4Q0VGJNlHjvGXR/QJjfmWpgBztvLYaMnUlNAybkg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.31 <0.4.0' + '@langchain/langgraph-checkpoint': ~0.0.6 + + '@langchain/langgraph-checkpoint@0.0.13': + resolution: {integrity: sha512-amdmBcNT8a9xP2VwcEWxqArng4gtRDcnVyVI4DsQIo1Aaz8e8+hH17zSwrUF3pt1pIYztngIfYnBOim31mtKMg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.31 <0.4.0' + + '@langchain/langgraph-sdk@0.0.32': + resolution: {integrity: sha512-KQyM9kLO7T6AxwNrceajH7JOybP3pYpvUPnhiI2rrVndI1WyZUJ1eVC1e722BVRAPi6o+WcoTT4uMSZVinPOtA==} + + '@langchain/langgraph@0.2.36': + resolution: {integrity: sha512-zxk7ZCVxP0/Ut9785EiXCS7BE7sXd8cu943mcZUF2aNFUaQRTBbbiKpNdR3nb1+xO/B+HVktrJT2VFdkAywnng==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.36 <0.3.0 || >=0.3.9 < 0.4.0' + + '@langchain/openai@0.3.16': + resolution: {integrity: sha512-Om9HRlTeI0Ou6D4pfxbWHop4WGfkCdV/7v1W/+Jr7NSf0BNoA9jk5GqGms8ZtOYSGgPvizDu3i0TrM3B4cN4NA==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.26 <0.4.0' + + '@langchain/textsplitters@0.1.0': + resolution: {integrity: sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + + '@lightprotocol/compressed-token@0.17.1': + resolution: {integrity: sha512-493KCmZGw1BcHVRJaeRm8EEs+L7gX8dwY7JG13w2pfgOMtZXZ7Wxt261jFJxQJzRLTrUSlrbRJOmfW1+S1Y8SQ==} + peerDependencies: + '@lightprotocol/stateless.js': 0.17.1 + + '@lightprotocol/stateless.js@0.17.1': + resolution: {integrity: sha512-EjId1n33A6dBwpce33Wsa/fs/CDKtMtRrkxbApH0alXrnEXmbW6QhIViXOrKYXjZ4uJQM1xsBtsKe0vqJ4nbtQ==} + + '@metaplex-foundation/beet-solana@0.4.1': + resolution: {integrity: sha512-/6o32FNUtwK8tjhotrvU/vorP7umBuRFvBZrC6XCk51aKidBHe5LPVPA5AjGPbV3oftMfRuXPNd9yAGeEqeCDQ==} + + '@metaplex-foundation/beet@0.7.2': + resolution: {integrity: sha512-K+g3WhyFxKPc0xIvcIjNyV1eaTVJTiuaHZpig7Xx0MuYRMoJLLvhLTnUXhFdR5Tu2l2QSyKwfyXDgZlzhULqFg==} + + '@metaplex-foundation/mpl-core@1.1.1': + resolution: {integrity: sha512-h1kLw+cGaV8SiykoHDb1/G01+VYqtJXAt0uGuO5+2Towsdtc6ET4M62iqUnh4EacTVMIW1yYHsKsG/LYWBCKaA==} + peerDependencies: + '@metaplex-foundation/umi': '>=0.8.2 < 1' + '@noble/hashes': ^1.3.1 + + '@metaplex-foundation/mpl-token-metadata@3.3.0': + resolution: {integrity: sha512-t5vO8Wr3ZZZPGrVrGNcosX5FMkwQSgBiVMQMRNDG2De7voYFJmIibD5jdG05EoQ4Y5kZVEiwhYaO+wJB3aO5AA==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/mpl-toolbox@0.9.4': + resolution: {integrity: sha512-fd6JxfoLbj/MM8FG2x91KYVy1U6AjBQw4qjt7+Da3trzQaWnSaYHDcYRG/53xqfvZ9qofY1T2t53GXPlD87lnQ==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/umi-bundle-defaults@0.9.2': + resolution: {integrity: sha512-kV3tfvgvRjVP1p9OFOtH+ibOtN9omVJSwKr0We4/9r45e5LTj+32su0V/rixZUkG1EZzzOYBsxhtIE0kIw/Hrw==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-downloader-http@0.9.2': + resolution: {integrity: sha512-tzPT9hBwenzTzAQg07rmsrqZfgguAXELbcJrsYMoASp5VqWFXYIP00g94KET6XLjWUXH4P1J2zoa6hGennPXHA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-eddsa-web3js@0.9.2': + resolution: {integrity: sha512-hhPCxXbYIp4BC4z9gK78sXpWLkNSrfv4ndhF5ruAkdIp7GcRVYKj0QnOUO6lGYGiIkNlw20yoTwOe1CT//OfTQ==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-http-fetch@0.9.2': + resolution: {integrity: sha512-YCZuBu24T9ZzEDe4+w12LEZm/fO9pkyViZufGgASC5NX93814Lvf6Ssjn/hZzjfA7CvZbvLFbmujc6CV3Q/m9Q==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-options@0.8.9': + resolution: {integrity: sha512-jSQ61sZMPSAk/TXn8v8fPqtz3x8d0/blVZXLLbpVbo2/T5XobiI6/MfmlUosAjAUaQl6bHRF8aIIqZEFkJiy4A==} + + '@metaplex-foundation/umi-program-repository@0.9.2': + resolution: {integrity: sha512-g3+FPqXEmYsBa8eETtUE2gb2Oe3mqac0z3/Ur1TvAg5TtIy3mzRzOy/nza+sgzejnfcxcVg835rmpBaxpBnjDA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-public-keys@0.8.9': + resolution: {integrity: sha512-CxMzN7dgVGOq9OcNCJe2casKUpJ3RmTVoOvDFyeoTQuK+vkZ1YSSahbqC1iGuHEtKTLSjtWjKvUU6O7zWFTw3Q==} + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2': + resolution: {integrity: sha512-YRwVf6xH0jPBAUgMhEPi+UbjioAeqTXmjsN2TnmQCPAmHbrHrMRj0rlWYwFLWAgkmoxazYrXP9lqOFRrfOGAEA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-rpc-web3js@0.9.2': + resolution: {integrity: sha512-MqcsBz8B4wGl6jxsf2Jo/rAEpYReU9VCSR15QSjhvADHMmdFxCIZCCAgE+gDE2Vuanfl437VhOcP3g5Uw8C16Q==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-serializer-data-view@0.9.2': + resolution: {integrity: sha512-5vGptadJxUxvUcyrwFZxXlEc6Q7AYySBesizCtrBFUY8w8PnF2vzmS45CP1MLySEATNH6T9mD4Rs0tLb87iQyA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-serializers-core@0.8.9': + resolution: {integrity: sha512-WT82tkiYJ0Qmscp7uTj1Hz6aWQPETwaKLAENAUN5DeWghkuBKtuxyBKVvEOuoXerJSdhiAk0e8DWA4cxcTTQ/w==} + + '@metaplex-foundation/umi-serializers-encodings@0.8.9': + resolution: {integrity: sha512-N3VWLDTJ0bzzMKcJDL08U3FaqRmwlN79FyE4BHj6bbAaJ9LEHjDQ9RJijZyWqTm0jE7I750fU7Ow5EZL38Xi6Q==} + + '@metaplex-foundation/umi-serializers-numbers@0.8.9': + resolution: {integrity: sha512-NtBf1fnVNQJHFQjLFzRu2i9GGnigb9hOm/Gfrk628d0q0tRJB7BOM3bs5C61VAs7kJs4yd+pDNVAERJkknQ7Lg==} + + '@metaplex-foundation/umi-serializers@0.9.0': + resolution: {integrity: sha512-hAOW9Djl4w4ioKeR4erDZl5IG4iJdP0xA19ZomdaCbMhYAAmG/FEs5khh0uT2mq53/MnzWcXSUPoO8WBN4Q+Vg==} + + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2': + resolution: {integrity: sha512-fR1Kf21uylMFd1Smkltmj4jTNxhqSWf416owsJ+T+cvJi2VCOcOwq/3UFzOrpz78fA0RhsajKYKj0HYsRnQI1g==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-web3js-adapters@0.9.2': + resolution: {integrity: sha512-RQqUTtHYY9fmEMnq7s3Hiv/81flGaoI0ZVVoafnFVaQLnxU6QBKxtboRZHk43XtD9CiFh5f9izrMJX7iK7KlOA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi@0.9.2': + resolution: {integrity: sha512-9i4Acm4pruQfJcpRrc2EauPBwkfDN0I9QTvJyZocIlKgoZwD6A6wH0PViH1AjOVG5CQCd1YI3tJd5XjYE1ElBw==} + + '@msgpack/msgpack@3.0.0-beta2': + resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} + engines: {node: '>= 14'} + + '@next/env@15.1.3': + resolution: {integrity: sha512-Q1tXwQCGWyA3ehMph3VO+E6xFPHDKdHFYosadt0F78EObYxPio0S09H9UGYznDe6Wc8eLKLG89GqcFJJDiK5xw==} + + '@next/swc-darwin-arm64@15.1.3': + resolution: {integrity: sha512-aZtmIh8jU89DZahXQt1La0f2EMPt/i7W+rG1sLtYJERsP7GRnNFghsciFpQcKHcGh4dUiyTB5C1X3Dde/Gw8gg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@15.1.3': + resolution: {integrity: sha512-aw8901rjkVBK5mbq5oV32IqkJg+CQa6aULNlN8zyCWSsePzEG3kpDkAFkkTOh3eJ0p95KbkLyWBzslQKamXsLA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@15.1.3': + resolution: {integrity: sha512-YbdaYjyHa4fPK4GR4k2XgXV0p8vbU1SZh7vv6El4bl9N+ZSiMfbmqCuCuNU1Z4ebJMumafaz6UCC2zaJCsdzjw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-arm64-musl@15.1.3': + resolution: {integrity: sha512-qgH/aRj2xcr4BouwKG3XdqNu33SDadqbkqB6KaZZkozar857upxKakbRllpqZgWl/NDeSCBYPmUAZPBHZpbA0w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-x64-gnu@15.1.3': + resolution: {integrity: sha512-uzafnTFwZCPN499fNVnS2xFME8WLC9y7PLRs/yqz5lz1X/ySoxfaK2Hbz74zYUdEg+iDZPd8KlsWaw9HKkLEVw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-linux-x64-musl@15.1.3': + resolution: {integrity: sha512-el6GUFi4SiDYnMTTlJJFMU+GHvw0UIFnffP1qhurrN1qJV3BqaSRUjkDUgVV44T6zpw1Lc6u+yn0puDKHs+Sbw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-win32-arm64-msvc@15.1.3': + resolution: {integrity: sha512-6RxKjvnvVMM89giYGI1qye9ODsBQpHSHVo8vqA8xGhmRPZHDQUE4jcDbhBwK0GnFMqBnu+XMg3nYukNkmLOLWw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-x64-msvc@15.1.3': + resolution: {integrity: sha512-VId/f5blObG7IodwC5Grf+aYP0O8Saz1/aeU3YcWqNdIUAmFQY3VEPKPaIzfv32F/clvanOb2K2BR5DtDs6XyQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@noble/curves@1.7.0': + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.6.0': + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.6.1': + resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} + engines: {node: ^14.21.3 || >=16} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@onsol/tldparser@0.6.7': + resolution: {integrity: sha512-QwkRDLyC514pxeplCCXZ2kTiRcJSeUrpp+9o2XqLbePy/qzZGGG8I0UbXUKuWVD/bUL1zAm21+D+Eu30OKwcQg==} + engines: {node: '>=14'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + bn.js: ^5.2.1 + borsh: ^0.7.0 + buffer: 6.0.1 + + '@orca-so/common-sdk@0.6.4': + resolution: {integrity: sha512-iOiC6exTA9t2CEOaUPoWlNP3soN/1yZFjoz1mSf7NvOqo/PJZeIdWpB7BRXwU0mGGatjxU4SFgMGQ8NrSx+ONw==} + peerDependencies: + '@solana/spl-token': ^0.4.1 + '@solana/web3.js': ^1.90.0 + decimal.js: ^10.4.3 + + '@orca-so/whirlpools-sdk@0.13.12': + resolution: {integrity: sha512-+LOqGTe0DYUsYwemltOU4WQIviqoICQlIcAmmEX/WnBh6wntpcLDcXkPV6dBHW7NA2/J8WEVAZ50biLJb4subg==} + peerDependencies: + '@coral-xyz/anchor': ~0.29.0 + '@orca-so/common-sdk': 0.6.4 + '@solana/spl-token': ^0.4.8 + '@solana/web3.js': ^1.90.0 + decimal.js: ^10.4.3 + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + + '@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==} + + '@scure/base@1.2.1': + resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} + + '@shikijs/core@1.24.4': + resolution: {integrity: sha512-jjLsld+xEEGYlxAXDyGwWsKJ1sw5Pc1pnp4ai2ORpjx2UX08YYTC0NNqQYO1PaghYaR+PvgMOGuvzw2he9sk0Q==} + + '@shikijs/engine-javascript@1.24.4': + resolution: {integrity: sha512-TClaQOLvo9WEMJv6GoUsykQ6QdynuKszuORFWCke8qvi6PeLm7FcD9+7y45UenysxEWYpDL5KJaVXTngTE+2BA==} + + '@shikijs/engine-oniguruma@1.24.4': + resolution: {integrity: sha512-Do2ry6flp2HWdvpj2XOwwa0ljZBRy15HKZITzPcNIBOGSeprnA8gOooA/bLsSPuy8aJBa+Q/r34dMmC3KNL/zw==} + + '@shikijs/types@1.24.4': + resolution: {integrity: sha512-0r0XU7Eaow0PuDxuWC1bVqmWCgm3XqizIaT7SM42K03vc69LGooT0U8ccSR44xP/hGlNx4FKhtYpV+BU6aaKAA==} + + '@shikijs/vscode-textmate@9.3.1': + resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} + + '@solana/buffer-layout-utils@0.2.0': + resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} + engines: {node: '>= 10'} + + '@solana/buffer-layout@4.0.1': + resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} + engines: {node: '>=5.10'} + + '@solana/codecs-core@2.0.0-preview.2': + resolution: {integrity: sha512-gLhCJXieSCrAU7acUJjbXl+IbGnqovvxQLlimztPoGgfLQ1wFYu+XJswrEVQqknZYK1pgxpxH3rZ+OKFs0ndQg==} + + '@solana/codecs-core@2.0.0-preview.4': + resolution: {integrity: sha512-A0VVuDDA5kNKZUinOqHxJQK32aKTucaVbvn31YenGzHX1gPqq+SOnFwgaEY6pq4XEopSmaK16w938ZQS8IvCnw==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-core@2.0.0-rc.1': + resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-data-structures@2.0.0-preview.2': + resolution: {integrity: sha512-Xf5vIfromOZo94Q8HbR04TbgTwzigqrKII0GjYr21K7rb3nba4hUW2ir8kguY7HWFBcjHGlU5x3MevKBOLp3Zg==} + + '@solana/codecs-data-structures@2.0.0-preview.4': + resolution: {integrity: sha512-nt2k2eTeyzlI/ccutPcG36M/J8NAYfxBPI9h/nQjgJ+M+IgOKi31JV8StDDlG/1XvY0zyqugV3I0r3KAbZRJpA==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-data-structures@2.0.0-rc.1': + resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.0.0-preview.2': + resolution: {integrity: sha512-aLZnDTf43z4qOnpTcDsUVy1Ci9im1Md8thWipSWbE+WM9ojZAx528oAql+Cv8M8N+6ALKwgVRhPZkto6E59ARw==} + + '@solana/codecs-numbers@2.0.0-preview.4': + resolution: {integrity: sha512-Q061rLtMadsO7uxpguT+Z7G4UHnjQ6moVIxAQxR58nLxDPCC7MB1Pk106/Z7NDhDLHTcd18uO6DZ7ajHZEn2XQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.0.0-rc.1': + resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-strings@2.0.0-preview.2': + resolution: {integrity: sha512-EgBwY+lIaHHgMJIqVOGHfIfpdmmUDNoNO/GAUGeFPf+q0dF+DtwhJPEMShhzh64X2MeCZcmSO6Kinx0Bvmmz2g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + + '@solana/codecs-strings@2.0.0-preview.4': + resolution: {integrity: sha512-YDbsQePRWm+xnrfS64losSGRg8Wb76cjK1K6qfR8LPmdwIC3787x9uW5/E4icl/k+9nwgbIRXZ65lpF+ucZUnw==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + + '@solana/codecs-strings@2.0.0-rc.1': + resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + + '@solana/codecs@2.0.0-preview.2': + resolution: {integrity: sha512-4HHzCD5+pOSmSB71X6w9ptweV48Zj1Vqhe732+pcAQ2cMNnN0gMPMdDq7j3YwaZDZ7yrILVV/3+HTnfT77t2yA==} + + '@solana/codecs@2.0.0-preview.4': + resolution: {integrity: sha512-gLMupqI4i+G4uPi2SGF/Tc1aXcviZF2ybC81x7Q/fARamNSgNOCUUoSCg9nWu1Gid6+UhA7LH80sWI8XjKaRog==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs@2.0.0-rc.1': + resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.0.0-preview.2': + resolution: {integrity: sha512-H2DZ1l3iYF5Rp5pPbJpmmtCauWeQXRJapkDg8epQ8BJ7cA2Ut/QEtC3CMmw/iMTcuS6uemFNLcWvlOfoQhvQuA==} + hasBin: true + + '@solana/errors@2.0.0-preview.4': + resolution: {integrity: sha512-kadtlbRv2LCWr8A9V22On15Us7Nn8BvqNaOB4hXsTB3O0fU40D1ru2l+cReqLcRPij4znqlRzW9Xi0m6J5DIhA==} + hasBin: true + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.0.0-rc.1': + resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} + hasBin: true + peerDependencies: + typescript: '>=5' + + '@solana/options@2.0.0-preview.2': + resolution: {integrity: sha512-FAHqEeH0cVsUOTzjl5OfUBw2cyT8d5Oekx4xcn5hn+NyPAfQJgM3CEThzgRD6Q/4mM5pVUnND3oK/Mt1RzSE/w==} + + '@solana/options@2.0.0-preview.4': + resolution: {integrity: sha512-tv2O/Frxql/wSe3jbzi5nVicIWIus/BftH+5ZR+r9r3FO0/htEllZS5Q9XdbmSboHu+St87584JXeDx3xm4jaA==} + peerDependencies: + typescript: '>=5' + + '@solana/options@2.0.0-rc.1': + resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} + peerDependencies: + typescript: '>=5' + + '@solana/spl-token-group@0.0.4': + resolution: {integrity: sha512-7+80nrEMdUKlK37V6kOe024+T7J4nNss0F8LQ9OOPYdWCCfJmsGUzVx2W3oeizZR4IHM6N4yC9v1Xqwc3BTPWw==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.91.6 + + '@solana/spl-token-group@0.0.5': + resolution: {integrity: sha512-CLJnWEcdoUBpQJfx9WEbX3h6nTdNiUzswfFdkABUik7HVwSNA98u5AYvBVK2H93d9PGMOHAak2lHW9xr+zAJGQ==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.94.0 + + '@solana/spl-token-group@0.0.7': + resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token-metadata@0.1.6': + resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token@0.4.6': + resolution: {integrity: sha512-1nCnUqfHVtdguFciVWaY/RKcQz1IF4b31jnKgAmjU9QVN1q7dRUkTEWJZgTYIEtsULjVnC9jRqlhgGN39WbKKA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.91.6 + + '@solana/spl-token@0.4.8': + resolution: {integrity: sha512-RO0JD9vPRi4LsAbMUdNbDJ5/cv2z11MGhtAvFeRzT4+hAGE/FUzRi0tkkWtuCfSIU3twC6CtmAihRp/+XXjWsA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.94.0 + + '@solana/spl-token@0.4.9': + resolution: {integrity: sha512-g3wbj4F4gq82YQlwqhPB0gHFXfgsC6UmyGMxtSLf/BozT/oKd59465DbnlUK8L8EcimKMavxsVAMoLcEdeCicg==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-type-length-value@0.1.0': + resolution: {integrity: sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA==} + engines: {node: '>=16'} + + '@solana/web3.js@1.95.3': + resolution: {integrity: sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og==} + + '@solana/web3.js@1.98.0': + resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/node-fetch@2.6.12': + resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@18.19.68': + resolution: {integrity: sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw==} + + '@types/node@20.17.10': + resolution: {integrity: sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==} + + '@types/react-dom@19.0.2': + resolution: {integrity: sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==} + peerDependencies: + '@types/react': ^19.0.0 + + '@types/react@19.0.2': + resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/uuid@10.0.0': + resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} + + '@types/uuid@8.3.4': + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + + '@types/ws@7.4.7': + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + + '@types/ws@8.5.13': + resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + + '@ungap/structured-clone@1.2.1': + resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + engines: {node: '>= 8.0.0'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + ansicolors@0.3.2: + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + assert@2.1.0: + resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + available-typed-arrays@1.0.7: + 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@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-x@3.0.10: + resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} + + base-x@4.0.0: + resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} + + base-x@5.0.0: + resolution: {integrity: sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + big.js@6.2.2: + resolution: {integrity: sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==} + + bigint-buffer@1.1.5: + resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} + engines: {node: '>= 10.0.0'} + + bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + + borsh@0.7.0: + resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + + borsh@1.0.0: + resolution: {integrity: sha512-fSVWzzemnyfF89EPwlUNsrS5swF5CrtiN4e+h0/lLf4dz2he4L3ndM20PS9wj7ICSkXJe/TQUHdaPTq15b1mNQ==} + + borsh@2.0.0: + resolution: {integrity: sha512-kc9+BgR3zz9+cjbwM8ODoUB4fs3X3I5A/HtX7LZKxCLaMrEeDFoBpnhZY//DTS1VZBSs6S5v46RZRbZjRFspEg==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bs58@5.0.0: + resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} + + bs58@6.0.0: + resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + + buffer-layout@1.2.2: + resolution: {integrity: sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==} + engines: {node: '>=4.5'} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bufferutil@4.0.9: + resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} + engines: {node: '>=6.14.2'} + + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + engines: {node: '>= 0.4'} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001690: + resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} + + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-hash@1.3.0: + resolution: {integrity: sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==} + engines: {node: '>=8'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decimal.js-light@2.5.1: + resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} + + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delay@5.0.0: + resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + eyes@0.1.8: + resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} + engines: {node: '> 0.1.90'} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-stable-stringify@1.0.0: + resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + + fastestsmallesttextencoderdecoder@1.0.22: + resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} + + fastq@1.18.0: + resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + firebase@11.1.0: + resolution: {integrity: sha512-3OoNW3vBXmBLYJvcwbPCwfluptbDVp2zZYjrfHPVFAXfPgmyy/LWjidt+Sw2WNvRelsG0v++WN2Wor6J3OwDRg==} + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data-encoder@1.7.2: + resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} + + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + engines: {node: '>= 6'} + + formdata-node@4.4.1: + resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} + engines: {node: '>= 12.20'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.2.6: + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + engines: {node: '>= 0.4'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + grammy@1.33.0: + resolution: {integrity: sha512-kvQuIBtiPcqNGntsVevjXYBMByIJ3PtOP7swr1zbCg6xY+dNX76f4VX5auKuJNI/sflexPr3L4wNwbTJHu9ocA==} + engines: {node: ^12.20.0 || >=14.13.1} + + graphemesplit@2.4.4: + resolution: {integrity: sha512-lKrpp1mk1NH26USxC/Asw4OHbhSQf5XfrWZ+CDv/dFVvd1j17kFgMotdJvOesmHkbFX9P9sBfpH8VogxOWLg8w==} + + groq-sdk@0.5.0: + resolution: {integrity: sha512-RVmhW7qZ+XZoy5fIuSdx/LGQJONpL8MHgZEW7dFwTdgkzStub2XQx6OKv28CHogijdwH41J+Npj/z2jBPu3vmw==} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-to-html@9.0.4: + resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + http-parser-js@0.5.9: + resolution: {integrity: sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-nan@1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-retry-allowed@2.2.0: + resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} + engines: {node: '>=10'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jayson@4.1.3: + resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} + engines: {node: '>=8'} + hasBin: true + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + js-base64@3.7.7: + resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} + + js-tiktoken@1.0.16: + resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + + langchain@0.3.8: + resolution: {integrity: sha512-EiAHFgBdThuXFmIx9j81wjdPItpRsw0Ck4r5dyhB74gyhehRGna/UK2CTqeKVnIUM/f4g4JbxUgAU4voXljDMw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/anthropic': '*' + '@langchain/aws': '*' + '@langchain/cohere': '*' + '@langchain/core': '>=0.2.21 <0.4.0' + '@langchain/google-genai': '*' + '@langchain/google-vertexai': '*' + '@langchain/groq': '*' + '@langchain/mistralai': '*' + '@langchain/ollama': '*' + axios: '*' + cheerio: '*' + handlebars: ^4.7.8 + peggy: ^3.0.2 + typeorm: '*' + peerDependenciesMeta: + '@langchain/anthropic': + optional: true + '@langchain/aws': + optional: true + '@langchain/cohere': + optional: true + '@langchain/google-genai': + optional: true + '@langchain/google-vertexai': + optional: true + '@langchain/groq': + optional: true + '@langchain/mistralai': + optional: true + '@langchain/ollama': + optional: true + axios: + optional: true + cheerio: + optional: true + handlebars: + optional: true + peggy: + optional: true + typeorm: + optional: true + + langsmith@0.2.14: + resolution: {integrity: sha512-ClAuAgSf3m9miMYotLEaZKQyKdaWlfjhebCuYco8bc6g72dU2VwTg31Bv4YINBq7EH2i1cMwbOiJxbOXPqjGig==} + peerDependencies: + openai: '*' + peerDependenciesMeta: + openai: + optional: true + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + long@5.2.4: + resolution: {integrity: sha512-qtzLbJE8hq7VabR3mISmVGtoXP8KGc2Z/AT8OuqlYD7JTR3oqrgwdjnk07wpj1twXxYmgDXgoKVWUG/fReSzHg==} + + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + next@15.1.3: + resolution: {integrity: sha512-5igmb8N8AEhWDYzogcJvtcRDU6n4cMGtBklxKD4biYv4LXN8+awc/bbQ2IM2NQHdVPgJ6XumYXfo3hBtErg1DA==} + engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + oniguruma-to-es@0.8.1: + resolution: {integrity: sha512-dekySTEvCxCj0IgKcA2uUCO/e4ArsqpucDPcX26w9ajx+DvMWLc5eZeJaRQkd7oC/+rwif5gnT900tA34uN9Zw==} + + openai@4.77.0: + resolution: {integrity: sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==} + hasBin: true + peerDependencies: + zod: ^3.23.8 + peerDependenciesMeta: + zod: + optional: true + + openapi-types@12.1.3: + resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + + pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + + pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + + pg-connection-string@2.7.0: + resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-pool@3.7.0: + resolution: {integrity: sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.7.0: + resolution: {integrity: sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg@8.13.1: + resolution: {integrity: sha512-OUir1A0rPNZlX//c7ksiu7crsGZTKSOXJPgtNiHGIlC9H0lO+NC6ZDYksSgBYY/thSWhnSRBv8w1lieNNGATNQ==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + engines: {node: ^10 || ^12 || >=14} + + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + protobufjs@7.4.0: + resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==} + engines: {node: '>=12.0.0'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} + peerDependencies: + react: ^19.0.0 + + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + engines: {node: '>=0.10.0'} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regex-recursion@5.1.1: + resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@5.1.1: + resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rpc-websockets@9.0.4: + resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shiki@1.24.4: + resolution: {integrity: sha512-aVGSFAOAr1v26Hh/+GBIsRVDWJ583XYV7CuNURKRWh9gpGv4OdbisZGq96B9arMYTZhTQkmRF5BrShOSTvNqhw==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + solana-agent-kit@1.3.0: + resolution: {integrity: sha512-QEg37BgkjyL+8XoPoHizvCfUchxCXZYorm3IC2wGXsWnIi4XJkdNaMSwisuUFS0WzIHrvK3ublhYGxfRNvTGpg==} + engines: {node: '>=23.1.0', pnpm: '>=8.0.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + superstruct@0.15.5: + resolution: {integrity: sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==} + + superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true + + text-encoding-utf-8@1.0.2: + resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toformat@2.0.0: + resolution: {integrity: sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ==} + + toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + ts-log@2.2.7: + resolution: {integrity: sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + + typedoc@0.26.11: + resolution: {integrity: sha512-sFEgRRtrcDl2FxVP58Ze++ZK2UQAEvtvvH8rRlig1Ja3o7dDaMHmaBfvJmdGnNEFaLTpQsN8dpvZaTqJSu/Ugw==} + engines: {node: '>= 18'} + hasBin: true + peerDependencies: + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x + + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + utf-8-validate@5.0.10: + resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} + engines: {node: '>=6.14.2'} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + web-streams-polyfill@4.0.0-beta.3: + resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} + engines: {node: '>= 14'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-typed-array@1.1.18: + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + zod-to-json-schema@3.24.1: + resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==} + peerDependencies: + zod: ^3.24.1 + + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@alloc/quick-lru@5.2.0': {} + + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + + '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + borsh: 1.0.0 + bs58: 5.0.0 + buffer: 6.0.3 + + '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 + '@scure/base': 1.2.1 + '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + borsh: 2.0.0 + buffer: 6.0.3 + graphemesplit: 2.4.4 + ipaddr.js: 2.2.0 + punycode: 2.3.1 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@cfworker/json-schema@4.0.3': {} + + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.6.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@emnapi/runtime@1.3.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@ethersproject/bytes@5.7.0': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/logger@5.7.0': {} + + '@ethersproject/sha2@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + hash.js: 1.1.7 + + '@firebase/analytics-compat@0.2.16(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/analytics': 0.10.10(@firebase/app@0.10.17) + '@firebase/analytics-types': 0.8.3 + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/analytics-types@0.8.3': {} + + '@firebase/analytics@0.10.10(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/app-check-compat@0.3.17(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-check': 0.8.10(@firebase/app@0.10.17) + '@firebase/app-check-types': 0.5.3 + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/app-check-interop-types@0.3.3': {} + + '@firebase/app-check-types@0.5.3': {} + + '@firebase/app-check@0.8.10(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/app-compat@0.2.47': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/app-types@0.9.3': {} + + '@firebase/app@0.10.17': + dependencies: + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/auth-compat@0.5.16(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/auth': 1.8.1(@firebase/app@0.10.17) + '@firebase/auth-types': 0.12.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2) + '@firebase/component': 0.6.11 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + - '@react-native-async-storage/async-storage' + + '@firebase/auth-interop-types@0.2.4': {} + + '@firebase/auth-types@0.12.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.10.2 + + '@firebase/auth@1.8.1(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/component@0.6.11': + dependencies: + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/data-connect@0.1.3(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/database-compat@2.0.1': + dependencies: + '@firebase/component': 0.6.11 + '@firebase/database': 1.0.10 + '@firebase/database-types': 1.0.7 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/database-types@1.0.7': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.10.2 + + '@firebase/database@1.0.10': + dependencies: + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + faye-websocket: 0.11.4 + tslib: 2.8.1 + + '@firebase/firestore-compat@0.3.40(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/firestore': 4.7.5(@firebase/app@0.10.17) + '@firebase/firestore-types': 3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2) + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/firestore-types@3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.10.2 + + '@firebase/firestore@4.7.5(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + '@firebase/webchannel-wrapper': 1.0.3 + '@grpc/grpc-js': 1.9.15 + '@grpc/proto-loader': 0.7.13 + tslib: 2.8.1 + + '@firebase/functions-compat@0.3.17(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/functions': 0.12.0(@firebase/app@0.10.17) + '@firebase/functions-types': 0.6.3 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/functions-types@0.6.3': {} + + '@firebase/functions@0.12.0(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.6.11 + '@firebase/messaging-interop-types': 0.2.3 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/installations-compat@0.2.11(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/installations-types': 0.5.3(@firebase/app-types@0.9.3) + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/installations-types@0.5.3(@firebase/app-types@0.9.3)': + dependencies: + '@firebase/app-types': 0.9.3 + + '@firebase/installations@0.6.11(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/util': 1.10.2 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/logger@0.4.4': + dependencies: + tslib: 2.8.1 + + '@firebase/messaging-compat@0.2.15(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/messaging': 0.12.15(@firebase/app@0.10.17) + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/messaging-interop-types@0.2.3': {} + + '@firebase/messaging@0.12.15(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/messaging-interop-types': 0.2.3 + '@firebase/util': 1.10.2 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/performance-compat@0.2.11(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/performance': 0.6.11(@firebase/app@0.10.17) + '@firebase/performance-types': 0.2.3 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/performance-types@0.2.3': {} + + '@firebase/performance@0.6.11(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/remote-config-compat@0.2.11(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/remote-config': 0.4.11(@firebase/app@0.10.17) + '@firebase/remote-config-types': 0.3.3 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/remote-config-types@0.3.3': {} + + '@firebase/remote-config@0.4.11(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/storage-compat@0.3.14(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/storage': 0.13.4(@firebase/app@0.10.17) + '@firebase/storage-types': 0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2) + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/storage-types@0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.10.2 + + '@firebase/storage@0.13.4(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/util@1.10.2': + dependencies: + tslib: 2.8.1 + + '@firebase/vertexai@1.0.2(@firebase/app-types@0.9.3)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/app-types': 0.9.3 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/webchannel-wrapper@1.0.3': {} + + '@grammyjs/types@3.17.0': {} + + '@grpc/grpc-js@1.9.15': + dependencies: + '@grpc/proto-loader': 0.7.13 + '@types/node': 20.17.10 + + '@grpc/proto-loader@0.7.13': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.2.4 + protobufjs: 7.4.0 + yargs: 17.7.2 + + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.3.1 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))': + dependencies: + '@cfworker/json-schema': 4.0.3 + ansi-styles: 5.2.0 + camelcase: 6.3.0 + decamelize: 1.2.0 + js-tiktoken: 1.0.16 + langsmith: 0.2.14(openai@4.77.0(zod@3.24.1)) + mustache: 4.2.0 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 10.0.0 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - openai + + '@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + groq-sdk: 0.5.0 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - encoding + + '@langchain/langgraph-checkpoint-postgres@0.0.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + pg: 8.13.1 + transitivePeerDependencies: + - pg-native + + '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + uuid: 10.0.0 + + '@langchain/langgraph-sdk@0.0.32': + dependencies: + '@types/json-schema': 7.0.15 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 9.0.1 + + '@langchain/langgraph@0.2.36(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/langgraph-sdk': 0.0.32 + uuid: 10.0.0 + zod: 3.24.1 + + '@langchain/openai@0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + js-tiktoken: 1.0.16 + openai: 4.77.0(zod@3.24.1) + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - encoding + + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + js-tiktoken: 1.0.16 + + '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@noble/hashes': 1.5.0 + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + superstruct: 2.0.2 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 5.0.0 + debug: 4.4.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@metaplex-foundation/beet@0.7.2': + dependencies: + ansicolors: 0.3.2 + assert: 2.1.0 + bn.js: 5.2.1 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@msgpack/msgpack': 3.0.0-beta2 + '@noble/hashes': 1.6.1 + + '@metaplex-foundation/mpl-token-metadata@3.3.0(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-downloader-http': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-http-fetch': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-program-repository': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-rpc-chunk-get-accounts': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-serializer-data-view': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - encoding + + '@metaplex-foundation/umi-downloader-http@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + '@metaplex-foundation/umi-options@0.8.9': {} + + '@metaplex-foundation/umi-program-repository@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-public-keys@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-serializers-core@0.8.9': {} + + '@metaplex-foundation/umi-serializers-encodings@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-core': 0.8.9 + + '@metaplex-foundation/umi-serializers-numbers@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-core': 0.8.9 + + '@metaplex-foundation/umi-serializers@0.9.0': + dependencies: + '@metaplex-foundation/umi-options': 0.8.9 + '@metaplex-foundation/umi-public-keys': 0.8.9 + '@metaplex-foundation/umi-serializers-core': 0.8.9 + '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + '@metaplex-foundation/umi-serializers-numbers': 0.8.9 + + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + + '@metaplex-foundation/umi@0.9.2': + dependencies: + '@metaplex-foundation/umi-options': 0.8.9 + '@metaplex-foundation/umi-public-keys': 0.8.9 + '@metaplex-foundation/umi-serializers': 0.9.0 + + '@msgpack/msgpack@3.0.0-beta2': {} + + '@next/env@15.1.3': {} + + '@next/swc-darwin-arm64@15.1.3': + optional: true + + '@next/swc-darwin-x64@15.1.3': + optional: true + + '@next/swc-linux-arm64-gnu@15.1.3': + optional: true + + '@next/swc-linux-arm64-musl@15.1.3': + optional: true + + '@next/swc-linux-x64-gnu@15.1.3': + optional: true + + '@next/swc-linux-x64-musl@15.1.3': + optional: true + + '@next/swc-win32-arm64-msvc@15.1.3': + optional: true + + '@next/swc-win32-x64-msvc@15.1.3': + optional: true + + '@noble/curves@1.7.0': + dependencies: + '@noble/hashes': 1.6.0 + + '@noble/hashes@1.5.0': {} + + '@noble/hashes@1.6.0': {} + + '@noble/hashes@1.6.1': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.18.0 + + '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/sha2': 5.7.0 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + borsh: 2.0.0 + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@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)': + dependencies: + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + decimal.js: 10.4.3 + tiny-invariant: 1.3.3 + + '@orca-so/whirlpools-sdk@0.13.12(@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)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + decimal.js: 10.4.3 + tiny-invariant: 1.3.3 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + + '@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 + '@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) + axios: 1.7.9 + big.js: 6.2.2 + bn.js: 5.2.1 + dayjs: 1.11.13 + decimal.js-light: 2.5.1 + jsonfile: 6.1.0 + lodash: 4.17.21 + toformat: 2.0.0 + tsconfig-paths: 4.2.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@scure/base@1.2.1': {} + + '@shikijs/core@1.24.4': + dependencies: + '@shikijs/engine-javascript': 1.24.4 + '@shikijs/engine-oniguruma': 1.24.4 + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.4 + + '@shikijs/engine-javascript@1.24.4': + dependencies: + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + oniguruma-to-es: 0.8.1 + + '@shikijs/engine-oniguruma@1.24.4': + dependencies: + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + + '@shikijs/types@1.24.4': + dependencies: + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@9.3.1': {} + + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bigint-buffer: 1.1.5 + bignumber.js: 9.1.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/buffer-layout@4.0.1': + dependencies: + buffer: 6.0.3 + + '@solana/codecs-core@2.0.0-preview.2': + dependencies: + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-core@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-data-structures@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-data-structures@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-numbers@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-numbers@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-strings@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + fastestsmallesttextencoderdecoder: 1.0.22 + + '@solana/codecs-strings@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.7.2 + + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.7.2 + + '@solana/codecs@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-data-structures': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/codecs-strings': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/options': 2.0.0-preview.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/options': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/errors@2.0.0-preview.2': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + + '@solana/errors@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 5.7.2 + + '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 5.7.2 + + '@solana/options@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + + '@solana/options@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-type-length-value': 0.1.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-type-length-value': 0.1.0 + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-type-length-value@0.1.0': + dependencies: + buffer: 6.0.3 + + '@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.5.0 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.5.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.5.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@swc/counter@0.1.3': {} + + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 20.17.10 + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/node-fetch@2.6.12': + dependencies: + '@types/node': 20.17.10 + form-data: 4.0.1 + + '@types/node@12.20.55': {} + + '@types/node@18.19.68': + dependencies: + undici-types: 5.26.5 + + '@types/node@20.17.10': + dependencies: + undici-types: 6.19.8 + + '@types/react-dom@19.0.2(@types/react@19.0.2)': + dependencies: + '@types/react': 19.0.2 + + '@types/react@19.0.2': + dependencies: + csstype: 3.1.3 + + '@types/retry@0.12.0': {} + + '@types/unist@3.0.3': {} + + '@types/uuid@10.0.0': {} + + '@types/uuid@8.3.4': {} + + '@types/ws@7.4.7': + dependencies: + '@types/node': 20.17.10 + + '@types/ws@8.5.13': + dependencies: + '@types/node': 20.17.10 + + '@ungap/structured-clone@1.2.1': {} + + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + agentkeepalive@4.5.0: + dependencies: + humanize-ms: 1.2.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + ansicolors@0.3.2: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@2.0.1: {} + + assert@2.1.0: + dependencies: + call-bind: 1.0.8 + is-nan: 1.3.2 + object-is: 1.1.6 + object.assign: 4.1.7 + util: 0.12.5 + + assertion-error@2.0.1: {} + + asynckit@0.4.0: {} + + available-typed-arrays@1.0.7: + 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@1.7.9: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + balanced-match@1.0.2: {} + + base-x@3.0.10: + dependencies: + safe-buffer: 5.2.1 + + base-x@4.0.0: {} + + base-x@5.0.0: {} + + base64-js@1.5.1: {} + + big.js@6.2.2: {} + + bigint-buffer@1.1.5: + dependencies: + bindings: 1.5.0 + + bignumber.js@9.1.2: {} + + binary-extensions@2.3.0: {} + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + + bn.js@5.2.1: {} + + borsh@0.7.0: + dependencies: + bn.js: 5.2.1 + bs58: 4.0.1 + text-encoding-utf-8: 1.0.2 + + borsh@1.0.0: {} + + borsh@2.0.0: {} + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + bs58@4.0.1: + dependencies: + base-x: 3.0.10 + + bs58@5.0.0: + dependencies: + base-x: 4.0.0 + + bs58@6.0.0: + dependencies: + base-x: 5.0.0 + + buffer-layout@1.2.2: {} + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bufferutil@4.0.9: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + busboy@1.6.0: + dependencies: + streamsearch: 1.1.0 + + call-bind-apply-helpers@1.0.1: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + get-intrinsic: 1.2.6 + set-function-length: 1.2.2 + + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.1 + get-intrinsic: 1.2.6 + + camelcase-css@2.0.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001690: {} + + ccount@2.0.1: {} + + chai@5.1.2: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.2 + pathval: 2.0.0 + + chalk@5.4.1: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + check-error@2.1.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + client-only@0.0.1: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + optional: true + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + optional: true + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@12.1.0: {} + + commander@2.20.3: {} + + commander@4.1.1: {} + + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-hash@1.3.0: {} + + cssesc@3.0.0: {} + + csstype@3.1.3: {} + + dayjs@1.11.13: {} + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + decamelize@1.2.0: {} + + decimal.js-light@2.5.1: {} + + decimal.js@10.4.3: {} + + deep-eql@5.0.2: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + delay@5.0.0: {} + + delayed-stream@1.0.0: {} + + dequal@2.0.3: {} + + detect-libc@2.0.3: + optional: true + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + didyoumean@1.2.2: {} + + dlv@1.1.3: {} + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dotenv@16.4.7: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + emoji-regex-xs@1.0.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + entities@4.5.0: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es6-promise@4.2.8: {} + + es6-promisify@5.0.0: + dependencies: + es6-promise: 4.2.8 + + escalade@3.2.0: {} + + event-target-shim@5.0.1: {} + + eventemitter3@4.0.7: {} + + eventemitter3@5.0.1: {} + + eyes@0.1.8: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-stable-stringify@1.0.0: {} + + fastestsmallesttextencoderdecoder@1.0.22: {} + + fastq@1.18.0: + dependencies: + reusify: 1.0.4 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + file-uri-to-path@1.0.0: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + firebase@11.1.0: + dependencies: + '@firebase/analytics': 0.10.10(@firebase/app@0.10.17) + '@firebase/analytics-compat': 0.2.16(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/app': 0.10.17 + '@firebase/app-check': 0.8.10(@firebase/app@0.10.17) + '@firebase/app-check-compat': 0.3.17(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/app-compat': 0.2.47 + '@firebase/app-types': 0.9.3 + '@firebase/auth': 1.8.1(@firebase/app@0.10.17) + '@firebase/auth-compat': 0.5.16(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17) + '@firebase/data-connect': 0.1.3(@firebase/app@0.10.17) + '@firebase/database': 1.0.10 + '@firebase/database-compat': 2.0.1 + '@firebase/firestore': 4.7.5(@firebase/app@0.10.17) + '@firebase/firestore-compat': 0.3.40(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17) + '@firebase/functions': 0.12.0(@firebase/app@0.10.17) + '@firebase/functions-compat': 0.3.17(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/installations-compat': 0.2.11(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17) + '@firebase/messaging': 0.12.15(@firebase/app@0.10.17) + '@firebase/messaging-compat': 0.2.15(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/performance': 0.6.11(@firebase/app@0.10.17) + '@firebase/performance-compat': 0.2.11(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/remote-config': 0.4.11(@firebase/app@0.10.17) + '@firebase/remote-config-compat': 0.2.11(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/storage': 0.13.4(@firebase/app@0.10.17) + '@firebase/storage-compat': 0.3.14(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17) + '@firebase/util': 1.10.2 + '@firebase/vertexai': 1.0.2(@firebase/app-types@0.9.3)(@firebase/app@0.10.17) + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + + follow-redirects@1.15.9: {} + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data-encoder@1.7.2: {} + + form-data@4.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + formdata-node@4.4.1: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 4.0.0-beta.3 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.2.6: + dependencies: + call-bind-apply-helpers: 1.0.1 + dunder-proto: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + function-bind: 1.1.2 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: + optional: true + + grammy@1.33.0: + dependencies: + '@grammyjs/types': 3.17.0 + abort-controller: 3.0.0 + debug: 4.4.0 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + - supports-color + + graphemesplit@2.4.4: + dependencies: + js-base64: 3.7.7 + unicode-trie: 2.0.0 + + groq-sdk@0.5.0: + dependencies: + '@types/node': 18.19.68 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + web-streams-polyfill: 3.3.3 + transitivePeerDependencies: + - encoding + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-to-html@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + html-void-elements@3.0.0: {} + + http-parser-js@0.5.9: {} + + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + + idb@7.1.1: {} + + ieee754@1.2.1: {} + + inherits@2.0.4: {} + + ipaddr.js@2.2.0: {} + + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-arrayish@0.3.2: + optional: true + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-callable@1.2.7: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-nan@1.3.2: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + + is-number@7.0.0: {} + + is-retry-allowed@2.2.0: {} + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.18 + + isexe@2.0.0: {} + + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + 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 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@types/connect': 3.4.38 + '@types/node': 12.20.55 + '@types/ws': 7.4.7 + JSONStream: 1.3.5 + commander: 2.20.3 + delay: 5.0.0 + es6-promisify: 5.0.0 + eyes: 0.1.8 + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + json-stringify-safe: 5.0.1 + uuid: 8.3.2 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + jiti@1.21.7: {} + + js-base64@3.7.7: {} + + js-tiktoken@1.0.16: + dependencies: + base64-js: 1.5.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + json-stringify-safe@5.0.1: {} + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonparse@1.3.1: {} + + jsonpointer@5.0.1: {} + + langchain@0.3.8(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)): + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + js-tiktoken: 1.0.16 + js-yaml: 4.1.0 + jsonpointer: 5.0.1 + langsmith: 0.2.14(openai@4.77.0(zod@3.24.1)) + openapi-types: 12.1.3 + p-retry: 4.6.2 + uuid: 10.0.0 + yaml: 2.6.1 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + optionalDependencies: + '@langchain/groq': 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + axios: 1.7.9 + transitivePeerDependencies: + - encoding + - openai + + langsmith@0.2.14(openai@4.77.0(zod@3.24.1)): + dependencies: + '@types/uuid': 10.0.0 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + semver: 7.6.3 + uuid: 10.0.0 + optionalDependencies: + openai: 4.77.0(zod@3.24.1) + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 + + lodash.camelcase@4.3.0: {} + + lodash@4.17.21: {} + + long@5.2.4: {} + + loupe@3.1.2: {} + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lru-cache@10.4.3: {} + + lunr@2.3.9: {} + + markdown-it@14.1.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + math-intrinsics@1.1.0: {} + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.1 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdurl@2.0.0: {} + + merge2@1.4.1: {} + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + minimalistic-assert@1.0.1: {} + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + ms@2.1.3: {} + + mustache@4.2.0: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.8: {} + + next@15.1.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + '@next/env': 15.1.3 + '@swc/counter': 0.1.3 + '@swc/helpers': 0.5.15 + busboy: 1.6.0 + caniuse-lite: 1.0.30001690 + postcss: 8.4.31 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + styled-jsx: 5.1.6(react@19.0.0) + optionalDependencies: + '@next/swc-darwin-arm64': 15.1.3 + '@next/swc-darwin-x64': 15.1.3 + '@next/swc-linux-arm64-gnu': 15.1.3 + '@next/swc-linux-arm64-musl': 15.1.3 + '@next/swc-linux-x64-gnu': 15.1.3 + '@next/swc-linux-x64-musl': 15.1.3 + '@next/swc-win32-arm64-msvc': 15.1.3 + '@next/swc-win32-x64-msvc': 15.1.3 + sharp: 0.33.5 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-domexception@1.0.0: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-gyp-build@4.8.4: + optional: true + + normalize-path@3.0.0: {} + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + object-is@1.1.6: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + oniguruma-to-es@0.8.1: + dependencies: + emoji-regex-xs: 1.0.0 + regex: 5.1.1 + regex-recursion: 5.1.1 + + openai@4.77.0(zod@3.24.1): + dependencies: + '@types/node': 18.19.68 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + optionalDependencies: + zod: 3.24.1 + transitivePeerDependencies: + - encoding + + openapi-types@12.1.3: {} + + p-finally@1.0.0: {} + + p-queue@6.6.2: + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-timeout@3.2.0: + dependencies: + p-finally: 1.0.0 + + package-json-from-dist@1.0.1: {} + + pako@0.2.9: {} + + pako@2.1.0: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + pathval@2.0.0: {} + + pg-cloudflare@1.1.1: + optional: true + + pg-connection-string@2.7.0: {} + + pg-int8@1.0.1: {} + + pg-pool@3.7.0(pg@8.13.1): + dependencies: + pg: 8.13.1 + + pg-protocol@1.7.0: {} + + pg-types@2.2.0: + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + pg@8.13.1: + dependencies: + pg-connection-string: 2.7.0 + pg-pool: 3.7.0(pg@8.13.1) + pg-protocol: 1.7.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + pgpass@1.0.5: + dependencies: + split2: 4.2.0 + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pify@2.3.0: {} + + pirates@4.0.6: {} + + possible-typed-array-names@1.0.0: {} + + postcss-import@15.1.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.10 + + postcss-js@4.0.1(postcss@8.4.49): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.49 + + postcss-load-config@4.0.2(postcss@8.4.49): + dependencies: + lilconfig: 3.1.3 + yaml: 2.6.1 + optionalDependencies: + postcss: 8.4.49 + + postcss-nested@6.2.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.4.31: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postcss@8.4.49: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postgres-array@2.0.0: {} + + postgres-bytea@1.0.0: {} + + postgres-date@1.0.7: {} + + postgres-interval@1.2.0: + dependencies: + xtend: 4.0.2 + + property-information@6.5.0: {} + + protobufjs@7.4.0: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 20.17.10 + long: 5.2.4 + + proxy-from-env@1.1.0: {} + + punycode.js@2.3.1: {} + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + react-dom@19.0.0(react@19.0.0): + dependencies: + react: 19.0.0 + scheduler: 0.25.0 + + react@19.0.0: {} + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + regenerator-runtime@0.14.1: {} + + regex-recursion@5.1.1: + dependencies: + regex: 5.1.1 + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@5.1.1: + dependencies: + regex-utilities: 2.3.0 + + require-directory@2.1.1: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + retry@0.13.1: {} + + reusify@1.0.4: {} + + rpc-websockets@9.0.4: + dependencies: + '@swc/helpers': 0.5.15 + '@types/uuid': 8.3.4 + '@types/ws': 8.5.13 + buffer: 6.0.3 + eventemitter3: 5.0.1 + uuid: 8.3.2 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.2.1: {} + + scheduler@0.25.0: {} + + semver@7.6.3: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.6 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + optional: true + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shiki@1.24.4: + dependencies: + '@shikijs/core': 1.24.4 + '@shikijs/engine-javascript': 1.24.4 + '@shikijs/engine-oniguruma': 1.24.4 + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 + + signal-exit@4.1.0: {} + + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + optional: true + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + solana-agent-kit@1.3.0(@noble/hashes@1.6.1)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + dependencies: + '@bonfida/spl-name-service': 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/groq': 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/langgraph': 0.2.36(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@lightprotocol/compressed-token': 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-core': 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1) + '@metaplex-foundation/mpl-token-metadata': 3.3.0(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-bundle-defaults': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@onsol/tldparser': 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@orca-so/whirlpools-sdk': 0.13.12(@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': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@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) + '@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) + 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 + langchain: 0.3.8(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)) + openai: 4.77.0(zod@3.24.1) + typedoc: 0.26.11(typescript@5.7.2) + transitivePeerDependencies: + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cohere' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/mistralai' + - '@langchain/ollama' + - '@noble/hashes' + - axios + - borsh + - buffer + - bufferutil + - cheerio + - debug + - encoding + - fastestsmallesttextencoderdecoder + - handlebars + - peggy + - supports-color + - typeorm + - typescript + - utf-8-validate + - zod + + source-map-js@1.2.1: {} + + space-separated-tokens@2.0.2: {} + + split2@4.2.0: {} + + streamsearch@1.1.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom@3.0.0: {} + + styled-jsx@5.1.6(react@19.0.0): + dependencies: + client-only: 0.0.1 + react: 19.0.0 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + superstruct@0.15.5: {} + + superstruct@2.0.2: {} + + supports-preserve-symlinks-flag@1.0.0: {} + + tailwindcss@3.4.17: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.10 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + text-encoding-utf-8@1.0.2: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + through@2.3.8: {} + + tiny-inflate@1.0.3: {} + + tiny-invariant@1.3.3: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toformat@2.0.0: {} + + toml@3.0.0: {} + + tr46@0.0.3: {} + + trim-lines@3.0.1: {} + + ts-interface-checker@0.1.13: {} + + ts-log@2.2.7: {} + + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@2.8.1: {} + + tweetnacl@1.0.3: {} + + typedoc@0.26.11(typescript@5.7.2): + dependencies: + lunr: 2.3.9 + markdown-it: 14.1.0 + minimatch: 9.0.5 + shiki: 1.24.4 + typescript: 5.7.2 + yaml: 2.6.1 + + typescript@5.7.2: {} + + uc.micro@2.1.0: {} + + undici-types@5.26.5: {} + + undici-types@6.19.8: {} + + unicode-trie@2.0.0: + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@2.0.1: {} + + utf-8-validate@5.0.10: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + util-deprecate@1.0.2: {} + + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.2.0 + is-generator-function: 1.0.10 + is-typed-array: 1.1.15 + which-typed-array: 1.1.18 + + uuid@10.0.0: {} + + uuid@8.3.2: {} + + uuid@9.0.1: {} + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + web-streams-polyfill@3.3.3: {} + + web-streams-polyfill@4.0.0-beta.3: {} + + webidl-conversions@3.0.1: {} + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.9 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-typed-array@1.1.18: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + for-each: 0.3.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + xtend@4.0.2: {} + + y18n@5.0.8: {} + + yaml@2.6.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + zod-to-json-schema@3.24.1(zod@3.24.1): + dependencies: + zod: 3.24.1 + + zod@3.24.1: {} + + zwitch@2.0.4: {} diff --git a/examples/tg-bot-starter/postcss.config.mjs b/examples/tg-bot-starter/advanced-tg-bot/postcss.config.mjs similarity index 100% rename from examples/tg-bot-starter/postcss.config.mjs rename to examples/tg-bot-starter/advanced-tg-bot/postcss.config.mjs diff --git a/examples/tg-bot-starter/public/file.svg b/examples/tg-bot-starter/advanced-tg-bot/public/file.svg similarity index 100% rename from examples/tg-bot-starter/public/file.svg rename to examples/tg-bot-starter/advanced-tg-bot/public/file.svg diff --git a/examples/tg-bot-starter/public/globe.svg b/examples/tg-bot-starter/advanced-tg-bot/public/globe.svg similarity index 100% rename from examples/tg-bot-starter/public/globe.svg rename to examples/tg-bot-starter/advanced-tg-bot/public/globe.svg diff --git a/examples/tg-bot-starter/public/next.svg b/examples/tg-bot-starter/advanced-tg-bot/public/next.svg similarity index 100% rename from examples/tg-bot-starter/public/next.svg rename to examples/tg-bot-starter/advanced-tg-bot/public/next.svg diff --git a/examples/tg-bot-starter/public/vercel.svg b/examples/tg-bot-starter/advanced-tg-bot/public/vercel.svg similarity index 100% rename from examples/tg-bot-starter/public/vercel.svg rename to examples/tg-bot-starter/advanced-tg-bot/public/vercel.svg diff --git a/examples/tg-bot-starter/public/window.svg b/examples/tg-bot-starter/advanced-tg-bot/public/window.svg similarity index 100% rename from examples/tg-bot-starter/public/window.svg rename to examples/tg-bot-starter/advanced-tg-bot/public/window.svg diff --git a/examples/tg-bot-starter/advanced-tg-bot/src/app/api/bot/route.ts b/examples/tg-bot-starter/advanced-tg-bot/src/app/api/bot/route.ts new file mode 100644 index 0000000..76ed5d1 --- /dev/null +++ b/examples/tg-bot-starter/advanced-tg-bot/src/app/api/bot/route.ts @@ -0,0 +1,157 @@ +export const dynamic = 'force-dynamic'; +export const fetchCache = 'force-no-store'; +export const maxDuration = 60; // can use 300 with vercel premium + +import { Bot, webhookCallback } from 'grammy'; +import { SolanaAgentKit, createSolanaTools } from "solana-agent-kit"; +import { ChatOpenAI } from "@langchain/openai"; +import { createReactAgent } from "@langchain/langgraph/prebuilt"; +import { HumanMessage } from "@langchain/core/messages"; +import { getApps, initializeApp, getApp } from 'firebase/app'; +import { getFirestore, doc, getDoc, setDoc, updateDoc } from 'firebase/firestore'; +import { bs58 } from '@coral-xyz/anchor/dist/cjs/utils/bytes'; +import { Keypair } from '@solana/web3.js'; +import { PostgresSaver } from "@langchain/langgraph-checkpoint-postgres"; + +const token = process.env.TELEGRAM_BOT_TOKEN; +if (!token) throw new Error('TELEGRAM_BOT_TOKEN environment variable not found.'); +const bot = new Bot(token); + +const checkpointer = PostgresSaver.fromConnString( + process.env.POSTGRES_LINK!, +); + +const firebaseConfig = { + apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY, + authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN, + projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID, + storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET, + messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID, + appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID, + measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID, +}; +const app = !getApps.length ? initializeApp(firebaseConfig) : getApp(); +const db = getFirestore(app); + +async function getOrCreateUserKeyPair(userId: string) { + const userDocRef = doc(db, 'users', userId); + const userDocSnap = await getDoc(userDocRef); + if (userDocSnap.exists()) { + return userDocSnap.data(); + } + const keypair = Keypair.generate(); + const keypairData = { + publicKey: keypair.publicKey.toString(), + privateKey: String(bs58.encode(keypair.secretKey)), + inProgress: false, + inGame: false, + }; + await setDoc(userDocRef, keypairData); + return keypairData; +} + +async function initializeAgent(userId: string, keyPair: any) { + try { + const llm = new ChatOpenAI({ + modelName: "gpt-4o-mini", + temperature: 0.7, + }); + + const solanaKit = new SolanaAgentKit( + keyPair.privateKey, + process.env.RPC_URL, + process.env.OPENAI_API_KEY! + ); + + const tools = createSolanaTools(solanaKit); + await checkpointer.setup(); + const config = { configurable: { thread_id: userId } }; + const agent = createReactAgent({ + llm, + tools, + checkpointSaver: checkpointer, + messageModifier: ` + You are a helpful Telegram bot agent that can interact onchain using the Solana Agent Kit. You are + empowered to interact onchain using your tools. If you ever need funds, you can request them from the user at ${keyPair.publicKey}. + If user asks for his funds back, you can send them their priate key ${keyPair.privateKey}. + If there is a 5XX (internal) HTTP error code, ask the user to try again later. If someone asks you to do something you + can't do with your currently available tools, you must say so, and encourage them to implement it + themselves using the Solana Agent Kit, recommend they go to https://www.solanaagentkit.xyz for more information. Be + concise and helpful with your responses. Refrain from restating your tools' descriptions unless it is explicitly requested. + `, + }); + return { agent, config }; + + } catch (error) { + console.error("Failed to initialize agent:", error); + throw error; + } +} +// Telegram bot handler +bot.on('message:text', async (ctx:any) => { + const userId = ctx.from?.id.toString(); + if (!userId) return; + const userDocRef = doc(db, 'users', userId); + const userDocSnap = await getDoc(userDocRef); + + if (!userDocSnap.exists()) { + const codeDocRef = doc(db, 'inviteCodes', ctx.message.text); + const codeDocSnap = await getDoc(codeDocRef); + if (!codeDocSnap.exists()) { + await ctx.reply(`Invalid invite code. Please try again.`); + return; + } + const data = await getDoc(codeDocRef); + const codeData = data.data(); + if (codeData?.usedBy != null) { + await ctx.reply(`Invite code has already been used. Please try again.`); + return; + } + else { + await updateDoc(codeDocRef, { usedBy: userId }); + const keyPair = await getOrCreateUserKeyPair(userId); + await ctx.reply(`Looks like you are using the Game agent first time. You can fund your agent and start playing. Your unique Solana wallet is:`); + await ctx.reply(`${String(keyPair.publicKey)}`); + return; + } + } + const keyPair = await getOrCreateUserKeyPair(userId); + if (keyPair.inProgress) { + await ctx.reply(`Hold on! I'm still processing...`); + return; + } + const { agent, config } = await initializeAgent(userId, keyPair); + const stream = await agent.stream({ messages: [new HumanMessage(ctx.message.text)] }, config); + const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Timeout')), 20000)); + try { + await updateDoc(userDocRef, { inProgress: true }); + for await (const chunk of await Promise.race([stream, timeoutPromise]) as AsyncIterable<{ agent?: any; tools?: any }>) { + if ("agent" in chunk) { + if (chunk.agent.messages[0].content) await ctx.reply(String(chunk.agent.messages[0].content)); + } + // Add the below if you want to show direct output from the tools. + // else if ("tools" in chunk) { + // if (chunk.tools.messages[0].content) await ctx.reply(String(chunk.tools.messages[0].content)); + // } + } + } catch (error: any) { + if (error.message === 'Timeout') { + await ctx.reply("I'm sorry, the operation took too long and timed out. Please try again."); + } else { + console.error("Error processing stream:", error); + await ctx.reply("I'm sorry, an error occurred while processing your request."); + await updateDoc(userDocRef, { inProgress: false }); + } + } + finally { + await updateDoc(userDocRef, { inProgress: false }); + } +}); + +// Export webhook handler +export const POST = async (req: Request) => { + const headers = new Headers(); + headers.set('x-vercel-background', 'true'); + const handler = webhookCallback(bot, 'std/http'); + return handler(req); +}; \ No newline at end of file diff --git a/examples/tg-bot-starter/src/app/favicon.ico b/examples/tg-bot-starter/advanced-tg-bot/src/app/favicon.ico similarity index 100% rename from examples/tg-bot-starter/src/app/favicon.ico rename to examples/tg-bot-starter/advanced-tg-bot/src/app/favicon.ico diff --git a/examples/tg-bot-starter/src/app/globals.css b/examples/tg-bot-starter/advanced-tg-bot/src/app/globals.css similarity index 100% rename from examples/tg-bot-starter/src/app/globals.css rename to examples/tg-bot-starter/advanced-tg-bot/src/app/globals.css diff --git a/examples/tg-bot-starter/src/app/layout.tsx b/examples/tg-bot-starter/advanced-tg-bot/src/app/layout.tsx similarity index 100% rename from examples/tg-bot-starter/src/app/layout.tsx rename to examples/tg-bot-starter/advanced-tg-bot/src/app/layout.tsx diff --git a/examples/tg-bot-starter/src/app/page.tsx b/examples/tg-bot-starter/advanced-tg-bot/src/app/page.tsx similarity index 100% rename from examples/tg-bot-starter/src/app/page.tsx rename to examples/tg-bot-starter/advanced-tg-bot/src/app/page.tsx diff --git a/examples/tg-bot-starter/tailwind.config.ts b/examples/tg-bot-starter/advanced-tg-bot/tailwind.config.ts similarity index 100% rename from examples/tg-bot-starter/tailwind.config.ts rename to examples/tg-bot-starter/advanced-tg-bot/tailwind.config.ts diff --git a/examples/tg-bot-starter/tsconfig.json b/examples/tg-bot-starter/advanced-tg-bot/tsconfig.json similarity index 100% rename from examples/tg-bot-starter/tsconfig.json rename to examples/tg-bot-starter/advanced-tg-bot/tsconfig.json diff --git a/examples/tg-bot-starter/.env.example b/examples/tg-bot-starter/basic-tg-bot/.env.example similarity index 100% rename from examples/tg-bot-starter/.env.example rename to examples/tg-bot-starter/basic-tg-bot/.env.example diff --git a/examples/tg-bot-starter/basic-tg-bot/.gitignore b/examples/tg-bot-starter/basic-tg-bot/.gitignore new file mode 100644 index 0000000..e72b4d6 --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/examples/tg-bot-starter/basic-tg-bot/README.md b/examples/tg-bot-starter/basic-tg-bot/README.md new file mode 100644 index 0000000..2c0e760 --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/README.md @@ -0,0 +1,24 @@ +# Telegram Bot Starter with Solana Agent Kit + +This example showcases how we can make a telegram bot with the Solana Agent Kit by Send AI. + +## Quick Deploy +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsendaifun%2Fsolana-agent-kit%2Ftree%2Fmain%2Fexamples%2Ftg-bot-starter&env=OPENAI_API_KEY,RPC_URL,SOLANA_PRIVATE_KEY,TELEGRAM_BOT_TOKEN&project-name=solana-agent-kit&repository-name=sak-yourprojectname) + +## How to get the telegram bot token + +You can check [here](https://help.zoho.com/portal/en/kb/desk/support-channels/instant-messaging/telegram/articles/telegram-integration-with-zoho-desk#How_to_find_a_token_for_an_existing_Telegram_Bot) how you can obtain a bot token for your telegram bot. + +## How to setup the project + +- Set env variables +- Run ``` pnpm install ``` +- Run ``` pnpm run dev ``` +- Run ``` ngrok http 3000 ``` +- With the URL you got from ngrok, where your bot is hosted at https://yourUrl.app/api/bot +- Set the webhook by using this command ``` curl https://api.telegram.org/bot/setWebhook?url=https://.app/api/bot ``` or simply clicking on that link. +- You can host it on Vercel too as we have used NextJs in this. +- Once the URL is set successfully, you will see this ``` {"ok":true,"result":true,"description":"Webhook was set"} ``` + +Done!!! Congratulations you just hosted Solana Agent Kit on a Telegram bot. + diff --git a/examples/tg-bot-starter/basic-tg-bot/next.config.ts b/examples/tg-bot-starter/basic-tg-bot/next.config.ts new file mode 100644 index 0000000..e9ffa30 --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/next.config.ts @@ -0,0 +1,7 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ +}; + +export default nextConfig; diff --git a/examples/tg-bot-starter/package.json b/examples/tg-bot-starter/basic-tg-bot/package.json similarity index 100% rename from examples/tg-bot-starter/package.json rename to examples/tg-bot-starter/basic-tg-bot/package.json diff --git a/examples/tg-bot-starter/pnpm-lock.yaml b/examples/tg-bot-starter/basic-tg-bot/pnpm-lock.yaml similarity index 100% rename from examples/tg-bot-starter/pnpm-lock.yaml rename to examples/tg-bot-starter/basic-tg-bot/pnpm-lock.yaml diff --git a/examples/tg-bot-starter/basic-tg-bot/postcss.config.mjs b/examples/tg-bot-starter/basic-tg-bot/postcss.config.mjs new file mode 100644 index 0000000..1a69fd2 --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/postcss.config.mjs @@ -0,0 +1,8 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + }, +}; + +export default config; diff --git a/examples/tg-bot-starter/basic-tg-bot/public/file.svg b/examples/tg-bot-starter/basic-tg-bot/public/file.svg new file mode 100644 index 0000000..004145c --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/public/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tg-bot-starter/basic-tg-bot/public/globe.svg b/examples/tg-bot-starter/basic-tg-bot/public/globe.svg new file mode 100644 index 0000000..567f17b --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/public/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tg-bot-starter/basic-tg-bot/public/next.svg b/examples/tg-bot-starter/basic-tg-bot/public/next.svg new file mode 100644 index 0000000..5174b28 --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tg-bot-starter/basic-tg-bot/public/vercel.svg b/examples/tg-bot-starter/basic-tg-bot/public/vercel.svg new file mode 100644 index 0000000..7705396 --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tg-bot-starter/basic-tg-bot/public/window.svg b/examples/tg-bot-starter/basic-tg-bot/public/window.svg new file mode 100644 index 0000000..b2b2a44 --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/public/window.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tg-bot-starter/src/app/api/bot/route.ts b/examples/tg-bot-starter/basic-tg-bot/src/app/api/bot/route.ts similarity index 98% rename from examples/tg-bot-starter/src/app/api/bot/route.ts rename to examples/tg-bot-starter/basic-tg-bot/src/app/api/bot/route.ts index 2dcdf97..848271e 100644 --- a/examples/tg-bot-starter/src/app/api/bot/route.ts +++ b/examples/tg-bot-starter/basic-tg-bot/src/app/api/bot/route.ts @@ -1,6 +1,6 @@ export const dynamic = "force-dynamic"; export const fetchCache = "force-no-store"; -export const maxDuration = 300; +export const maxDuration = 60; // can use 300 with vercel premium import { Bot, webhookCallback } from "grammy"; import { SolanaAgentKit, createSolanaTools } from "solana-agent-kit"; diff --git a/examples/tg-bot-starter/basic-tg-bot/src/app/favicon.ico b/examples/tg-bot-starter/basic-tg-bot/src/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/examples/tg-bot-starter/basic-tg-bot/src/app/globals.css b/examples/tg-bot-starter/basic-tg-bot/src/app/globals.css new file mode 100644 index 0000000..6b717ad --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/src/app/globals.css @@ -0,0 +1,21 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --background: #ffffff; + --foreground: #171717; +} + +@media (prefers-color-scheme: dark) { + :root { + --background: #0a0a0a; + --foreground: #ededed; + } +} + +body { + color: var(--foreground); + background: var(--background); + font-family: Arial, Helvetica, sans-serif; +} diff --git a/examples/tg-bot-starter/basic-tg-bot/src/app/layout.tsx b/examples/tg-bot-starter/basic-tg-bot/src/app/layout.tsx new file mode 100644 index 0000000..f7fa87e --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/src/app/layout.tsx @@ -0,0 +1,34 @@ +import type { Metadata } from "next"; +import { Geist, Geist_Mono } from "next/font/google"; +import "./globals.css"; + +const geistSans = Geist({ + variable: "--font-geist-sans", + subsets: ["latin"], +}); + +const geistMono = Geist_Mono({ + variable: "--font-geist-mono", + subsets: ["latin"], +}); + +export const metadata: Metadata = { + title: "Create Next App", + description: "Generated by create next app", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + {children} + + + ); +} diff --git a/examples/tg-bot-starter/basic-tg-bot/src/app/page.tsx b/examples/tg-bot-starter/basic-tg-bot/src/app/page.tsx new file mode 100644 index 0000000..3eee014 --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/src/app/page.tsx @@ -0,0 +1,101 @@ +import Image from "next/image"; + +export default function Home() { + return ( +
    +
    + Next.js logo +
      +
    1. + Get started by editing{" "} + + src/app/page.tsx + + . +
    2. +
    3. Save and see your changes instantly.
    4. +
    + + +
    + +
    + ); +} diff --git a/examples/tg-bot-starter/basic-tg-bot/tailwind.config.ts b/examples/tg-bot-starter/basic-tg-bot/tailwind.config.ts new file mode 100644 index 0000000..109807b --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/tailwind.config.ts @@ -0,0 +1,18 @@ +import type { Config } from "tailwindcss"; + +export default { + content: [ + "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", + "./src/components/**/*.{js,ts,jsx,tsx,mdx}", + "./src/app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + colors: { + background: "var(--background)", + foreground: "var(--foreground)", + }, + }, + }, + plugins: [], +} satisfies Config; diff --git a/examples/tg-bot-starter/basic-tg-bot/tsconfig.json b/examples/tg-bot-starter/basic-tg-bot/tsconfig.json new file mode 100644 index 0000000..c133409 --- /dev/null +++ b/examples/tg-bot-starter/basic-tg-bot/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/examples/tg-bot-starter/group-tg-bot/.env.example b/examples/tg-bot-starter/group-tg-bot/.env.example new file mode 100644 index 0000000..e8b34da --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/.env.example @@ -0,0 +1,10 @@ +OPENAI_API_KEY= +RPC_URL= +TELEGRAM_BOT_TOKEN= +NEXT_PUBLIC_FIREBASE_API_KEY= +NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN= +NEXT_PUBLIC_FIREBASE_PROJECT_ID= +NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET= +NEXT_PUBLIC_FIREBASE_APP_ID= +NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID= +POSTGRES_LINK= \ No newline at end of file diff --git a/examples/tg-bot-starter/group-tg-bot/.gitignore b/examples/tg-bot-starter/group-tg-bot/.gitignore new file mode 100644 index 0000000..e72b4d6 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/examples/tg-bot-starter/group-tg-bot/README.md b/examples/tg-bot-starter/group-tg-bot/README.md new file mode 100644 index 0000000..e43b266 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/README.md @@ -0,0 +1,30 @@ +# Telegram Bot Starter with Solana Agent Kit + +This example demonstrates how to create a Telegram bot using the Solana Agent Kit by Send AI. It includes advanced features such as: + +- Storing chat history for each user in a PostgreSQL database. +- Maintaining a unique wallet for each user in a Firebase database. +- Managing the state of multiple users simultaneously, each with their own unique wallet. + +This special bot can be run on Telegram groups and handle private conversations, such as wallet addresses, in private chats. It works in groups, maintains a separate context for each user, responds to each user by tagging them, and can handle multiple requests simultaneously. It will only reply if the bot is tagged in group or its message is replied to. + +## Quick Deploy +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsendaifun%2Fsolana-agent-kit%2Ftree%2Fmain%2Fexamples%2Ftg-bot-starter&env=OPENAI_API_KEY,RPC_URL,SOLANA_PRIVATE_KEY,TELEGRAM_BOT_TOKEN&project-name=solana-agent-kit&repository-name=sak-yourprojectname) + +## How to get the telegram bot token + +You can check [here](https://help.zoho.com/portal/en/kb/desk/support-channels/instant-messaging/telegram/articles/telegram-integration-with-zoho-desk#How_to_find_a_token_for_an_existing_Telegram_Bot) how you can obtain a bot token for your telegram bot. + +## How to setup the project + +- Set env variables +- Run ``` pnpm install ``` +- Run ``` pnpm run dev ``` +- Run ``` ngrok http 3000 ``` +- With the URL you got from ngrok, where your bot is hosted at https://yourUrl.app/api/bot +- Set the webhook by using this command ``` curl https://api.telegram.org/bot/setWebhook?url=https://.app/api/bot ``` or simply clicking on that link. +- You can host it on Vercel too as we have used NextJs in this. +- Once the URL is set successfully, you will see this ``` {"ok":true,"result":true,"description":"Webhook was set"} ``` + +Done!!! Congratulations you just hosted Solana Agent Kit on a Telegram bot. + diff --git a/examples/tg-bot-starter/group-tg-bot/next.config.ts b/examples/tg-bot-starter/group-tg-bot/next.config.ts new file mode 100644 index 0000000..e9ffa30 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/next.config.ts @@ -0,0 +1,7 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ +}; + +export default nextConfig; diff --git a/examples/tg-bot-starter/group-tg-bot/package.json b/examples/tg-bot-starter/group-tg-bot/package.json new file mode 100644 index 0000000..4954931 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/package.json @@ -0,0 +1,33 @@ +{ + "name": "tg-bot-starter", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@langchain/core": "^0.3.26", + "@langchain/langgraph": "^0.2.36", + "@langchain/langgraph-checkpoint-postgres": "^0.0.2", + "@langchain/openai": "^0.3.16", + "firebase": "^11.1.0", + "grammy": "^1.33.0", + "messages": "link:@langchain/core/messages", + "next": "15.1.3", + "prebuilt": "link:@langchain/langgraph/prebuilt", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "solana-agent-kit": "^1.3.0" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } +} diff --git a/examples/tg-bot-starter/group-tg-bot/pnpm-lock.yaml b/examples/tg-bot-starter/group-tg-bot/pnpm-lock.yaml new file mode 100644 index 0000000..38c3b29 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/pnpm-lock.yaml @@ -0,0 +1,5178 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@langchain/core': + specifier: ^0.3.26 + version: 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/langgraph': + specifier: ^0.2.36 + version: 0.2.36(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/langgraph-checkpoint-postgres': + specifier: ^0.0.2 + version: 0.0.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))) + '@langchain/openai': + specifier: ^0.3.16 + version: 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + firebase: + specifier: ^11.1.0 + version: 11.1.0 + grammy: + specifier: ^1.33.0 + version: 1.33.0 + messages: + specifier: link:@langchain/core/messages + version: link:@langchain/core/messages + next: + specifier: 15.1.3 + version: 15.1.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + prebuilt: + specifier: link:@langchain/langgraph/prebuilt + version: link:@langchain/langgraph/prebuilt + react: + specifier: ^19.0.0 + version: 19.0.0 + react-dom: + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) + solana-agent-kit: + specifier: ^1.3.0 + version: 1.3.0(@noble/hashes@1.6.1)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + devDependencies: + '@types/node': + specifier: ^20 + version: 20.17.10 + '@types/react': + specifier: ^19 + version: 19.0.2 + '@types/react-dom': + specifier: ^19 + version: 19.0.2(@types/react@19.0.2) + postcss: + specifier: ^8 + version: 8.4.49 + tailwindcss: + specifier: ^3.4.1 + version: 3.4.17 + typescript: + specifier: ^5 + version: 5.7.2 + +packages: + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + + '@bonfida/sns-records@0.0.1': + resolution: {integrity: sha512-i28w9+BMFufhhpmLQCNx1CKKXTsEn+5RT18VFpPqdGO3sqaYlnUWC1m3wDpOvlzGk498dljgRpRo5wmcsnuEMg==} + peerDependencies: + '@solana/web3.js': ^1.87.3 + + '@bonfida/spl-name-service@3.0.7': + resolution: {integrity: sha512-okOLXhy+fQoyQ/sZgMleO5RrIZfTkWEoHMxWgUqg6RP/MTBlrKxlhKC6ymKn4UUe0C5s3Nb8A+3Ams7vX0nMDg==} + peerDependencies: + '@solana/web3.js': ^1.87.3 + + '@cfworker/json-schema@4.0.3': + resolution: {integrity: sha512-ZykIcDTVv5UNmKWSTLAs3VukO6NDJkkSKxrgUTDPBkAlORVT3H9n5DbRjRl8xIotklscHdbLIa0b9+y3mQq73g==} + + '@coral-xyz/anchor@0.29.0': + resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} + engines: {node: '>=11'} + + '@coral-xyz/borsh@0.29.0': + resolution: {integrity: sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + + '@emnapi/runtime@1.3.1': + resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + + '@ethersproject/bytes@5.7.0': + resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + + '@ethersproject/logger@5.7.0': + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + + '@ethersproject/sha2@5.7.0': + resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + + '@firebase/analytics-compat@0.2.16': + resolution: {integrity: sha512-Q/s+u/TEMSb2EDJFQMGsOzpSosybBl8HuoSEMyGZ99+0Pu7SIR9MPDGUjc8PKiCFQWDJ3QXxgqh1d/rujyAMbA==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/analytics-types@0.8.3': + resolution: {integrity: sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==} + + '@firebase/analytics@0.10.10': + resolution: {integrity: sha512-Psdo7c9g2SLAYh6u1XRA+RZ7ab2JfBVuAt/kLzXkhKZL/gS2cQUCMsOW5p0RIlDPRKqpdNSmvujd2TeRWLKOkQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-check-compat@0.3.17': + resolution: {integrity: sha512-a/eadrGsY0MVCBPhrNbKUhoYpms4UKTYLKO7nswwSFVsm3Rw6NslQQCNLfvljcDqP4E7alQDRGJXjkxd/5gJ+Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/app-check-interop-types@0.3.3': + resolution: {integrity: sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==} + + '@firebase/app-check-types@0.5.3': + resolution: {integrity: sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==} + + '@firebase/app-check@0.8.10': + resolution: {integrity: sha512-DWFfxxif/t+Ow4MmRUevDX+A3hVxm1rUf6y5ZP4sIomfnVCO1NNahqtsv9rb1/tKGkTeoVT40weiTS/WjQG1mA==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-compat@0.2.47': + resolution: {integrity: sha512-TdEWGDp6kSwuO1mxiM2Fe39eLWygfyzqTZcoU3aPV0viqqphPCbBBnVjPbFJErZ4+yaS7uCWXEbFEP9m5/COKA==} + engines: {node: '>=18.0.0'} + + '@firebase/app-types@0.9.3': + resolution: {integrity: sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==} + + '@firebase/app@0.10.17': + resolution: {integrity: sha512-53sIYyAnYEPIZdaxuyq5OST7j4KBc2pqmktz+tEb1BIUSbXh8Gp4k/o6qzLelLpm4ngrBz7SRN0PZJqNRAyPog==} + engines: {node: '>=18.0.0'} + + '@firebase/auth-compat@0.5.16': + resolution: {integrity: sha512-YlYwJMBqAyv0ESy3jDUyshMhZlbUiwAm6B6+uUmigNDHU+uq7j4SFiDJEZlFFIz397yBzKn06SUdqutdQzGnCA==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/auth-interop-types@0.2.4': + resolution: {integrity: sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==} + + '@firebase/auth-types@0.12.3': + resolution: {integrity: sha512-Zq9zI0o5hqXDtKg6yDkSnvMCMuLU6qAVS51PANQx+ZZX5xnzyNLEBO3GZgBUPsV5qIMFhjhqmLDxUqCbnAYy2A==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/auth@1.8.1': + resolution: {integrity: sha512-LX9N/Cf5Z35r5yqm2+5M3+2bRRe/+RFaa/+u4HDni7TA27C/Xm4XHLKcWcLg1BzjrS4zngSaBEOSODvp6RFOqQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@react-native-async-storage/async-storage': ^1.18.1 + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + + '@firebase/component@0.6.11': + resolution: {integrity: sha512-eQbeCgPukLgsKD0Kw5wQgsMDX5LeoI1MIrziNDjmc6XDq5ZQnuUymANQgAb2wp1tSF9zDSXyxJmIUXaKgN58Ug==} + engines: {node: '>=18.0.0'} + + '@firebase/data-connect@0.1.3': + resolution: {integrity: sha512-FbAQpWNHownJx1VTCQI4ydbWGOZmSWXoFlirQn3ItHqsLJYSywqxSgDafzvyooifFh3J/2WqaM8y9hInnPcsTw==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/database-compat@2.0.1': + resolution: {integrity: sha512-IsFivOjdE1GrjTeKoBU/ZMenESKDXidFDzZzHBPQ/4P20ptGdrl3oLlWrV/QJqJ9lND4IidE3z4Xr5JyfUW1vg==} + engines: {node: '>=18.0.0'} + + '@firebase/database-types@1.0.7': + resolution: {integrity: sha512-I7zcLfJXrM0WM+ksFmFdAMdlq/DFmpeMNa+/GNsLyFo5u/lX5zzkPzGe3srVWqaBQBY5KprylDGxOsP6ETfL0A==} + + '@firebase/database@1.0.10': + resolution: {integrity: sha512-sWp2g92u7xT4BojGbTXZ80iaSIaL6GAL0pwvM0CO/hb0nHSnABAqsH7AhnWGsGvXuEvbPr7blZylPaR9J+GSuQ==} + engines: {node: '>=18.0.0'} + + '@firebase/firestore-compat@0.3.40': + resolution: {integrity: sha512-18HopMN811KYBc9Ptpr1Rewwio0XF09FF3jc5wtV6rGyAs815SlFFw5vW7ZeLd43zv9tlEc2FzM0H+5Vr9ZRxw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/firestore-types@3.0.3': + resolution: {integrity: sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/firestore@4.7.5': + resolution: {integrity: sha512-OO3rHvjC07jL2ITN255xH/UzCVSvh6xG8oTzQdFScQvFbcm1fjCL1hgAdpDZcx3vVcKMV+6ktr8wbllkB8r+FQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/functions-compat@0.3.17': + resolution: {integrity: sha512-oj2XV8YsJYutyPCRYUfbN6swmfrL6zar0/qtqZsKT7P7btOiYRl+lD6fxtQaT+pKE5YgOBGZW//kLPZfY0jWhw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/functions-types@0.6.3': + resolution: {integrity: sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==} + + '@firebase/functions@0.12.0': + resolution: {integrity: sha512-plTtzY/nT0jOgHzT0vB9qch4FpHFOhCnR8HhYBqqdArG6GOQMIruKZbiTyLybO8bcaaNgQ6kSm9yohGUwxHcIw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/installations-compat@0.2.11': + resolution: {integrity: sha512-SHRgw5LTa6v8LubmJZxcOCwEd1MfWQPUtKdiuCx2VMWnapX54skZd1PkQg0K4l3k+4ujbI2cn7FE6Li9hbChBw==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/installations-types@0.5.3': + resolution: {integrity: sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==} + peerDependencies: + '@firebase/app-types': 0.x + + '@firebase/installations@0.6.11': + resolution: {integrity: sha512-w8fY8mw6fxJzsZM2ufmTtomopXl1+bn/syYon+Gpn+0p0nO1cIUEVEFrFazTLaaL9q1CaVhc3HmseRTsI3igAA==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/logger@0.4.4': + resolution: {integrity: sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g==} + engines: {node: '>=18.0.0'} + + '@firebase/messaging-compat@0.2.15': + resolution: {integrity: sha512-mEKKASRvRWq1aBNHgioGsOYR2c5nBZpO7k90K794zjKe0WkGNf0k7PLs5SlCf8FKnzumEkhTAp/SjYxovuxa8A==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/messaging-interop-types@0.2.3': + resolution: {integrity: sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==} + + '@firebase/messaging@0.12.15': + resolution: {integrity: sha512-Bz+qvWNEwEWAbYtG4An8hgcNco6NWNoNLuLbGVwPL2fAoCF1zz+dcaBp+iTR2+K199JyRyDT9yDPAXhNHNDaKQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/performance-compat@0.2.11': + resolution: {integrity: sha512-DqeNBy51W2xzlklyC7Ht9JQ94HhTA08PCcM4MDeyG/ol3fqum/+YgtHWQ2IQuduqH9afETthZqLwCZiSgY7hiA==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/performance-types@0.2.3': + resolution: {integrity: sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==} + + '@firebase/performance@0.6.11': + resolution: {integrity: sha512-FlkJFeqLlIeh5T4Am3uE38HVzggliDIEFy/fErEc1faINOUFCb6vQBEoNZGaXvRnTR8lh3X/hP7tv37C7BsK9g==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/remote-config-compat@0.2.11': + resolution: {integrity: sha512-zfIjpwPrGuIOZDmduukN086qjhZ1LnbJi/iYzgua+2qeTlO0XdlE1v66gJPwygGB3TOhT0yb9EiUZ3nBNttMqg==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/remote-config-types@0.3.3': + resolution: {integrity: sha512-YlRI9CHxrk3lpQuFup9N1eohpwdWayKZUNZ/YeQ0PZoncJ66P32UsKUKqVXOaieTjJIOh7yH8JEzRdht5s+d6g==} + + '@firebase/remote-config@0.4.11': + resolution: {integrity: sha512-9z0rgKuws2nj+7cdiqF+NY1QR4na6KnuOvP+jQvgilDOhGtKOcCMq5XHiu66i73A9kFhyU6QQ2pHXxcmaq1pBw==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/storage-compat@0.3.14': + resolution: {integrity: sha512-Ok5FmXJiapaNAOQ8W8qppnfwgP8540jw2B8M0c4TFZqF4BD+CoKBxW0dRtOuLNGadLhzqqkDZZZtkexxrveQqA==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/storage-types@0.8.3': + resolution: {integrity: sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/storage@0.13.4': + resolution: {integrity: sha512-b1KaTTRiMupFurIhpGIbReaWev0k5O3ouTHkAPcEssT+FvU3q/1JwzvkX4+ZdB60Fc43Mbp8qQ1gWfT0Z2FP9Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/util@1.10.2': + resolution: {integrity: sha512-qnSHIoE9FK+HYnNhTI8q14evyqbc/vHRivfB4TgCIUOl4tosmKSQlp7ltymOlMP4xVIJTg5wrkfcZ60X4nUf7Q==} + engines: {node: '>=18.0.0'} + + '@firebase/vertexai@1.0.2': + resolution: {integrity: sha512-4dC9m2nD0tkfKJT5v+i27tELrmUePjFXW3CDAxhVHUEv647B2R7kqpGQnyPkNEeaXkCr76THe7GGg35EWn4lDw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@firebase/app-types': 0.x + + '@firebase/webchannel-wrapper@1.0.3': + resolution: {integrity: sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==} + + '@grammyjs/types@3.17.0': + resolution: {integrity: sha512-e8AR3xQwRAFX248E7Qw/7mIu1OzvoXloJzOBJVtuPKzzL7tGkn5trZAdZUBgGViVQg5ZwVS/x9N2nRrcyH/DfA==} + + '@grpc/grpc-js@1.9.15': + resolution: {integrity: sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==} + engines: {node: ^8.13.0 || >=10.10.0} + + '@grpc/proto-loader@0.7.13': + resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==} + engines: {node: '>=6'} + hasBin: true + + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@langchain/core@0.3.26': + resolution: {integrity: sha512-6RUQHEp8wv+JwtYIIEBYBzbLlcAQZFc7EDOgAM0ukExjh9HiXoJzoWpgMRRCrr/koIbtwXPJUqBprZK1I1CXHQ==} + engines: {node: '>=18'} + + '@langchain/groq@0.1.2': + resolution: {integrity: sha512-bgQ9yGoNHOwG6LG2ngGvSNxF/1U1c1u3vKmFWmzecFIcBoQQOJY0jb0MrL3g1uTife0Sr3zxkWKXQg2aK/U4Sg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + + '@langchain/langgraph-checkpoint-postgres@0.0.2': + resolution: {integrity: sha512-st4qH1DZkYU6WGymG+TP2DEgxy8HH2EMq5Re51Z1sj11Ac4Q0VGJNlHjvGXR/QJjfmWpgBztvLYaMnUlNAybkg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.31 <0.4.0' + '@langchain/langgraph-checkpoint': ~0.0.6 + + '@langchain/langgraph-checkpoint@0.0.13': + resolution: {integrity: sha512-amdmBcNT8a9xP2VwcEWxqArng4gtRDcnVyVI4DsQIo1Aaz8e8+hH17zSwrUF3pt1pIYztngIfYnBOim31mtKMg==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.31 <0.4.0' + + '@langchain/langgraph-sdk@0.0.32': + resolution: {integrity: sha512-KQyM9kLO7T6AxwNrceajH7JOybP3pYpvUPnhiI2rrVndI1WyZUJ1eVC1e722BVRAPi6o+WcoTT4uMSZVinPOtA==} + + '@langchain/langgraph@0.2.36': + resolution: {integrity: sha512-zxk7ZCVxP0/Ut9785EiXCS7BE7sXd8cu943mcZUF2aNFUaQRTBbbiKpNdR3nb1+xO/B+HVktrJT2VFdkAywnng==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.36 <0.3.0 || >=0.3.9 < 0.4.0' + + '@langchain/openai@0.3.16': + resolution: {integrity: sha512-Om9HRlTeI0Ou6D4pfxbWHop4WGfkCdV/7v1W/+Jr7NSf0BNoA9jk5GqGms8ZtOYSGgPvizDu3i0TrM3B4cN4NA==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.26 <0.4.0' + + '@langchain/textsplitters@0.1.0': + resolution: {integrity: sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + + '@lightprotocol/compressed-token@0.17.1': + resolution: {integrity: sha512-493KCmZGw1BcHVRJaeRm8EEs+L7gX8dwY7JG13w2pfgOMtZXZ7Wxt261jFJxQJzRLTrUSlrbRJOmfW1+S1Y8SQ==} + peerDependencies: + '@lightprotocol/stateless.js': 0.17.1 + + '@lightprotocol/stateless.js@0.17.1': + resolution: {integrity: sha512-EjId1n33A6dBwpce33Wsa/fs/CDKtMtRrkxbApH0alXrnEXmbW6QhIViXOrKYXjZ4uJQM1xsBtsKe0vqJ4nbtQ==} + + '@metaplex-foundation/beet-solana@0.4.1': + resolution: {integrity: sha512-/6o32FNUtwK8tjhotrvU/vorP7umBuRFvBZrC6XCk51aKidBHe5LPVPA5AjGPbV3oftMfRuXPNd9yAGeEqeCDQ==} + + '@metaplex-foundation/beet@0.7.2': + resolution: {integrity: sha512-K+g3WhyFxKPc0xIvcIjNyV1eaTVJTiuaHZpig7Xx0MuYRMoJLLvhLTnUXhFdR5Tu2l2QSyKwfyXDgZlzhULqFg==} + + '@metaplex-foundation/mpl-core@1.1.1': + resolution: {integrity: sha512-h1kLw+cGaV8SiykoHDb1/G01+VYqtJXAt0uGuO5+2Towsdtc6ET4M62iqUnh4EacTVMIW1yYHsKsG/LYWBCKaA==} + peerDependencies: + '@metaplex-foundation/umi': '>=0.8.2 < 1' + '@noble/hashes': ^1.3.1 + + '@metaplex-foundation/mpl-token-metadata@3.3.0': + resolution: {integrity: sha512-t5vO8Wr3ZZZPGrVrGNcosX5FMkwQSgBiVMQMRNDG2De7voYFJmIibD5jdG05EoQ4Y5kZVEiwhYaO+wJB3aO5AA==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/mpl-toolbox@0.9.4': + resolution: {integrity: sha512-fd6JxfoLbj/MM8FG2x91KYVy1U6AjBQw4qjt7+Da3trzQaWnSaYHDcYRG/53xqfvZ9qofY1T2t53GXPlD87lnQ==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/umi-bundle-defaults@0.9.2': + resolution: {integrity: sha512-kV3tfvgvRjVP1p9OFOtH+ibOtN9omVJSwKr0We4/9r45e5LTj+32su0V/rixZUkG1EZzzOYBsxhtIE0kIw/Hrw==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-downloader-http@0.9.2': + resolution: {integrity: sha512-tzPT9hBwenzTzAQg07rmsrqZfgguAXELbcJrsYMoASp5VqWFXYIP00g94KET6XLjWUXH4P1J2zoa6hGennPXHA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-eddsa-web3js@0.9.2': + resolution: {integrity: sha512-hhPCxXbYIp4BC4z9gK78sXpWLkNSrfv4ndhF5ruAkdIp7GcRVYKj0QnOUO6lGYGiIkNlw20yoTwOe1CT//OfTQ==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-http-fetch@0.9.2': + resolution: {integrity: sha512-YCZuBu24T9ZzEDe4+w12LEZm/fO9pkyViZufGgASC5NX93814Lvf6Ssjn/hZzjfA7CvZbvLFbmujc6CV3Q/m9Q==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-options@0.8.9': + resolution: {integrity: sha512-jSQ61sZMPSAk/TXn8v8fPqtz3x8d0/blVZXLLbpVbo2/T5XobiI6/MfmlUosAjAUaQl6bHRF8aIIqZEFkJiy4A==} + + '@metaplex-foundation/umi-program-repository@0.9.2': + resolution: {integrity: sha512-g3+FPqXEmYsBa8eETtUE2gb2Oe3mqac0z3/Ur1TvAg5TtIy3mzRzOy/nza+sgzejnfcxcVg835rmpBaxpBnjDA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-public-keys@0.8.9': + resolution: {integrity: sha512-CxMzN7dgVGOq9OcNCJe2casKUpJ3RmTVoOvDFyeoTQuK+vkZ1YSSahbqC1iGuHEtKTLSjtWjKvUU6O7zWFTw3Q==} + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2': + resolution: {integrity: sha512-YRwVf6xH0jPBAUgMhEPi+UbjioAeqTXmjsN2TnmQCPAmHbrHrMRj0rlWYwFLWAgkmoxazYrXP9lqOFRrfOGAEA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-rpc-web3js@0.9.2': + resolution: {integrity: sha512-MqcsBz8B4wGl6jxsf2Jo/rAEpYReU9VCSR15QSjhvADHMmdFxCIZCCAgE+gDE2Vuanfl437VhOcP3g5Uw8C16Q==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-serializer-data-view@0.9.2': + resolution: {integrity: sha512-5vGptadJxUxvUcyrwFZxXlEc6Q7AYySBesizCtrBFUY8w8PnF2vzmS45CP1MLySEATNH6T9mD4Rs0tLb87iQyA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-serializers-core@0.8.9': + resolution: {integrity: sha512-WT82tkiYJ0Qmscp7uTj1Hz6aWQPETwaKLAENAUN5DeWghkuBKtuxyBKVvEOuoXerJSdhiAk0e8DWA4cxcTTQ/w==} + + '@metaplex-foundation/umi-serializers-encodings@0.8.9': + resolution: {integrity: sha512-N3VWLDTJ0bzzMKcJDL08U3FaqRmwlN79FyE4BHj6bbAaJ9LEHjDQ9RJijZyWqTm0jE7I750fU7Ow5EZL38Xi6Q==} + + '@metaplex-foundation/umi-serializers-numbers@0.8.9': + resolution: {integrity: sha512-NtBf1fnVNQJHFQjLFzRu2i9GGnigb9hOm/Gfrk628d0q0tRJB7BOM3bs5C61VAs7kJs4yd+pDNVAERJkknQ7Lg==} + + '@metaplex-foundation/umi-serializers@0.9.0': + resolution: {integrity: sha512-hAOW9Djl4w4ioKeR4erDZl5IG4iJdP0xA19ZomdaCbMhYAAmG/FEs5khh0uT2mq53/MnzWcXSUPoO8WBN4Q+Vg==} + + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2': + resolution: {integrity: sha512-fR1Kf21uylMFd1Smkltmj4jTNxhqSWf416owsJ+T+cvJi2VCOcOwq/3UFzOrpz78fA0RhsajKYKj0HYsRnQI1g==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-web3js-adapters@0.9.2': + resolution: {integrity: sha512-RQqUTtHYY9fmEMnq7s3Hiv/81flGaoI0ZVVoafnFVaQLnxU6QBKxtboRZHk43XtD9CiFh5f9izrMJX7iK7KlOA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi@0.9.2': + resolution: {integrity: sha512-9i4Acm4pruQfJcpRrc2EauPBwkfDN0I9QTvJyZocIlKgoZwD6A6wH0PViH1AjOVG5CQCd1YI3tJd5XjYE1ElBw==} + + '@msgpack/msgpack@3.0.0-beta2': + resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} + engines: {node: '>= 14'} + + '@next/env@15.1.3': + resolution: {integrity: sha512-Q1tXwQCGWyA3ehMph3VO+E6xFPHDKdHFYosadt0F78EObYxPio0S09H9UGYznDe6Wc8eLKLG89GqcFJJDiK5xw==} + + '@next/swc-darwin-arm64@15.1.3': + resolution: {integrity: sha512-aZtmIh8jU89DZahXQt1La0f2EMPt/i7W+rG1sLtYJERsP7GRnNFghsciFpQcKHcGh4dUiyTB5C1X3Dde/Gw8gg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@15.1.3': + resolution: {integrity: sha512-aw8901rjkVBK5mbq5oV32IqkJg+CQa6aULNlN8zyCWSsePzEG3kpDkAFkkTOh3eJ0p95KbkLyWBzslQKamXsLA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@15.1.3': + resolution: {integrity: sha512-YbdaYjyHa4fPK4GR4k2XgXV0p8vbU1SZh7vv6El4bl9N+ZSiMfbmqCuCuNU1Z4ebJMumafaz6UCC2zaJCsdzjw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-arm64-musl@15.1.3': + resolution: {integrity: sha512-qgH/aRj2xcr4BouwKG3XdqNu33SDadqbkqB6KaZZkozar857upxKakbRllpqZgWl/NDeSCBYPmUAZPBHZpbA0w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-x64-gnu@15.1.3': + resolution: {integrity: sha512-uzafnTFwZCPN499fNVnS2xFME8WLC9y7PLRs/yqz5lz1X/ySoxfaK2Hbz74zYUdEg+iDZPd8KlsWaw9HKkLEVw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-linux-x64-musl@15.1.3': + resolution: {integrity: sha512-el6GUFi4SiDYnMTTlJJFMU+GHvw0UIFnffP1qhurrN1qJV3BqaSRUjkDUgVV44T6zpw1Lc6u+yn0puDKHs+Sbw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-win32-arm64-msvc@15.1.3': + resolution: {integrity: sha512-6RxKjvnvVMM89giYGI1qye9ODsBQpHSHVo8vqA8xGhmRPZHDQUE4jcDbhBwK0GnFMqBnu+XMg3nYukNkmLOLWw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-x64-msvc@15.1.3': + resolution: {integrity: sha512-VId/f5blObG7IodwC5Grf+aYP0O8Saz1/aeU3YcWqNdIUAmFQY3VEPKPaIzfv32F/clvanOb2K2BR5DtDs6XyQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@noble/curves@1.7.0': + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.6.0': + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.6.1': + resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} + engines: {node: ^14.21.3 || >=16} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@onsol/tldparser@0.6.7': + resolution: {integrity: sha512-QwkRDLyC514pxeplCCXZ2kTiRcJSeUrpp+9o2XqLbePy/qzZGGG8I0UbXUKuWVD/bUL1zAm21+D+Eu30OKwcQg==} + engines: {node: '>=14'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + bn.js: ^5.2.1 + borsh: ^0.7.0 + buffer: 6.0.1 + + '@orca-so/common-sdk@0.6.4': + resolution: {integrity: sha512-iOiC6exTA9t2CEOaUPoWlNP3soN/1yZFjoz1mSf7NvOqo/PJZeIdWpB7BRXwU0mGGatjxU4SFgMGQ8NrSx+ONw==} + peerDependencies: + '@solana/spl-token': ^0.4.1 + '@solana/web3.js': ^1.90.0 + decimal.js: ^10.4.3 + + '@orca-so/whirlpools-sdk@0.13.12': + resolution: {integrity: sha512-+LOqGTe0DYUsYwemltOU4WQIviqoICQlIcAmmEX/WnBh6wntpcLDcXkPV6dBHW7NA2/J8WEVAZ50biLJb4subg==} + peerDependencies: + '@coral-xyz/anchor': ~0.29.0 + '@orca-so/common-sdk': 0.6.4 + '@solana/spl-token': ^0.4.8 + '@solana/web3.js': ^1.90.0 + decimal.js: ^10.4.3 + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + + '@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==} + + '@scure/base@1.2.1': + resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} + + '@shikijs/core@1.24.4': + resolution: {integrity: sha512-jjLsld+xEEGYlxAXDyGwWsKJ1sw5Pc1pnp4ai2ORpjx2UX08YYTC0NNqQYO1PaghYaR+PvgMOGuvzw2he9sk0Q==} + + '@shikijs/engine-javascript@1.24.4': + resolution: {integrity: sha512-TClaQOLvo9WEMJv6GoUsykQ6QdynuKszuORFWCke8qvi6PeLm7FcD9+7y45UenysxEWYpDL5KJaVXTngTE+2BA==} + + '@shikijs/engine-oniguruma@1.24.4': + resolution: {integrity: sha512-Do2ry6flp2HWdvpj2XOwwa0ljZBRy15HKZITzPcNIBOGSeprnA8gOooA/bLsSPuy8aJBa+Q/r34dMmC3KNL/zw==} + + '@shikijs/types@1.24.4': + resolution: {integrity: sha512-0r0XU7Eaow0PuDxuWC1bVqmWCgm3XqizIaT7SM42K03vc69LGooT0U8ccSR44xP/hGlNx4FKhtYpV+BU6aaKAA==} + + '@shikijs/vscode-textmate@9.3.1': + resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} + + '@solana/buffer-layout-utils@0.2.0': + resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} + engines: {node: '>= 10'} + + '@solana/buffer-layout@4.0.1': + resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} + engines: {node: '>=5.10'} + + '@solana/codecs-core@2.0.0-preview.2': + resolution: {integrity: sha512-gLhCJXieSCrAU7acUJjbXl+IbGnqovvxQLlimztPoGgfLQ1wFYu+XJswrEVQqknZYK1pgxpxH3rZ+OKFs0ndQg==} + + '@solana/codecs-core@2.0.0-preview.4': + resolution: {integrity: sha512-A0VVuDDA5kNKZUinOqHxJQK32aKTucaVbvn31YenGzHX1gPqq+SOnFwgaEY6pq4XEopSmaK16w938ZQS8IvCnw==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-core@2.0.0-rc.1': + resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-data-structures@2.0.0-preview.2': + resolution: {integrity: sha512-Xf5vIfromOZo94Q8HbR04TbgTwzigqrKII0GjYr21K7rb3nba4hUW2ir8kguY7HWFBcjHGlU5x3MevKBOLp3Zg==} + + '@solana/codecs-data-structures@2.0.0-preview.4': + resolution: {integrity: sha512-nt2k2eTeyzlI/ccutPcG36M/J8NAYfxBPI9h/nQjgJ+M+IgOKi31JV8StDDlG/1XvY0zyqugV3I0r3KAbZRJpA==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-data-structures@2.0.0-rc.1': + resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.0.0-preview.2': + resolution: {integrity: sha512-aLZnDTf43z4qOnpTcDsUVy1Ci9im1Md8thWipSWbE+WM9ojZAx528oAql+Cv8M8N+6ALKwgVRhPZkto6E59ARw==} + + '@solana/codecs-numbers@2.0.0-preview.4': + resolution: {integrity: sha512-Q061rLtMadsO7uxpguT+Z7G4UHnjQ6moVIxAQxR58nLxDPCC7MB1Pk106/Z7NDhDLHTcd18uO6DZ7ajHZEn2XQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.0.0-rc.1': + resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-strings@2.0.0-preview.2': + resolution: {integrity: sha512-EgBwY+lIaHHgMJIqVOGHfIfpdmmUDNoNO/GAUGeFPf+q0dF+DtwhJPEMShhzh64X2MeCZcmSO6Kinx0Bvmmz2g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + + '@solana/codecs-strings@2.0.0-preview.4': + resolution: {integrity: sha512-YDbsQePRWm+xnrfS64losSGRg8Wb76cjK1K6qfR8LPmdwIC3787x9uW5/E4icl/k+9nwgbIRXZ65lpF+ucZUnw==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + + '@solana/codecs-strings@2.0.0-rc.1': + resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + + '@solana/codecs@2.0.0-preview.2': + resolution: {integrity: sha512-4HHzCD5+pOSmSB71X6w9ptweV48Zj1Vqhe732+pcAQ2cMNnN0gMPMdDq7j3YwaZDZ7yrILVV/3+HTnfT77t2yA==} + + '@solana/codecs@2.0.0-preview.4': + resolution: {integrity: sha512-gLMupqI4i+G4uPi2SGF/Tc1aXcviZF2ybC81x7Q/fARamNSgNOCUUoSCg9nWu1Gid6+UhA7LH80sWI8XjKaRog==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs@2.0.0-rc.1': + resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.0.0-preview.2': + resolution: {integrity: sha512-H2DZ1l3iYF5Rp5pPbJpmmtCauWeQXRJapkDg8epQ8BJ7cA2Ut/QEtC3CMmw/iMTcuS6uemFNLcWvlOfoQhvQuA==} + hasBin: true + + '@solana/errors@2.0.0-preview.4': + resolution: {integrity: sha512-kadtlbRv2LCWr8A9V22On15Us7Nn8BvqNaOB4hXsTB3O0fU40D1ru2l+cReqLcRPij4znqlRzW9Xi0m6J5DIhA==} + hasBin: true + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.0.0-rc.1': + resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} + hasBin: true + peerDependencies: + typescript: '>=5' + + '@solana/options@2.0.0-preview.2': + resolution: {integrity: sha512-FAHqEeH0cVsUOTzjl5OfUBw2cyT8d5Oekx4xcn5hn+NyPAfQJgM3CEThzgRD6Q/4mM5pVUnND3oK/Mt1RzSE/w==} + + '@solana/options@2.0.0-preview.4': + resolution: {integrity: sha512-tv2O/Frxql/wSe3jbzi5nVicIWIus/BftH+5ZR+r9r3FO0/htEllZS5Q9XdbmSboHu+St87584JXeDx3xm4jaA==} + peerDependencies: + typescript: '>=5' + + '@solana/options@2.0.0-rc.1': + resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} + peerDependencies: + typescript: '>=5' + + '@solana/spl-token-group@0.0.4': + resolution: {integrity: sha512-7+80nrEMdUKlK37V6kOe024+T7J4nNss0F8LQ9OOPYdWCCfJmsGUzVx2W3oeizZR4IHM6N4yC9v1Xqwc3BTPWw==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.91.6 + + '@solana/spl-token-group@0.0.5': + resolution: {integrity: sha512-CLJnWEcdoUBpQJfx9WEbX3h6nTdNiUzswfFdkABUik7HVwSNA98u5AYvBVK2H93d9PGMOHAak2lHW9xr+zAJGQ==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.94.0 + + '@solana/spl-token-group@0.0.7': + resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token-metadata@0.1.6': + resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token@0.4.6': + resolution: {integrity: sha512-1nCnUqfHVtdguFciVWaY/RKcQz1IF4b31jnKgAmjU9QVN1q7dRUkTEWJZgTYIEtsULjVnC9jRqlhgGN39WbKKA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.91.6 + + '@solana/spl-token@0.4.8': + resolution: {integrity: sha512-RO0JD9vPRi4LsAbMUdNbDJ5/cv2z11MGhtAvFeRzT4+hAGE/FUzRi0tkkWtuCfSIU3twC6CtmAihRp/+XXjWsA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.94.0 + + '@solana/spl-token@0.4.9': + resolution: {integrity: sha512-g3wbj4F4gq82YQlwqhPB0gHFXfgsC6UmyGMxtSLf/BozT/oKd59465DbnlUK8L8EcimKMavxsVAMoLcEdeCicg==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-type-length-value@0.1.0': + resolution: {integrity: sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA==} + engines: {node: '>=16'} + + '@solana/web3.js@1.95.3': + resolution: {integrity: sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og==} + + '@solana/web3.js@1.98.0': + resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/node-fetch@2.6.12': + resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@18.19.68': + resolution: {integrity: sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw==} + + '@types/node@20.17.10': + resolution: {integrity: sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==} + + '@types/react-dom@19.0.2': + resolution: {integrity: sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==} + peerDependencies: + '@types/react': ^19.0.0 + + '@types/react@19.0.2': + resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/uuid@10.0.0': + resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} + + '@types/uuid@8.3.4': + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + + '@types/ws@7.4.7': + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + + '@types/ws@8.5.13': + resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + + '@ungap/structured-clone@1.2.1': + resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + engines: {node: '>= 8.0.0'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + ansicolors@0.3.2: + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + assert@2.1.0: + resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + available-typed-arrays@1.0.7: + 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@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-x@3.0.10: + resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} + + base-x@4.0.0: + resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} + + base-x@5.0.0: + resolution: {integrity: sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + big.js@6.2.2: + resolution: {integrity: sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==} + + bigint-buffer@1.1.5: + resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} + engines: {node: '>= 10.0.0'} + + bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + + borsh@0.7.0: + resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + + borsh@1.0.0: + resolution: {integrity: sha512-fSVWzzemnyfF89EPwlUNsrS5swF5CrtiN4e+h0/lLf4dz2he4L3ndM20PS9wj7ICSkXJe/TQUHdaPTq15b1mNQ==} + + borsh@2.0.0: + resolution: {integrity: sha512-kc9+BgR3zz9+cjbwM8ODoUB4fs3X3I5A/HtX7LZKxCLaMrEeDFoBpnhZY//DTS1VZBSs6S5v46RZRbZjRFspEg==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bs58@5.0.0: + resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} + + bs58@6.0.0: + resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + + buffer-layout@1.2.2: + resolution: {integrity: sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==} + engines: {node: '>=4.5'} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bufferutil@4.0.9: + resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} + engines: {node: '>=6.14.2'} + + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + engines: {node: '>= 0.4'} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001690: + resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} + + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-hash@1.3.0: + resolution: {integrity: sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==} + engines: {node: '>=8'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decimal.js-light@2.5.1: + resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} + + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delay@5.0.0: + resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + eyes@0.1.8: + resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} + engines: {node: '> 0.1.90'} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-stable-stringify@1.0.0: + resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + + fastestsmallesttextencoderdecoder@1.0.22: + resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} + + fastq@1.18.0: + resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + firebase@11.1.0: + resolution: {integrity: sha512-3OoNW3vBXmBLYJvcwbPCwfluptbDVp2zZYjrfHPVFAXfPgmyy/LWjidt+Sw2WNvRelsG0v++WN2Wor6J3OwDRg==} + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data-encoder@1.7.2: + resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} + + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + engines: {node: '>= 6'} + + formdata-node@4.4.1: + resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} + engines: {node: '>= 12.20'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.2.6: + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + engines: {node: '>= 0.4'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + grammy@1.33.0: + resolution: {integrity: sha512-kvQuIBtiPcqNGntsVevjXYBMByIJ3PtOP7swr1zbCg6xY+dNX76f4VX5auKuJNI/sflexPr3L4wNwbTJHu9ocA==} + engines: {node: ^12.20.0 || >=14.13.1} + + graphemesplit@2.4.4: + resolution: {integrity: sha512-lKrpp1mk1NH26USxC/Asw4OHbhSQf5XfrWZ+CDv/dFVvd1j17kFgMotdJvOesmHkbFX9P9sBfpH8VogxOWLg8w==} + + groq-sdk@0.5.0: + resolution: {integrity: sha512-RVmhW7qZ+XZoy5fIuSdx/LGQJONpL8MHgZEW7dFwTdgkzStub2XQx6OKv28CHogijdwH41J+Npj/z2jBPu3vmw==} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-to-html@9.0.4: + resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + http-parser-js@0.5.9: + resolution: {integrity: sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-nan@1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-retry-allowed@2.2.0: + resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} + engines: {node: '>=10'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jayson@4.1.3: + resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} + engines: {node: '>=8'} + hasBin: true + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + js-base64@3.7.7: + resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} + + js-tiktoken@1.0.16: + resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + + langchain@0.3.8: + resolution: {integrity: sha512-EiAHFgBdThuXFmIx9j81wjdPItpRsw0Ck4r5dyhB74gyhehRGna/UK2CTqeKVnIUM/f4g4JbxUgAU4voXljDMw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/anthropic': '*' + '@langchain/aws': '*' + '@langchain/cohere': '*' + '@langchain/core': '>=0.2.21 <0.4.0' + '@langchain/google-genai': '*' + '@langchain/google-vertexai': '*' + '@langchain/groq': '*' + '@langchain/mistralai': '*' + '@langchain/ollama': '*' + axios: '*' + cheerio: '*' + handlebars: ^4.7.8 + peggy: ^3.0.2 + typeorm: '*' + peerDependenciesMeta: + '@langchain/anthropic': + optional: true + '@langchain/aws': + optional: true + '@langchain/cohere': + optional: true + '@langchain/google-genai': + optional: true + '@langchain/google-vertexai': + optional: true + '@langchain/groq': + optional: true + '@langchain/mistralai': + optional: true + '@langchain/ollama': + optional: true + axios: + optional: true + cheerio: + optional: true + handlebars: + optional: true + peggy: + optional: true + typeorm: + optional: true + + langsmith@0.2.14: + resolution: {integrity: sha512-ClAuAgSf3m9miMYotLEaZKQyKdaWlfjhebCuYco8bc6g72dU2VwTg31Bv4YINBq7EH2i1cMwbOiJxbOXPqjGig==} + peerDependencies: + openai: '*' + peerDependenciesMeta: + openai: + optional: true + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + long@5.2.4: + resolution: {integrity: sha512-qtzLbJE8hq7VabR3mISmVGtoXP8KGc2Z/AT8OuqlYD7JTR3oqrgwdjnk07wpj1twXxYmgDXgoKVWUG/fReSzHg==} + + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + next@15.1.3: + resolution: {integrity: sha512-5igmb8N8AEhWDYzogcJvtcRDU6n4cMGtBklxKD4biYv4LXN8+awc/bbQ2IM2NQHdVPgJ6XumYXfo3hBtErg1DA==} + engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + oniguruma-to-es@0.8.1: + resolution: {integrity: sha512-dekySTEvCxCj0IgKcA2uUCO/e4ArsqpucDPcX26w9ajx+DvMWLc5eZeJaRQkd7oC/+rwif5gnT900tA34uN9Zw==} + + openai@4.77.0: + resolution: {integrity: sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==} + hasBin: true + peerDependencies: + zod: ^3.23.8 + peerDependenciesMeta: + zod: + optional: true + + openapi-types@12.1.3: + resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + + pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + + pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + + pg-connection-string@2.7.0: + resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-pool@3.7.0: + resolution: {integrity: sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.7.0: + resolution: {integrity: sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg@8.13.1: + resolution: {integrity: sha512-OUir1A0rPNZlX//c7ksiu7crsGZTKSOXJPgtNiHGIlC9H0lO+NC6ZDYksSgBYY/thSWhnSRBv8w1lieNNGATNQ==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + engines: {node: ^10 || ^12 || >=14} + + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + protobufjs@7.4.0: + resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==} + engines: {node: '>=12.0.0'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} + peerDependencies: + react: ^19.0.0 + + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + engines: {node: '>=0.10.0'} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regex-recursion@5.1.1: + resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@5.1.1: + resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rpc-websockets@9.0.4: + resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shiki@1.24.4: + resolution: {integrity: sha512-aVGSFAOAr1v26Hh/+GBIsRVDWJ583XYV7CuNURKRWh9gpGv4OdbisZGq96B9arMYTZhTQkmRF5BrShOSTvNqhw==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + solana-agent-kit@1.3.0: + resolution: {integrity: sha512-QEg37BgkjyL+8XoPoHizvCfUchxCXZYorm3IC2wGXsWnIi4XJkdNaMSwisuUFS0WzIHrvK3ublhYGxfRNvTGpg==} + engines: {node: '>=23.1.0', pnpm: '>=8.0.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + superstruct@0.15.5: + resolution: {integrity: sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==} + + superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true + + text-encoding-utf-8@1.0.2: + resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toformat@2.0.0: + resolution: {integrity: sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ==} + + toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + ts-log@2.2.7: + resolution: {integrity: sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + + typedoc@0.26.11: + resolution: {integrity: sha512-sFEgRRtrcDl2FxVP58Ze++ZK2UQAEvtvvH8rRlig1Ja3o7dDaMHmaBfvJmdGnNEFaLTpQsN8dpvZaTqJSu/Ugw==} + engines: {node: '>= 18'} + hasBin: true + peerDependencies: + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x + + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + utf-8-validate@5.0.10: + resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} + engines: {node: '>=6.14.2'} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + web-streams-polyfill@4.0.0-beta.3: + resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} + engines: {node: '>= 14'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-typed-array@1.1.18: + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + zod-to-json-schema@3.24.1: + resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==} + peerDependencies: + zod: ^3.24.1 + + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@alloc/quick-lru@5.2.0': {} + + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + + '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + borsh: 1.0.0 + bs58: 5.0.0 + buffer: 6.0.3 + + '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 + '@scure/base': 1.2.1 + '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + borsh: 2.0.0 + buffer: 6.0.3 + graphemesplit: 2.4.4 + ipaddr.js: 2.2.0 + punycode: 2.3.1 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@cfworker/json-schema@4.0.3': {} + + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.6.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@emnapi/runtime@1.3.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@ethersproject/bytes@5.7.0': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/logger@5.7.0': {} + + '@ethersproject/sha2@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + hash.js: 1.1.7 + + '@firebase/analytics-compat@0.2.16(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/analytics': 0.10.10(@firebase/app@0.10.17) + '@firebase/analytics-types': 0.8.3 + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/analytics-types@0.8.3': {} + + '@firebase/analytics@0.10.10(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/app-check-compat@0.3.17(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-check': 0.8.10(@firebase/app@0.10.17) + '@firebase/app-check-types': 0.5.3 + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/app-check-interop-types@0.3.3': {} + + '@firebase/app-check-types@0.5.3': {} + + '@firebase/app-check@0.8.10(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/app-compat@0.2.47': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/app-types@0.9.3': {} + + '@firebase/app@0.10.17': + dependencies: + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/auth-compat@0.5.16(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/auth': 1.8.1(@firebase/app@0.10.17) + '@firebase/auth-types': 0.12.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2) + '@firebase/component': 0.6.11 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + - '@react-native-async-storage/async-storage' + + '@firebase/auth-interop-types@0.2.4': {} + + '@firebase/auth-types@0.12.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.10.2 + + '@firebase/auth@1.8.1(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/component@0.6.11': + dependencies: + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/data-connect@0.1.3(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/database-compat@2.0.1': + dependencies: + '@firebase/component': 0.6.11 + '@firebase/database': 1.0.10 + '@firebase/database-types': 1.0.7 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/database-types@1.0.7': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.10.2 + + '@firebase/database@1.0.10': + dependencies: + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + faye-websocket: 0.11.4 + tslib: 2.8.1 + + '@firebase/firestore-compat@0.3.40(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/firestore': 4.7.5(@firebase/app@0.10.17) + '@firebase/firestore-types': 3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2) + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/firestore-types@3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.10.2 + + '@firebase/firestore@4.7.5(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + '@firebase/webchannel-wrapper': 1.0.3 + '@grpc/grpc-js': 1.9.15 + '@grpc/proto-loader': 0.7.13 + tslib: 2.8.1 + + '@firebase/functions-compat@0.3.17(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/functions': 0.12.0(@firebase/app@0.10.17) + '@firebase/functions-types': 0.6.3 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/functions-types@0.6.3': {} + + '@firebase/functions@0.12.0(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.6.11 + '@firebase/messaging-interop-types': 0.2.3 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/installations-compat@0.2.11(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/installations-types': 0.5.3(@firebase/app-types@0.9.3) + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/installations-types@0.5.3(@firebase/app-types@0.9.3)': + dependencies: + '@firebase/app-types': 0.9.3 + + '@firebase/installations@0.6.11(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/util': 1.10.2 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/logger@0.4.4': + dependencies: + tslib: 2.8.1 + + '@firebase/messaging-compat@0.2.15(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/messaging': 0.12.15(@firebase/app@0.10.17) + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/messaging-interop-types@0.2.3': {} + + '@firebase/messaging@0.12.15(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/messaging-interop-types': 0.2.3 + '@firebase/util': 1.10.2 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/performance-compat@0.2.11(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/performance': 0.6.11(@firebase/app@0.10.17) + '@firebase/performance-types': 0.2.3 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/performance-types@0.2.3': {} + + '@firebase/performance@0.6.11(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/remote-config-compat@0.2.11(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/remote-config': 0.4.11(@firebase/app@0.10.17) + '@firebase/remote-config-types': 0.3.3 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/remote-config-types@0.3.3': {} + + '@firebase/remote-config@0.4.11(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/storage-compat@0.3.14(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app-compat': 0.2.47 + '@firebase/component': 0.6.11 + '@firebase/storage': 0.13.4(@firebase/app@0.10.17) + '@firebase/storage-types': 0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2) + '@firebase/util': 1.10.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/storage-types@0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.10.2)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.10.2 + + '@firebase/storage@0.13.4(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/component': 0.6.11 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/util@1.10.2': + dependencies: + tslib: 2.8.1 + + '@firebase/vertexai@1.0.2(@firebase/app-types@0.9.3)(@firebase/app@0.10.17)': + dependencies: + '@firebase/app': 0.10.17 + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/app-types': 0.9.3 + '@firebase/component': 0.6.11 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.10.2 + tslib: 2.8.1 + + '@firebase/webchannel-wrapper@1.0.3': {} + + '@grammyjs/types@3.17.0': {} + + '@grpc/grpc-js@1.9.15': + dependencies: + '@grpc/proto-loader': 0.7.13 + '@types/node': 20.17.10 + + '@grpc/proto-loader@0.7.13': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.2.4 + protobufjs: 7.4.0 + yargs: 17.7.2 + + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.3.1 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))': + dependencies: + '@cfworker/json-schema': 4.0.3 + ansi-styles: 5.2.0 + camelcase: 6.3.0 + decamelize: 1.2.0 + js-tiktoken: 1.0.16 + langsmith: 0.2.14(openai@4.77.0(zod@3.24.1)) + mustache: 4.2.0 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 10.0.0 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - openai + + '@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + groq-sdk: 0.5.0 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - encoding + + '@langchain/langgraph-checkpoint-postgres@0.0.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + pg: 8.13.1 + transitivePeerDependencies: + - pg-native + + '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + uuid: 10.0.0 + + '@langchain/langgraph-sdk@0.0.32': + dependencies: + '@types/json-schema': 7.0.15 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 9.0.1 + + '@langchain/langgraph@0.2.36(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/langgraph-sdk': 0.0.32 + uuid: 10.0.0 + zod: 3.24.1 + + '@langchain/openai@0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + js-tiktoken: 1.0.16 + openai: 4.77.0(zod@3.24.1) + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - encoding + + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + js-tiktoken: 1.0.16 + + '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@noble/hashes': 1.5.0 + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + superstruct: 2.0.2 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 5.0.0 + debug: 4.4.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@metaplex-foundation/beet@0.7.2': + dependencies: + ansicolors: 0.3.2 + assert: 2.1.0 + bn.js: 5.2.1 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@msgpack/msgpack': 3.0.0-beta2 + '@noble/hashes': 1.6.1 + + '@metaplex-foundation/mpl-token-metadata@3.3.0(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-downloader-http': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-http-fetch': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-program-repository': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-rpc-chunk-get-accounts': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-serializer-data-view': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - encoding + + '@metaplex-foundation/umi-downloader-http@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + '@metaplex-foundation/umi-options@0.8.9': {} + + '@metaplex-foundation/umi-program-repository@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-public-keys@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-serializers-core@0.8.9': {} + + '@metaplex-foundation/umi-serializers-encodings@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-core': 0.8.9 + + '@metaplex-foundation/umi-serializers-numbers@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-core': 0.8.9 + + '@metaplex-foundation/umi-serializers@0.9.0': + dependencies: + '@metaplex-foundation/umi-options': 0.8.9 + '@metaplex-foundation/umi-public-keys': 0.8.9 + '@metaplex-foundation/umi-serializers-core': 0.8.9 + '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + '@metaplex-foundation/umi-serializers-numbers': 0.8.9 + + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + + '@metaplex-foundation/umi@0.9.2': + dependencies: + '@metaplex-foundation/umi-options': 0.8.9 + '@metaplex-foundation/umi-public-keys': 0.8.9 + '@metaplex-foundation/umi-serializers': 0.9.0 + + '@msgpack/msgpack@3.0.0-beta2': {} + + '@next/env@15.1.3': {} + + '@next/swc-darwin-arm64@15.1.3': + optional: true + + '@next/swc-darwin-x64@15.1.3': + optional: true + + '@next/swc-linux-arm64-gnu@15.1.3': + optional: true + + '@next/swc-linux-arm64-musl@15.1.3': + optional: true + + '@next/swc-linux-x64-gnu@15.1.3': + optional: true + + '@next/swc-linux-x64-musl@15.1.3': + optional: true + + '@next/swc-win32-arm64-msvc@15.1.3': + optional: true + + '@next/swc-win32-x64-msvc@15.1.3': + optional: true + + '@noble/curves@1.7.0': + dependencies: + '@noble/hashes': 1.6.0 + + '@noble/hashes@1.5.0': {} + + '@noble/hashes@1.6.0': {} + + '@noble/hashes@1.6.1': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.18.0 + + '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/sha2': 5.7.0 + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + borsh: 2.0.0 + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@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)': + dependencies: + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + decimal.js: 10.4.3 + tiny-invariant: 1.3.3 + + '@orca-so/whirlpools-sdk@0.13.12(@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)': + dependencies: + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + decimal.js: 10.4.3 + tiny-invariant: 1.3.3 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + + '@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 + '@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) + axios: 1.7.9 + big.js: 6.2.2 + bn.js: 5.2.1 + dayjs: 1.11.13 + decimal.js-light: 2.5.1 + jsonfile: 6.1.0 + lodash: 4.17.21 + toformat: 2.0.0 + tsconfig-paths: 4.2.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@scure/base@1.2.1': {} + + '@shikijs/core@1.24.4': + dependencies: + '@shikijs/engine-javascript': 1.24.4 + '@shikijs/engine-oniguruma': 1.24.4 + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.4 + + '@shikijs/engine-javascript@1.24.4': + dependencies: + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + oniguruma-to-es: 0.8.1 + + '@shikijs/engine-oniguruma@1.24.4': + dependencies: + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + + '@shikijs/types@1.24.4': + dependencies: + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@9.3.1': {} + + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bigint-buffer: 1.1.5 + bignumber.js: 9.1.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/buffer-layout@4.0.1': + dependencies: + buffer: 6.0.3 + + '@solana/codecs-core@2.0.0-preview.2': + dependencies: + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-core@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-data-structures@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-data-structures@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-numbers@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-numbers@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-strings@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + fastestsmallesttextencoderdecoder: 1.0.22 + + '@solana/codecs-strings@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.7.2 + + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.7.2 + + '@solana/codecs@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-data-structures': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/codecs-strings': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/options': 2.0.0-preview.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/options': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/errors@2.0.0-preview.2': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + + '@solana/errors@2.0.0-preview.4(typescript@5.7.2)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 5.7.2 + + '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + chalk: 5.4.1 + commander: 12.1.0 + typescript: 5.7.2 + + '@solana/options@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + + '@solana/options@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-type-length-value': 0.1.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-type-length-value': 0.1.0 + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-type-length-value@0.1.0': + dependencies: + buffer: 6.0.3 + + '@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.5.0 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.5.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.5.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@swc/counter@0.1.3': {} + + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 20.17.10 + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/node-fetch@2.6.12': + dependencies: + '@types/node': 20.17.10 + form-data: 4.0.1 + + '@types/node@12.20.55': {} + + '@types/node@18.19.68': + dependencies: + undici-types: 5.26.5 + + '@types/node@20.17.10': + dependencies: + undici-types: 6.19.8 + + '@types/react-dom@19.0.2(@types/react@19.0.2)': + dependencies: + '@types/react': 19.0.2 + + '@types/react@19.0.2': + dependencies: + csstype: 3.1.3 + + '@types/retry@0.12.0': {} + + '@types/unist@3.0.3': {} + + '@types/uuid@10.0.0': {} + + '@types/uuid@8.3.4': {} + + '@types/ws@7.4.7': + dependencies: + '@types/node': 20.17.10 + + '@types/ws@8.5.13': + dependencies: + '@types/node': 20.17.10 + + '@ungap/structured-clone@1.2.1': {} + + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + agentkeepalive@4.5.0: + dependencies: + humanize-ms: 1.2.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + ansicolors@0.3.2: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@2.0.1: {} + + assert@2.1.0: + dependencies: + call-bind: 1.0.8 + is-nan: 1.3.2 + object-is: 1.1.6 + object.assign: 4.1.7 + util: 0.12.5 + + assertion-error@2.0.1: {} + + asynckit@0.4.0: {} + + available-typed-arrays@1.0.7: + 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@1.7.9: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + balanced-match@1.0.2: {} + + base-x@3.0.10: + dependencies: + safe-buffer: 5.2.1 + + base-x@4.0.0: {} + + base-x@5.0.0: {} + + base64-js@1.5.1: {} + + big.js@6.2.2: {} + + bigint-buffer@1.1.5: + dependencies: + bindings: 1.5.0 + + bignumber.js@9.1.2: {} + + binary-extensions@2.3.0: {} + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + + bn.js@5.2.1: {} + + borsh@0.7.0: + dependencies: + bn.js: 5.2.1 + bs58: 4.0.1 + text-encoding-utf-8: 1.0.2 + + borsh@1.0.0: {} + + borsh@2.0.0: {} + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + bs58@4.0.1: + dependencies: + base-x: 3.0.10 + + bs58@5.0.0: + dependencies: + base-x: 4.0.0 + + bs58@6.0.0: + dependencies: + base-x: 5.0.0 + + buffer-layout@1.2.2: {} + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bufferutil@4.0.9: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + busboy@1.6.0: + dependencies: + streamsearch: 1.1.0 + + call-bind-apply-helpers@1.0.1: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + get-intrinsic: 1.2.6 + set-function-length: 1.2.2 + + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.1 + get-intrinsic: 1.2.6 + + camelcase-css@2.0.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001690: {} + + ccount@2.0.1: {} + + chai@5.1.2: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.2 + pathval: 2.0.0 + + chalk@5.4.1: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + check-error@2.1.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + client-only@0.0.1: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + optional: true + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + optional: true + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@12.1.0: {} + + commander@2.20.3: {} + + commander@4.1.1: {} + + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-hash@1.3.0: {} + + cssesc@3.0.0: {} + + csstype@3.1.3: {} + + dayjs@1.11.13: {} + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + decamelize@1.2.0: {} + + decimal.js-light@2.5.1: {} + + decimal.js@10.4.3: {} + + deep-eql@5.0.2: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + delay@5.0.0: {} + + delayed-stream@1.0.0: {} + + dequal@2.0.3: {} + + detect-libc@2.0.3: + optional: true + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + didyoumean@1.2.2: {} + + dlv@1.1.3: {} + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dotenv@16.4.7: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + emoji-regex-xs@1.0.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + entities@4.5.0: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es6-promise@4.2.8: {} + + es6-promisify@5.0.0: + dependencies: + es6-promise: 4.2.8 + + escalade@3.2.0: {} + + event-target-shim@5.0.1: {} + + eventemitter3@4.0.7: {} + + eventemitter3@5.0.1: {} + + eyes@0.1.8: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-stable-stringify@1.0.0: {} + + fastestsmallesttextencoderdecoder@1.0.22: {} + + fastq@1.18.0: + dependencies: + reusify: 1.0.4 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + file-uri-to-path@1.0.0: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + firebase@11.1.0: + dependencies: + '@firebase/analytics': 0.10.10(@firebase/app@0.10.17) + '@firebase/analytics-compat': 0.2.16(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/app': 0.10.17 + '@firebase/app-check': 0.8.10(@firebase/app@0.10.17) + '@firebase/app-check-compat': 0.3.17(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/app-compat': 0.2.47 + '@firebase/app-types': 0.9.3 + '@firebase/auth': 1.8.1(@firebase/app@0.10.17) + '@firebase/auth-compat': 0.5.16(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17) + '@firebase/data-connect': 0.1.3(@firebase/app@0.10.17) + '@firebase/database': 1.0.10 + '@firebase/database-compat': 2.0.1 + '@firebase/firestore': 4.7.5(@firebase/app@0.10.17) + '@firebase/firestore-compat': 0.3.40(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17) + '@firebase/functions': 0.12.0(@firebase/app@0.10.17) + '@firebase/functions-compat': 0.3.17(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/installations': 0.6.11(@firebase/app@0.10.17) + '@firebase/installations-compat': 0.2.11(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17) + '@firebase/messaging': 0.12.15(@firebase/app@0.10.17) + '@firebase/messaging-compat': 0.2.15(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/performance': 0.6.11(@firebase/app@0.10.17) + '@firebase/performance-compat': 0.2.11(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/remote-config': 0.4.11(@firebase/app@0.10.17) + '@firebase/remote-config-compat': 0.2.11(@firebase/app-compat@0.2.47)(@firebase/app@0.10.17) + '@firebase/storage': 0.13.4(@firebase/app@0.10.17) + '@firebase/storage-compat': 0.3.14(@firebase/app-compat@0.2.47)(@firebase/app-types@0.9.3)(@firebase/app@0.10.17) + '@firebase/util': 1.10.2 + '@firebase/vertexai': 1.0.2(@firebase/app-types@0.9.3)(@firebase/app@0.10.17) + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + + follow-redirects@1.15.9: {} + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data-encoder@1.7.2: {} + + form-data@4.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + formdata-node@4.4.1: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 4.0.0-beta.3 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.2.6: + dependencies: + call-bind-apply-helpers: 1.0.1 + dunder-proto: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + function-bind: 1.1.2 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: + optional: true + + grammy@1.33.0: + dependencies: + '@grammyjs/types': 3.17.0 + abort-controller: 3.0.0 + debug: 4.4.0 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + - supports-color + + graphemesplit@2.4.4: + dependencies: + js-base64: 3.7.7 + unicode-trie: 2.0.0 + + groq-sdk@0.5.0: + dependencies: + '@types/node': 18.19.68 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + web-streams-polyfill: 3.3.3 + transitivePeerDependencies: + - encoding + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-to-html@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + html-void-elements@3.0.0: {} + + http-parser-js@0.5.9: {} + + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + + idb@7.1.1: {} + + ieee754@1.2.1: {} + + inherits@2.0.4: {} + + ipaddr.js@2.2.0: {} + + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-arrayish@0.3.2: + optional: true + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-callable@1.2.7: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-nan@1.3.2: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + + is-number@7.0.0: {} + + is-retry-allowed@2.2.0: {} + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.18 + + isexe@2.0.0: {} + + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + 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 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@types/connect': 3.4.38 + '@types/node': 12.20.55 + '@types/ws': 7.4.7 + JSONStream: 1.3.5 + commander: 2.20.3 + delay: 5.0.0 + es6-promisify: 5.0.0 + eyes: 0.1.8 + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + json-stringify-safe: 5.0.1 + uuid: 8.3.2 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + jiti@1.21.7: {} + + js-base64@3.7.7: {} + + js-tiktoken@1.0.16: + dependencies: + base64-js: 1.5.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + json-stringify-safe@5.0.1: {} + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonparse@1.3.1: {} + + jsonpointer@5.0.1: {} + + langchain@0.3.8(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)): + dependencies: + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + js-tiktoken: 1.0.16 + js-yaml: 4.1.0 + jsonpointer: 5.0.1 + langsmith: 0.2.14(openai@4.77.0(zod@3.24.1)) + openapi-types: 12.1.3 + p-retry: 4.6.2 + uuid: 10.0.0 + yaml: 2.6.1 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + optionalDependencies: + '@langchain/groq': 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + axios: 1.7.9 + transitivePeerDependencies: + - encoding + - openai + + langsmith@0.2.14(openai@4.77.0(zod@3.24.1)): + dependencies: + '@types/uuid': 10.0.0 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + semver: 7.6.3 + uuid: 10.0.0 + optionalDependencies: + openai: 4.77.0(zod@3.24.1) + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 + + lodash.camelcase@4.3.0: {} + + lodash@4.17.21: {} + + long@5.2.4: {} + + loupe@3.1.2: {} + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lru-cache@10.4.3: {} + + lunr@2.3.9: {} + + markdown-it@14.1.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + math-intrinsics@1.1.0: {} + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.1 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdurl@2.0.0: {} + + merge2@1.4.1: {} + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + minimalistic-assert@1.0.1: {} + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + ms@2.1.3: {} + + mustache@4.2.0: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.8: {} + + next@15.1.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + '@next/env': 15.1.3 + '@swc/counter': 0.1.3 + '@swc/helpers': 0.5.15 + busboy: 1.6.0 + caniuse-lite: 1.0.30001690 + postcss: 8.4.31 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + styled-jsx: 5.1.6(react@19.0.0) + optionalDependencies: + '@next/swc-darwin-arm64': 15.1.3 + '@next/swc-darwin-x64': 15.1.3 + '@next/swc-linux-arm64-gnu': 15.1.3 + '@next/swc-linux-arm64-musl': 15.1.3 + '@next/swc-linux-x64-gnu': 15.1.3 + '@next/swc-linux-x64-musl': 15.1.3 + '@next/swc-win32-arm64-msvc': 15.1.3 + '@next/swc-win32-x64-msvc': 15.1.3 + sharp: 0.33.5 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-domexception@1.0.0: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-gyp-build@4.8.4: + optional: true + + normalize-path@3.0.0: {} + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + object-is@1.1.6: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + oniguruma-to-es@0.8.1: + dependencies: + emoji-regex-xs: 1.0.0 + regex: 5.1.1 + regex-recursion: 5.1.1 + + openai@4.77.0(zod@3.24.1): + dependencies: + '@types/node': 18.19.68 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + optionalDependencies: + zod: 3.24.1 + transitivePeerDependencies: + - encoding + + openapi-types@12.1.3: {} + + p-finally@1.0.0: {} + + p-queue@6.6.2: + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-timeout@3.2.0: + dependencies: + p-finally: 1.0.0 + + package-json-from-dist@1.0.1: {} + + pako@0.2.9: {} + + pako@2.1.0: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + pathval@2.0.0: {} + + pg-cloudflare@1.1.1: + optional: true + + pg-connection-string@2.7.0: {} + + pg-int8@1.0.1: {} + + pg-pool@3.7.0(pg@8.13.1): + dependencies: + pg: 8.13.1 + + pg-protocol@1.7.0: {} + + pg-types@2.2.0: + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + pg@8.13.1: + dependencies: + pg-connection-string: 2.7.0 + pg-pool: 3.7.0(pg@8.13.1) + pg-protocol: 1.7.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + pgpass@1.0.5: + dependencies: + split2: 4.2.0 + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pify@2.3.0: {} + + pirates@4.0.6: {} + + possible-typed-array-names@1.0.0: {} + + postcss-import@15.1.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.10 + + postcss-js@4.0.1(postcss@8.4.49): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.49 + + postcss-load-config@4.0.2(postcss@8.4.49): + dependencies: + lilconfig: 3.1.3 + yaml: 2.6.1 + optionalDependencies: + postcss: 8.4.49 + + postcss-nested@6.2.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.4.31: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postcss@8.4.49: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postgres-array@2.0.0: {} + + postgres-bytea@1.0.0: {} + + postgres-date@1.0.7: {} + + postgres-interval@1.2.0: + dependencies: + xtend: 4.0.2 + + property-information@6.5.0: {} + + protobufjs@7.4.0: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 20.17.10 + long: 5.2.4 + + proxy-from-env@1.1.0: {} + + punycode.js@2.3.1: {} + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + react-dom@19.0.0(react@19.0.0): + dependencies: + react: 19.0.0 + scheduler: 0.25.0 + + react@19.0.0: {} + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + regenerator-runtime@0.14.1: {} + + regex-recursion@5.1.1: + dependencies: + regex: 5.1.1 + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@5.1.1: + dependencies: + regex-utilities: 2.3.0 + + require-directory@2.1.1: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + retry@0.13.1: {} + + reusify@1.0.4: {} + + rpc-websockets@9.0.4: + dependencies: + '@swc/helpers': 0.5.15 + '@types/uuid': 8.3.4 + '@types/ws': 8.5.13 + buffer: 6.0.3 + eventemitter3: 5.0.1 + uuid: 8.3.2 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.2.1: {} + + scheduler@0.25.0: {} + + semver@7.6.3: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.6 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + optional: true + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shiki@1.24.4: + dependencies: + '@shikijs/core': 1.24.4 + '@shikijs/engine-javascript': 1.24.4 + '@shikijs/engine-oniguruma': 1.24.4 + '@shikijs/types': 1.24.4 + '@shikijs/vscode-textmate': 9.3.1 + '@types/hast': 3.0.4 + + signal-exit@4.1.0: {} + + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + optional: true + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + solana-agent-kit@1.3.0(@noble/hashes@1.6.1)(axios@1.7.9)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + dependencies: + '@bonfida/spl-name-service': 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/groq': 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/langgraph': 0.2.36(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@lightprotocol/compressed-token': 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-core': 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1) + '@metaplex-foundation/mpl-token-metadata': 3.3.0(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-bundle-defaults': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@onsol/tldparser': 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + '@orca-so/whirlpools-sdk': 0.13.12(@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': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@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) + '@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) + 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 + langchain: 0.3.8(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)) + openai: 4.77.0(zod@3.24.1) + typedoc: 0.26.11(typescript@5.7.2) + transitivePeerDependencies: + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cohere' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/mistralai' + - '@langchain/ollama' + - '@noble/hashes' + - axios + - borsh + - buffer + - bufferutil + - cheerio + - debug + - encoding + - fastestsmallesttextencoderdecoder + - handlebars + - peggy + - supports-color + - typeorm + - typescript + - utf-8-validate + - zod + + source-map-js@1.2.1: {} + + space-separated-tokens@2.0.2: {} + + split2@4.2.0: {} + + streamsearch@1.1.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom@3.0.0: {} + + styled-jsx@5.1.6(react@19.0.0): + dependencies: + client-only: 0.0.1 + react: 19.0.0 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + superstruct@0.15.5: {} + + superstruct@2.0.2: {} + + supports-preserve-symlinks-flag@1.0.0: {} + + tailwindcss@3.4.17: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.10 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + text-encoding-utf-8@1.0.2: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + through@2.3.8: {} + + tiny-inflate@1.0.3: {} + + tiny-invariant@1.3.3: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toformat@2.0.0: {} + + toml@3.0.0: {} + + tr46@0.0.3: {} + + trim-lines@3.0.1: {} + + ts-interface-checker@0.1.13: {} + + ts-log@2.2.7: {} + + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@2.8.1: {} + + tweetnacl@1.0.3: {} + + typedoc@0.26.11(typescript@5.7.2): + dependencies: + lunr: 2.3.9 + markdown-it: 14.1.0 + minimatch: 9.0.5 + shiki: 1.24.4 + typescript: 5.7.2 + yaml: 2.6.1 + + typescript@5.7.2: {} + + uc.micro@2.1.0: {} + + undici-types@5.26.5: {} + + undici-types@6.19.8: {} + + unicode-trie@2.0.0: + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@2.0.1: {} + + utf-8-validate@5.0.10: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + util-deprecate@1.0.2: {} + + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.2.0 + is-generator-function: 1.0.10 + is-typed-array: 1.1.15 + which-typed-array: 1.1.18 + + uuid@10.0.0: {} + + uuid@8.3.2: {} + + uuid@9.0.1: {} + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + web-streams-polyfill@3.3.3: {} + + web-streams-polyfill@4.0.0-beta.3: {} + + webidl-conversions@3.0.1: {} + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.9 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-typed-array@1.1.18: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + for-each: 0.3.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + xtend@4.0.2: {} + + y18n@5.0.8: {} + + yaml@2.6.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + zod-to-json-schema@3.24.1(zod@3.24.1): + dependencies: + zod: 3.24.1 + + zod@3.24.1: {} + + zwitch@2.0.4: {} diff --git a/examples/tg-bot-starter/group-tg-bot/postcss.config.mjs b/examples/tg-bot-starter/group-tg-bot/postcss.config.mjs new file mode 100644 index 0000000..1a69fd2 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/postcss.config.mjs @@ -0,0 +1,8 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + }, +}; + +export default config; diff --git a/examples/tg-bot-starter/group-tg-bot/public/file.svg b/examples/tg-bot-starter/group-tg-bot/public/file.svg new file mode 100644 index 0000000..004145c --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/public/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tg-bot-starter/group-tg-bot/public/globe.svg b/examples/tg-bot-starter/group-tg-bot/public/globe.svg new file mode 100644 index 0000000..567f17b --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/public/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tg-bot-starter/group-tg-bot/public/next.svg b/examples/tg-bot-starter/group-tg-bot/public/next.svg new file mode 100644 index 0000000..5174b28 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tg-bot-starter/group-tg-bot/public/vercel.svg b/examples/tg-bot-starter/group-tg-bot/public/vercel.svg new file mode 100644 index 0000000..7705396 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tg-bot-starter/group-tg-bot/public/window.svg b/examples/tg-bot-starter/group-tg-bot/public/window.svg new file mode 100644 index 0000000..b2b2a44 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/public/window.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/tg-bot-starter/group-tg-bot/src/app/api/bot/route.ts b/examples/tg-bot-starter/group-tg-bot/src/app/api/bot/route.ts new file mode 100644 index 0000000..3b85a83 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/src/app/api/bot/route.ts @@ -0,0 +1,160 @@ +export const dynamic = 'force-dynamic'; +export const fetchCache = 'force-no-store'; +export const maxDuration = 60; // can use 300 with vercel premium + +import { Bot, webhookCallback } from 'grammy'; +import { SolanaAgentKit, createSolanaTools } from "solana-agent-kit"; +import { ChatOpenAI } from "@langchain/openai"; +import { createReactAgent } from "@langchain/langgraph/prebuilt"; +import { HumanMessage } from "@langchain/core/messages"; +import { getApps, initializeApp, getApp } from 'firebase/app'; +import { getFirestore, doc, getDoc, setDoc, updateDoc } from 'firebase/firestore'; +import { bs58 } from '@coral-xyz/anchor/dist/cjs/utils/bytes'; +import { Keypair } from '@solana/web3.js'; +import { PostgresSaver } from "@langchain/langgraph-checkpoint-postgres"; + +const token = process.env.TELEGRAM_BOT_TOKEN; +if (!token) throw new Error('TELEGRAM_BOT_TOKEN environment variable not found.'); +const bot = new Bot(token); + +const checkpointer = PostgresSaver.fromConnString( + process.env.POSTGRES_LINK!, +); + +const firebaseConfig = { + apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY, + authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN, + projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID, + storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET, + messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID, + appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID, + measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID, +}; +const app = !getApps.length ? initializeApp(firebaseConfig) : getApp(); +const db = getFirestore(app); + +async function getOrCreateUserKeyPair(userId: string) { + const userDocRef = doc(db, 'gusers', userId); + const userDocSnap = await getDoc(userDocRef); + if (userDocSnap.exists()) { + return userDocSnap.data(); + } + const keypair = Keypair.generate(); + const keypairData = { + publicKey: keypair.publicKey.toString(), + privateKey: String(bs58.encode(keypair.secretKey)), + inProgress: false, + inGame: false, + }; + await setDoc(userDocRef, keypairData); + return keypairData; +} + +async function initializeAgent(userId: string, keyPair: any) { + try { + const llm = new ChatOpenAI({ + modelName: "gpt-4o-mini", + temperature: 0.7, + }); + + const solanaKit = new SolanaAgentKit( + keyPair.privateKey, + process.env.RPC_URL, + process.env.OPENAI_API_KEY! + ); + + const tools = createSolanaTools(solanaKit); + await checkpointer.setup(); + const config = { configurable: { thread_id: userId } }; + const agent = createReactAgent({ + llm, + tools, + checkpointSaver: checkpointer, + messageModifier: ` + Ignore the @ tag to your bot id. + You are a helpful Telegram bot agent that can interact onchain using the Solana Agent Kit. You are + empowered to interact onchain using your tools. If you ever need funds, you can request them from the user by asking them to message you privately. + If there is a 5XX (internal) HTTP error code, ask the user to try again later. If someone asks you to do something you + can't do with your currently available tools, you must say so, and encourage them to implement it + themselves using the Solana Agent Kit, recommend they go to https://www.solanaagentkit.xyz for more information. Be + concise and helpful with your responses. Refrain from restating your tools' descriptions unless it is explicitly requested. + `, + }); + return { agent, config }; + } catch (error) { + console.error("Failed to initialize agent:", error); + throw error; + } +} +// Telegram bot handler +bot.on('message:text', async (ctx) => { + const userId = ctx.from?.id.toString(); + if (!userId) return; + const botUsername = `@${ctx.me.username}`; + if (!(ctx.chat.type === 'private')) { + if (!(ctx.message.text && ctx.message.text.includes(botUsername)) && !(ctx.message.reply_to_message !== undefined && ctx.message.reply_to_message.from?.username === ctx.me.username)) { + return; + } + } + const userDocRef = doc(db, 'gusers', userId); + const userDocSnap = await getDoc(userDocRef); + if (!userDocSnap.exists() && ctx.chat.type == 'private') { + const keyPair = await getOrCreateUserKeyPair(userId); + await ctx.reply(`Looks like you are using the agent first time. You can fund your agent and start using. Your unique Solana wallet is:`); + await ctx.reply(`${String(keyPair.publicKey)}`); + await ctx.reply("Your private key is:"); + await ctx.reply(`${String(keyPair.privateKey)}`); + return; + } + else if (userDocSnap.exists() && ctx.chat.type == 'private') { + const keyPair = await getOrCreateUserKeyPair(userId); + await ctx.reply("Looks like you already have a wallet. Your public key is:"); + await ctx.reply(`${String(keyPair.publicKey)}`); + await ctx.reply("Your private key is:"); + await ctx.reply(`${String(keyPair.privateKey)}`); + return; + } + else if (!userDocSnap.exists()) { + await ctx.reply("Looks like you haven't got a wallet yet. Please start a private chat with me to get your wallet.", { reply_to_message_id: ctx.message.message_id }); + return; + } + const keyPair = await getOrCreateUserKeyPair(userId); + if (keyPair.inProgress) { + await ctx.reply(`Hold on! I'm still processing...`, { reply_to_message_id: ctx.message.message_id }); + return; + } + const { agent, config } = await initializeAgent(userId, keyPair); + const stream = await agent.stream({ messages: [new HumanMessage(ctx.message.text)] }, config); + const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Timeout')), 20000)); + try { + await updateDoc(userDocRef, { inProgress: true }); + for await (const chunk of await Promise.race([stream, timeoutPromise]) as AsyncIterable<{ agent?: any; tools?: any }>) { + if ("agent" in chunk) { + if (chunk.agent.messages[0].content) await ctx.reply(String(chunk.agent.messages[0].content), { reply_to_message_id: ctx.message.message_id }); + } + // Add the below if you want to show direct output from the tools. + // else if ("tools" in chunk) { + // if (chunk.tools.messages[0].content) await ctx.reply(String(chunk.tools.messages[0].content)); + // } + } + } catch (error: any) { + if (error.message === 'Timeout') { + await ctx.reply("I'm sorry, the operation took too long and timed out. Please try again.", { reply_to_message_id: ctx.message.message_id }); + } else { + console.error("Error processing stream:", error); + await ctx.reply("I'm sorry, an error occurred while processing your request.", { reply_to_message_id: ctx.message.message_id }); + await updateDoc(userDocRef, { inProgress: false }); + } + } + finally { + await updateDoc(userDocRef, { inProgress: false }); + } +}); + +// Export webhook handler +export const POST = async (req: Request) => { + const headers = new Headers(); + headers.set('x-vercel-background', 'true'); + const handler = webhookCallback(bot, 'std/http'); + return handler(req); +}; \ No newline at end of file diff --git a/examples/tg-bot-starter/group-tg-bot/src/app/favicon.ico b/examples/tg-bot-starter/group-tg-bot/src/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/examples/tg-bot-starter/group-tg-bot/src/app/globals.css b/examples/tg-bot-starter/group-tg-bot/src/app/globals.css new file mode 100644 index 0000000..6b717ad --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/src/app/globals.css @@ -0,0 +1,21 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --background: #ffffff; + --foreground: #171717; +} + +@media (prefers-color-scheme: dark) { + :root { + --background: #0a0a0a; + --foreground: #ededed; + } +} + +body { + color: var(--foreground); + background: var(--background); + font-family: Arial, Helvetica, sans-serif; +} diff --git a/examples/tg-bot-starter/group-tg-bot/src/app/layout.tsx b/examples/tg-bot-starter/group-tg-bot/src/app/layout.tsx new file mode 100644 index 0000000..f7fa87e --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/src/app/layout.tsx @@ -0,0 +1,34 @@ +import type { Metadata } from "next"; +import { Geist, Geist_Mono } from "next/font/google"; +import "./globals.css"; + +const geistSans = Geist({ + variable: "--font-geist-sans", + subsets: ["latin"], +}); + +const geistMono = Geist_Mono({ + variable: "--font-geist-mono", + subsets: ["latin"], +}); + +export const metadata: Metadata = { + title: "Create Next App", + description: "Generated by create next app", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + {children} + + + ); +} diff --git a/examples/tg-bot-starter/group-tg-bot/src/app/page.tsx b/examples/tg-bot-starter/group-tg-bot/src/app/page.tsx new file mode 100644 index 0000000..3eee014 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/src/app/page.tsx @@ -0,0 +1,101 @@ +import Image from "next/image"; + +export default function Home() { + return ( +
    +
    + Next.js logo +
      +
    1. + Get started by editing{" "} + + src/app/page.tsx + + . +
    2. +
    3. Save and see your changes instantly.
    4. +
    + + +
    + +
    + ); +} diff --git a/examples/tg-bot-starter/group-tg-bot/tailwind.config.ts b/examples/tg-bot-starter/group-tg-bot/tailwind.config.ts new file mode 100644 index 0000000..109807b --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/tailwind.config.ts @@ -0,0 +1,18 @@ +import type { Config } from "tailwindcss"; + +export default { + content: [ + "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", + "./src/components/**/*.{js,ts,jsx,tsx,mdx}", + "./src/app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + colors: { + background: "var(--background)", + foreground: "var(--foreground)", + }, + }, + }, + plugins: [], +} satisfies Config; diff --git a/examples/tg-bot-starter/group-tg-bot/tsconfig.json b/examples/tg-bot-starter/group-tg-bot/tsconfig.json new file mode 100644 index 0000000..c133409 --- /dev/null +++ b/examples/tg-bot-starter/group-tg-bot/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} From 338cc410ea162508c2d1b160298407dd34776d93 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Sun, 12 Jan 2025 00:16:13 +0530 Subject: [PATCH 116/138] feat: move to tsx --- examples/agent-kit-langgraph/package.json | 8 - examples/market-making-agent/package.json | 3 - examples/persistent-agent/README.md | 4 +- guides/test_it_out.md | 2 +- package.json | 156 ++++++------ pnpm-lock.yaml | 286 +++++++++++++++++++++- 6 files changed, 364 insertions(+), 95 deletions(-) diff --git a/examples/agent-kit-langgraph/package.json b/examples/agent-kit-langgraph/package.json index 10c057d..96bdaed 100644 --- a/examples/agent-kit-langgraph/package.json +++ b/examples/agent-kit-langgraph/package.json @@ -8,9 +8,6 @@ "test": "echo \"Error: no test specified\" && exit 1", "dev": "tsx" }, - "keywords": [], - "author": "", - "license": "ISC", "dependencies": { "@langchain/community": "^0.3.20", "@langchain/core": "^0.3.26", @@ -20,12 +17,7 @@ "zod": "^3.24.1" }, "devDependencies": { - "ts-node": "^10.9.2", "tsx": "^4.19.2", "typescript": "^5.0.0" - }, - "ts-node": { - "esm": true, - "experimentalSpecifierResolution": "node" } } diff --git a/examples/market-making-agent/package.json b/examples/market-making-agent/package.json index 326802e..be41368 100644 --- a/examples/market-making-agent/package.json +++ b/examples/market-making-agent/package.json @@ -6,9 +6,6 @@ "scripts": { "main": "ts-node index.ts" }, - "keywords": [], - "author": "", - "license": "ISC", "dependencies": { "@langchain/langgraph-checkpoint-postgres": "^0.0.2", "solana-agent-kit": "^1.3.6" diff --git a/examples/persistent-agent/README.md b/examples/persistent-agent/README.md index 133c179..e0fa54d 100644 --- a/examples/persistent-agent/README.md +++ b/examples/persistent-agent/README.md @@ -27,7 +27,7 @@ Starting chat mode... Type 'exit' to end. Prompt: i am arpit Hello Arpit! How can I assist you today? Prompt: ^С -® arpitsingh Mac persistent-agent & ts-node index.ts +$ ts-node index.ts Starting Agent... Available modes: 1. chat @@ -51,7 +51,7 @@ Starting chat mode... Type 'exit' to end. Prompt: i am arpit Hello Arpit! How can I assist you today? Prompt: ^С -® arpitsingh Mac persistent-agent & ts-node index.ts +$ ts-node index.ts Starting Agent... Available modes: 1. chat diff --git a/guides/test_it_out.md b/guides/test_it_out.md index 47504b1..49d6bd5 100644 --- a/guides/test_it_out.md +++ b/guides/test_it_out.md @@ -13,7 +13,7 @@ The project includes a test script located at `test/index.ts`. To execute the te ```bash pnpm run test ``` - This will run the `test/index.ts` script using `ts-node`. Ensure that your environment variables are correctly set in the `.env` file before running the tests. + This will run the `test/index.ts` script using `tsx`. Ensure that your environment variables are correctly set in the `.env` file before running the tests. ## Interactive Modes diff --git a/package.json b/package.json index f7aa8bc..c89eac4 100644 --- a/package.json +++ b/package.json @@ -1,81 +1,81 @@ { - "name": "solana-agent-kit", - "version": "1.3.8", - "description": "connect any ai agents to solana protocols", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "scripts": { - "build": "tsc", - "docs": "typedoc src --out docs", - "test": "ts-node test/index.ts", - "test:vercel-ai": "ts-node test/agent_sdks/vercel_ai.ts", - "generate": "ts-node src/utils/keypair.ts", - "lint": "eslint . --ext .ts", - "lint:fix": "eslint . --ext .ts --fix", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", - "prepare": "husky" - }, - "engines": { - "node": ">=22.0.0", - "pnpm": ">=8.0.0" - }, - "keywords": [], - "author": "sendaifun", - "license": "Apache-2.0", - "dependencies": { - "@3land/listings-sdk": "^0.0.4", - "@ai-sdk/openai": "^1.0.11", - "@bonfida/spl-name-service": "^3.0.7", - "@cks-systems/manifest-sdk": "0.1.59", - "@coral-xyz/anchor": "0.29", - "@langchain/core": "^0.3.26", - "@langchain/groq": "^0.1.2", - "@langchain/langgraph": "^0.2.36", - "@langchain/openai": "^0.3.16", - "@lightprotocol/compressed-token": "^0.17.1", - "@lightprotocol/stateless.js": "^0.17.1", - "@metaplex-foundation/mpl-core": "^1.1.1", - "@metaplex-foundation/mpl-token-metadata": "^3.3.0", - "@metaplex-foundation/mpl-toolbox": "^0.9.4", - "@metaplex-foundation/umi": "^0.9.2", - "@metaplex-foundation/umi-bundle-defaults": "^0.9.2", - "@metaplex-foundation/umi-web3js-adapters": "^0.9.2", - "@onsol/tldparser": "^0.6.7", - "@orca-so/common-sdk": "0.6.4", - "@orca-so/whirlpools-sdk": "^0.13.12", - "@pythnetwork/hermes-client": "^1.3.0", - "@raydium-io/raydium-sdk-v2": "0.1.95-alpha", - "@solana/spl-token": "^0.4.9", - "@solana/web3.js": "^1.98.0", - "@tensor-oss/tensorswap-sdk": "^4.5.0", + "name": "solana-agent-kit", + "version": "1.3.8", + "description": "connect any ai agents to solana protocols", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "build": "tsc", + "docs": "typedoc src --out docs", + "test": "tsx test/index.ts", + "test:vercel-ai": "tsx test/agent_sdks/vercel_ai.ts", + "generate": "tsx src/utils/keypair.ts", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "prepare": "husky" + }, + "engines": { + "node": ">=22.0.0", + "pnpm": ">=8.0.0" + }, + "keywords": [], + "author": "sendaifun", + "license": "Apache-2.0", + "dependencies": { + "@3land/listings-sdk": "^0.0.4", + "@ai-sdk/openai": "^1.0.11", + "@bonfida/spl-name-service": "^3.0.7", + "@cks-systems/manifest-sdk": "0.1.59", + "@coral-xyz/anchor": "0.29", + "@langchain/core": "^0.3.26", + "@langchain/groq": "^0.1.2", + "@langchain/langgraph": "^0.2.36", + "@langchain/openai": "^0.3.16", + "@lightprotocol/compressed-token": "^0.17.1", + "@lightprotocol/stateless.js": "^0.17.1", + "@metaplex-foundation/mpl-core": "^1.1.1", + "@metaplex-foundation/mpl-token-metadata": "^3.3.0", + "@metaplex-foundation/mpl-toolbox": "^0.9.4", + "@metaplex-foundation/umi": "^0.9.2", + "@metaplex-foundation/umi-bundle-defaults": "^0.9.2", + "@metaplex-foundation/umi-web3js-adapters": "^0.9.2", + "@onsol/tldparser": "^0.6.7", + "@orca-so/common-sdk": "0.6.4", + "@orca-so/whirlpools-sdk": "^0.13.12", + "@pythnetwork/hermes-client": "^1.3.0", + "@raydium-io/raydium-sdk-v2": "0.1.95-alpha", + "@solana/spl-token": "^0.4.9", + "@solana/web3.js": "^1.98.0", "@sqds/multisig": "^2.1.3", - "@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", - "flash-sdk": "^2.24.3", - "form-data": "^4.0.1", - "langchain": "^0.3.8", - "openai": "^4.77.0", - "typedoc": "^0.27.6", - "zod": "^3.24.1" - }, - "devDependencies": { - "@types/bn.js": "^5.1.6", - "@types/chai": "^5.0.1", - "@types/node": "^22.10.2", - "@typescript-eslint/eslint-plugin": "^8.18.2", - "@typescript-eslint/parser": "^8.18.2", - "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" - } + "@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", + "flash-sdk": "^2.24.3", + "form-data": "^4.0.1", + "langchain": "^0.3.8", + "openai": "^4.77.0", + "typedoc": "^0.27.6", + "zod": "^3.24.1" + }, + "devDependencies": { + "@types/bn.js": "^5.1.6", + "@types/chai": "^5.0.1", + "@types/node": "^22.10.2", + "@typescript-eslint/eslint-plugin": "^8.18.2", + "@typescript-eslint/parser": "^8.18.2", + "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", + "tsx": "^4.19.2", + "typescript": "^5.7.2" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ef0c43..0cd5d73 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -159,9 +159,9 @@ importers: prettier: specifier: ^3.4.2 version: 3.4.2 - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) + tsx: + specifier: ^4.19.2 + version: 4.19.2 typescript: specifier: ^5.7.2 version: 5.7.2 @@ -289,6 +289,150 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.1': resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1858,6 +2002,11 @@ packages: es6-promisify@5.0.0: resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} + hasBin: true + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -2121,6 +2270,11 @@ packages: fs@0.0.1-security: resolution: {integrity: sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -2140,6 +2294,9 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -3072,6 +3229,9 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + responselike@2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} @@ -3395,6 +3555,11 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} + engines: {node: '>=18.0.0'} + hasBin: true + tweetnacl-util@0.15.1: resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} @@ -3917,6 +4082,78 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@esbuild/aix-ppc64@0.23.1': + optional: true + + '@esbuild/android-arm64@0.23.1': + optional: true + + '@esbuild/android-arm@0.23.1': + optional: true + + '@esbuild/android-x64@0.23.1': + optional: true + + '@esbuild/darwin-arm64@0.23.1': + optional: true + + '@esbuild/darwin-x64@0.23.1': + optional: true + + '@esbuild/freebsd-arm64@0.23.1': + optional: true + + '@esbuild/freebsd-x64@0.23.1': + optional: true + + '@esbuild/linux-arm64@0.23.1': + optional: true + + '@esbuild/linux-arm@0.23.1': + optional: true + + '@esbuild/linux-ia32@0.23.1': + optional: true + + '@esbuild/linux-loong64@0.23.1': + optional: true + + '@esbuild/linux-mips64el@0.23.1': + optional: true + + '@esbuild/linux-ppc64@0.23.1': + optional: true + + '@esbuild/linux-riscv64@0.23.1': + optional: true + + '@esbuild/linux-s390x@0.23.1': + optional: true + + '@esbuild/linux-x64@0.23.1': + optional: true + + '@esbuild/netbsd-x64@0.23.1': + optional: true + + '@esbuild/openbsd-arm64@0.23.1': + optional: true + + '@esbuild/openbsd-x64@0.23.1': + optional: true + + '@esbuild/sunos-x64@0.23.1': + optional: true + + '@esbuild/win32-arm64@0.23.1': + optional: true + + '@esbuild/win32-ia32@0.23.1': + optional: true + + '@esbuild/win32-x64@0.23.1': + optional: true + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': dependencies: eslint: 8.57.1 @@ -6427,6 +6664,33 @@ snapshots: dependencies: es6-promise: 4.2.8 + esbuild@0.23.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + escape-html@1.0.3: {} escape-string-regexp@1.0.5: {} @@ -6816,6 +7080,9 @@ snapshots: fs@0.0.1-security: {} + fsevents@2.3.3: + optional: true + function-bind@1.1.2: {} get-east-asian-width@1.3.0: {} @@ -6839,6 +7106,10 @@ snapshots: get-stream@8.0.1: {} + get-tsconfig@4.8.1: + dependencies: + resolve-pkg-maps: 1.0.0 + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -7768,6 +8039,8 @@ snapshots: resolve-from@4.0.0: {} + resolve-pkg-maps@1.0.0: {} + responselike@2.0.1: dependencies: lowercase-keys: 2.0.0 @@ -8145,6 +8418,13 @@ snapshots: tslib@2.8.1: {} + tsx@4.19.2: + dependencies: + esbuild: 0.23.1 + get-tsconfig: 4.8.1 + optionalDependencies: + fsevents: 2.3.3 + tweetnacl-util@0.15.1: {} tweetnacl@1.0.3: {} From 25f0f503cb14879d63ccefd0aa2ab5fd8402a97e Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Sun, 12 Jan 2025 01:33:11 +0100 Subject: [PATCH 117/138] feat: drift perp trade, account creation, withdraw, and deposit --- src/actions/drift/createDriftUserAccount.ts | 59 +++ src/actions/drift/depositIntoVault.ts | 3 +- .../drift/depositToDriftUserAccount.ts | 84 +++++ src/actions/drift/doesUserHaveDriftAccount.ts | 53 +++ src/actions/drift/tradePerpAccount.ts | 79 ++++ src/actions/drift/withdrawFromDriftAccount.ts | 65 ++++ src/actions/index.ts | 10 + src/tools/drift.ts | 344 ++++++++++++++++++ src/tools/drift_vault.ts | 117 +++--- src/tools/index.ts | 1 + 10 files changed, 738 insertions(+), 77 deletions(-) create mode 100644 src/actions/drift/createDriftUserAccount.ts create mode 100644 src/actions/drift/depositToDriftUserAccount.ts create mode 100644 src/actions/drift/doesUserHaveDriftAccount.ts create mode 100644 src/actions/drift/tradePerpAccount.ts create mode 100644 src/actions/drift/withdrawFromDriftAccount.ts create mode 100644 src/tools/drift.ts diff --git a/src/actions/drift/createDriftUserAccount.ts b/src/actions/drift/createDriftUserAccount.ts new file mode 100644 index 0000000..32c62ef --- /dev/null +++ b/src/actions/drift/createDriftUserAccount.ts @@ -0,0 +1,59 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import { createDriftUserAccount } from "../../tools"; + +const createDriftUserAccountAction: Action = { + name: "CREATE_DRIFT_USER_ACCOUNT", + similes: [ + "create drift account", + "create drift user account", + "create user account on drift", + ], + description: "Create a new user account on Drift protocol", + examples: [ + [ + { + input: { + amount: 100, + symbol: "SOL", + }, + output: { + status: "success", + message: "User account created with 100 SOL successfully deposited", + account: "4xKpN2...", + }, + explanation: "Create a new user account with 100 SOL", + }, + ], + ], + schema: z.object({ + amount: z.number().positive().describe("Amount of the token to deposit"), + symbol: z.string().describe("Symbol of the token to deposit"), + }), + handler: async (agent, input) => { + try { + const res = await createDriftUserAccount( + agent, + input.amount, + input.symbol, + ); + + return { + status: "success", + message: + res.message ?? + `User account created with ${input.amount} ${input.symobl} successfully deposited.`, + account: res.account, + signature: res.txSignature, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message is a string + message: `Failed to create user account: ${e.message}`, + }; + } + }, +}; + +export default createDriftUserAccountAction; diff --git a/src/actions/drift/depositIntoVault.ts b/src/actions/drift/depositIntoVault.ts index 5dcd477..c2ba8ee 100644 --- a/src/actions/drift/depositIntoVault.ts +++ b/src/actions/drift/depositIntoVault.ts @@ -1,6 +1,5 @@ import { z } from "zod"; import type { Action } from "../../types"; -import type { SolanaAgentKit } from "../../agent"; import { depositIntoVault } from "../../tools/drift_vault"; const depositIntoDriftVaultAction: Action = { @@ -31,7 +30,7 @@ const depositIntoDriftVaultAction: Action = { .positive() .describe("The amount in tokens you'd like to deposit into the vault"), }), - handler: async (agent: SolanaAgentKit, input) => { + handler: async (agent, input) => { try { const tx = await depositIntoVault( agent, diff --git a/src/actions/drift/depositToDriftUserAccount.ts b/src/actions/drift/depositToDriftUserAccount.ts new file mode 100644 index 0000000..d58aa7c --- /dev/null +++ b/src/actions/drift/depositToDriftUserAccount.ts @@ -0,0 +1,84 @@ +import { z } from "zod"; +import type { SolanaAgentKit } from "../../agent"; +import type { Action } from "../../types"; +import { depositToDriftUserAccount } from "../../tools"; + +const depositToDriftUserAccountAction: Action = { + name: "DEPOSIT_TO_DRIFT_USER_ACCOUNT", + description: "Deposit funds into your drift user account", + similes: [ + "deposit into drift user account", + "add funds to drift user account", + "add funds to my drift account", + ], + examples: [ + [ + { + input: { + amount: 100, + symbol: "usdc", + }, + output: { + status: "success", + message: "Funds deposited successfully", + signature: + "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBDadwunHw8reXFxRWT7khbFsQ9JT3zK4RYDLNDFDRYvM3wJk", + }, + explanation: "Deposit 100 USDC into your drift user account", + }, + ], + [ + { + input: { + amount: 100, + symbol: "USDC", + address: "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBD", + }, + output: { + status: "success", + message: "Funds deposited successfully", + signature: + "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBDadwunHw8reXFxRWT7khbFsQ9JT3zK4RYDLNDFDRYvM3wJk", + }, + explanation: "Deposit 100 USDC into a drift user account", + }, + ], + ], + schema: z.object({ + amount: z + .number() + .positive() + .describe( + "The amount in tokens you'd like to deposit into your drift user account", + ), + symbol: z + .string() + .toUpperCase() + .describe("The symbol of the token you'd like to deposit"), + address: z.string().optional().describe("The drift user account address"), + }), + handler: async (agent: SolanaAgentKit, input) => { + try { + const tx = await depositToDriftUserAccount( + agent, + input.amount as number, + input.symbol as string, + input.address, + ); + + return { + status: "success", + message: "Funds deposited successfully", + signature: tx, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message + message: `Failed to deposit funds: ${e.message}`, + }; + } + }, +}; + +export default depositToDriftUserAccountAction; diff --git a/src/actions/drift/doesUserHaveDriftAccount.ts b/src/actions/drift/doesUserHaveDriftAccount.ts new file mode 100644 index 0000000..3cf7084 --- /dev/null +++ b/src/actions/drift/doesUserHaveDriftAccount.ts @@ -0,0 +1,53 @@ +import { z } from "zod"; +import { doesUserHaveDriftAccount } from "../../tools"; +import type { Action } from "../../types"; + +export const doesUserHaveDriftAccountAction: Action = { + name: "DOES_USER_HAVE_DRIFT_ACCOUNT", + description: "Check if a user has a Drift account", + similes: [ + "check if user has drift account", + "check if user has account on drift", + "do I have an account on drift", + ], + examples: [ + [ + { + input: {}, + output: { + status: "success", + message: "Nice! You have a Drift account", + account: "4xKpN2...", + }, + explanation: "Check if a user has a Drift account", + }, + ], + ], + schema: z.object({}), + handler: async (agent) => { + try { + const res = await doesUserHaveDriftAccount(agent); + + if (!res.hasAccount) { + return { + status: "error", + message: "You do not have a Drift account", + }; + } + + return { + status: "success", + message: "Nice! You have a Drift account", + account: res.account, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message is a string + message: `Failed to check if you have a Drift account: ${e.message}`, + }; + } + }, +}; + +export default doesUserHaveDriftAccountAction; diff --git a/src/actions/drift/tradePerpAccount.ts b/src/actions/drift/tradePerpAccount.ts new file mode 100644 index 0000000..5868020 --- /dev/null +++ b/src/actions/drift/tradePerpAccount.ts @@ -0,0 +1,79 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import { driftPerpTrade } from "../../tools"; + +export const tradeDriftPerpAccountAction: Action = { + name: "TRADE_DRIFT_PERP_ACCOUNT", + similes: [ + "trade drift perp account", + "trade drift perp", + "trade drift perpetual account", + "trade perp account", + "trade account", + ], + description: "Trade a perpetual account on Drift protocol", + examples: [ + [ + { + input: { + amount: 100, + symbol: "SOL", + action: "long", + type: "market", + }, + output: { + status: "success", + message: "Trade successful", + }, + explanation: "Open a $100 long position on SOL.", + }, + ], + [ + { + input: { + amount: 50, + symbol: "BTC", + action: "short", + type: "limit", + price: 50000, + }, + output: { + status: "success", + message: "Trade successful", + }, + explanation: "$50 short position on BTC at $50,000.", + }, + ], + ], + schema: z.object({ + amount: z.number().positive(), + symbol: z.string().min(3).max(10), + action: z.enum(["long", "short"]), + type: z.enum(["market", "limit"]), + price: z.number().positive().optional(), + }), + handler: async (agent, input) => { + try { + const signature = await driftPerpTrade(agent, { + action: input.action, + amount: input.amount, + symbol: input.symbol, + type: input.type, + price: input.price, + }); + + return { + status: "success", + signature: signature, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message is a string + message: `Failed to trade perp account: ${e.message}`, + }; + } + }, +}; + +export default tradeDriftPerpAccountAction; diff --git a/src/actions/drift/withdrawFromDriftAccount.ts b/src/actions/drift/withdrawFromDriftAccount.ts new file mode 100644 index 0000000..552329c --- /dev/null +++ b/src/actions/drift/withdrawFromDriftAccount.ts @@ -0,0 +1,65 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import { withdrawFromDriftUserAccount } from "../../tools"; + +const withdrawFromDriftAccountAction: Action = { + name: "WITHDRAW_FROM_DRIFT_ACCOUNT", + description: "Withdraw funds from your drift account", + similes: [ + "withdraw from drift account", + "withdraw funds from drift account", + "withdraw funds from my drift account", + ], + examples: [ + [ + { + input: { + amount: 100, + symbol: "usdc", + }, + output: { + status: "success", + message: "Funds withdrawn successfully", + signature: + "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBDadwunHw8reXFxRWT7khbFsQ9JT3zK4RYDLNDFDRYvM3wJk", + }, + explanation: "Withdraw 100 USDC from your drift account", + }, + ], + ], + schema: z.object({ + amount: z + .number() + .positive() + .describe( + "The amount in tokens you'd like to withdraw from your drift account", + ), + symbol: z + .string() + .toUpperCase() + .describe("The symbol of the token you'd like to withdraw"), + }), + handler: async (agent, input) => { + try { + const tx = await withdrawFromDriftUserAccount( + agent, + input.amount, + input.symbol, + ); + + return { + status: "success", + message: "Funds withdrawn successfully", + signature: tx, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message is a string + message: `Failed to withdraw funds: ${e.message}`, + }; + } + }, +}; + +export default withdrawFromDriftAccountAction; diff --git a/src/actions/index.ts b/src/actions/index.ts index 7baf94e..6c675d1 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -37,6 +37,11 @@ import requestWithdrawalFromVaultAction from "./drift/requestWithdrawalFromVault import withdrawFromVaultAction from "./drift/withdrawFromVault"; import tradeDelegatedDriftVaultAction from "./drift/tradeDelegatedDriftVault"; import vaultInfoAction from "./drift/vaultInfo"; +import createDriftUserAccountAction from "./drift/createDriftUserAccount"; +import tradeDriftPerpAccountAction from "./drift/tradePerpAccount"; +import doesUserHaveDriftAccountAction from "./drift/doesUserHaveDriftAccount"; +import depositToDriftUserAccountAction from "./drift/depositToDriftUserAccount"; +import withdrawFromDriftAccountAction from "./drift/withdrawFromDriftAccount"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -79,6 +84,11 @@ export const ACTIONS = { WITHDRAW_FROM_DRIFT_VAULT_ACTION: withdrawFromVaultAction, TRADE_DELEGATED_DRIFT_VAULT_ACTION: tradeDelegatedDriftVaultAction, DRIFT_VAULT_INFO_ACTION: vaultInfoAction, + CREATE_DRIFT_USER_ACCOUNT_ACTION: createDriftUserAccountAction, + TRADE_DRIFT_PERP_ACCOUNT_ACTION: tradeDriftPerpAccountAction, + DOES_USER_HAVE_DRIFT_ACCOUNT_ACTION: doesUserHaveDriftAccountAction, + DEPOSIT_TO_DRIFT_USER_ACCOUNT_ACTION: depositToDriftUserAccountAction, + WITHDRAW_FROM_DRIFT_ACCOUNT_ACTION: withdrawFromDriftAccountAction, }; export type { Action, ActionExample, Handler } from "../types/action"; diff --git a/src/tools/drift.ts b/src/tools/drift.ts new file mode 100644 index 0000000..a7240aa --- /dev/null +++ b/src/tools/drift.ts @@ -0,0 +1,344 @@ +import { + BASE_PRECISION, + convertToNumber, + DRIFT_PROGRAM_ID, + DriftClient, + FastSingleTxSender, + getLimitOrderParams, + getMarketOrderParams, + getUserAccountPublicKeySync, + MainnetSpotMarkets, + numberToSafeBN, + PositionDirection, + PostOnlyParams, + PRICE_PRECISION, + User, + type IWallet, +} from "@drift-labs/sdk"; +import type { SolanaAgentKit } from "../agent"; +import * as anchor from "@coral-xyz/anchor"; +import { IDL, VAULT_PROGRAM_ID, VaultClient } from "@drift-labs/vaults-sdk"; +import { BN } from "bn.js"; +import { getAssociatedTokenAddressSync } from "@solana/spl-token"; +import { PublicKey } from "@solana/web3.js"; + +export async function initClients(agent: SolanaAgentKit) { + const wallet: IWallet = { + publicKey: agent.wallet.publicKey, + payer: agent.wallet, + signAllTransactions: async (txs) => { + for (const tx of txs) { + tx.sign(agent.wallet); + } + return txs; + }, + signTransaction: async (tx) => { + tx.sign(agent.wallet); + return tx; + }, + }; + + const driftClient = new DriftClient({ + connection: agent.connection, + wallet, + env: "mainnet-beta", + txSender: new FastSingleTxSender({ + connection: agent.connection, + wallet, + timeout: 30000, + blockhashRefreshInterval: 1000, + opts: { + commitment: agent.connection.commitment ?? "confirmed", + skipPreflight: false, + preflightCommitment: agent.connection.commitment ?? "confirmed", + }, + }), + }); + const vaultProgram = new anchor.Program( + IDL, + VAULT_PROGRAM_ID, + driftClient.provider, + ); + const vaultClient = new VaultClient({ + driftClient, + // @ts-expect-error - type mismatch due to different dep versions + program: vaultProgram, + cliMode: false, + }); + await driftClient.subscribe(); + + async function cleanUp() { + await driftClient.unsubscribe(); + } + + return { driftClient, vaultClient, cleanUp }; +} + +/** + * Create a drift user account provided an amount + * @param amount amount of the token to deposit + * @param symbol symbol of the token to deposit + */ +export async function createDriftUserAccount( + agent: SolanaAgentKit, + amount: number, + symbol: string, +) { + try { + const { driftClient, cleanUp } = await initClients(agent); + const user = new User({ + driftClient, + userAccountPublicKey: getUserAccountPublicKeySync( + new PublicKey(DRIFT_PROGRAM_ID), + agent.wallet.publicKey, + ), + }); + const userAccountExists = await user.exists(); + const token = MainnetSpotMarkets.find( + (v) => v.symbol === symbol.toUpperCase(), + ); + + if (!token) { + throw new Error(`Token with symbol ${symbol} not found`); + } + + if (!userAccountExists) { + const depositAmount = new BN(amount).mul(token.precision); + const [txSignature, account] = + await driftClient.initializeUserAccountAndDepositCollateral( + depositAmount, + getAssociatedTokenAddressSync(token.mint, agent.wallet.publicKey), + ); + + await cleanUp(); + return { txSignature, account }; + } + + await cleanUp(); + return { + message: "User account already exists", + account: user.userAccountPublicKey, + }; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to create user account: ${e.message}`); + } +} + +/** + * Deposit to your drift user account + * @param agent + * @param amount + * @param symbol + * @param address + * @returns + */ +export async function depositToDriftUserAccount( + agent: SolanaAgentKit, + amount: number, + symbol: string, + address?: string, +) { + try { + const { driftClient, cleanUp } = await initClients(agent); + const publicKey = address ? new PublicKey(address) : agent.wallet.publicKey; + const user = new User({ + driftClient, + userAccountPublicKey: getUserAccountPublicKeySync( + new PublicKey(DRIFT_PROGRAM_ID), + publicKey, + ), + }); + const userAccountExists = await user.exists(); + const token = MainnetSpotMarkets.find( + (v) => v.symbol === symbol.toUpperCase(), + ); + + if (!token) { + throw new Error(`Token with symbol ${symbol} not found`); + } + + if (!userAccountExists) { + throw new Error("You need to create a Drift user account first."); + } + + const depositAmount = new BN(amount).mul(token.precision); + const txSignature = await driftClient.deposit( + depositAmount, + token.marketIndex, + getAssociatedTokenAddressSync(token.mint, publicKey), + ); + + await cleanUp(); + return txSignature; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to deposit to user account: ${e.message}`); + } +} + +export async function withdrawFromDriftUserAccount( + agent: SolanaAgentKit, + amount: number, + symbol: string, +) { + try { + const { driftClient, cleanUp } = await initClients(agent); + const user = new User({ + driftClient, + userAccountPublicKey: getUserAccountPublicKeySync( + new PublicKey(DRIFT_PROGRAM_ID), + agent.wallet.publicKey, + ), + }); + const userAccountExists = await user.exists(); + + if (!userAccountExists) { + throw new Error("You need to create a Drift user account first."); + } + + const token = MainnetSpotMarkets.find( + (v) => v.symbol === symbol.toUpperCase(), + ); + + if (!token) { + throw new Error(`Token with symbol ${symbol} not found`); + } + + const withdrawAmount = numberToSafeBN(amount, token.precision); + + const txSignature = await driftClient.withdraw( + withdrawAmount, + token.marketIndex, + getAssociatedTokenAddressSync(token.mint, agent.wallet.publicKey), + ); + + await cleanUp(); + return txSignature; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to withdraw from user account: ${e.message}`); + } +} + +/** + * Open a perpetual trade on drift + * @param agent + * @param params.amount + * @param params.symbol + * @param params.action + * @param params.type + * @param params.price this should only be supplied if type is limit + * @param params.reduceOnly + */ +export async function driftPerpTrade( + agent: SolanaAgentKit, + params: { + amount: number; + symbol: string; + action: "long" | "short"; + type: "market" | "limit"; + price?: number; + }, +) { + try { + const { driftClient, cleanUp } = await initClients(agent); + const user = new User({ + driftClient, + userAccountPublicKey: getUserAccountPublicKeySync( + new PublicKey(DRIFT_PROGRAM_ID), + agent.wallet.publicKey, + ), + }); + const userAccountExists = await user.exists(); + + if (!userAccountExists) { + throw new Error("You need to create a Drift user account first."); + } + + const market = driftClient.getMarketIndexAndType( + `${params.symbol.toUpperCase()}-PERP`, + ); + + if (!market) { + throw new Error(`Token with symbol ${params.symbol} not found`); + } + + const baseAssetPrice = driftClient.getOracleDataForPerpMarket( + market.marketIndex, + ); + const convertedAmount = + params.amount / convertToNumber(baseAssetPrice.price, PRICE_PRECISION); + + let signature: anchor.web3.TransactionSignature; + + if (params.type === "limit") { + if (!params.price) { + throw new Error("Price is required for limit orders"); + } + + signature = await driftClient.placePerpOrder( + getLimitOrderParams({ + baseAssetAmount: numberToSafeBN(convertedAmount, BASE_PRECISION), + reduceOnly: false, + direction: + params.action === "long" + ? PositionDirection.LONG + : PositionDirection.SHORT, + marketIndex: market.marketIndex, + price: numberToSafeBN(params.price, PRICE_PRECISION), + postOnly: PostOnlyParams.SLIDE, + }), + ); + } else { + signature = await driftClient.placePerpOrder( + getMarketOrderParams({ + baseAssetAmount: numberToSafeBN(convertedAmount, BASE_PRECISION), + reduceOnly: false, + direction: + params.action === "long" + ? PositionDirection.LONG + : PositionDirection.SHORT, + marketIndex: market.marketIndex, + }), + ); + } + + if (!signature) { + throw new Error("Failed to place order. Please make sure "); + } + + await cleanUp(); + return signature; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to place order: ${e.message}`); + } +} + +/** + * Check if a user has a drift account + * @param agent + */ +export async function doesUserHaveDriftAccount(agent: SolanaAgentKit) { + try { + const { driftClient, cleanUp } = await initClients(agent); + const user = new User({ + driftClient, + userAccountPublicKey: getUserAccountPublicKeySync( + new PublicKey(DRIFT_PROGRAM_ID), + agent.wallet.publicKey, + ), + }); + user.getActivePerpPositions(); + const userAccountExists = await user.exists(); + await cleanUp(); + return { + hasAccount: userAccountExists, + account: user.userAccountPublicKey, + }; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to check user account: ${e.message}`); + } +} diff --git a/src/tools/drift_vault.ts b/src/tools/drift_vault.ts index 54d56d7..200c6ef 100644 --- a/src/tools/drift_vault.ts +++ b/src/tools/drift_vault.ts @@ -1,8 +1,6 @@ import { BASE_PRECISION, convertToNumber, - DriftClient, - FastSingleTxSender, getLimitOrderParams, getMarketOrderParams, getOrderParams, @@ -16,17 +14,12 @@ import { PRICE_PRECISION, QUOTE_PRECISION, TEN, - type IWallet, } from "@drift-labs/sdk"; import { - VAULT_PROGRAM_ID, - VaultClient, - IDL, WithdrawUnit, encodeName, getVaultDepositorAddressSync, } from "@drift-labs/vaults-sdk"; -import * as anchor from "@coral-xyz/anchor"; import { ComputeBudgetProgram, PublicKey, @@ -34,6 +27,7 @@ import { } from "@solana/web3.js"; import type { SolanaAgentKit } from "../agent"; import { BN } from "bn.js"; +import { initClients } from "./drift"; export function getMarketIndexAndType(name: `${string}-${string}`) { const [symbol, type] = name.toUpperCase().split("-"); @@ -53,58 +47,6 @@ export function getMarketIndexAndType(name: `${string}-${string}`) { return { marketIndex: token.marketIndex, marketType: MarketType.SPOT }; } -async function initClients(agent: SolanaAgentKit) { - const wallet: IWallet = { - publicKey: agent.wallet.publicKey, - payer: agent.wallet, - signAllTransactions: async (txs) => { - for (const tx of txs) { - tx.sign(agent.wallet); - } - return txs; - }, - signTransaction: async (tx) => { - tx.sign(agent.wallet); - return tx; - }, - }; - - const driftClient = new DriftClient({ - connection: agent.connection, - wallet, - env: "mainnet-beta", - txSender: new FastSingleTxSender({ - connection: agent.connection, - wallet, - timeout: 30000, - blockhashRefreshInterval: 1000, - opts: { - commitment: agent.connection.commitment ?? "confirmed", - skipPreflight: false, - preflightCommitment: agent.connection.commitment ?? "confirmed", - }, - }), - }); - const vaultProgram = new anchor.Program( - IDL, - VAULT_PROGRAM_ID, - driftClient.provider, - ); - const vaultClient = new VaultClient({ - driftClient, - // @ts-expect-error - type mismatch due to different dep versions - program: vaultProgram, - cliMode: false, - }); - await driftClient.subscribe(); - - async function cleanUp() { - await driftClient.unsubscribe(); - } - - return { driftClient, vaultClient, cleanUp }; -} - async function getOrCreateVaultDepositor(agent: SolanaAgentKit, vault: string) { const { vaultClient, cleanUp } = await initClients(agent); const vaultPublicKey = new PublicKey(vault); @@ -236,27 +178,49 @@ export async function updateVault( }, ) { try { - const { vaultClient, cleanUp } = await initClients(agent); + const { vaultClient, cleanUp, driftClient } = await initClients(agent); const vaultPublicKey = new PublicKey(vault); const vaultDetails = await vaultClient.getVault(vaultPublicKey); + const spotMarket = driftClient.getSpotMarketAccount( + vaultDetails.spotMarketIndex, + ); + + if (!spotMarket) { + throw new Error("Market not found"); + } + + const spotPrecision = TEN.pow(new BN(spotMarket.decimals)); + const tx = await vaultClient.managerUpdateVault(vaultPublicKey, { redeemPeriod: new BN( params.redeemPeriod ? params.redeemPeriod * 86400 : vaultDetails.redeemPeriod, ), - maxTokens: new BN(params.maxTokens ?? vaultDetails.maxTokens), - minDepositAmount: new BN( - params.minDepositAmount ?? vaultDetails.minDepositAmount, - ), - managementFee: new BN(params.managementFee ?? vaultDetails.managementFee), - profitShare: new BN( - params.profitShare ?? vaultDetails.profitShare, - ).toNumber(), - hurdleRate: new BN( - params.hurdleRate ?? vaultDetails.hurdleRate, - ).toNumber(), + maxTokens: params.maxTokens + ? numberToSafeBN(params.maxTokens, spotPrecision) + : vaultDetails.maxTokens, + minDepositAmount: params.minDepositAmount + ? numberToSafeBN(params.minDepositAmount, spotPrecision) + : vaultDetails.minDepositAmount, + managementFee: params.managementFee + ? new BN(params.managementFee) + .mul(PERCENTAGE_PRECISION) + .div(new BN(100)) + : vaultDetails.managementFee, + profitShare: params.profitShare + ? new BN(params.profitShare) + .mul(PERCENTAGE_PRECISION) + .div(new BN(100)) + .toNumber() + : vaultDetails.profitShare, + hurdleRate: params.hurdleRate + ? new BN(params.hurdleRate) + .mul(PERCENTAGE_PRECISION) + .div(new BN(100)) + .toNumber() + : vaultDetails.hurdleRate, permissioned: params.permissioned ?? vaultDetails.permissioned, }); @@ -494,15 +458,18 @@ export async function tradeDriftVault( const perpMarketIndexAndType = getMarketIndexAndType( `${symbol.toUpperCase()}-PERP`, ); + const perpMarketAccount = driftClient.getPerpMarketAccount( + perpMarketIndexAndType.marketIndex, + ); - if (!perpMarketIndexAndType) { + if (!perpMarketIndexAndType || !perpMarketAccount) { throw new Error( "Invalid symbol: Drift doesn't have a market for this token", ); } const perpOracle = driftClient.getOracleDataForPerpMarket( - perpMarketIndexAndType.marketIndex, + perpMarketAccount.marketIndex, ); const oraclePriceNumber = convertToNumber( perpOracle.price, @@ -530,7 +497,7 @@ export async function tradeDriftVault( action === "buy" ? PositionDirection.LONG : PositionDirection.SHORT, - marketIndex: perpMarketIndexAndType.marketIndex, + marketIndex: perpMarketAccount.marketIndex, postOnly: PostOnlyParams.SLIDE, }), ), @@ -548,7 +515,7 @@ export async function tradeDriftVault( action === "buy" ? PositionDirection.LONG : PositionDirection.SHORT, - marketIndex: perpMarketIndexAndType.marketIndex, + marketIndex: perpMarketAccount.marketIndex, }), ), ]); diff --git a/src/tools/index.ts b/src/tools/index.ts index f466f59..c231a58 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -52,3 +52,4 @@ export * from "./flash_close_trade"; export * from "./create_3land_collectible"; export * from "./drift_vault"; +export * from "./drift"; From fcbb2e18c66cc91b29d05bc9d1efac977afac876 Mon Sep 17 00:00:00 2001 From: aryan Date: Mon, 13 Jan 2025 03:33:04 +0530 Subject: [PATCH 118/138] chore: docs + version --- docs/classes/SolanaAgentKit.html | 16 ++++++++-------- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/interfaces/Action.html | 14 +++++++------- docs/interfaces/ActionExample.html | 4 ++-- docs/interfaces/BatchOrderPattern.html | 4 ++-- docs/interfaces/CollectionDeployment.html | 4 ++-- docs/interfaces/CollectionOptions.html | 4 ++-- docs/interfaces/Config.html | 4 ++-- docs/interfaces/Creator.html | 4 ++-- docs/interfaces/FetchPriceResponse.html | 4 ++-- docs/interfaces/FlashCloseTradeParams.html | 4 ++-- docs/interfaces/FlashTradeParams.html | 4 ++-- docs/interfaces/GibworkCreateTaskReponse.html | 4 ++-- docs/interfaces/JupiterTokenData.html | 4 ++-- docs/interfaces/LuloAccountDetailsResponse.html | 4 ++-- docs/interfaces/MintCollectionNFTResponse.html | 4 ++-- docs/interfaces/OrderParams.html | 4 ++-- docs/interfaces/PumpFunTokenOptions.html | 4 ++-- docs/interfaces/PumpfunLaunchResponse.html | 4 ++-- docs/interfaces/PythFetchPriceResponse.html | 4 ++-- docs/interfaces/PythPriceFeedIDItem.html | 4 ++-- docs/interfaces/PythPriceItem.html | 4 ++-- docs/interfaces/TokenCheck.html | 4 ++-- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- package.json | 2 +- 30 files changed, 63 insertions(+), 63 deletions(-) diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 5440490..84a3cfe 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 @@ -77,14 +77,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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Returns Promise<{ signature: string; size: number }>

    • 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

      • optionsWithBase58: StoreInitOptions
      • collectionOpts: CreateCollectionOptions

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionAccount: string
      • createItemOptions: CreateSingleOptions
      • isMainnet: boolean

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Closes an existing trading position on Flash.Trade

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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Returns Promise<{ signature: string; size: number }>

    • 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

      • optionsWithBase58: StoreInitOptions
      • collectionOpts: CreateCollectionOptions

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionAccount: string
      • createItemOptions: CreateSingleOptions
      • isMainnet: boolean

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Opens a new trading position on Flash.Trade

      Parameters

      • params: FlashTradeParams

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

      Returns Promise<string>

      Transaction signature

      -
    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      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

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index dc4a8cd..1713c73 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
          | Solana3LandCreateSingle
          | Solana3LandCreateCollection
          | SolanaCloseEmptyTokenAccounts
          | SolanaCreate2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaApproveProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaExecuteProposal2by2Multisig
      )[]

    +createSolanaTools | solana-agent-kit

    Function createSolanaTools

    • Parameters

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

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 20aab3b..8e46ff9 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 1dd05f1..a92edc3 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 cab7bee..8d68c1f 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 866f4c1..b4b0757 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

    • action: Action

    Returns string

    diff --git a/docs/interfaces/Action.html b/docs/interfaces/Action.html index cf3930c..94d0f09 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 dfef543..7ce1a6f 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 48c1f92..b49c652 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 25dd7e8..d2e5ec4 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 0a7ddc6..f54bfd2 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 7f7456e..1dfabb1 100644 --- a/docs/interfaces/Config.html +++ b/docs/interfaces/Config.html @@ -1,5 +1,5 @@ -Config | solana-agent-kit

    Interface Config

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

    Properties

    FLASH_PRIVILEGE? +Config | solana-agent-kit

    Interface Config

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

    Properties

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

    Properties

    FLASH_PRIVILEGE?: string
    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 ecdf8db..6a77453 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 0a77780..0e63137 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 index 443ec20..ca7066c 100644 --- a/docs/interfaces/FlashCloseTradeParams.html +++ b/docs/interfaces/FlashCloseTradeParams.html @@ -1,3 +1,3 @@ -FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    side +FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

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

    Properties

    Properties

    side: "long" | "short"
    token: string
    +

    Properties

    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/FlashTradeParams.html b/docs/interfaces/FlashTradeParams.html index ab9bbde..ce05bc5 100644 --- a/docs/interfaces/FlashTradeParams.html +++ b/docs/interfaces/FlashTradeParams.html @@ -1,5 +1,5 @@ -FlashTradeParams | solana-agent-kit

    Interface FlashTradeParams

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

    Properties

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

    Properties

    collateralUsd: number
    leverage: number
    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index 22fd1b4..2bfd6a4 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 9de063e..d9662aa 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 498ae5a..021827c 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 b3c8140..4f140f0 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 0f230fa..5c175df 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 884eff7..1421dc2 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 c603d3d..ce6b299 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 c9a8072..97ef79b 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 ee4bb5c..318db5d 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 04e1cf6..168f60e 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 bf1c093..b54a877 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 e97135e..f800d57 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

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

        Returns Promise<Record<string, any>>

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index ef90e43..3cbb093 100644 --- a/docs/variables/actions.html +++ b/docs/variables/actions.html @@ -1 +1 @@ -ACTIONS | solana-agent-kit

    Variable ACTIONSConst

    ACTIONS: {
        APPROVE_MULTISIG_PROPOSAL_ACTION: Action;
        BALANCE_ACTION: Action;
        CREATE_GIBWORK_TASK_ACTION: Action;
        CREATE_IMAGE_ACTION: Action;
        CREATE_MULTISIG_ACTION: Action;
        CREATE_MULTISIG_PROPOSAL_ACTION: Action;
        CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action;
        DEPLOY_COLLECTION_ACTION: Action;
        DEPLOY_TOKEN_ACTION: Action;
        DEPOSIT_TO_MULTISIG_ACTION: Action;
        EXECUTE_MULTISIG_PROPOSAL_ACTION: Action;
        FETCH_PRICE_ACTION: Action;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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;
        REJECT_MULTISIG_PROPOSAL_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;
        TRANSFER_FROM_MULTISIG_ACTION: Action;
        WALLET_ADDRESS_ACTION: Action;
    } = ...

    Type declaration

    • APPROVE_MULTISIG_PROPOSAL_ACTION: Action
    • BALANCE_ACTION: Action
    • CREATE_GIBWORK_TASK_ACTION: Action
    • CREATE_IMAGE_ACTION: Action
    • CREATE_MULTISIG_ACTION: Action
    • CREATE_MULTISIG_PROPOSAL_ACTION: Action
    • CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action
    • DEPLOY_COLLECTION_ACTION: Action
    • DEPLOY_TOKEN_ACTION: Action
    • DEPOSIT_TO_MULTISIG_ACTION: Action
    • EXECUTE_MULTISIG_PROPOSAL_ACTION: Action
    • FETCH_PRICE_ACTION: Action
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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
    • REJECT_MULTISIG_PROPOSAL_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
    • TRANSFER_FROM_MULTISIG_ACTION: Action
    • WALLET_ADDRESS_ACTION: Action
    +ACTIONS | solana-agent-kit

    Variable ACTIONSConst

    ACTIONS: {
        APPROVE_MULTISIG_PROPOSAL_ACTION: Action;
        BALANCE_ACTION: Action;
        CREATE_GIBWORK_TASK_ACTION: Action;
        CREATE_IMAGE_ACTION: Action;
        CREATE_MULTISIG_ACTION: Action;
        CREATE_MULTISIG_PROPOSAL_ACTION: Action;
        CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action;
        DEPLOY_COLLECTION_ACTION: Action;
        DEPLOY_TOKEN_ACTION: Action;
        DEPOSIT_TO_MULTISIG_ACTION: Action;
        EXECUTE_MULTISIG_PROPOSAL_ACTION: Action;
        FETCH_PRICE_ACTION: Action;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_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;
        REJECT_MULTISIG_PROPOSAL_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;
        TRANSFER_FROM_MULTISIG_ACTION: Action;
        WALLET_ADDRESS_ACTION: Action;
    } = ...

    Type declaration

    • APPROVE_MULTISIG_PROPOSAL_ACTION: Action
    • BALANCE_ACTION: Action
    • CREATE_GIBWORK_TASK_ACTION: Action
    • CREATE_IMAGE_ACTION: Action
    • CREATE_MULTISIG_ACTION: Action
    • CREATE_MULTISIG_PROPOSAL_ACTION: Action
    • CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action
    • DEPLOY_COLLECTION_ACTION: Action
    • DEPLOY_TOKEN_ACTION: Action
    • DEPOSIT_TO_MULTISIG_ACTION: Action
    • EXECUTE_MULTISIG_PROPOSAL_ACTION: Action
    • FETCH_PRICE_ACTION: Action
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_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
    • REJECT_MULTISIG_PROPOSAL_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
    • TRANSFER_FROM_MULTISIG_ACTION: Action
    • WALLET_ADDRESS_ACTION: Action
    diff --git a/package.json b/package.json index c89eac4..57a7f34 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solana-agent-kit", - "version": "1.3.8", + "version": "1.4.0", "description": "connect any ai agents to solana protocols", "main": "dist/index.js", "types": "dist/index.d.ts", From 58a9edd7e2b66ef75fcdadeef7a40c031cfe66ec Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Sun, 12 Jan 2025 12:13:37 +0530 Subject: [PATCH 119/138] refactored code --- src/agent/index.ts | 40 ++++ src/langchain/helius/create_webhook.ts | 65 +++++++ src/langchain/helius/delete_webhook.ts | 39 ++++ src/langchain/helius/get_all_assets.ts | 38 ++++ src/langchain/helius/get_webhook.ts | 43 +++++ src/langchain/helius/index.ts | 6 + src/langchain/helius/parse_transaction.ts | 32 ++++ .../helius/send_transaction_priority.ts | 63 +++++++ src/langchain/index.ts | 13 ++ src/tools/helius/get_assets_by_owner.ts | 57 ++++++ .../helius/helius_transaction_parsing.ts | 44 +++++ src/tools/helius/helius_webhooks.ts | 132 +++++++++++++ src/tools/helius/index.ts | 4 + .../helius/send_transaction_with_priority.ts | 174 ++++++++++++++++++ src/tools/index.ts | 2 + src/types/index.ts | 23 +++ test/index.ts | 1 + 17 files changed, 776 insertions(+) create mode 100644 src/langchain/helius/create_webhook.ts create mode 100644 src/langchain/helius/delete_webhook.ts create mode 100644 src/langchain/helius/get_all_assets.ts create mode 100644 src/langchain/helius/get_webhook.ts create mode 100644 src/langchain/helius/index.ts create mode 100644 src/langchain/helius/parse_transaction.ts create mode 100644 src/langchain/helius/send_transaction_priority.ts create mode 100644 src/tools/helius/get_assets_by_owner.ts create mode 100644 src/tools/helius/helius_transaction_parsing.ts create mode 100644 src/tools/helius/helius_webhooks.ts create mode 100644 src/tools/helius/index.ts create mode 100644 src/tools/helius/send_transaction_with_priority.ts diff --git a/src/agent/index.ts b/src/agent/index.ts index 6ebc6bd..0b97c5e 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -76,6 +76,12 @@ import { multisig_reject_proposal, multisig_approve_proposal, multisig_execute_proposal, + parseTransaction, + sendTransactionWithPriorityFee, + getAssetsByOwner, + getHeliusWebhook, + create_HeliusWebhook, + deleteHeliusWebhook, } from "../tools"; import { Config, @@ -90,6 +96,8 @@ import { OrderParams, FlashTradeParams, FlashCloseTradeParams, + HeliusWebhookIdResponse, + HeliusWebhookResponse, } from "../types"; /** @@ -654,4 +662,36 @@ export class SolanaAgentKit { ): Promise { return multisig_execute_proposal(this, transactionIndex); } + async CreateWebhook( + accountAddresses: string[], + webhookURL: string, + ): Promise { + return create_HeliusWebhook(this, accountAddresses, webhookURL); + } + async getWebhook(id: string): Promise { + return getHeliusWebhook(this, id); + } + async deleteWebhook(webhookID: string): Promise { + return deleteHeliusWebhook(this, webhookID); + } + async heliusParseTransactions(transactionId: string): Promise { + return parseTransaction(this, transactionId); + } + async getAllAssetsbyOwner(owner: PublicKey, limit: number): Promise { + return getAssetsByOwner(this, owner, limit); + } + async sendTranctionWithPriority( + priorityLevel: string, + amount: number, + to: PublicKey, + splmintAddress?: PublicKey, + ): Promise<{ transactionId: string; fee: number }> { + return sendTransactionWithPriorityFee( + this, + priorityLevel, + amount, + to, + splmintAddress, + ); + } } diff --git a/src/langchain/helius/create_webhook.ts b/src/langchain/helius/create_webhook.ts new file mode 100644 index 0000000..05dd6d5 --- /dev/null +++ b/src/langchain/helius/create_webhook.ts @@ -0,0 +1,65 @@ +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; + +export class SolanaHeliusWebhookTool extends Tool { + name = "create_helius_webhook"; + description = `Creates a Helius Webhook that listens to specified account addresses. + Inputs (input is a JSON string): + accountAddresses: string[] | string, + e.g. ["BVdNLvyG2DNiWAXBE9qAmc4MTQXymd5Bzfo9xrQSUzVP","Eo2ciguhMLmcTWXELuEQPdu7DWZt67LHXb2rdHZUbot7"] + or "BVdNLvyG2DNiWAXBE9qAmc4MTQXymd5Bzfo9xrQSUzVP,Eo2ciguhMLmcTWXELuEQPdu7DWZt67LHXb2rdHZUbot7" + webhookURL: string, e.g. "https://TestServer.test.repl.co/webhooks"`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + let accountAddresses: string[] = []; + + if (!parsedInput.accountAddresses) { + throw new Error('Missing "accountAddresses" property in input JSON.'); + } + if (Array.isArray(parsedInput.accountAddresses)) { + accountAddresses = parsedInput.accountAddresses.map((addr: string) => + addr.trim(), + ); + } else if (typeof parsedInput.accountAddresses === "string") { + accountAddresses = parsedInput.accountAddresses + .split(",") + .map((addr: string) => addr.trim()); + } else { + throw new Error( + 'Invalid type for "accountAddresses". Expected array or comma-separated string.', + ); + } + + const webhookURL = parsedInput.webhookURL; + if (!webhookURL) { + throw new Error( + 'Invalid input. Expected a "webhookURL" property in the JSON.', + ); + } + const result = await this.solanaKit.CreateWebhook( + accountAddresses, + webhookURL, + ); + + // Return success in JSON + return JSON.stringify({ + status: "success", + message: "Helius Webhook created successfully", + webhookURL: result.webhookURL, + webhookID: result.webhookID, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} diff --git a/src/langchain/helius/delete_webhook.ts b/src/langchain/helius/delete_webhook.ts new file mode 100644 index 0000000..dd7d952 --- /dev/null +++ b/src/langchain/helius/delete_webhook.ts @@ -0,0 +1,39 @@ +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; + +export class SolanaDeleteHeliusWebhookTool extends Tool { + name = "delete_helius_webhook"; + description = `Deletes a Helius Webhook by its ID. + Inputs (input is a JSON string): + webhookID: string, e.g. "1ed4244d-a591-4854-ac31-cc28d40b8255"`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + const webhookID = parsedInput.webhookID; + if (!webhookID || typeof webhookID !== "string") { + throw new Error( + 'Invalid input. Expected a "webhookID" property in the JSON.', + ); + } + const result = await this.solanaKit.deleteWebhook(webhookID); + + return JSON.stringify({ + status: "success", + message: "Helius Webhook deleted successfully", + data: result, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} diff --git a/src/langchain/helius/get_all_assets.ts b/src/langchain/helius/get_all_assets.ts new file mode 100644 index 0000000..eb06c46 --- /dev/null +++ b/src/langchain/helius/get_all_assets.ts @@ -0,0 +1,38 @@ +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; +import { PublicKey } from "@solana/web3.js"; + +export class SolanaGetAllAssetsByOwner extends Tool { + name = "solana_get_all_assets_by_owner"; + description = `Get all assets owned by a specific wallet address. + Inputs: + - owner: string, the wallet address of the owner, e.g., "4Be9CvxqHW6BYiRAxW9Q3xu1ycTMWaL5z8NX4HR3ha7t" (required) + - limit: number, the maximum number of assets to retrieve (optional)`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const { owner, limit } = JSON.parse(input); + const ownerPubkey = new PublicKey(owner); + + const assets = await this.solanaKit.getAllAssetsbyOwner( + ownerPubkey, + limit, + ); + return JSON.stringify({ + status: "success", + message: "Assets retrieved successfully", + assets: assets, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} diff --git a/src/langchain/helius/get_webhook.ts b/src/langchain/helius/get_webhook.ts new file mode 100644 index 0000000..410580f --- /dev/null +++ b/src/langchain/helius/get_webhook.ts @@ -0,0 +1,43 @@ +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; + +export class SolanaGetHeliusWebhookTool extends Tool { + name = "get_helius_webhook"; + description = `Retrieves a Helius Webhook by its ID. + Inputs (input is a JSON string): + webhookID: string, e.g. "1ed4244d-a591-4854-ac31-cc28d40b8255"`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + const webhookID = parsedInput.webhookID; + if (!webhookID || typeof webhookID !== "string") { + throw new Error( + 'Invalid input. Expected a "webhookID" property in the JSON.', + ); + } + + const result = await this.solanaKit.getWebhook(webhookID); + return JSON.stringify({ + status: "success", + message: "Helius Webhook retrieved successfully", + wallet: result.wallet, + webhookURL: result.webhookURL, + transactionTypes: result.transactionTypes, + accountAddresses: result.accountAddresses, + webhookType: result.webhookType, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} diff --git a/src/langchain/helius/index.ts b/src/langchain/helius/index.ts new file mode 100644 index 0000000..652b20e --- /dev/null +++ b/src/langchain/helius/index.ts @@ -0,0 +1,6 @@ +export * from "./create_webhook"; +export * from "./delete_webhook"; +export * from "./get_all_assets"; +export * from "./get_webhook"; +export * from "./parse_transaction"; +export * from "./send_transaction_priority"; diff --git a/src/langchain/helius/parse_transaction.ts b/src/langchain/helius/parse_transaction.ts new file mode 100644 index 0000000..33d318c --- /dev/null +++ b/src/langchain/helius/parse_transaction.ts @@ -0,0 +1,32 @@ +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; + +export class SolanaParseTransactionHeliusTool extends Tool { + name = "solana_parse_transaction_helius"; + description = `Parse a Solana transaction using Helius API. + Inputs: + - transactionId: string, the ID of the transaction to parse, e.g., "5h3k...9d2k" (required).`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const transactionId = input.trim(); + const parsedTransaction = + await this.solanaKit.heliusParseTransactions(transactionId); + return JSON.stringify({ + status: "success", + message: "transaction parsed successfully", + transaction: parsedTransaction, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "NOt able to Parse transaction", + }); + } + } +} diff --git a/src/langchain/helius/send_transaction_priority.ts b/src/langchain/helius/send_transaction_priority.ts new file mode 100644 index 0000000..ee492e5 --- /dev/null +++ b/src/langchain/helius/send_transaction_priority.ts @@ -0,0 +1,63 @@ +import { Tool } from "langchain/tools"; +import { SolanaAgentKit } from "../../agent"; +import { PublicKey } from "@solana/web3.js"; + +export class SolanaSendTransactionWithPriorityFee extends Tool { + name = "solana_send_transaction_with_priority_fee"; + description = `Sends a Solana transaction with a user-defined priority fee. + **Inputs (JSON-encoded string)**: + - priorityLevel: string — the priority level ("NONE", "Min", "Low", "Medium", "High", "VeryHigh", or "UnsafeMax") + - amount: number — the amount of SOL to send + - to: string — the recipient's wallet address (public key in base58);`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const { priorityLevel, amount, to, splmintAddress } = JSON.parse(input); + + const validPriorityLevels = [ + "NONE", + "Min", + "Low", + "Medium", + "High", + "VeryHigh", + "UnsafeMax", + ]; + if (!validPriorityLevels.includes(priorityLevel)) { + throw new Error( + `Invalid priority level. Must be one of: ${validPriorityLevels.join(", ")}. Received: ${priorityLevel}`, + ); + } + + if (!amount || !to) { + throw new Error( + `Missing required fields. Received: priorityLevel=${priorityLevel}, amount=${amount}, to=${to}`, + ); + } + + const toPubkey = new PublicKey(to); + const priorityFeeTx = await this.solanaKit.sendTranctionWithPriority( + priorityLevel, + amount, + toPubkey, + splmintAddress, + ); + + return JSON.stringify({ + status: "success", + message: "Transaction sent successfully", + priorityFeeTx, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 707a5d2..524b3d0 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -24,6 +24,7 @@ export * from "./tiplink"; export * from "./sns"; export * from "./lightprotocol"; export * from "./squads"; +export * from "./helius"; import { SolanaAgentKit } from "../agent"; import { @@ -91,6 +92,12 @@ import { SolanaApproveProposal2by2Multisig, SolanaExecuteProposal2by2Multisig, SolanaRejectProposal2by2Multisig, + SolanaSendTransactionWithPriorityFee, + SolanaHeliusWebhookTool, + SolanaGetHeliusWebhookTool, + SolanaDeleteHeliusWebhookTool, + SolanaParseTransactionHeliusTool, + SolanaGetAllAssetsByOwner, } from "./index"; export function createSolanaTools(solanaKit: SolanaAgentKit) { @@ -159,5 +166,11 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaExecuteProposal2by2Multisig(solanaKit), new SolanaDepositTo2by2Multisig(solanaKit), new SolanaTransferFrom2by2Multisig(solanaKit), + new SolanaSendTransactionWithPriorityFee(solanaKit), + new SolanaHeliusWebhookTool(solanaKit), + new SolanaGetHeliusWebhookTool(solanaKit), + new SolanaDeleteHeliusWebhookTool(solanaKit), + new SolanaParseTransactionHeliusTool(solanaKit), + new SolanaGetAllAssetsByOwner(solanaKit), ]; } diff --git a/src/tools/helius/get_assets_by_owner.ts b/src/tools/helius/get_assets_by_owner.ts new file mode 100644 index 0000000..05d225c --- /dev/null +++ b/src/tools/helius/get_assets_by_owner.ts @@ -0,0 +1,57 @@ +import { SolanaAgentKit } from "../../index"; +import { PublicKey } from "@solana/web3.js"; + +/** + * Fetch assets by owner using the Helius Digital Asset Standard (DAS) API + * @param agent SolanaAgentKit instance + * @param ownerPublicKey Owner's Solana wallet PublicKey + * @param limit Number of assets to retrieve per request + * @returns Assets owned by the specified address + */ +export async function getAssetsByOwner( + agent: SolanaAgentKit, + ownerPublicKey: PublicKey, + limit: number, +): Promise { + try { + const apiKey = agent.config.HELIUS_API_KEY; + if (!apiKey) { + throw new Error("HELIUS_API_KEY not found in environment variables"); + } + + const url = `https://mainnet.helius-rpc.com/?api-key=${apiKey}`; + + const response = await fetch(url, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + jsonrpc: "2.0", + id: "get-assets", + method: "getAssetsByOwner", + params: { + ownerAddress: ownerPublicKey.toString(), + page: 3, + limit: limit, + displayOptions: { + showFungible: true, + }, + }, + }), + }); + + if (!response.ok) { + throw new Error( + `Failed to fetch: ${response.status} - ${response.statusText}`, + ); + } + + const data = await response.json(); + + return data.result.items; + } catch (error: any) { + console.error("Error retrieving assets: ", error.message); + throw new Error(`Assets retrieval failed: ${error.message}`); + } +} diff --git a/src/tools/helius/helius_transaction_parsing.ts b/src/tools/helius/helius_transaction_parsing.ts new file mode 100644 index 0000000..54a39a6 --- /dev/null +++ b/src/tools/helius/helius_transaction_parsing.ts @@ -0,0 +1,44 @@ +import { SolanaAgentKit } from "../../index"; + +/** + * Parse a Solana transaction using the Helius Enhanced Transactions API + * @param agent SolanaAgentKit instance + * @param transactionId The transaction ID to parse + * @returns Parsed transaction data + */ +export async function parseTransaction( + agent: SolanaAgentKit, + transactionId: string, +): Promise { + try { + const apiKey = agent.config.HELIUS_API_KEY; + if (!apiKey) { + throw new Error("HELIUS_API_KEY not found in environment variables"); + } + + const url = `https://api.helius.xyz/v0/transactions/?api-key=${apiKey}`; + + const response = await fetch(url, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + transactions: [transactionId], + }), + }); + + if (!response.ok) { + throw new Error( + `Failed to fetch: ${response.status} - ${response.statusText}`, + ); + } + + const data = await response.json(); + + return data; + } catch (error: any) { + console.error("Error parsing transaction: ", error.message); + throw new Error(`Transaction parsing failed: ${error.message}`); + } +} diff --git a/src/tools/helius/helius_webhooks.ts b/src/tools/helius/helius_webhooks.ts new file mode 100644 index 0000000..48a16e3 --- /dev/null +++ b/src/tools/helius/helius_webhooks.ts @@ -0,0 +1,132 @@ +import { SolanaAgentKit } from "../../index"; +import { HeliusWebhookResponse, HeliusWebhookIdResponse } from "../../index"; + +export async function create_HeliusWebhook( + agent: SolanaAgentKit, + accountAddresses: string[], + webhookURL: string, +): Promise { + try { + const response = await fetch( + `https://api.helius.xyz/v0/webhooks?api-key=${agent.config.HELIUS_API_KEY}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + webhookURL, + transactionTypes: ["Any"], + accountAddresses, + webhookType: "enhanced", + txnStatus: "all", + }), + }, + ); + + const data = await response.json(); + return { + webhookURL: data.webhookURL, + webhookID: data.webhookID, + }; + } catch (error: any) { + throw new Error(`Failed to create Webhook: ${error.message}`); + } +} + +/** + * Retrieves a Helius Webhook by ID, returning only the specified fields. + * + * @param agent - An instance of SolanaAgentKit (with .config.HELIUS_API_KEY) + * @param webhookID - The unique ID of the webhook to retrieve + * + * @returns A HeliusWebhook object containing { wallet, webhookURL, transactionTypes, accountAddresses, webhookType } + */ +export async function getHeliusWebhook( + agent: SolanaAgentKit, + webhookID: string, +): Promise { + try { + const apiKey = agent.config.HELIUS_API_KEY; + if (!apiKey) { + throw new Error("HELIUS_API_KEY is missing in agent.config"); + } + + const response = await fetch( + `https://api.helius.xyz/v0/webhooks/${webhookID}?api-key=${apiKey}`, + { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + }, + ); + + if (!response.ok) { + throw new Error( + `Failed to fetch webhook with ID ${webhookID}. ` + + `Status Code: ${response.status}`, + ); + } + + const data = await response.json(); + + return { + wallet: data.wallet, + webhookURL: data.webhookURL, + transactionTypes: data.transactionTypes, + accountAddresses: data.accountAddresses, + webhookType: data.webhookType, + }; + } catch (error: any) { + throw new Error(`Failed to get webhook by ID: ${error.message}`); + } +} + +/** + * Deletes a Helius Webhook by its ID. + * + * @param agent - An instance of SolanaAgentKit (with .config.HELIUS_API_KEY) + * @param webhookID - The unique ID of the webhook to delete + * + * @returns The response body from the Helius API (which may contain status or other info) + */ +export async function deleteHeliusWebhook( + agent: SolanaAgentKit, + webhookID: string, +): Promise { + try { + const apiKey = agent.config.HELIUS_API_KEY; + if (!apiKey) { + throw new Error("Missing Helius API key in agent.config.HELIUS_API_KEY"); + } + + const url = `https://api.helius.xyz/v0/webhooks/${webhookID}?api-key=${apiKey}`; + const response = await fetch(url, { + method: "DELETE", + headers: { + "Content-Type": "application/json", + }, + }); + + if (!response.ok) { + throw new Error( + `Failed to delete webhook: ${response.status} ${response.statusText}`, + ); + } + if (response.status === 204) { + return { message: "Webhook deleted successfully (no content returned)" }; + } + const contentLength = response.headers.get("Content-Length"); + if (contentLength === "0" || !contentLength) { + return { message: "Webhook deleted successfully (empty body)" }; + } + + // Otherwise, parse as JSON + const data = await response.json(); + return data; + } catch (error: any) { + console.error("Error deleting Helius Webhook:", error.message); + throw new Error(`Failed to delete Helius Webhook: ${error.message}`); + } +} diff --git a/src/tools/helius/index.ts b/src/tools/helius/index.ts new file mode 100644 index 0000000..cec732b --- /dev/null +++ b/src/tools/helius/index.ts @@ -0,0 +1,4 @@ +export * from "./get_assets_by_owner"; +export * from "./helius_transaction_parsing"; +export * from "./helius_webhooks"; +export * from "./send_transaction_with_priority"; diff --git a/src/tools/helius/send_transaction_with_priority.ts b/src/tools/helius/send_transaction_with_priority.ts new file mode 100644 index 0000000..3d49401 --- /dev/null +++ b/src/tools/helius/send_transaction_with_priority.ts @@ -0,0 +1,174 @@ +import { SolanaAgentKit, PriorityFeeResponse } from "../../index"; +import { + SystemProgram, + Transaction, + sendAndConfirmTransaction, + ComputeBudgetProgram, + PublicKey, + LAMPORTS_PER_SOL, +} from "@solana/web3.js"; +import { + getAssociatedTokenAddress, + createTransferInstruction, + getMint, + createAssociatedTokenAccountInstruction, +} from "@solana/spl-token"; +import bs58 from "bs58"; + +/** + * Sends a transaction with an estimated priority fee using the provided SolanaAgentKit. + * + * @param agent An instance of SolanaAgentKit containing connection, wallet, etc. + * @param priorityLevel The priority level (e.g., "Min", "Low", "Medium", "High", "VeryHigh", or "UnsafeMax"). + * @param amount The amount of SOL to send (in SOL, not lamports). + * @param to The recipient's PublicKey. + * @returns The transaction signature (string) once confirmed along with the fee used. + */ +export async function sendTransactionWithPriorityFee( + agent: SolanaAgentKit, + priorityLevel: string, + amount: number, + to: PublicKey, + splmintAddress?: PublicKey, +): Promise<{ transactionId: string; fee: number }> { + try { + if (!splmintAddress) { + const transaction = new Transaction(); + const { blockhash, lastValidBlockHeight } = + await agent.connection.getLatestBlockhash(); + transaction.recentBlockhash = blockhash; + transaction.lastValidBlockHeight = lastValidBlockHeight; + transaction.feePayer = agent.wallet_address; + + const transferIx = SystemProgram.transfer({ + fromPubkey: agent.wallet_address, + toPubkey: to, + lamports: amount * LAMPORTS_PER_SOL, + }); + + transaction.add(transferIx); + transaction.sign(agent.wallet); + + const response = await fetch( + `https://mainnet.helius-rpc.com/?api-key=${agent.config.HELIUS_API_KEY}`, + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + jsonrpc: "2.0", + id: "1", + method: "getPriorityFeeEstimate", + params: [ + { + transaction: bs58.encode(transaction.serialize()), + options: { priorityLevel: priorityLevel }, + }, + ], + } as PriorityFeeResponse), + }, + ); + + const data = await response.json(); + if (data.error) { + throw new Error("Error fetching priority fee:"); + } + const feeEstimate: number = data.result.priorityFeeEstimate; + + // Set the priority fee if applicable + const computePriceIx = ComputeBudgetProgram.setComputeUnitPrice({ + microLamports: feeEstimate, + }); + transaction.add(computePriceIx); + + // Send the transaction and confirm + const txSignature = await sendAndConfirmTransaction( + agent.connection, + transaction, + [agent.wallet], + ); + + return { + transactionId: txSignature, + fee: feeEstimate, + }; + } else { + const fromAta = await getAssociatedTokenAddress( + splmintAddress, + agent.wallet_address, + ); + const toAta = await getAssociatedTokenAddress(splmintAddress, to); + + const mintInfo = await getMint(agent.connection, splmintAddress); + const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); + + const transaction = new Transaction(); + const { blockhash, lastValidBlockHeight } = + await agent.connection.getLatestBlockhash(); + transaction.recentBlockhash = blockhash; + transaction.lastValidBlockHeight = lastValidBlockHeight; + transaction.feePayer = agent.wallet_address; + + const response = await fetch( + `https://mainnet.helius-rpc.com/?api-key=${agent.config.HELIUS_API_KEY}`, + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + jsonrpc: "2.0", + id: "1", + method: "getPriorityFeeEstimate", + params: [ + { + transaction: bs58.encode(transaction.serialize()), + options: { priorityLevel: priorityLevel }, + }, + ], + } as PriorityFeeResponse), + }, + ); + + const data = await response.json(); + if (data.error) { + throw new Error("Error fetching priority fee:"); + } + const feeEstimate: number = data.result.priorityFeeEstimate; + + transaction.add( + ComputeBudgetProgram.setComputeUnitPrice({ + microLamports: feeEstimate, + }), + ); + + transaction.add( + createAssociatedTokenAccountInstruction( + agent.wallet_address, + toAta, + to, + splmintAddress, + ), + ); + + transaction.add( + createTransferInstruction( + fromAta, + toAta, + agent.wallet_address, + adjustedAmount, + ), + ); + + const txSignature = await sendAndConfirmTransaction( + agent.connection, + transaction, + [agent.wallet], + ); + + return { + transactionId: txSignature, + fee: feeEstimate, + }; + } + } catch (error: any) { + throw new Error(`Failed to process transaction: ${error.message}`); + } +} diff --git a/src/tools/index.ts b/src/tools/index.ts index 6a546e9..c63e4bc 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -23,3 +23,5 @@ export * from "./3land"; export * from "./tiplink"; export * from "./lightprotocol"; export * from "./squads"; +export * from "./squads_multisig"; +export * from "./helius"; diff --git a/src/types/index.ts b/src/types/index.ts index 01ac152..2c0a54c 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -7,6 +7,7 @@ export interface Config { JUPITER_REFERRAL_ACCOUNT?: string; JUPITER_FEE_BPS?: number; FLASH_PRIVILEGE?: string; + HELIUS_API_KEY?: string; } export interface Creator { @@ -237,3 +238,25 @@ export interface FlashCloseTradeParams { token: string; side: "long" | "short"; } + +export interface HeliusWebhookResponse { + webhookURL: string; + webhookID: string; +} +export interface HeliusWebhookIdResponse { + wallet: string; + webhookURL: string; + transactionTypes: string[]; + accountAddresses: string[]; + webhookType: string; +} + +export interface PriorityFeeResponse { + jsonrpc: string; + id: string; + method: string; + params: Array<{ + transaction: string; + options: { priorityLevel: string }; + }>; +} diff --git a/test/index.ts b/test/index.ts index 00f9976..c666d33 100644 --- a/test/index.ts +++ b/test/index.ts @@ -55,6 +55,7 @@ async function initializeAgent() { process.env.RPC_URL!, { OPENAI_API_KEY: process.env.OPENAI_API_KEY!, + HELIUS_API_KEY: process.env.HELIUS_API_KEY!, }, ); From 418f55178a5d1b9c73be2c45f4073b4c3eb23f16 Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Tue, 7 Jan 2025 15:53:20 +0530 Subject: [PATCH 120/138] feat:parsing transactions and getting all Assets --- pnpm-lock.yaml | 1349 +++++++++++++++++++++++ src/agent/index.ts | 6 + src/tools/get_assets_by_owner.ts | 60 + src/tools/helius_transaction_parsing.ts | 47 + 4 files changed, 1462 insertions(+) create mode 100644 src/tools/get_assets_by_owner.ts create mode 100644 src/tools/helius_transaction_parsing.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0cd5d73..9644b73 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -113,6 +113,9 @@ importers: form-data: specifier: ^4.0.1 version: 4.0.1 + helius-sdk: + specifier: ^1.4.1 + version: 1.4.1(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) langchain: specifier: ^0.3.8 version: 0.3.9(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)) @@ -223,6 +226,18 @@ packages: resolution: {integrity: sha512-d6nWtUI//fyEN8DeLjm3+ro87Ad6+IKwR9pCqfrs/Azahso1xR1Llxd/O6fj/m1DDsuDj/HAsCsy5TC/aKD6Eg==} engines: {node: '>=11.0.0'} + '@aptos-labs/aptos-cli@1.0.2': + resolution: {integrity: sha512-PYPsd0Kk3ynkxNfe3S4fanI3DiUICCoh4ibQderbvjPFL5A0oK6F4lPEO2t0MDsQySTk2t4vh99Xjy6Bd9y+aQ==} + hasBin: true + + '@aptos-labs/aptos-client@0.1.1': + resolution: {integrity: sha512-kJsoy4fAPTOhzVr7Vwq8s/AUg6BQiJDa7WOqRzev4zsuIS3+JCuIZ6vUd7UBsjnxtmguJJulMRs9qWCzVBt2XA==} + engines: {node: '>=15.10.0'} + + '@aptos-labs/ts-sdk@1.33.1': + resolution: {integrity: sha512-d6nWtUI//fyEN8DeLjm3+ro87Ad6+IKwR9pCqfrs/Azahso1xR1Llxd/O6fj/m1DDsuDj/HAsCsy5TC/aKD6Eg==} + engines: {node: '>=11.0.0'} + '@babel/runtime@7.26.0': resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} @@ -505,6 +520,27 @@ packages: '@ethersproject/bignumber@5.7.0': resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} + '@ethersproject/abi@5.7.0': + resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} + + '@ethersproject/abstract-provider@5.7.0': + resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} + + '@ethersproject/abstract-signer@5.7.0': + resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} + + '@ethersproject/address@5.7.0': + resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} + + '@ethersproject/base64@5.7.0': + resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} + + '@ethersproject/basex@5.7.0': + resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==} + + '@ethersproject/bignumber@5.7.0': + resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} + '@ethersproject/bytes@5.7.0': resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} @@ -526,6 +562,24 @@ packages: '@ethersproject/keccak256@5.7.0': resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} + '@ethersproject/constants@5.7.0': + resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} + + '@ethersproject/contracts@5.7.0': + resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} + + '@ethersproject/hash@5.7.0': + resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} + + '@ethersproject/hdnode@5.7.0': + resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} + + '@ethersproject/json-wallets@5.7.0': + resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} + + '@ethersproject/keccak256@5.7.0': + resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} + '@ethersproject/logger@5.7.0': resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} @@ -547,6 +601,24 @@ packages: '@ethersproject/rlp@5.7.0': resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + '@ethersproject/networks@5.7.1': + resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} + + '@ethersproject/pbkdf2@5.7.0': + resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} + + '@ethersproject/properties@5.7.0': + resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} + + '@ethersproject/providers@5.7.2': + resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} + + '@ethersproject/random@5.7.0': + resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} + + '@ethersproject/rlp@5.7.0': + resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + '@ethersproject/sha2@5.7.0': resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} @@ -568,6 +640,24 @@ packages: '@ethersproject/wordlists@5.7.0': resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} + '@ethersproject/signing-key@5.7.0': + resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} + + '@ethersproject/strings@5.7.0': + resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} + + '@ethersproject/transactions@5.7.0': + resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} + + '@ethersproject/wallet@5.7.0': + resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} + + '@ethersproject/web@5.7.1': + resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} + + '@ethersproject/wordlists@5.7.0': + resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} + '@gerrit0/mini-shiki@1.26.1': resolution: {integrity: sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==} @@ -613,6 +703,19 @@ packages: deprecated: 'Arweave support is deprecated - We recommend migrating to the Irys datachain: https://migrate-to.irys.xyz/' hasBin: true + '@irys/arweave@0.0.2': + resolution: {integrity: sha512-ddE5h4qXbl0xfGlxrtBIwzflaxZUDlDs43TuT0u1OMfyobHul4AA1VEX72Rpzw2bOh4vzoytSqA1jCM7x9YtHg==} + + '@irys/query@0.0.8': + resolution: {integrity: sha512-J8zCZDos2vFogSbroCJHZJq5gnPZEal01Iy3duXAotjIMgrI2ElDANiqEbaP1JAImR1jdUo1ChJnZB7MRLN9Hw==} + engines: {node: '>=16.10.0'} + + '@irys/sdk@0.2.11': + resolution: {integrity: sha512-z3zKlKYEqRHuCGyyVoikL1lT4Jwt8wv7e4MrMThNfhfT/bdKQHD9lEVsX77DBnLJrBBKKg5rRcEzMtVkpNx3QA==} + engines: {node: '>=16.10.0'} + deprecated: 'Arweave support is deprecated - We recommend migrating to the Irys datachain: https://migrate-to.irys.xyz/' + hasBin: true + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -854,6 +957,48 @@ packages: '@near-js/utils@0.0.4': resolution: {integrity: sha512-mPUEPJbTCMicGitjEGvQqOe8AS7O4KkRCxqd0xuE/X6gXF1jz1pYMZn4lNUeUz2C84YnVSGLAM0o9zcN6Y4hiA==} + '@near-js/crypto@0.0.3': + resolution: {integrity: sha512-3WC2A1a1cH8Cqrx+0iDjp1ASEEhxN/KHEMENYb0KZH6Hp5bXIY7Akt4quC7JlgJS5ESvEiLa40tS5h0zAhBWGw==} + + '@near-js/crypto@0.0.4': + resolution: {integrity: sha512-2mSIVv6mZway1rQvmkktrXAFoUvy7POjrHNH3LekKZCMCs7qMM/23Hz2+APgxZPqoV2kjarSNOEYJjxO7zQ/rQ==} + + '@near-js/keystores-browser@0.0.3': + resolution: {integrity: sha512-Ve/JQ1SBxdNk3B49lElJ8Y54AoBY+yOStLvdnUIpe2FBOczzwDCkcnPcMDV0NMwVlHpEnOWICWHbRbAkI5Vs+A==} + + '@near-js/keystores@0.0.3': + resolution: {integrity: sha512-mnwLYUt4Td8u1I4QE1FBx2d9hMt3ofiriE93FfOluJ4XiqRqVFakFYiHg6pExg5iEkej/sXugBUFeQ4QizUnew==} + + '@near-js/keystores@0.0.4': + resolution: {integrity: sha512-+vKafmDpQGrz5py1liot2hYSjPGXwihveeN+BL11aJlLqZnWBgYJUWCXG+uyGjGXZORuy2hzkKK6Hi+lbKOfVA==} + + '@near-js/providers@0.0.4': + resolution: {integrity: sha512-g/2pJTYmsIlTW4mGqeRlqDN9pZeN+1E2/wfoMIf3p++boBVxVlaSebtQgawXAf2lkfhb9RqXz5pHqewXIkTBSw==} + + '@near-js/signers@0.0.3': + resolution: {integrity: sha512-u1R+DDIua5PY1PDFnpVYqdMgQ7c4dyeZsfqMjE7CtgzdqupgTYCXzJjBubqMlAyAx843PoXmLt6CSSKcMm0WUA==} + + '@near-js/signers@0.0.4': + resolution: {integrity: sha512-xCglo3U/WIGsz/izPGFMegS5Q3PxOHYB8a1E7RtVhNm5QdqTlQldLCm/BuMg2G/u1l1ZZ0wdvkqRTG9joauf3Q==} + + '@near-js/transactions@0.1.0': + resolution: {integrity: sha512-OrrDFqhX0rtH+6MV3U3iS+zmzcPQI+L4GJi9na4Uf8FgpaVPF0mtSmVrpUrS5CC3LwWCzcYF833xGYbXOV4Kfg==} + + '@near-js/transactions@0.1.1': + resolution: {integrity: sha512-Fk83oLLFK7nz4thawpdv9bGyMVQ2i48iUtZEVYhuuuqevl17tSXMlhle9Me1ZbNyguJG/cWPdNybe1UMKpyGxA==} + + '@near-js/types@0.0.3': + resolution: {integrity: sha512-gC3iGUT+r2JjVsE31YharT+voat79ToMUMLCGozHjp/R/UW1M2z4hdpqTUoeWUBGBJuVc810gNTneHGx0jvzwQ==} + + '@near-js/types@0.0.4': + resolution: {integrity: sha512-8TTMbLMnmyG06R5YKWuS/qFG1tOA3/9lX4NgBqQPsvaWmDsa+D+QwOkrEHDegped0ZHQwcjAXjKML1S1TyGYKg==} + + '@near-js/utils@0.0.3': + resolution: {integrity: sha512-J72n/EL0VfLRRb4xNUF4rmVrdzMkcmkwJOhBZSTWz3PAZ8LqNeU9ZConPfMvEr6lwdaD33ZuVv70DN6IIjPr1A==} + + '@near-js/utils@0.0.4': + resolution: {integrity: sha512-mPUEPJbTCMicGitjEGvQqOe8AS7O4KkRCxqd0xuE/X6gXF1jz1pYMZn4lNUeUz2C84YnVSGLAM0o9zcN6Y4hiA==} + '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} @@ -864,6 +1009,9 @@ packages: '@noble/ed25519@1.7.3': resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} + '@noble/ed25519@1.7.3': + resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} + '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -954,6 +1102,12 @@ packages: '@randlabs/myalgo-connect@1.4.2': resolution: {integrity: sha512-K9hEyUi7G8tqOp7kWIALJLVbGCByhilcy6123WfcorxWwiE1sbQupPyIU5f3YdQK6wMjBsyTWiLW52ZBMp7sXA==} + '@randlabs/communication-bridge@1.0.1': + resolution: {integrity: sha512-CzS0U8IFfXNK7QaJFE4pjbxDGfPjbXBEsEaCn9FN15F+ouSAEUQkva3Gl66hrkBZOGexKFEWMwUHIDKpZ2hfVg==} + + '@randlabs/myalgo-connect@1.4.2': + resolution: {integrity: sha512-K9hEyUi7G8tqOp7kWIALJLVbGCByhilcy6123WfcorxWwiE1sbQupPyIU5f3YdQK6wMjBsyTWiLW52ZBMp7sXA==} + '@raydium-io/raydium-sdk-v2@0.1.95-alpha': resolution: {integrity: sha512-+u7yxo/R1JDysTCzOuAlh90ioBe2DlM2Hbcz/tFsxP/YzmnYQzShvNjcmc0361a4zJhmlrEJfpFXW0J3kkX5vA==} @@ -1198,6 +1352,10 @@ packages: resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + '@tensor-hq/tensor-common@8.3.1': resolution: {integrity: sha512-cgc+Z0nR23pi+1DfJgF1+afWd+xf1e6VYPM9yhECshmERr6BgojQfcuoltHHcgpwSlLrZXnm47kQ48I2M6rxFQ==} @@ -1228,6 +1386,9 @@ packages: '@types/cacheable-request@6.0.3': resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + '@types/chai@5.0.1': resolution: {integrity: sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA==} @@ -1255,6 +1416,9 @@ packages: '@types/http-cache-semantics@4.0.4': resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} @@ -1264,6 +1428,9 @@ packages: '@types/keyv@3.1.4': resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -1276,6 +1443,9 @@ packages: '@types/node@11.11.6': resolution: {integrity: sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==} + '@types/node@11.11.6': + resolution: {integrity: sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==} + '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} @@ -1300,6 +1470,9 @@ packages: '@types/responselike@1.0.3': resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -1412,6 +1585,9 @@ packages: aes-js@3.0.0: resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + aes-js@3.0.0: + resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + agentkeepalive@4.6.0: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} @@ -1443,6 +1619,18 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} + algo-msgpack-with-bigint@2.1.1: + resolution: {integrity: sha512-F1tGh056XczEaEAqu7s+hlZUDWwOBT70Eq0lfMpBP2YguSQVyxRbprLq5rELXKQOyOaixTWYhMeMQMzP0U5FoQ==} + engines: {node: '>= 10'} + + algosdk@1.24.1: + resolution: {integrity: sha512-9moZxdqeJ6GdE4N6fA/GlUP4LrbLZMYcYkt141J4Ss68OfEgH9qW0wBuZ3ZOKEx/xjc5bg7mLP2Gjg7nwrkmww==} + engines: {node: '>=14.0.0'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + ansi-escapes@7.0.0: resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} engines: {node: '>=18'} @@ -1476,6 +1664,12 @@ packages: arconnect@0.4.2: resolution: {integrity: sha512-Jkpd4QL3TVqnd3U683gzXmZUVqBUy17DdJDuL/3D9rkysLgX6ymJ2e+sR+xyZF5Rh42CBqDXWNMmCjBXeP7Gbw==} + arbundles@0.11.2: + resolution: {integrity: sha512-vyX7vY6S8B4RFhGSoCixbnR/Z7ckpJjK+b/H7zcgRWJqqXjZqQ+3DQIJ19vKl5AvzNSsj5ja9kQDoZhMiGpBFw==} + + arconnect@0.4.2: + resolution: {integrity: sha512-Jkpd4QL3TVqnd3U683gzXmZUVqBUy17DdJDuL/3D9rkysLgX6ymJ2e+sR+xyZF5Rh42CBqDXWNMmCjBXeP7Gbw==} + arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -1497,6 +1691,18 @@ packages: asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + arweave-stream-tx@1.2.2: + resolution: {integrity: sha512-bNt9rj0hbAEzoUZEF2s6WJbIz8nasZlZpxIw03Xm8fzb9gRiiZlZGW3lxQLjfc9Z0VRUWDzwtqoYeEoB/JDToQ==} + peerDependencies: + arweave: ^1.10.0 + + arweave@1.15.5: + resolution: {integrity: sha512-Zj3b8juz1ZtDaQDPQlzWyk2I4wZPx3RmcGq8pVJeZXl2Tjw0WRy5ueHPelxZtBLqCirGoZxZEAFRs6SZUSCBjg==} + engines: {node: '>=18'} + + asn1.js@5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} @@ -1507,6 +1713,9 @@ packages: async-retry@1.3.3: resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1523,6 +1732,9 @@ packages: axios@1.7.4: resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} + axios@1.7.4: + resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} + axios@1.7.9: resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} @@ -1548,6 +1760,13 @@ packages: bech32@1.1.4: resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + base64url@3.0.1: + resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} + engines: {node: '>=6.0.0'} + + bech32@1.1.4: + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + big-integer@1.6.52: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} @@ -1577,12 +1796,24 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bip39-light@1.0.7: + resolution: {integrity: sha512-WDTmLRQUsiioBdTs9BmSEmkJza+8xfJmptsNJjxnoq3EydSa/ZBXT6rm66KoT3PJIRYMnhSKNR7S9YL1l7R40Q==} + + bip39@3.0.2: + resolution: {integrity: sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bn.js@4.11.6: resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} bn.js@4.12.1: resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==} + bn.js@4.12.1: + resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==} + bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} @@ -1615,6 +1846,9 @@ packages: brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + bs58@4.0.1: resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} @@ -1653,6 +1887,14 @@ packages: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} + cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + call-bind-apply-helpers@1.0.1: resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} engines: {node: '>= 0.4'} @@ -1701,6 +1943,9 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} @@ -1713,6 +1958,14 @@ packages: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} + cipher-base@1.0.6: + resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} + engines: {node: '>= 0.10'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -1721,6 +1974,10 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + cli-truncate@4.0.0: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} @@ -1736,6 +1993,17 @@ packages: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -1768,6 +2036,10 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -1792,6 +2064,12 @@ packages: create-hmac@1.1.7: resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -1822,6 +2100,19 @@ packages: resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} engines: {node: '>= 0.1.90'} + csv-generate@3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + + csv-parse@4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + + csv-stringify@5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + + csv@5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + cyrb53@1.0.0: resolution: {integrity: sha512-Elxs7damp1axRN+npujLik9K6q1QTd6nvJIVJ0IBTV8lCRsTgDeRnkGDTSxQYAbME7kzpooRXCG4UJYAyTe18w==} @@ -1863,6 +2154,10 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -1877,6 +2172,13 @@ packages: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -1897,6 +2199,10 @@ packages: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -1950,6 +2256,12 @@ packages: elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + elliptic@6.5.4: + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} @@ -1973,6 +2285,9 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -2014,6 +2329,10 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -2147,6 +2466,10 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + eyes@0.1.8: resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} engines: {node: '> 0.1.90'} @@ -2184,6 +2507,10 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2334,6 +2661,10 @@ packages: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} + got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -2365,6 +2696,10 @@ packages: resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} engines: {node: '>=4'} + hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} @@ -2378,6 +2713,15 @@ packages: hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + helius-sdk@1.4.1: + resolution: {integrity: sha512-DsMNJxkDnP5f0GmKf/+LQz14VNo+IK8F760Y6CynNNmAdUH1bpGYP6tCdba5q/o58ea21gx2gC330FAVI4ZWhQ==} + + hi-base32@0.5.1: + resolution: {integrity: sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hi-base32@0.5.1: resolution: {integrity: sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==} @@ -2394,6 +2738,13 @@ packages: resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} engines: {node: '>= 0.6'} + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -2402,6 +2753,10 @@ packages: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} + http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -2498,6 +2853,10 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + is-nan@1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} @@ -2529,6 +2888,10 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -2564,6 +2927,9 @@ packages: js-sha512@0.8.0: resolution: {integrity: sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==} + js-sha512@0.8.0: + resolution: {integrity: sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==} + js-tiktoken@1.0.16: resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} @@ -2580,6 +2946,9 @@ packages: json-bigint@1.0.0: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + json-bigint@1.0.0: + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -2620,6 +2989,10 @@ packages: resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} engines: {node: '>=18'} + jwt-decode@4.0.0: + resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} + engines: {node: '>=18'} + keccak256@1.0.6: resolution: {integrity: sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw==} @@ -2733,6 +3106,10 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + log-update@6.1.0: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} @@ -2755,6 +3132,10 @@ packages: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -2782,6 +3163,9 @@ packages: md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + mdast-util-to-hast@13.2.0: resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} @@ -2849,6 +3233,10 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -2865,12 +3253,23 @@ packages: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimatch@10.0.1: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} @@ -2893,6 +3292,10 @@ packages: resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} engines: {node: '>= 8.0.0'} + mixme@0.5.10: + resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} + engines: {node: '>= 8.0.0'} + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -2902,6 +3305,9 @@ packages: multistream@4.1.0: resolution: {integrity: sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==} + multistream@4.1.0: + resolution: {integrity: sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==} + mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true @@ -2909,6 +3315,9 @@ packages: mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2923,6 +3332,12 @@ packages: near-seed-phrase@0.2.1: resolution: {integrity: sha512-feMuums+kVL3LSuPcP4ld07xHCb2mu6z48SGfP3W+8tl1Qm5xIcjiQzY2IDPBvFgajRDxWSb8GzsRHoInazByw==} + near-hd-key@1.2.1: + resolution: {integrity: sha512-SIrthcL5Wc0sps+2e1xGj3zceEa68TgNZDLuCx0daxmfTP7sFTB3/mtE2pYhlFsCxWoMn+JfID5E1NlzvvbRJg==} + + near-seed-phrase@0.2.1: + resolution: {integrity: sha512-feMuums+kVL3LSuPcP4ld07xHCb2mu6z48SGfP3W+8tl1Qm5xIcjiQzY2IDPBvFgajRDxWSb8GzsRHoInazByw==} + negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -2936,6 +3351,9 @@ packages: node-addon-api@5.1.0: resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + node-addon-api@5.1.0: + resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -2961,6 +3379,10 @@ packages: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2996,6 +3418,10 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} @@ -3035,6 +3461,18 @@ packages: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} @@ -3111,6 +3549,10 @@ packages: resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} engines: {node: '>=0.12'} + pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + percentile@1.6.0: resolution: {integrity: sha512-8vSyjdzwxGDHHwH+cSGch3A9Uj2On3UpgOWxWXMKwUvoAbnujx6DaqmV1duWXNiH/oEWpyVd6nSQccix6DM3Ng==} @@ -3129,6 +3571,9 @@ packages: poseidon-lite@0.2.1: resolution: {integrity: sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog==} + poseidon-lite@0.2.1: + resolution: {integrity: sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog==} + possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} @@ -3172,6 +3617,9 @@ packages: pump@3.0.2: resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -3191,6 +3639,10 @@ packages: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -3275,6 +3727,9 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + rpc-websockets@9.0.4: resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} @@ -3282,12 +3737,19 @@ packages: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -3301,6 +3763,13 @@ packages: resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==} engines: {node: '>=18.0.0'} + scrypt-js@3.0.1: + resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} + + secp256k1@5.0.1: + resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==} + engines: {node: '>=18.0.0'} + secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} @@ -3332,6 +3801,10 @@ packages: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3362,6 +3835,9 @@ packages: signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -3395,6 +3871,10 @@ packages: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -3402,6 +3882,9 @@ packages: stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + stream-transform@2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -3501,6 +3984,17 @@ packages: resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} engines: {node: '>=14.14'} + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -3578,6 +4072,10 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -3710,6 +4208,12 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + vlq@2.0.4: + resolution: {integrity: sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA==} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} @@ -3745,6 +4249,10 @@ packages: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -3772,6 +4280,18 @@ packages: utf-8-validate: optional: true + ws@7.4.6: + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@7.5.10: resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} @@ -3922,6 +4442,33 @@ snapshots: transitivePeerDependencies: - debug + '@aptos-labs/aptos-cli@1.0.2': + dependencies: + commander: 12.1.0 + + '@aptos-labs/aptos-client@0.1.1': + dependencies: + axios: 1.7.4 + got: 11.8.6 + transitivePeerDependencies: + - debug + + '@aptos-labs/ts-sdk@1.33.1': + dependencies: + '@aptos-labs/aptos-cli': 1.0.2 + '@aptos-labs/aptos-client': 0.1.1 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 + eventemitter3: 5.0.1 + form-data: 4.0.1 + js-base64: 3.7.7 + jwt-decode: 4.0.0 + poseidon-lite: 0.2.1 + transitivePeerDependencies: + - debug + '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 @@ -4277,6 +4824,59 @@ snapshots: '@ethersproject/logger': 5.7.0 bn.js: 5.2.1 + '@ethersproject/abi@5.7.0': + dependencies: + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + + '@ethersproject/abstract-provider@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/properties': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + + '@ethersproject/abstract-signer@5.7.0': + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + + '@ethersproject/address@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/rlp': 5.7.0 + + '@ethersproject/base64@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + + '@ethersproject/basex@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/properties': 5.7.0 + + '@ethersproject/bignumber@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + bn.js: 5.2.1 + '@ethersproject/bytes@5.7.0': dependencies: '@ethersproject/logger': 5.7.0 @@ -4346,8 +4946,122 @@ snapshots: '@ethersproject/bytes': 5.7.0 js-sha3: 0.8.0 + '@ethersproject/constants@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + + '@ethersproject/contracts@5.7.0': + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/transactions': 5.7.0 + + '@ethersproject/hash@5.7.0': + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + + '@ethersproject/hdnode@5.7.0': + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/pbkdf2': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wordlists': 5.7.0 + + '@ethersproject/json-wallets@5.7.0': + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hdnode': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/pbkdf2': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + + '@ethersproject/keccak256@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + js-sha3: 0.8.0 + '@ethersproject/logger@5.7.0': {} + '@ethersproject/networks@5.7.1': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/pbkdf2@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/sha2': 5.7.0 + + '@ethersproject/properties@5.7.0': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + bech32: 1.1.4 + ws: 7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@ethersproject/random@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + + '@ethersproject/rlp@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks@5.7.1': dependencies: '@ethersproject/logger': 5.7.0 @@ -4464,6 +5178,67 @@ snapshots: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 + '@ethersproject/signing-key@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + bn.js: 5.2.1 + elliptic: 6.5.4 + hash.js: 1.1.7 + + '@ethersproject/strings@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/logger': 5.7.0 + + '@ethersproject/transactions@5.7.0': + dependencies: + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + + '@ethersproject/wallet@5.7.0': + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/hdnode': 5.7.0 + '@ethersproject/json-wallets': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wordlists': 5.7.0 + + '@ethersproject/web@5.7.1': + dependencies: + '@ethersproject/base64': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + + '@ethersproject/wordlists@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@gerrit0/mini-shiki@1.26.1': dependencies: '@shikijs/engine-oniguruma': 1.26.1 @@ -4493,6 +5268,58 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} + '@irys/arweave@0.0.2': + dependencies: + asn1.js: 5.4.1 + async-retry: 1.3.3 + axios: 1.7.9 + base64-js: 1.5.1 + bignumber.js: 9.1.2 + transitivePeerDependencies: + - debug + + '@irys/query@0.0.8': + dependencies: + async-retry: 1.3.3 + axios: 1.7.9 + transitivePeerDependencies: + - debug + + '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@aptos-labs/ts-sdk': 1.33.1 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/contracts': 5.7.0 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@ethersproject/wallet': 5.7.0 + '@irys/query': 0.0.8 + '@near-js/crypto': 0.0.3 + '@near-js/keystores-browser': 0.0.3 + '@near-js/providers': 0.0.4 + '@near-js/transactions': 0.1.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@supercharge/promise-pool': 3.2.0 + algosdk: 1.24.1 + arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10) + async-retry: 1.3.3 + axios: 1.7.9 + base64url: 3.0.1 + bignumber.js: 9.1.2 + bs58: 5.0.0 + commander: 8.3.0 + csv: 5.5.3 + inquirer: 8.2.6 + js-sha256: 0.9.0 + mime-types: 2.1.35 + near-seed-phrase: 0.2.1 + tslib: 2.8.1 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - utf-8-validate + '@irys/arweave@0.0.2': dependencies: asn1.js: 5.4.1 @@ -4915,6 +5742,102 @@ snapshots: '@msgpack/msgpack@3.0.0-beta2': {} + '@near-js/crypto@0.0.3': + dependencies: + '@near-js/types': 0.0.3 + bn.js: 5.2.1 + borsh: 0.7.0 + tweetnacl: 1.0.3 + + '@near-js/crypto@0.0.4': + dependencies: + '@near-js/types': 0.0.4 + bn.js: 5.2.1 + borsh: 0.7.0 + tweetnacl: 1.0.3 + + '@near-js/keystores-browser@0.0.3': + dependencies: + '@near-js/crypto': 0.0.3 + '@near-js/keystores': 0.0.3 + + '@near-js/keystores@0.0.3': + dependencies: + '@near-js/crypto': 0.0.3 + '@near-js/types': 0.0.3 + + '@near-js/keystores@0.0.4': + dependencies: + '@near-js/crypto': 0.0.4 + '@near-js/types': 0.0.4 + + '@near-js/providers@0.0.4': + dependencies: + '@near-js/transactions': 0.1.0 + '@near-js/types': 0.0.3 + '@near-js/utils': 0.0.3 + bn.js: 5.2.1 + borsh: 0.7.0 + http-errors: 1.8.1 + optionalDependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + '@near-js/signers@0.0.3': + dependencies: + '@near-js/crypto': 0.0.3 + '@near-js/keystores': 0.0.3 + js-sha256: 0.9.0 + + '@near-js/signers@0.0.4': + dependencies: + '@near-js/crypto': 0.0.4 + '@near-js/keystores': 0.0.4 + js-sha256: 0.9.0 + + '@near-js/transactions@0.1.0': + dependencies: + '@near-js/crypto': 0.0.3 + '@near-js/signers': 0.0.3 + '@near-js/types': 0.0.3 + '@near-js/utils': 0.0.3 + bn.js: 5.2.1 + borsh: 0.7.0 + js-sha256: 0.9.0 + + '@near-js/transactions@0.1.1': + dependencies: + '@near-js/crypto': 0.0.4 + '@near-js/signers': 0.0.4 + '@near-js/types': 0.0.4 + '@near-js/utils': 0.0.4 + bn.js: 5.2.1 + borsh: 0.7.0 + js-sha256: 0.9.0 + + '@near-js/types@0.0.3': + dependencies: + bn.js: 5.2.1 + + '@near-js/types@0.0.4': + dependencies: + bn.js: 5.2.1 + + '@near-js/utils@0.0.3': + dependencies: + '@near-js/types': 0.0.3 + bn.js: 5.2.1 + depd: 2.0.0 + mustache: 4.2.0 + + '@near-js/utils@0.0.4': + dependencies: + '@near-js/types': 0.0.4 + bn.js: 5.2.1 + depd: 2.0.0 + mustache: 4.2.0 + '@near-js/crypto@0.0.3': dependencies: '@near-js/types': 0.0.3 @@ -5825,6 +6748,13 @@ snapshots: '@types/node': 22.10.5 '@types/responselike': 1.0.3 + '@types/cacheable-request@6.0.3': + dependencies: + '@types/http-cache-semantics': 4.0.4 + '@types/keyv': 3.1.4 + '@types/node': 22.10.5 + '@types/responselike': 1.0.3 + '@types/chai@5.0.1': dependencies: '@types/deep-eql': 4.0.2 @@ -5859,10 +6789,16 @@ snapshots: '@types/http-cache-semantics@4.0.4': {} + '@types/http-cache-semantics@4.0.4': {} + '@types/http-errors@2.0.4': {} '@types/json-schema@7.0.15': {} + '@types/keyv@3.1.4': + dependencies: + '@types/node': 22.10.5 + '@types/keyv@3.1.4': dependencies: '@types/node': 22.10.5 @@ -5880,6 +6816,8 @@ snapshots: '@types/node@11.11.6': {} + '@types/node@11.11.6': {} + '@types/node@12.20.55': {} '@types/node@18.19.68': @@ -5902,6 +6840,10 @@ snapshots: '@types/range-parser@1.2.7': {} + '@types/responselike@1.0.3': + dependencies: + '@types/node': 22.10.5 + '@types/responselike@1.0.3': dependencies: '@types/node': 22.10.5 @@ -6045,6 +6987,8 @@ snapshots: aes-js@3.0.0: {} + aes-js@3.0.0: {} + agentkeepalive@4.6.0: dependencies: humanize-ms: 1.2.1 @@ -6071,6 +7015,27 @@ snapshots: algo-msgpack-with-bigint@2.1.1: {} + algosdk@1.24.1: + dependencies: + algo-msgpack-with-bigint: 2.1.1 + buffer: 6.0.3 + cross-fetch: 3.1.8 + hi-base32: 0.5.1 + js-sha256: 0.9.0 + js-sha3: 0.8.0 + js-sha512: 0.8.0 + json-bigint: 1.0.0 + tweetnacl: 1.0.3 + vlq: 2.0.4 + transitivePeerDependencies: + - encoding + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + algo-msgpack-with-bigint@2.1.1: {} + algosdk@1.24.1: dependencies: algo-msgpack-with-bigint: 2.1.1 @@ -6146,6 +7111,27 @@ snapshots: array-flatten@1.1.1: {} + arweave-stream-tx@1.2.2(arweave@1.15.5): + dependencies: + arweave: 1.15.5 + exponential-backoff: 3.1.1 + optional: true + + arweave@1.15.5: + dependencies: + arconnect: 0.4.2 + asn1.js: 5.4.1 + base64-js: 1.5.1 + bignumber.js: 9.1.2 + optional: true + + asn1.js@5.4.1: + dependencies: + bn.js: 4.12.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + safer-buffer: 2.1.2 + arweave-stream-tx@1.2.2(arweave@1.15.5): dependencies: arweave: 1.15.5 @@ -6177,6 +7163,10 @@ snapshots: assertion-error@2.0.1: {} + async-retry@1.3.3: + dependencies: + retry: 0.13.1 + async-retry@1.3.3: dependencies: retry: 0.13.1 @@ -6208,6 +7198,14 @@ snapshots: transitivePeerDependencies: - debug + axios@1.7.4: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + axios@1.7.9: dependencies: follow-redirects: 1.15.9 @@ -6232,6 +7230,10 @@ snapshots: bech32@1.1.4: {} + base64url@3.0.1: {} + + bech32@1.1.4: {} + big-integer@1.6.52: {} big.js@6.2.2: {} @@ -6248,6 +7250,24 @@ snapshots: bintrees@1.0.2: {} + bip39-light@1.0.7: + dependencies: + create-hash: 1.2.0 + pbkdf2: 3.1.2 + + bip39@3.0.2: + dependencies: + '@types/node': 11.11.6 + create-hash: 1.2.0 + pbkdf2: 3.1.2 + randombytes: 2.1.0 + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + bip39-light@1.0.7: dependencies: create-hash: 1.2.0 @@ -6270,6 +7290,8 @@ snapshots: bn.js@4.12.1: {} + bn.js@4.12.1: {} + bn.js@5.2.1: {} bn@1.0.5: {} @@ -6316,6 +7338,8 @@ snapshots: brorand@1.1.0: {} + brorand@1.1.0: {} + bs58@4.0.1: dependencies: base-x: 3.0.10 @@ -6351,6 +7375,18 @@ snapshots: cacheable-lookup@5.0.4: {} + cacheable-request@7.0.4: + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + + cacheable-lookup@5.0.4: {} + cacheable-request@7.0.4: dependencies: clone-response: 1.0.3 @@ -6407,8 +7443,19 @@ snapshots: chardet@0.7.0: {} + chardet@0.7.0: {} + check-error@2.1.1: {} + cipher-base@1.0.6: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + cipher-base@1.0.6: dependencies: inherits: 2.0.4 @@ -6424,6 +7471,8 @@ snapshots: cli-spinners@2.9.2: {} + cli-spinners@2.9.2: {} + cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 @@ -6437,6 +7486,14 @@ snapshots: clone@1.0.4: {} + cli-width@3.0.0: {} + + clone-response@1.0.3: + dependencies: + mimic-response: 1.0.1 + + clone@1.0.4: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -6459,6 +7516,8 @@ snapshots: commander@8.3.0: {} + commander@8.3.0: {} + concat-map@0.0.1: {} content-disposition@0.5.4: @@ -6471,6 +7530,23 @@ snapshots: cookie@0.7.1: {} + create-hash@1.2.0: + dependencies: + cipher-base: 1.0.6 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + + create-hmac@1.1.7: + dependencies: + cipher-base: 1.0.6 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + create-hash@1.2.0: dependencies: cipher-base: 1.0.6 @@ -6521,6 +7597,19 @@ snapshots: cyrb53@1.0.0: {} + csv-generate@3.4.3: {} + + csv-parse@4.16.3: {} + + csv-stringify@5.6.5: {} + + csv@5.5.3: + dependencies: + csv-generate: 3.4.3 + csv-parse: 4.16.3 + csv-stringify: 5.6.5 + stream-transform: 2.1.3 + data-uri-to-buffer@4.0.1: {} dayjs@1.11.13: {} @@ -6539,6 +7628,10 @@ snapshots: decimal.js@10.4.3: {} + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -6553,6 +7646,12 @@ snapshots: defer-to-connect@2.0.1: {} + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + defer-to-connect@2.0.1: {} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 @@ -6571,6 +7670,8 @@ snapshots: depd@1.1.2: {} + depd@1.1.2: {} + depd@2.0.0: {} dequal@2.0.3: {} @@ -6608,6 +7709,26 @@ snapshots: ee-first@1.1.1: {} + elliptic@6.5.4: + dependencies: + bn.js: 4.12.1 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + elliptic@6.6.1: + dependencies: + bn.js: 4.12.1 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + elliptic@6.5.4: dependencies: bn.js: 4.12.1 @@ -6640,6 +7761,10 @@ snapshots: encodeurl@2.0.0: {} + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -6695,6 +7820,8 @@ snapshots: escape-string-regexp@1.0.5: {} + escape-string-regexp@1.0.5: {} + escape-string-regexp@4.0.0: {} eslint-config-prettier@9.1.0(eslint@8.57.1): @@ -6924,6 +8051,12 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + eyes@0.1.8: {} fast-deep-equal@3.1.3: {} @@ -6959,6 +8092,10 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 + figures@3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -7153,6 +8290,20 @@ snapshots: gopd@1.2.0: {} + got@11.8.6: + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 + got@11.8.6: dependencies: '@sindresorhus/is': 4.6.0 @@ -7208,6 +8359,12 @@ snapshots: readable-stream: 3.6.2 safe-buffer: 5.2.1 + hash-base@3.1.0: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + hash.js@1.1.7: dependencies: inherits: 2.0.4 @@ -7235,6 +8392,30 @@ snapshots: dependencies: '@types/hast': 3.0.4 + helius-sdk@1.4.1(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): + dependencies: + '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + axios: 1.7.9 + bs58: 6.0.0 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + hi-base32@0.5.1: {} + + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + hi-base32@0.5.1: {} hmac-drbg@1.0.1: @@ -7247,6 +8428,16 @@ snapshots: http-cache-semantics@4.1.1: {} + http-errors@1.8.1: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + + http-cache-semantics@4.1.1: {} + http-errors@1.8.1: dependencies: depd: 1.1.2 @@ -7268,6 +8459,11 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 + http2-wrapper@1.0.3: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + human-signals@5.0.0: {} humanize-ms@1.2.1: @@ -7355,6 +8551,8 @@ snapshots: is-interactive@1.0.0: {} + is-interactive@1.0.0: {} + is-nan@1.3.2: dependencies: call-bind: 1.0.8 @@ -7376,6 +8574,8 @@ snapshots: is-unicode-supported@0.1.0: {} + is-unicode-supported@0.1.0: {} + isexe@2.0.0: {} isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)): @@ -7424,6 +8624,8 @@ snapshots: js-sha512@0.8.0: {} + js-sha512@0.8.0: {} + js-tiktoken@1.0.16: dependencies: base64-js: 1.5.1 @@ -7436,6 +8638,10 @@ snapshots: jsbi@4.3.0: {} + json-bigint@1.0.0: + dependencies: + bignumber.js: 9.1.2 + json-bigint@1.0.0: dependencies: bignumber.js: 9.1.2 @@ -7470,6 +8676,8 @@ snapshots: jwt-decode@4.0.0: {} + jwt-decode@4.0.0: {} + keccak256@1.0.6: dependencies: bn.js: 5.2.1 @@ -7574,6 +8782,11 @@ snapshots: lodash@4.17.21: {} + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + log-symbols@4.1.0: dependencies: chalk: 4.1.2 @@ -7601,6 +8814,8 @@ snapshots: lowercase-keys@2.0.0: {} + lowercase-keys@2.0.0: {} + lru-cache@10.4.3: {} lru-cache@11.0.2: {} @@ -7622,6 +8837,12 @@ snapshots: math-intrinsics@1.1.0: {} + md5.js@1.3.5: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + md5.js@1.3.5: dependencies: hash-base: 3.1.0 @@ -7694,6 +8915,8 @@ snapshots: mimic-fn@2.1.0: {} + mimic-fn@2.1.0: {} + mimic-fn@4.0.0: {} mimic-function@5.0.1: {} @@ -7702,10 +8925,16 @@ snapshots: mimic-response@3.1.0: {} + mimic-response@1.0.1: {} + + mimic-response@3.1.0: {} + minimalistic-assert@1.0.1: {} minimalistic-crypto-utils@1.0.1: {} + minimalistic-crypto-utils@1.0.1: {} + minimatch@10.0.1: dependencies: brace-expansion: 2.0.1 @@ -7724,10 +8953,18 @@ snapshots: mixme@0.5.10: {} + mixme@0.5.10: {} + ms@2.0.0: {} ms@2.1.3: {} + multistream@4.1.0: + dependencies: + once: 1.4.0 + readable-stream: 3.6.2 + optional: true + multistream@4.1.0: dependencies: once: 1.4.0 @@ -7738,10 +8975,25 @@ snapshots: mute-stream@0.0.8: {} + mute-stream@0.0.8: {} + nanoid@3.3.8: {} natural-compare@1.4.0: {} + near-hd-key@1.2.1: + dependencies: + bip39: 3.0.2 + create-hmac: 1.1.7 + tweetnacl: 1.0.3 + + near-seed-phrase@0.2.1: + dependencies: + bip39-light: 1.0.7 + bs58: 4.0.1 + near-hd-key: 1.2.1 + tweetnacl: 1.0.3 + near-hd-key@1.2.1: dependencies: bip39: 3.0.2 @@ -7766,6 +9018,8 @@ snapshots: node-addon-api@5.1.0: {} + node-addon-api@5.1.0: {} + node-domexception@1.0.0: {} node-fetch@2.7.0: @@ -7782,6 +9036,8 @@ snapshots: normalize-url@6.1.0: {} + normalize-url@6.1.0: {} + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -7821,6 +9077,10 @@ snapshots: dependencies: mimic-fn: 2.1.0 + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 @@ -7876,6 +9136,22 @@ snapshots: p-cancelable@2.1.1: {} + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + os-tmpdir@1.0.2: {} + + p-cancelable@2.1.1: {} + p-finally@1.0.0: {} p-limit@3.1.0: @@ -7934,6 +9210,14 @@ snapshots: pathval@2.0.0: {} + pbkdf2@3.1.2: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + pbkdf2@3.1.2: dependencies: create-hash: 1.2.0 @@ -7954,6 +9238,8 @@ snapshots: poseidon-lite@0.2.1: {} + poseidon-lite@0.2.1: {} + possible-typed-array-names@1.0.0: {} prelude-ls@1.2.1: {} @@ -7985,6 +9271,11 @@ snapshots: proxy-from-env@1.1.0: {} + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + pump@3.0.2: dependencies: end-of-stream: 1.4.4 @@ -8002,6 +9293,8 @@ snapshots: quick-lru@5.1.1: {} + quick-lru@5.1.1: {} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -8037,6 +9330,8 @@ snapshots: resolve-alpn@1.2.1: {} + resolve-alpn@1.2.1: {} + resolve-from@4.0.0: {} resolve-pkg-maps@1.0.0: {} @@ -8081,6 +9376,11 @@ snapshots: hash-base: 3.1.0 inherits: 2.0.4 + ripemd160@2.0.2: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + rpc-websockets@9.0.4: dependencies: '@swc/helpers': 0.5.15 @@ -8096,6 +9396,8 @@ snapshots: run-async@2.4.1: {} + run-async@2.4.1: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -8110,6 +9412,14 @@ snapshots: scrypt-js@3.0.1: {} + secp256k1@5.0.1: + dependencies: + elliptic: 6.6.1 + node-addon-api: 5.1.0 + node-gyp-build: 4.8.4 + + scrypt-js@3.0.1: {} + secp256k1@5.0.1: dependencies: elliptic: 6.6.1 @@ -8160,6 +9470,11 @@ snapshots: setprototypeof@1.2.0: {} + sha.js@2.4.11: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + sha.js@2.4.11: dependencies: inherits: 2.0.4 @@ -8210,6 +9525,8 @@ snapshots: signal-exit@3.0.7: {} + signal-exit@3.0.7: {} + signal-exit@4.1.0: {} slice-ansi@5.0.0: @@ -8252,8 +9569,14 @@ snapshots: statuses@1.5.0: {} + statuses@1.5.0: {} + statuses@2.0.1: {} + stream-transform@2.1.3: + dependencies: + mixme: 0.5.10 + stream-transform@2.1.3: dependencies: mixme: 0.5.10 @@ -8340,6 +9663,18 @@ snapshots: tiny-invariant@1.3.3: {} + tmp-promise@3.0.3: + dependencies: + tmp: 0.2.3 + optional: true + + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + tmp@0.2.3: + optional: true + tmp-promise@3.0.3: dependencies: tmp: 0.2.3 @@ -8437,6 +9772,8 @@ snapshots: type-fest@0.21.3: {} + type-fest@0.21.3: {} + type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -8561,6 +9898,12 @@ snapshots: vlq@2.0.4: {} + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + vlq@2.0.4: {} + wcwidth@1.0.1: dependencies: defaults: 1.0.4 @@ -8602,6 +9945,12 @@ snapshots: word-wrap@1.2.5: {} + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 diff --git a/src/agent/index.ts b/src/agent/index.ts index 0b97c5e..e57f13d 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -594,6 +594,12 @@ export class SolanaAgentKit { async flashCloseTrade(params: FlashCloseTradeParams): Promise { return flashCloseTrade(this, params); } + async heliusParseTransactions(transactionId: string): Promise { + return parseTransaction(this, transactionId); + } + async getAllAssetsbyOwner(owner: PublicKey, limit: number): Promise { + return getAssetsByOwner(this, owner, limit); + } async create3LandCollection( optionsWithBase58: StoreInitOptions, diff --git a/src/tools/get_assets_by_owner.ts b/src/tools/get_assets_by_owner.ts new file mode 100644 index 0000000..8b3ff0e --- /dev/null +++ b/src/tools/get_assets_by_owner.ts @@ -0,0 +1,60 @@ +import { SolanaAgentKit } from "../index"; +import { PublicKey } from "@solana/web3.js"; +import * as dotenv from "dotenv"; +dotenv.config(); + +/** + * Fetch assets by owner using the Helius Digital Asset Standard (DAS) API + * @param agent SolanaAgentKit instance + * @param ownerPublicKey Owner's Solana wallet PublicKey + * @param limit Number of assets to retrieve per request + * @returns Assets owned by the specified address + */ +export async function getAssetsByOwner( + agent: SolanaAgentKit, + ownerPublicKey: PublicKey, + limit: number, +): Promise { + try { + const apiKey = process.env.HELIUS_API_KEY; + if (!apiKey) { + throw new Error("HELIUS_API_KEY not found in environment variables"); + } + + const url = `https://mainnet.helius-rpc.com/?api-key=${apiKey}`; + + const response = await fetch(url, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + jsonrpc: "2.0", + id: "get-assets", + method: "getAssetsByOwner", + params: { + ownerAddress: ownerPublicKey.toString(), + page: 3, + limit: limit, + displayOptions: { + showFungible: true, + }, + }, + }), + }); + + if (!response.ok) { + throw new Error( + `Failed to fetch: ${response.status} - ${response.statusText}`, + ); + } + + const data = await response.json(); + console.log("Assets by Owner: ", data.result.items); + + return data.result.items; + } catch (error: any) { + console.error("Error retrieving assets: ", error.message); + throw new Error(`Assets retrieval failed: ${error.message}`); + } +} diff --git a/src/tools/helius_transaction_parsing.ts b/src/tools/helius_transaction_parsing.ts new file mode 100644 index 0000000..d0fd5b7 --- /dev/null +++ b/src/tools/helius_transaction_parsing.ts @@ -0,0 +1,47 @@ +import { SolanaAgentKit } from "../index"; +import * as dotenv from "dotenv"; +dotenv.config(); + +/** + * Parse a Solana transaction using the Helius Enhanced Transactions API + * @param agent SolanaAgentKit instance + * @param transactionId The transaction ID to parse + * @returns Parsed transaction data + */ +export async function parseTransaction( + agent: SolanaAgentKit, + transactionId: string, +): Promise { + try { + const apiKey = process.env.HELIUS_API_KEY; + if (!apiKey) { + throw new Error("HELIUS_API_KEY not found in environment variables"); + } + + const url = `https://api.helius.xyz/v0/transactions/?api-key=${apiKey}`; + + const response = await fetch(url, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + transactions: [transactionId], + }), + }); + + if (!response.ok) { + throw new Error( + `Failed to fetch: ${response.status} - ${response.statusText}`, + ); + } + + const data = await response.json(); + console.log("Parsed transaction: ", data); + + return data; + } catch (error: any) { + console.error("Error parsing transaction: ", error.message); + throw new Error(`Transaction parsing failed: ${error.message}`); + } +} From 96608fd7a934e7e1a29d21a81b00d7229255b793 Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Tue, 7 Jan 2025 15:56:05 +0530 Subject: [PATCH 121/138] fix: removed unnecessary logs --- src/tools/get_assets_by_owner.ts | 1 - src/tools/helius_transaction_parsing.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/src/tools/get_assets_by_owner.ts b/src/tools/get_assets_by_owner.ts index 8b3ff0e..882b241 100644 --- a/src/tools/get_assets_by_owner.ts +++ b/src/tools/get_assets_by_owner.ts @@ -50,7 +50,6 @@ export async function getAssetsByOwner( } const data = await response.json(); - console.log("Assets by Owner: ", data.result.items); return data.result.items; } catch (error: any) { diff --git a/src/tools/helius_transaction_parsing.ts b/src/tools/helius_transaction_parsing.ts index d0fd5b7..2faa52a 100644 --- a/src/tools/helius_transaction_parsing.ts +++ b/src/tools/helius_transaction_parsing.ts @@ -37,7 +37,6 @@ export async function parseTransaction( } const data = await response.json(); - console.log("Parsed transaction: ", data); return data; } catch (error: any) { From 79bcad3a3903770ec73c374f604b96fd164db6c1 Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Tue, 7 Jan 2025 16:06:06 +0530 Subject: [PATCH 122/138] fix:changed .env.example --- .env.example | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 52fdf99..bd420ff 100644 --- a/.env.example +++ b/.env.example @@ -3,4 +3,5 @@ RPC_URL= SOLANA_PRIVATE_KEY= JUPITER_REFERRAL_ACCOUNT= JUPITER_FEE_BPS= -FLASH_PRIVILEGE= referral | nft | none \ No newline at end of file +FLASH_PRIVILEGE= referral | nft | none +HELIUS_API_KEY= \ No newline at end of file From 2de1a7365dab44537930d39bb76ad62eff92d4ce Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Tue, 7 Jan 2025 22:02:27 +0530 Subject: [PATCH 123/138] added helius api key to config type --- src/tools/get_assets_by_owner.ts | 2 +- src/tools/helius_transaction_parsing.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tools/get_assets_by_owner.ts b/src/tools/get_assets_by_owner.ts index 882b241..1f5d917 100644 --- a/src/tools/get_assets_by_owner.ts +++ b/src/tools/get_assets_by_owner.ts @@ -16,7 +16,7 @@ export async function getAssetsByOwner( limit: number, ): Promise { try { - const apiKey = process.env.HELIUS_API_KEY; + const apiKey = agent.config.HELIUS_API_KEY; if (!apiKey) { throw new Error("HELIUS_API_KEY not found in environment variables"); } diff --git a/src/tools/helius_transaction_parsing.ts b/src/tools/helius_transaction_parsing.ts index 2faa52a..8ab5176 100644 --- a/src/tools/helius_transaction_parsing.ts +++ b/src/tools/helius_transaction_parsing.ts @@ -13,7 +13,7 @@ export async function parseTransaction( transactionId: string, ): Promise { try { - const apiKey = process.env.HELIUS_API_KEY; + const apiKey = agent.config.HELIUS_API_KEY; if (!apiKey) { throw new Error("HELIUS_API_KEY not found in environment variables"); } From 4a270c4a0db63fe28b2607eeacac53cfeb308e09 Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Wed, 8 Jan 2025 01:31:05 +0530 Subject: [PATCH 124/138] feat: send transaction with proiority fee --- src/agent/index.ts | 7 ++ src/langchain/index.ts | 45 ++++++++ src/tools/get_assets_by_owner.ts | 2 - src/tools/helius_transaction_parsing.ts | 2 - src/tools/send_transaction_with_priority.ts | 119 ++++++++++++++++++++ src/types/index.ts | 22 ---- 6 files changed, 171 insertions(+), 26 deletions(-) create mode 100644 src/tools/send_transaction_with_priority.ts diff --git a/src/agent/index.ts b/src/agent/index.ts index e57f13d..5886fb4 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -623,6 +623,13 @@ export class SolanaAgentKit { ); return `Transaction: ${tx}`; } + async sendTranctionWithPriority( + priorityLevel: string, + amount: number, + to: PublicKey, + ): Promise { + return sendTransactionWithPriorityFee(this, priorityLevel, amount, to); + } async createSquadsMultisig(creator: PublicKey): Promise { return create_squads_multisig(this, creator); diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 524b3d0..1bf9113 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -100,6 +100,51 @@ import { SolanaGetAllAssetsByOwner, } from "./index"; +export class SolanaSendTransactionWithPriorityFee extends Tool { + name = "solana_send_transaction_with_priority_fee"; + description = `Sends a Solana transaction with a user-defined priority fee. + + **Inputs (JSON-encoded string)**: + - priorityLevel: string — the priority level ("NONE", "Min", "Low", "Medium", "High", "VeryHigh", or "UnsafeMax") + - amount: number — the amount of SOL to send + - to: string — the recipient's wallet address (public key in base58);`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const { priorityLevel, amount, to } = JSON.parse(input); + + if (!priorityLevel || !amount || !to) { + throw new Error( + `Missing required fields. Received: priorityLevel=${priorityLevel}, amount=${amount}, to=${to}`, + ); + } + const toPubkey = new PublicKey(to); + + const priorityFeeTx = await this.solanaKit.sendTranctionWithPriority( + priorityLevel, + amount, + toPubkey, + ); + + return JSON.stringify({ + status: "success", + message: "Transaction sent successfully", + priorityFeeTx, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), diff --git a/src/tools/get_assets_by_owner.ts b/src/tools/get_assets_by_owner.ts index 1f5d917..45f3dbe 100644 --- a/src/tools/get_assets_by_owner.ts +++ b/src/tools/get_assets_by_owner.ts @@ -1,7 +1,5 @@ import { SolanaAgentKit } from "../index"; import { PublicKey } from "@solana/web3.js"; -import * as dotenv from "dotenv"; -dotenv.config(); /** * Fetch assets by owner using the Helius Digital Asset Standard (DAS) API diff --git a/src/tools/helius_transaction_parsing.ts b/src/tools/helius_transaction_parsing.ts index 8ab5176..1f24ee3 100644 --- a/src/tools/helius_transaction_parsing.ts +++ b/src/tools/helius_transaction_parsing.ts @@ -1,6 +1,4 @@ import { SolanaAgentKit } from "../index"; -import * as dotenv from "dotenv"; -dotenv.config(); /** * Parse a Solana transaction using the Helius Enhanced Transactions API diff --git a/src/tools/send_transaction_with_priority.ts b/src/tools/send_transaction_with_priority.ts new file mode 100644 index 0000000..66417f1 --- /dev/null +++ b/src/tools/send_transaction_with_priority.ts @@ -0,0 +1,119 @@ +import { SolanaAgentKit } from "../agent"; +import { + SystemProgram, + Transaction, + sendAndConfirmTransaction, + ComputeBudgetProgram, + PublicKey, + LAMPORTS_PER_SOL, +} from "@solana/web3.js"; +import bs58 from "bs58"; +import { PriorityFeeTransaction } from "../types"; + +/** + * Fetches an estimated priority fee (in microLamports) from Helius. + * + * @param agent An instance of SolanaAgentKit containing connection, wallet, etc. + * @param priorityLevel The priority level (e.g. "Min", "Low", "Medium", "High", "VeryHigh", or "UnsafeMax"). + * @param transaction The (unsigned or partially-signed) Transaction you want to estimate fees for. + * @returns The numeric priority fee estimate in microLamports. + */ +export async function getPriorityFeeEstimate( + agent: SolanaAgentKit, + priorityLevel: string, + transaction: Transaction, +): Promise { + const apiKey = agent.config.HELIUS_API_KEY; + if (!apiKey) { + throw new Error( + "HELIUS_API_KEY not found in agent.config or environment variables", + ); + } + + const url = `https://api.helius.xyz/v0/transactions/?api-key=${apiKey}`; + + const payload = { + jsonrpc: "2.0", + id: "1", + method: "getPriorityFeeEstimate", + params: [ + { + transaction: bs58.encode(transaction.serialize()), + options: { priorityLevel }, + }, + ], + }; + const response = await fetch(url, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(payload), + }); + + if (!response.ok) { + throw new Error(`Helius request failed with status ${response.status}`); + } + + const data = await response.json(); + if (!data.result || data.result.priorityFeeEstimate === undefined) { + throw new Error(`Invalid response from Helius: ${JSON.stringify(data)}`); + } + + return data.result.priorityFeeEstimate; +} + +/** + * Sends a transaction with an optional priority fee using the provided SolanaAgentKit. + * + * @param agent An instance of SolanaAgentKit containing connection, wallet, etc. + * @param priorityLevel The priority level ("NONE", "Min", "Low", "Medium", "High", "VeryHigh", or "UnsafeMax"). + * @param amount The amount of SOL to send (in SOL, not lamports). + * @param to The recipient's PublicKey. + * @returns The transaction signature (string) once confirmed. + */ + +export async function sendTransactionWithPriorityFee( + agent: SolanaAgentKit, + priorityLevel: string, + amount: number, + to: PublicKey, +): Promise { + const transaction = new Transaction(); + + const transferIx = SystemProgram.transfer({ + fromPubkey: agent.wallet_address, + toPubkey: to, + lamports: amount * LAMPORTS_PER_SOL, + }); + transaction.add(transferIx); + + let feeEstimate = 0; + if (priorityLevel !== "NONE") { + feeEstimate = await getPriorityFeeEstimate( + agent, + priorityLevel, + transaction, + ); + if (feeEstimate > 0) { + const computePriceIx = ComputeBudgetProgram.setComputeUnitPrice({ + microLamports: feeEstimate, + }); + transaction.add(computePriceIx); + } + } + + transaction.recentBlockhash = ( + await agent.connection.getLatestBlockhash() + ).blockhash; + transaction.sign(agent.wallet); + + const txSignature = await sendAndConfirmTransaction( + agent.connection, + transaction, + [agent.wallet], + ); + + return { + transactionId: txSignature, + fee: feeEstimate, + }; +} diff --git a/src/types/index.ts b/src/types/index.ts index 2c0a54c..2d733b7 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -238,25 +238,3 @@ export interface FlashCloseTradeParams { token: string; side: "long" | "short"; } - -export interface HeliusWebhookResponse { - webhookURL: string; - webhookID: string; -} -export interface HeliusWebhookIdResponse { - wallet: string; - webhookURL: string; - transactionTypes: string[]; - accountAddresses: string[]; - webhookType: string; -} - -export interface PriorityFeeResponse { - jsonrpc: string; - id: string; - method: string; - params: Array<{ - transaction: string; - options: { priorityLevel: string }; - }>; -} From e09c6b5d0be5ee9598f87d8ada45fd99eb938e50 Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Wed, 8 Jan 2025 14:50:41 +0530 Subject: [PATCH 125/138] fix:added solana tool in createSolanaTools --- pnpm-lock.yaml | 1188 ---------------------------------------- src/langchain/index.ts | 45 -- 2 files changed, 1233 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9644b73..21ced1e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -226,18 +226,6 @@ packages: resolution: {integrity: sha512-d6nWtUI//fyEN8DeLjm3+ro87Ad6+IKwR9pCqfrs/Azahso1xR1Llxd/O6fj/m1DDsuDj/HAsCsy5TC/aKD6Eg==} engines: {node: '>=11.0.0'} - '@aptos-labs/aptos-cli@1.0.2': - resolution: {integrity: sha512-PYPsd0Kk3ynkxNfe3S4fanI3DiUICCoh4ibQderbvjPFL5A0oK6F4lPEO2t0MDsQySTk2t4vh99Xjy6Bd9y+aQ==} - hasBin: true - - '@aptos-labs/aptos-client@0.1.1': - resolution: {integrity: sha512-kJsoy4fAPTOhzVr7Vwq8s/AUg6BQiJDa7WOqRzev4zsuIS3+JCuIZ6vUd7UBsjnxtmguJJulMRs9qWCzVBt2XA==} - engines: {node: '>=15.10.0'} - - '@aptos-labs/ts-sdk@1.33.1': - resolution: {integrity: sha512-d6nWtUI//fyEN8DeLjm3+ro87Ad6+IKwR9pCqfrs/Azahso1xR1Llxd/O6fj/m1DDsuDj/HAsCsy5TC/aKD6Eg==} - engines: {node: '>=11.0.0'} - '@babel/runtime@7.26.0': resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} @@ -520,27 +508,6 @@ packages: '@ethersproject/bignumber@5.7.0': resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} - '@ethersproject/abi@5.7.0': - resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} - - '@ethersproject/abstract-provider@5.7.0': - resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} - - '@ethersproject/abstract-signer@5.7.0': - resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} - - '@ethersproject/address@5.7.0': - resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} - - '@ethersproject/base64@5.7.0': - resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} - - '@ethersproject/basex@5.7.0': - resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==} - - '@ethersproject/bignumber@5.7.0': - resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} - '@ethersproject/bytes@5.7.0': resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} @@ -562,24 +529,6 @@ packages: '@ethersproject/keccak256@5.7.0': resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} - '@ethersproject/constants@5.7.0': - resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} - - '@ethersproject/contracts@5.7.0': - resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} - - '@ethersproject/hash@5.7.0': - resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} - - '@ethersproject/hdnode@5.7.0': - resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} - - '@ethersproject/json-wallets@5.7.0': - resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} - - '@ethersproject/keccak256@5.7.0': - resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} - '@ethersproject/logger@5.7.0': resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} @@ -601,24 +550,6 @@ packages: '@ethersproject/rlp@5.7.0': resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} - '@ethersproject/networks@5.7.1': - resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} - - '@ethersproject/pbkdf2@5.7.0': - resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} - - '@ethersproject/properties@5.7.0': - resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} - - '@ethersproject/providers@5.7.2': - resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} - - '@ethersproject/random@5.7.0': - resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} - - '@ethersproject/rlp@5.7.0': - resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} - '@ethersproject/sha2@5.7.0': resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} @@ -640,24 +571,6 @@ packages: '@ethersproject/wordlists@5.7.0': resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} - '@ethersproject/signing-key@5.7.0': - resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} - - '@ethersproject/strings@5.7.0': - resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} - - '@ethersproject/transactions@5.7.0': - resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} - - '@ethersproject/wallet@5.7.0': - resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} - - '@ethersproject/web@5.7.1': - resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} - - '@ethersproject/wordlists@5.7.0': - resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} - '@gerrit0/mini-shiki@1.26.1': resolution: {integrity: sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==} @@ -703,19 +616,6 @@ packages: deprecated: 'Arweave support is deprecated - We recommend migrating to the Irys datachain: https://migrate-to.irys.xyz/' hasBin: true - '@irys/arweave@0.0.2': - resolution: {integrity: sha512-ddE5h4qXbl0xfGlxrtBIwzflaxZUDlDs43TuT0u1OMfyobHul4AA1VEX72Rpzw2bOh4vzoytSqA1jCM7x9YtHg==} - - '@irys/query@0.0.8': - resolution: {integrity: sha512-J8zCZDos2vFogSbroCJHZJq5gnPZEal01Iy3duXAotjIMgrI2ElDANiqEbaP1JAImR1jdUo1ChJnZB7MRLN9Hw==} - engines: {node: '>=16.10.0'} - - '@irys/sdk@0.2.11': - resolution: {integrity: sha512-z3zKlKYEqRHuCGyyVoikL1lT4Jwt8wv7e4MrMThNfhfT/bdKQHD9lEVsX77DBnLJrBBKKg5rRcEzMtVkpNx3QA==} - engines: {node: '>=16.10.0'} - deprecated: 'Arweave support is deprecated - We recommend migrating to the Irys datachain: https://migrate-to.irys.xyz/' - hasBin: true - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -957,48 +857,6 @@ packages: '@near-js/utils@0.0.4': resolution: {integrity: sha512-mPUEPJbTCMicGitjEGvQqOe8AS7O4KkRCxqd0xuE/X6gXF1jz1pYMZn4lNUeUz2C84YnVSGLAM0o9zcN6Y4hiA==} - '@near-js/crypto@0.0.3': - resolution: {integrity: sha512-3WC2A1a1cH8Cqrx+0iDjp1ASEEhxN/KHEMENYb0KZH6Hp5bXIY7Akt4quC7JlgJS5ESvEiLa40tS5h0zAhBWGw==} - - '@near-js/crypto@0.0.4': - resolution: {integrity: sha512-2mSIVv6mZway1rQvmkktrXAFoUvy7POjrHNH3LekKZCMCs7qMM/23Hz2+APgxZPqoV2kjarSNOEYJjxO7zQ/rQ==} - - '@near-js/keystores-browser@0.0.3': - resolution: {integrity: sha512-Ve/JQ1SBxdNk3B49lElJ8Y54AoBY+yOStLvdnUIpe2FBOczzwDCkcnPcMDV0NMwVlHpEnOWICWHbRbAkI5Vs+A==} - - '@near-js/keystores@0.0.3': - resolution: {integrity: sha512-mnwLYUt4Td8u1I4QE1FBx2d9hMt3ofiriE93FfOluJ4XiqRqVFakFYiHg6pExg5iEkej/sXugBUFeQ4QizUnew==} - - '@near-js/keystores@0.0.4': - resolution: {integrity: sha512-+vKafmDpQGrz5py1liot2hYSjPGXwihveeN+BL11aJlLqZnWBgYJUWCXG+uyGjGXZORuy2hzkKK6Hi+lbKOfVA==} - - '@near-js/providers@0.0.4': - resolution: {integrity: sha512-g/2pJTYmsIlTW4mGqeRlqDN9pZeN+1E2/wfoMIf3p++boBVxVlaSebtQgawXAf2lkfhb9RqXz5pHqewXIkTBSw==} - - '@near-js/signers@0.0.3': - resolution: {integrity: sha512-u1R+DDIua5PY1PDFnpVYqdMgQ7c4dyeZsfqMjE7CtgzdqupgTYCXzJjBubqMlAyAx843PoXmLt6CSSKcMm0WUA==} - - '@near-js/signers@0.0.4': - resolution: {integrity: sha512-xCglo3U/WIGsz/izPGFMegS5Q3PxOHYB8a1E7RtVhNm5QdqTlQldLCm/BuMg2G/u1l1ZZ0wdvkqRTG9joauf3Q==} - - '@near-js/transactions@0.1.0': - resolution: {integrity: sha512-OrrDFqhX0rtH+6MV3U3iS+zmzcPQI+L4GJi9na4Uf8FgpaVPF0mtSmVrpUrS5CC3LwWCzcYF833xGYbXOV4Kfg==} - - '@near-js/transactions@0.1.1': - resolution: {integrity: sha512-Fk83oLLFK7nz4thawpdv9bGyMVQ2i48iUtZEVYhuuuqevl17tSXMlhle9Me1ZbNyguJG/cWPdNybe1UMKpyGxA==} - - '@near-js/types@0.0.3': - resolution: {integrity: sha512-gC3iGUT+r2JjVsE31YharT+voat79ToMUMLCGozHjp/R/UW1M2z4hdpqTUoeWUBGBJuVc810gNTneHGx0jvzwQ==} - - '@near-js/types@0.0.4': - resolution: {integrity: sha512-8TTMbLMnmyG06R5YKWuS/qFG1tOA3/9lX4NgBqQPsvaWmDsa+D+QwOkrEHDegped0ZHQwcjAXjKML1S1TyGYKg==} - - '@near-js/utils@0.0.3': - resolution: {integrity: sha512-J72n/EL0VfLRRb4xNUF4rmVrdzMkcmkwJOhBZSTWz3PAZ8LqNeU9ZConPfMvEr6lwdaD33ZuVv70DN6IIjPr1A==} - - '@near-js/utils@0.0.4': - resolution: {integrity: sha512-mPUEPJbTCMicGitjEGvQqOe8AS7O4KkRCxqd0xuE/X6gXF1jz1pYMZn4lNUeUz2C84YnVSGLAM0o9zcN6Y4hiA==} - '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} @@ -1009,9 +867,6 @@ packages: '@noble/ed25519@1.7.3': resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} - '@noble/ed25519@1.7.3': - resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} - '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -1102,12 +957,6 @@ packages: '@randlabs/myalgo-connect@1.4.2': resolution: {integrity: sha512-K9hEyUi7G8tqOp7kWIALJLVbGCByhilcy6123WfcorxWwiE1sbQupPyIU5f3YdQK6wMjBsyTWiLW52ZBMp7sXA==} - '@randlabs/communication-bridge@1.0.1': - resolution: {integrity: sha512-CzS0U8IFfXNK7QaJFE4pjbxDGfPjbXBEsEaCn9FN15F+ouSAEUQkva3Gl66hrkBZOGexKFEWMwUHIDKpZ2hfVg==} - - '@randlabs/myalgo-connect@1.4.2': - resolution: {integrity: sha512-K9hEyUi7G8tqOp7kWIALJLVbGCByhilcy6123WfcorxWwiE1sbQupPyIU5f3YdQK6wMjBsyTWiLW52ZBMp7sXA==} - '@raydium-io/raydium-sdk-v2@0.1.95-alpha': resolution: {integrity: sha512-+u7yxo/R1JDysTCzOuAlh90ioBe2DlM2Hbcz/tFsxP/YzmnYQzShvNjcmc0361a4zJhmlrEJfpFXW0J3kkX5vA==} @@ -1156,10 +1005,6 @@ packages: '@shikijs/vscode-textmate@9.3.1': resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - '@solana/buffer-layout-utils@0.2.0': resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} engines: {node: '>= 10'} @@ -1341,10 +1186,6 @@ packages: resolution: {integrity: sha512-WOiL7La+RSiJsz7jVO85yhSiiSvNMUthiWuLPeWVOoD6IYa34BEAzanF1RdXRWGglSbRFYCTkyr+Ay1WmXmSRQ==} engines: {node: '>=14'} - '@supercharge/promise-pool@3.2.0': - resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} - engines: {node: '>=8'} - '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} @@ -1352,10 +1193,6 @@ packages: resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} - '@szmarczak/http-timer@4.0.6': - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} - '@tensor-hq/tensor-common@8.3.1': resolution: {integrity: sha512-cgc+Z0nR23pi+1DfJgF1+afWd+xf1e6VYPM9yhECshmERr6BgojQfcuoltHHcgpwSlLrZXnm47kQ48I2M6rxFQ==} @@ -1386,9 +1223,6 @@ packages: '@types/cacheable-request@6.0.3': resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - '@types/cacheable-request@6.0.3': - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - '@types/chai@5.0.1': resolution: {integrity: sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA==} @@ -1416,9 +1250,6 @@ packages: '@types/http-cache-semantics@4.0.4': resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - '@types/http-cache-semantics@4.0.4': - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} @@ -1428,9 +1259,6 @@ packages: '@types/keyv@3.1.4': resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -1443,9 +1271,6 @@ packages: '@types/node@11.11.6': resolution: {integrity: sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==} - '@types/node@11.11.6': - resolution: {integrity: sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==} - '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} @@ -1470,9 +1295,6 @@ packages: '@types/responselike@1.0.3': resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - '@types/responselike@1.0.3': - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -1585,9 +1407,6 @@ packages: aes-js@3.0.0: resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} - aes-js@3.0.0: - resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} - agentkeepalive@4.6.0: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} @@ -1619,18 +1438,6 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - algo-msgpack-with-bigint@2.1.1: - resolution: {integrity: sha512-F1tGh056XczEaEAqu7s+hlZUDWwOBT70Eq0lfMpBP2YguSQVyxRbprLq5rELXKQOyOaixTWYhMeMQMzP0U5FoQ==} - engines: {node: '>= 10'} - - algosdk@1.24.1: - resolution: {integrity: sha512-9moZxdqeJ6GdE4N6fA/GlUP4LrbLZMYcYkt141J4Ss68OfEgH9qW0wBuZ3ZOKEx/xjc5bg7mLP2Gjg7nwrkmww==} - engines: {node: '>=14.0.0'} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - ansi-escapes@7.0.0: resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} engines: {node: '>=18'} @@ -1664,12 +1471,6 @@ packages: arconnect@0.4.2: resolution: {integrity: sha512-Jkpd4QL3TVqnd3U683gzXmZUVqBUy17DdJDuL/3D9rkysLgX6ymJ2e+sR+xyZF5Rh42CBqDXWNMmCjBXeP7Gbw==} - arbundles@0.11.2: - resolution: {integrity: sha512-vyX7vY6S8B4RFhGSoCixbnR/Z7ckpJjK+b/H7zcgRWJqqXjZqQ+3DQIJ19vKl5AvzNSsj5ja9kQDoZhMiGpBFw==} - - arconnect@0.4.2: - resolution: {integrity: sha512-Jkpd4QL3TVqnd3U683gzXmZUVqBUy17DdJDuL/3D9rkysLgX6ymJ2e+sR+xyZF5Rh42CBqDXWNMmCjBXeP7Gbw==} - arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -1691,18 +1492,6 @@ packages: asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} - arweave-stream-tx@1.2.2: - resolution: {integrity: sha512-bNt9rj0hbAEzoUZEF2s6WJbIz8nasZlZpxIw03Xm8fzb9gRiiZlZGW3lxQLjfc9Z0VRUWDzwtqoYeEoB/JDToQ==} - peerDependencies: - arweave: ^1.10.0 - - arweave@1.15.5: - resolution: {integrity: sha512-Zj3b8juz1ZtDaQDPQlzWyk2I4wZPx3RmcGq8pVJeZXl2Tjw0WRy5ueHPelxZtBLqCirGoZxZEAFRs6SZUSCBjg==} - engines: {node: '>=18'} - - asn1.js@5.4.1: - resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} - assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} @@ -1713,9 +1502,6 @@ packages: async-retry@1.3.3: resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} - async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} - asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1732,9 +1518,6 @@ packages: axios@1.7.4: resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} - axios@1.7.4: - resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} - axios@1.7.9: resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} @@ -1760,13 +1543,6 @@ packages: bech32@1.1.4: resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} - base64url@3.0.1: - resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} - engines: {node: '>=6.0.0'} - - bech32@1.1.4: - resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} - big-integer@1.6.52: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} @@ -1796,24 +1572,12 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - bip39-light@1.0.7: - resolution: {integrity: sha512-WDTmLRQUsiioBdTs9BmSEmkJza+8xfJmptsNJjxnoq3EydSa/ZBXT6rm66KoT3PJIRYMnhSKNR7S9YL1l7R40Q==} - - bip39@3.0.2: - resolution: {integrity: sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==} - - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - bn.js@4.11.6: resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} bn.js@4.12.1: resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==} - bn.js@4.12.1: - resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==} - bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} @@ -1846,9 +1610,6 @@ packages: brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - bs58@4.0.1: resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} @@ -1887,14 +1648,6 @@ packages: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} - cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} - - cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} - call-bind-apply-helpers@1.0.1: resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} engines: {node: '>= 0.4'} @@ -1943,9 +1696,6 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} @@ -1958,14 +1708,6 @@ packages: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} - cipher-base@1.0.6: - resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} - engines: {node: '>= 0.10'} - - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -1974,10 +1716,6 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - cli-truncate@4.0.0: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} @@ -1993,17 +1731,6 @@ packages: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - - clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -2036,10 +1763,6 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -2064,12 +1787,6 @@ packages: create-hmac@1.1.7: resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} - create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} - - create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} - create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -2100,19 +1817,6 @@ packages: resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} engines: {node: '>= 0.1.90'} - csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} - - csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} - - csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} - - csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} - cyrb53@1.0.0: resolution: {integrity: sha512-Elxs7damp1axRN+npujLik9K6q1QTd6nvJIVJ0IBTV8lCRsTgDeRnkGDTSxQYAbME7kzpooRXCG4UJYAyTe18w==} @@ -2154,10 +1858,6 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -2172,13 +1872,6 @@ packages: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - - defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -2199,10 +1892,6 @@ packages: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -2256,12 +1945,6 @@ packages: elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} - elliptic@6.5.4: - resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} - - elliptic@6.6.1: - resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} - emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} @@ -2285,9 +1968,6 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -2329,10 +2009,6 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -2466,10 +2142,6 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - eyes@0.1.8: resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} engines: {node: '> 0.1.90'} @@ -2507,10 +2179,6 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2661,10 +2329,6 @@ packages: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} - got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -2696,10 +2360,6 @@ packages: resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} engines: {node: '>=4'} - hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} - hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} @@ -2722,12 +2382,6 @@ packages: hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - hi-base32@0.5.1: - resolution: {integrity: sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==} - - hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} @@ -2738,13 +2392,6 @@ packages: resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} engines: {node: '>= 0.6'} - http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - - http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} - http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -2753,10 +2400,6 @@ packages: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} - http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} - human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -2853,10 +2496,6 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - is-nan@1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} @@ -2888,10 +2527,6 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -2927,9 +2562,6 @@ packages: js-sha512@0.8.0: resolution: {integrity: sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==} - js-sha512@0.8.0: - resolution: {integrity: sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==} - js-tiktoken@1.0.16: resolution: {integrity: sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==} @@ -2946,9 +2578,6 @@ packages: json-bigint@1.0.0: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} - json-bigint@1.0.0: - resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} - json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -2989,10 +2618,6 @@ packages: resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} engines: {node: '>=18'} - jwt-decode@4.0.0: - resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} - engines: {node: '>=18'} - keccak256@1.0.6: resolution: {integrity: sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw==} @@ -3106,10 +2731,6 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - log-update@6.1.0: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} @@ -3132,10 +2753,6 @@ packages: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} - lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -3163,9 +2780,6 @@ packages: md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - mdast-util-to-hast@13.2.0: resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} @@ -3233,10 +2847,6 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -3253,23 +2863,12 @@ packages: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimatch@10.0.1: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} @@ -3292,10 +2891,6 @@ packages: resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} engines: {node: '>= 8.0.0'} - mixme@0.5.10: - resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} - engines: {node: '>= 8.0.0'} - ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -3305,9 +2900,6 @@ packages: multistream@4.1.0: resolution: {integrity: sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==} - multistream@4.1.0: - resolution: {integrity: sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==} - mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true @@ -3315,9 +2907,6 @@ packages: mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3332,12 +2921,6 @@ packages: near-seed-phrase@0.2.1: resolution: {integrity: sha512-feMuums+kVL3LSuPcP4ld07xHCb2mu6z48SGfP3W+8tl1Qm5xIcjiQzY2IDPBvFgajRDxWSb8GzsRHoInazByw==} - near-hd-key@1.2.1: - resolution: {integrity: sha512-SIrthcL5Wc0sps+2e1xGj3zceEa68TgNZDLuCx0daxmfTP7sFTB3/mtE2pYhlFsCxWoMn+JfID5E1NlzvvbRJg==} - - near-seed-phrase@0.2.1: - resolution: {integrity: sha512-feMuums+kVL3LSuPcP4ld07xHCb2mu6z48SGfP3W+8tl1Qm5xIcjiQzY2IDPBvFgajRDxWSb8GzsRHoInazByw==} - negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -3351,9 +2934,6 @@ packages: node-addon-api@5.1.0: resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} - node-addon-api@5.1.0: - resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} - node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -3379,10 +2959,6 @@ packages: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} - normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3418,10 +2994,6 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} @@ -3461,18 +3033,6 @@ packages: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} - ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - - p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} - p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} @@ -3549,10 +3109,6 @@ packages: resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} engines: {node: '>=0.12'} - pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} - percentile@1.6.0: resolution: {integrity: sha512-8vSyjdzwxGDHHwH+cSGch3A9Uj2On3UpgOWxWXMKwUvoAbnujx6DaqmV1duWXNiH/oEWpyVd6nSQccix6DM3Ng==} @@ -3571,9 +3127,6 @@ packages: poseidon-lite@0.2.1: resolution: {integrity: sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog==} - poseidon-lite@0.2.1: - resolution: {integrity: sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog==} - possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} @@ -3617,9 +3170,6 @@ packages: pump@3.0.2: resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -3639,10 +3189,6 @@ packages: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} - quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -3674,9 +3220,6 @@ packages: regex@5.0.2: resolution: {integrity: sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==} - resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3684,13 +3227,6 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} @@ -3727,9 +3263,6 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - rpc-websockets@9.0.4: resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} @@ -3737,19 +3270,12 @@ packages: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} - run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -3763,13 +3289,6 @@ packages: resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==} engines: {node: '>=18.0.0'} - scrypt-js@3.0.1: - resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} - - secp256k1@5.0.1: - resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==} - engines: {node: '>=18.0.0'} - secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} @@ -3801,10 +3320,6 @@ packages: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true - sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3835,9 +3350,6 @@ packages: signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -3871,10 +3383,6 @@ packages: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -3882,9 +3390,6 @@ packages: stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} - stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} - string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -3984,17 +3489,6 @@ packages: resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} engines: {node: '>=14.14'} - tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} - - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - - tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -4072,10 +3566,6 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -4208,12 +3698,6 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - vlq@2.0.4: - resolution: {integrity: sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA==} - - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} @@ -4249,10 +3733,6 @@ packages: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -4280,18 +3760,6 @@ packages: utf-8-validate: optional: true - ws@7.4.6: - resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - ws@7.5.10: resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} @@ -4824,59 +4292,6 @@ snapshots: '@ethersproject/logger': 5.7.0 bn.js: 5.2.1 - '@ethersproject/abi@5.7.0': - dependencies: - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 - - '@ethersproject/abstract-provider@5.7.0': - dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/networks': 5.7.1 - '@ethersproject/properties': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/web': 5.7.1 - - '@ethersproject/abstract-signer@5.7.0': - dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - - '@ethersproject/address@5.7.0': - dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/rlp': 5.7.0 - - '@ethersproject/base64@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - - '@ethersproject/basex@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/properties': 5.7.0 - - '@ethersproject/bignumber@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - bn.js: 5.2.1 - '@ethersproject/bytes@5.7.0': dependencies: '@ethersproject/logger': 5.7.0 @@ -4946,71 +4361,6 @@ snapshots: '@ethersproject/bytes': 5.7.0 js-sha3: 0.8.0 - '@ethersproject/constants@5.7.0': - dependencies: - '@ethersproject/bignumber': 5.7.0 - - '@ethersproject/contracts@5.7.0': - dependencies: - '@ethersproject/abi': 5.7.0 - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/transactions': 5.7.0 - - '@ethersproject/hash@5.7.0': - dependencies: - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/base64': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 - - '@ethersproject/hdnode@5.7.0': - dependencies: - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/basex': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/pbkdf2': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/sha2': 5.7.0 - '@ethersproject/signing-key': 5.7.0 - '@ethersproject/strings': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/wordlists': 5.7.0 - - '@ethersproject/json-wallets@5.7.0': - dependencies: - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/hdnode': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/pbkdf2': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/random': 5.7.0 - '@ethersproject/strings': 5.7.0 - '@ethersproject/transactions': 5.7.0 - aes-js: 3.0.0 - scrypt-js: 3.0.1 - - '@ethersproject/keccak256@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - js-sha3: 0.8.0 - '@ethersproject/logger@5.7.0': {} '@ethersproject/networks@5.7.1': @@ -5178,67 +4528,6 @@ snapshots: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - '@ethersproject/signing-key@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - bn.js: 5.2.1 - elliptic: 6.5.4 - hash.js: 1.1.7 - - '@ethersproject/strings@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 - - '@ethersproject/transactions@5.7.0': - dependencies: - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/rlp': 5.7.0 - '@ethersproject/signing-key': 5.7.0 - - '@ethersproject/wallet@5.7.0': - dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/hdnode': 5.7.0 - '@ethersproject/json-wallets': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/random': 5.7.0 - '@ethersproject/signing-key': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/wordlists': 5.7.0 - - '@ethersproject/web@5.7.1': - dependencies: - '@ethersproject/base64': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 - - '@ethersproject/wordlists@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 - '@gerrit0/mini-shiki@1.26.1': dependencies: '@shikijs/engine-oniguruma': 1.26.1 @@ -5742,102 +5031,6 @@ snapshots: '@msgpack/msgpack@3.0.0-beta2': {} - '@near-js/crypto@0.0.3': - dependencies: - '@near-js/types': 0.0.3 - bn.js: 5.2.1 - borsh: 0.7.0 - tweetnacl: 1.0.3 - - '@near-js/crypto@0.0.4': - dependencies: - '@near-js/types': 0.0.4 - bn.js: 5.2.1 - borsh: 0.7.0 - tweetnacl: 1.0.3 - - '@near-js/keystores-browser@0.0.3': - dependencies: - '@near-js/crypto': 0.0.3 - '@near-js/keystores': 0.0.3 - - '@near-js/keystores@0.0.3': - dependencies: - '@near-js/crypto': 0.0.3 - '@near-js/types': 0.0.3 - - '@near-js/keystores@0.0.4': - dependencies: - '@near-js/crypto': 0.0.4 - '@near-js/types': 0.0.4 - - '@near-js/providers@0.0.4': - dependencies: - '@near-js/transactions': 0.1.0 - '@near-js/types': 0.0.3 - '@near-js/utils': 0.0.3 - bn.js: 5.2.1 - borsh: 0.7.0 - http-errors: 1.8.1 - optionalDependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - - '@near-js/signers@0.0.3': - dependencies: - '@near-js/crypto': 0.0.3 - '@near-js/keystores': 0.0.3 - js-sha256: 0.9.0 - - '@near-js/signers@0.0.4': - dependencies: - '@near-js/crypto': 0.0.4 - '@near-js/keystores': 0.0.4 - js-sha256: 0.9.0 - - '@near-js/transactions@0.1.0': - dependencies: - '@near-js/crypto': 0.0.3 - '@near-js/signers': 0.0.3 - '@near-js/types': 0.0.3 - '@near-js/utils': 0.0.3 - bn.js: 5.2.1 - borsh: 0.7.0 - js-sha256: 0.9.0 - - '@near-js/transactions@0.1.1': - dependencies: - '@near-js/crypto': 0.0.4 - '@near-js/signers': 0.0.4 - '@near-js/types': 0.0.4 - '@near-js/utils': 0.0.4 - bn.js: 5.2.1 - borsh: 0.7.0 - js-sha256: 0.9.0 - - '@near-js/types@0.0.3': - dependencies: - bn.js: 5.2.1 - - '@near-js/types@0.0.4': - dependencies: - bn.js: 5.2.1 - - '@near-js/utils@0.0.3': - dependencies: - '@near-js/types': 0.0.3 - bn.js: 5.2.1 - depd: 2.0.0 - mustache: 4.2.0 - - '@near-js/utils@0.0.4': - dependencies: - '@near-js/types': 0.0.4 - bn.js: 5.2.1 - depd: 2.0.0 - mustache: 4.2.0 - '@near-js/crypto@0.0.3': dependencies: '@near-js/types': 0.0.3 @@ -5942,8 +5135,6 @@ snapshots: dependencies: '@noble/hashes': 1.6.0 - '@noble/ed25519@1.7.3': {} - '@noble/hashes@1.4.0': {} '@noble/hashes@1.5.0': {} @@ -6644,8 +5835,6 @@ snapshots: - typescript - utf-8-validate - '@supercharge/promise-pool@3.2.0': {} - '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 @@ -6748,13 +5937,6 @@ snapshots: '@types/node': 22.10.5 '@types/responselike': 1.0.3 - '@types/cacheable-request@6.0.3': - dependencies: - '@types/http-cache-semantics': 4.0.4 - '@types/keyv': 3.1.4 - '@types/node': 22.10.5 - '@types/responselike': 1.0.3 - '@types/chai@5.0.1': dependencies: '@types/deep-eql': 4.0.2 @@ -6789,16 +5971,10 @@ snapshots: '@types/http-cache-semantics@4.0.4': {} - '@types/http-cache-semantics@4.0.4': {} - '@types/http-errors@2.0.4': {} '@types/json-schema@7.0.15': {} - '@types/keyv@3.1.4': - dependencies: - '@types/node': 22.10.5 - '@types/keyv@3.1.4': dependencies: '@types/node': 22.10.5 @@ -6816,8 +5992,6 @@ snapshots: '@types/node@11.11.6': {} - '@types/node@11.11.6': {} - '@types/node@12.20.55': {} '@types/node@18.19.68': @@ -6840,10 +6014,6 @@ snapshots: '@types/range-parser@1.2.7': {} - '@types/responselike@1.0.3': - dependencies: - '@types/node': 22.10.5 - '@types/responselike@1.0.3': dependencies: '@types/node': 22.10.5 @@ -6987,8 +6157,6 @@ snapshots: aes-js@3.0.0: {} - aes-js@3.0.0: {} - agentkeepalive@4.6.0: dependencies: humanize-ms: 1.2.1 @@ -7163,10 +6331,6 @@ snapshots: assertion-error@2.0.1: {} - async-retry@1.3.3: - dependencies: - retry: 0.13.1 - async-retry@1.3.3: dependencies: retry: 0.13.1 @@ -7198,14 +6362,6 @@ snapshots: transitivePeerDependencies: - debug - axios@1.7.4: - dependencies: - follow-redirects: 1.15.9 - form-data: 4.0.1 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - axios@1.7.9: dependencies: follow-redirects: 1.15.9 @@ -7230,10 +6386,6 @@ snapshots: bech32@1.1.4: {} - base64url@3.0.1: {} - - bech32@1.1.4: {} - big-integer@1.6.52: {} big.js@6.2.2: {} @@ -7250,24 +6402,6 @@ snapshots: bintrees@1.0.2: {} - bip39-light@1.0.7: - dependencies: - create-hash: 1.2.0 - pbkdf2: 3.1.2 - - bip39@3.0.2: - dependencies: - '@types/node': 11.11.6 - create-hash: 1.2.0 - pbkdf2: 3.1.2 - randombytes: 2.1.0 - - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - bip39-light@1.0.7: dependencies: create-hash: 1.2.0 @@ -7290,8 +6424,6 @@ snapshots: bn.js@4.12.1: {} - bn.js@4.12.1: {} - bn.js@5.2.1: {} bn@1.0.5: {} @@ -7338,8 +6470,6 @@ snapshots: brorand@1.1.0: {} - brorand@1.1.0: {} - bs58@4.0.1: dependencies: base-x: 3.0.10 @@ -7375,18 +6505,6 @@ snapshots: cacheable-lookup@5.0.4: {} - cacheable-request@7.0.4: - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 4.5.4 - lowercase-keys: 2.0.0 - normalize-url: 6.1.0 - responselike: 2.0.1 - - cacheable-lookup@5.0.4: {} - cacheable-request@7.0.4: dependencies: clone-response: 1.0.3 @@ -7443,19 +6561,8 @@ snapshots: chardet@0.7.0: {} - chardet@0.7.0: {} - check-error@2.1.1: {} - cipher-base@1.0.6: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - - cli-cursor@3.1.0: - dependencies: - restore-cursor: 3.1.0 - cipher-base@1.0.6: dependencies: inherits: 2.0.4 @@ -7471,8 +6578,6 @@ snapshots: cli-spinners@2.9.2: {} - cli-spinners@2.9.2: {} - cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 @@ -7486,14 +6591,6 @@ snapshots: clone@1.0.4: {} - cli-width@3.0.0: {} - - clone-response@1.0.3: - dependencies: - mimic-response: 1.0.1 - - clone@1.0.4: {} - color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -7516,8 +6613,6 @@ snapshots: commander@8.3.0: {} - commander@8.3.0: {} - concat-map@0.0.1: {} content-disposition@0.5.4: @@ -7530,23 +6625,6 @@ snapshots: cookie@0.7.1: {} - create-hash@1.2.0: - dependencies: - cipher-base: 1.0.6 - inherits: 2.0.4 - md5.js: 1.3.5 - ripemd160: 2.0.2 - sha.js: 2.4.11 - - create-hmac@1.1.7: - dependencies: - cipher-base: 1.0.6 - create-hash: 1.2.0 - inherits: 2.0.4 - ripemd160: 2.0.2 - safe-buffer: 5.2.1 - sha.js: 2.4.11 - create-hash@1.2.0: dependencies: cipher-base: 1.0.6 @@ -7597,19 +6675,6 @@ snapshots: cyrb53@1.0.0: {} - csv-generate@3.4.3: {} - - csv-parse@4.16.3: {} - - csv-stringify@5.6.5: {} - - csv@5.5.3: - dependencies: - csv-generate: 3.4.3 - csv-parse: 4.16.3 - csv-stringify: 5.6.5 - stream-transform: 2.1.3 - data-uri-to-buffer@4.0.1: {} dayjs@1.11.13: {} @@ -7628,10 +6693,6 @@ snapshots: decimal.js@10.4.3: {} - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -7646,12 +6707,6 @@ snapshots: defer-to-connect@2.0.1: {} - defaults@1.0.4: - dependencies: - clone: 1.0.4 - - defer-to-connect@2.0.1: {} - define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 @@ -7670,8 +6725,6 @@ snapshots: depd@1.1.2: {} - depd@1.1.2: {} - depd@2.0.0: {} dequal@2.0.3: {} @@ -7709,26 +6762,6 @@ snapshots: ee-first@1.1.1: {} - elliptic@6.5.4: - dependencies: - bn.js: 4.12.1 - brorand: 1.1.0 - hash.js: 1.1.7 - hmac-drbg: 1.0.1 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - - elliptic@6.6.1: - dependencies: - bn.js: 4.12.1 - brorand: 1.1.0 - hash.js: 1.1.7 - hmac-drbg: 1.0.1 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - elliptic@6.5.4: dependencies: bn.js: 4.12.1 @@ -7761,10 +6794,6 @@ snapshots: encodeurl@2.0.0: {} - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -7820,8 +6849,6 @@ snapshots: escape-string-regexp@1.0.5: {} - escape-string-regexp@1.0.5: {} - escape-string-regexp@4.0.0: {} eslint-config-prettier@9.1.0(eslint@8.57.1): @@ -8051,12 +7078,6 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - eyes@0.1.8: {} fast-deep-equal@3.1.3: {} @@ -8092,10 +7113,6 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - figures@3.2.0: - dependencies: - escape-string-regexp: 1.0.5 - file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -8290,20 +7307,6 @@ snapshots: gopd@1.2.0: {} - got@11.8.6: - dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.3 - cacheable-lookup: 5.0.4 - cacheable-request: 7.0.4 - decompress-response: 6.0.0 - http2-wrapper: 1.0.3 - lowercase-keys: 2.0.0 - p-cancelable: 2.1.1 - responselike: 2.0.1 - got@11.8.6: dependencies: '@sindresorhus/is': 4.6.0 @@ -8359,12 +7362,6 @@ snapshots: readable-stream: 3.6.2 safe-buffer: 5.2.1 - hash-base@3.1.0: - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - safe-buffer: 5.2.1 - hash.js@1.1.7: dependencies: inherits: 2.0.4 @@ -8410,14 +7407,6 @@ snapshots: hi-base32@0.5.1: {} - hmac-drbg@1.0.1: - dependencies: - hash.js: 1.1.7 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - - hi-base32@0.5.1: {} - hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 @@ -8428,16 +7417,6 @@ snapshots: http-cache-semantics@4.1.1: {} - http-errors@1.8.1: - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 - - http-cache-semantics@4.1.1: {} - http-errors@1.8.1: dependencies: depd: 1.1.2 @@ -8459,11 +7438,6 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - http2-wrapper@1.0.3: - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - human-signals@5.0.0: {} humanize-ms@1.2.1: @@ -8551,8 +7525,6 @@ snapshots: is-interactive@1.0.0: {} - is-interactive@1.0.0: {} - is-nan@1.3.2: dependencies: call-bind: 1.0.8 @@ -8574,8 +7546,6 @@ snapshots: is-unicode-supported@0.1.0: {} - is-unicode-supported@0.1.0: {} - isexe@2.0.0: {} isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)): @@ -8624,8 +7594,6 @@ snapshots: js-sha512@0.8.0: {} - js-sha512@0.8.0: {} - js-tiktoken@1.0.16: dependencies: base64-js: 1.5.1 @@ -8638,10 +7606,6 @@ snapshots: jsbi@4.3.0: {} - json-bigint@1.0.0: - dependencies: - bignumber.js: 9.1.2 - json-bigint@1.0.0: dependencies: bignumber.js: 9.1.2 @@ -8676,8 +7640,6 @@ snapshots: jwt-decode@4.0.0: {} - jwt-decode@4.0.0: {} - keccak256@1.0.6: dependencies: bn.js: 5.2.1 @@ -8782,11 +7744,6 @@ snapshots: lodash@4.17.21: {} - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - log-symbols@4.1.0: dependencies: chalk: 4.1.2 @@ -8814,8 +7771,6 @@ snapshots: lowercase-keys@2.0.0: {} - lowercase-keys@2.0.0: {} - lru-cache@10.4.3: {} lru-cache@11.0.2: {} @@ -8837,12 +7792,6 @@ snapshots: math-intrinsics@1.1.0: {} - md5.js@1.3.5: - dependencies: - hash-base: 3.1.0 - inherits: 2.0.4 - safe-buffer: 5.2.1 - md5.js@1.3.5: dependencies: hash-base: 3.1.0 @@ -8915,8 +7864,6 @@ snapshots: mimic-fn@2.1.0: {} - mimic-fn@2.1.0: {} - mimic-fn@4.0.0: {} mimic-function@5.0.1: {} @@ -8925,16 +7872,10 @@ snapshots: mimic-response@3.1.0: {} - mimic-response@1.0.1: {} - - mimic-response@3.1.0: {} - minimalistic-assert@1.0.1: {} minimalistic-crypto-utils@1.0.1: {} - minimalistic-crypto-utils@1.0.1: {} - minimatch@10.0.1: dependencies: brace-expansion: 2.0.1 @@ -8953,18 +7894,10 @@ snapshots: mixme@0.5.10: {} - mixme@0.5.10: {} - ms@2.0.0: {} ms@2.1.3: {} - multistream@4.1.0: - dependencies: - once: 1.4.0 - readable-stream: 3.6.2 - optional: true - multistream@4.1.0: dependencies: once: 1.4.0 @@ -8975,25 +7908,10 @@ snapshots: mute-stream@0.0.8: {} - mute-stream@0.0.8: {} - nanoid@3.3.8: {} natural-compare@1.4.0: {} - near-hd-key@1.2.1: - dependencies: - bip39: 3.0.2 - create-hmac: 1.1.7 - tweetnacl: 1.0.3 - - near-seed-phrase@0.2.1: - dependencies: - bip39-light: 1.0.7 - bs58: 4.0.1 - near-hd-key: 1.2.1 - tweetnacl: 1.0.3 - near-hd-key@1.2.1: dependencies: bip39: 3.0.2 @@ -9018,8 +7936,6 @@ snapshots: node-addon-api@5.1.0: {} - node-addon-api@5.1.0: {} - node-domexception@1.0.0: {} node-fetch@2.7.0: @@ -9036,8 +7952,6 @@ snapshots: normalize-url@6.1.0: {} - normalize-url@6.1.0: {} - npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -9077,10 +7991,6 @@ snapshots: dependencies: mimic-fn: 2.1.0 - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - onetime@6.0.0: dependencies: mimic-fn: 4.0.0 @@ -9136,22 +8046,6 @@ snapshots: p-cancelable@2.1.1: {} - ora@5.4.1: - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - - os-tmpdir@1.0.2: {} - - p-cancelable@2.1.1: {} - p-finally@1.0.0: {} p-limit@3.1.0: @@ -9210,14 +8104,6 @@ snapshots: pathval@2.0.0: {} - pbkdf2@3.1.2: - dependencies: - create-hash: 1.2.0 - create-hmac: 1.1.7 - ripemd160: 2.0.2 - safe-buffer: 5.2.1 - sha.js: 2.4.11 - pbkdf2@3.1.2: dependencies: create-hash: 1.2.0 @@ -9238,8 +8124,6 @@ snapshots: poseidon-lite@0.2.1: {} - poseidon-lite@0.2.1: {} - possible-typed-array-names@1.0.0: {} prelude-ls@1.2.1: {} @@ -9271,11 +8155,6 @@ snapshots: proxy-from-env@1.1.0: {} - pump@3.0.2: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - pump@3.0.2: dependencies: end-of-stream: 1.4.4 @@ -9293,8 +8172,6 @@ snapshots: quick-lru@5.1.1: {} - quick-lru@5.1.1: {} - randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -9330,21 +8207,10 @@ snapshots: resolve-alpn@1.2.1: {} - resolve-alpn@1.2.1: {} - resolve-from@4.0.0: {} resolve-pkg-maps@1.0.0: {} - responselike@2.0.1: - dependencies: - lowercase-keys: 2.0.0 - - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - restore-cursor@5.1.0: dependencies: onetime: 7.0.0 @@ -9376,11 +8242,6 @@ snapshots: hash-base: 3.1.0 inherits: 2.0.4 - ripemd160@2.0.2: - dependencies: - hash-base: 3.1.0 - inherits: 2.0.4 - rpc-websockets@9.0.4: dependencies: '@swc/helpers': 0.5.15 @@ -9396,8 +8257,6 @@ snapshots: run-async@2.4.1: {} - run-async@2.4.1: {} - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -9412,14 +8271,6 @@ snapshots: scrypt-js@3.0.1: {} - secp256k1@5.0.1: - dependencies: - elliptic: 6.6.1 - node-addon-api: 5.1.0 - node-gyp-build: 4.8.4 - - scrypt-js@3.0.1: {} - secp256k1@5.0.1: dependencies: elliptic: 6.6.1 @@ -9470,11 +8321,6 @@ snapshots: setprototypeof@1.2.0: {} - sha.js@2.4.11: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - sha.js@2.4.11: dependencies: inherits: 2.0.4 @@ -9525,8 +8371,6 @@ snapshots: signal-exit@3.0.7: {} - signal-exit@3.0.7: {} - signal-exit@4.1.0: {} slice-ansi@5.0.0: @@ -9569,14 +8413,8 @@ snapshots: statuses@1.5.0: {} - statuses@1.5.0: {} - statuses@2.0.1: {} - stream-transform@2.1.3: - dependencies: - mixme: 0.5.10 - stream-transform@2.1.3: dependencies: mixme: 0.5.10 @@ -9663,18 +8501,6 @@ snapshots: tiny-invariant@1.3.3: {} - tmp-promise@3.0.3: - dependencies: - tmp: 0.2.3 - optional: true - - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - - tmp@0.2.3: - optional: true - tmp-promise@3.0.3: dependencies: tmp: 0.2.3 @@ -9772,8 +8598,6 @@ snapshots: type-fest@0.21.3: {} - type-fest@0.21.3: {} - type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -9898,12 +8722,6 @@ snapshots: vlq@2.0.4: {} - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - - vlq@2.0.4: {} - wcwidth@1.0.1: dependencies: defaults: 1.0.4 @@ -9945,12 +8763,6 @@ snapshots: word-wrap@1.2.5: {} - wrap-ansi@6.2.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 1bf9113..524b3d0 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -100,51 +100,6 @@ import { SolanaGetAllAssetsByOwner, } from "./index"; -export class SolanaSendTransactionWithPriorityFee extends Tool { - name = "solana_send_transaction_with_priority_fee"; - description = `Sends a Solana transaction with a user-defined priority fee. - - **Inputs (JSON-encoded string)**: - - priorityLevel: string — the priority level ("NONE", "Min", "Low", "Medium", "High", "VeryHigh", or "UnsafeMax") - - amount: number — the amount of SOL to send - - to: string — the recipient's wallet address (public key in base58);`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const { priorityLevel, amount, to } = JSON.parse(input); - - if (!priorityLevel || !amount || !to) { - throw new Error( - `Missing required fields. Received: priorityLevel=${priorityLevel}, amount=${amount}, to=${to}`, - ); - } - const toPubkey = new PublicKey(to); - - const priorityFeeTx = await this.solanaKit.sendTranctionWithPriority( - priorityLevel, - amount, - toPubkey, - ); - - return JSON.stringify({ - status: "success", - message: "Transaction sent successfully", - priorityFeeTx, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), From 53ee654202cadd869c0c1f5b4efb3f85ff846dc4 Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Thu, 9 Jan 2025 02:42:02 +0530 Subject: [PATCH 126/138] feat:added webhooks for live notifications --- src/agent/index.ts | 21 +---- src/langchain/index.ts | 149 ++++++++++++++++++++++++++++++++++++ src/tools/helius_webhook.ts | 132 ++++++++++++++++++++++++++++++++ src/types/index.ts | 17 ++++ 4 files changed, 299 insertions(+), 20 deletions(-) create mode 100644 src/tools/helius_webhook.ts diff --git a/src/agent/index.ts b/src/agent/index.ts index 5886fb4..0fe422a 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -96,6 +96,7 @@ import { OrderParams, FlashTradeParams, FlashCloseTradeParams, + PriorityFeeTransaction, HeliusWebhookIdResponse, HeliusWebhookResponse, } from "../types"; @@ -687,24 +688,4 @@ export class SolanaAgentKit { async deleteWebhook(webhookID: string): Promise { return deleteHeliusWebhook(this, webhookID); } - async heliusParseTransactions(transactionId: string): Promise { - return parseTransaction(this, transactionId); - } - async getAllAssetsbyOwner(owner: PublicKey, limit: number): Promise { - return getAssetsByOwner(this, owner, limit); - } - async sendTranctionWithPriority( - priorityLevel: string, - amount: number, - to: PublicKey, - splmintAddress?: PublicKey, - ): Promise<{ transactionId: string; fee: number }> { - return sendTransactionWithPriorityFee( - this, - priorityLevel, - amount, - to, - splmintAddress, - ); - } } diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 524b3d0..8809e7b 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -100,6 +100,150 @@ import { SolanaGetAllAssetsByOwner, } from "./index"; +export class SolanaHeliusWebhookTool extends Tool { + name = "create_helius_webhook"; + description = `Creates a Helius Webhook that listens to specified account addresses. + + Inputs (input is a JSON string): + accountAddresses: string[] | string, + e.g. ["BVdNLvyG2DNiWAXBE9qAmc4MTQXymd5Bzfo9xrQSUzVP","Eo2ciguhMLmcTWXELuEQPdu7DWZt67LHXb2rdHZUbot7"] + or "BVdNLvyG2DNiWAXBE9qAmc4MTQXymd5Bzfo9xrQSUzVP,Eo2ciguhMLmcTWXELuEQPdu7DWZt67LHXb2rdHZUbot7" + webhookURL: string, e.g. "https://TestServer.test.repl.co/webhooks"`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + let accountAddresses: string[] = []; + + if (!parsedInput.accountAddresses) { + throw new Error('Missing "accountAddresses" property in input JSON.'); + } + if (Array.isArray(parsedInput.accountAddresses)) { + accountAddresses = parsedInput.accountAddresses.map((addr: string) => + addr.trim(), + ); + } else if (typeof parsedInput.accountAddresses === "string") { + accountAddresses = parsedInput.accountAddresses + .split(",") + .map((addr: string) => addr.trim()); + } else { + throw new Error( + 'Invalid type for "accountAddresses". Expected array or comma-separated string.', + ); + } + + const webhookURL = parsedInput.webhookURL; + if (!webhookURL) { + throw new Error( + 'Invalid input. Expected a "webhookURL" property in the JSON.', + ); + } + const result = await this.solanaKit.CreateWebhook( + accountAddresses, + webhookURL, + ); + + // Return success in JSON + return JSON.stringify({ + status: "success", + message: "Helius Webhook created successfully", + webhookURL: result.webhookURL, + webhookID: result.webhookID, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + +export class SolanaGetHeliusWebhookTool extends Tool { + name = "get_helius_webhook"; + description = `Retrieves a Helius Webhook by its ID. + +Inputs (input is a JSON string): + webhookID: string, e.g. "1ed4244d-a591-4854-ac31-cc28d40b8255"`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + const webhookID = parsedInput.webhookID; + if (!webhookID || typeof webhookID !== "string") { + throw new Error( + 'Invalid input. Expected a "webhookID" property in the JSON.', + ); + } + + const result = await this.solanaKit.getWebhook(webhookID); + return JSON.stringify({ + status: "success", + message: "Helius Webhook retrieved successfully", + wallet: result.wallet, + webhookURL: result.webhookURL, + transactionTypes: result.transactionTypes, + accountAddresses: result.accountAddresses, + webhookType: result.webhookType, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + +export class SolanaDeleteHeliusWebhookTool extends Tool { + name = "delete_helius_webhook"; + description = `Deletes a Helius Webhook by its ID. + +Inputs (input is a JSON string): + webhookID: string, e.g. "1ed4244d-a591-4854-ac31-cc28d40b8255"`; + + constructor(private solanaKit: SolanaAgentKit) { + super(); + } + + protected async _call(input: string): Promise { + try { + const parsedInput = JSON.parse(input); + + const webhookID = parsedInput.webhookID; + if (!webhookID || typeof webhookID !== "string") { + throw new Error( + 'Invalid input. Expected a "webhookID" property in the JSON.', + ); + } + const result = await this.solanaKit.deleteWebhook(webhookID); + + return JSON.stringify({ + status: "success", + message: "Helius Webhook deleted successfully", + data: result, + }); + } catch (error: any) { + return JSON.stringify({ + status: "error", + message: error.message, + code: error.code || "UNKNOWN_ERROR", + }); + } + } +} + export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), @@ -172,5 +316,10 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) { new SolanaDeleteHeliusWebhookTool(solanaKit), new SolanaParseTransactionHeliusTool(solanaKit), new SolanaGetAllAssetsByOwner(solanaKit), + new Solana3LandCreateSingle(solanaKit), + new SolanaSendTransactionWithPriorityFee(solanaKit), + new SolanaHeliusWebhookTool(solanaKit), + new SolanaGetHeliusWebhookTool(solanaKit), + new SolanaDeleteHeliusWebhookTool(solanaKit), ]; } diff --git a/src/tools/helius_webhook.ts b/src/tools/helius_webhook.ts new file mode 100644 index 0000000..98b083f --- /dev/null +++ b/src/tools/helius_webhook.ts @@ -0,0 +1,132 @@ +import { SolanaAgentKit } from "../index"; +import { HeliusWebhookResponse, HeliusWebhookIdResponse } from "../index"; + +export async function create_HeliusWebhook( + agent: SolanaAgentKit, + accountAddresses: string[], + webhookURL: string, +): Promise { + try { + const response = await fetch( + `https://api.helius.xyz/v0/webhooks?api-key=${agent.config.HELIUS_API_KEY}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + webhookURL, + transactionTypes: ["Any"], + accountAddresses, + webhookType: "enhanced", + txnStatus: "all", + }), + }, + ); + + const data = await response.json(); + return { + webhookURL: data.webhookURL, + webhookID: data.webhookID, + }; + } catch (error: any) { + throw new Error(`Failed to create Webhook: ${error.message}`); + } +} + +/** + * Retrieves a Helius Webhook by ID, returning only the specified fields. + * + * @param agent - An instance of SolanaAgentKit (with .config.HELIUS_API_KEY) + * @param webhookID - The unique ID of the webhook to retrieve + * + * @returns A HeliusWebhook object containing { wallet, webhookURL, transactionTypes, accountAddresses, webhookType } + */ +export async function getHeliusWebhook( + agent: SolanaAgentKit, + webhookID: string, +): Promise { + try { + const apiKey = agent.config.HELIUS_API_KEY; + if (!apiKey) { + throw new Error("HELIUS_API_KEY is missing in agent.config"); + } + + const response = await fetch( + `https://api.helius.xyz/v0/webhooks/${webhookID}?api-key=${apiKey}`, + { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + }, + ); + + if (!response.ok) { + throw new Error( + `Failed to fetch webhook with ID ${webhookID}. ` + + `Status Code: ${response.status}`, + ); + } + + const data = await response.json(); + + return { + wallet: data.wallet, + webhookURL: data.webhookURL, + transactionTypes: data.transactionTypes, + accountAddresses: data.accountAddresses, + webhookType: data.webhookType, + }; + } catch (error: any) { + throw new Error(`Failed to get webhook by ID: ${error.message}`); + } +} + +/** + * Deletes a Helius Webhook by its ID. + * + * @param agent - An instance of SolanaAgentKit (with .config.HELIUS_API_KEY) + * @param webhookID - The unique ID of the webhook to delete + * + * @returns The response body from the Helius API (which may contain status or other info) + */ +export async function deleteHeliusWebhook( + agent: SolanaAgentKit, + webhookID: string, +): Promise { + try { + const apiKey = agent.config.HELIUS_API_KEY; + if (!apiKey) { + throw new Error("Missing Helius API key in agent.config.HELIUS_API_KEY"); + } + + const url = `https://api.helius.xyz/v0/webhooks/${webhookID}?api-key=${apiKey}`; + const response = await fetch(url, { + method: "DELETE", + headers: { + "Content-Type": "application/json", + }, + }); + + if (!response.ok) { + throw new Error( + `Failed to delete webhook: ${response.status} ${response.statusText}`, + ); + } + if (response.status === 204) { + return { message: "Webhook deleted successfully (no content returned)" }; + } + const contentLength = response.headers.get("Content-Length"); + if (contentLength === "0" || !contentLength) { + return { message: "Webhook deleted successfully (empty body)" }; + } + + // Otherwise, parse as JSON + const data = await response.json(); + return data; + } catch (error: any) { + console.error("Error deleting Helius Webhook:", error.message); + throw new Error(`Failed to delete Helius Webhook: ${error.message}`); + } +} diff --git a/src/types/index.ts b/src/types/index.ts index 2d733b7..0fedb5e 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -238,3 +238,20 @@ export interface FlashCloseTradeParams { token: string; side: "long" | "short"; } + +export interface PriorityFeeTransaction { + transactionId: string; + fee: number; +} + +export interface HeliusWebhookResponse { + webhookURL: string; + webhookID: string; +} +export interface HeliusWebhookIdResponse { + wallet: string; + webhookURL: string; + transactionTypes: string[]; + accountAddresses: string[]; + webhookType: string; +} From be3f158aaab28407644348da6f9a3ca8bf93e232 Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Fri, 10 Jan 2025 15:21:28 +0530 Subject: [PATCH 127/138] fix : able to send transaction with priority fee --- pnpm-lock.yaml | 193 ++++++++++++++------ src/langchain/index.ts | 144 --------------- src/tools/send_transaction_with_priority.ts | 117 +++++------- src/types/index.ts | 10 + 4 files changed, 193 insertions(+), 271 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 21ced1e..dd3b53f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1002,8 +1002,13 @@ packages: '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} - '@shikijs/vscode-textmate@9.3.1': - resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} '@solana/buffer-layout-utils@0.2.0': resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} @@ -1182,9 +1187,13 @@ packages: '@solana/web3.js@1.98.0': resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} - '@sqds/multisig@2.1.3': - resolution: {integrity: sha512-WOiL7La+RSiJsz7jVO85yhSiiSvNMUthiWuLPeWVOoD6IYa34BEAzanF1RdXRWGglSbRFYCTkyr+Ay1WmXmSRQ==} - engines: {node: '>=14'} + '@supercharge/promise-pool@3.2.0': + resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} + engines: {node: '>=8'} + + '@supercharge/promise-pool@3.2.0': + resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} + engines: {node: '>=8'} '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} @@ -2442,8 +2451,9 @@ packages: resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} engines: {node: '>=12.0.0'} - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} @@ -3217,15 +3227,32 @@ packages: regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - regex@5.0.2: - resolution: {integrity: sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==} + regex@5.1.1: + resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} @@ -3898,8 +3925,8 @@ snapshots: dependencies: '@aptos-labs/aptos-cli': 1.0.2 '@aptos-labs/aptos-client': 0.1.1 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 eventemitter3: 5.0.1 @@ -4376,7 +4403,7 @@ snapshots: dependencies: '@ethersproject/logger': 5.7.0 - '@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@ethersproject/providers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -4397,7 +4424,7 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/web': 5.7.1 bech32: 1.1.4 - ws: 7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ws: 7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -4574,22 +4601,22 @@ snapshots: transitivePeerDependencies: - debug - '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@aptos-labs/ts-sdk': 1.33.1 '@ethersproject/bignumber': 5.7.0 '@ethersproject/contracts': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@ethersproject/wallet': 5.7.0 '@irys/query': 0.0.8 '@near-js/crypto': 0.0.3 '@near-js/keystores-browser': 0.0.3 '@near-js/providers': 0.0.4 '@near-js/transactions': 0.1.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@supercharge/promise-pool': 3.2.0 algosdk: 1.24.1 - arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10) + arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) async-retry: 1.3.3 axios: 1.7.9 base64url: 3.0.1 @@ -5133,7 +5160,11 @@ snapshots: '@noble/curves@1.7.0': dependencies: - '@noble/hashes': 1.6.0 + '@noble/hashes': 1.7.0 + + '@noble/ed25519@1.7.3': {} + + '@noble/ed25519@1.7.3': {} '@noble/hashes@1.4.0': {} @@ -5259,7 +5290,15 @@ snapshots: '@randlabs/communication-bridge': 1.0.1 optional: true - '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@randlabs/communication-bridge@1.0.1': + optional: true + + '@randlabs/myalgo-connect@1.4.2': + dependencies: + '@randlabs/communication-bridge': 1.0.1 + optional: true + + '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -5350,7 +5389,7 @@ snapshots: '@shikijs/vscode-textmate@10.0.1': {} - '@shikijs/vscode-textmate@9.3.1': {} + '@sindresorhus/is@4.6.0': {} '@sindresorhus/is@4.6.0': {} @@ -5815,25 +5854,9 @@ snapshots: - encoding - utf-8-validate - '@sqds/multisig@2.1.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': - dependencies: - '@metaplex-foundation/beet': 0.7.1 - '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@metaplex-foundation/cusper': 0.0.2 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@types/bn.js': 5.1.6 - assert: 2.1.0 - bn.js: 5.2.1 - buffer: 6.0.3 - invariant: 2.2.4 - transitivePeerDependencies: - - bufferutil - - encoding - - fastestsmallesttextencoderdecoder - - supports-color - - typescript - - utf-8-validate + '@supercharge/promise-pool@3.2.0': {} + + '@supercharge/promise-pool@3.2.0': {} '@swc/helpers@0.5.15': dependencies: @@ -5843,7 +5866,11 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@szmarczak/http-timer@4.0.6': + dependencies: + defer-to-connect: 2.0.1 + + '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -6187,7 +6214,7 @@ snapshots: dependencies: algo-msgpack-with-bigint: 2.1.1 buffer: 6.0.3 - cross-fetch: 3.1.8 + cross-fetch: 3.2.0 hi-base32: 0.5.1 js-sha256: 0.9.0 js-sha3: 0.8.0 @@ -6241,11 +6268,43 @@ snapshots: ansicolors@0.3.2: {} - arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10): + arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/hash': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wallet': 5.7.0 + '@irys/arweave': 0.0.2 + '@noble/ed25519': 1.7.3 + base64url: 3.0.1 + bs58: 4.0.1 + keccak: 3.0.4 + secp256k1: 5.0.1 + optionalDependencies: + '@randlabs/myalgo-connect': 1.4.2 + algosdk: 1.24.1 + arweave-stream-tx: 1.2.2(arweave@1.15.5) + multistream: 4.1.0 + tmp-promise: 3.0.3 + transitivePeerDependencies: + - arweave + - bufferutil + - debug + - encoding + - utf-8-validate + + arconnect@0.4.2: + dependencies: + arweave: 1.15.5 + optional: true + + arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@ethersproject/signing-key': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 @@ -6295,7 +6354,7 @@ snapshots: asn1.js@5.4.1: dependencies: - bn.js: 4.12.1 + bn.js: 4.11.6 inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 @@ -6316,7 +6375,7 @@ snapshots: asn1.js@5.4.1: dependencies: - bn.js: 4.12.1 + bn.js: 4.11.6 inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 @@ -7254,6 +7313,15 @@ snapshots: hasown: 2.0.2 math-intrinsics: 1.1.0 + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.0.0 + + get-stream@5.2.0: + dependencies: + pump: 3.0.2 + get-stream@5.2.0: dependencies: pump: 3.0.2 @@ -7486,7 +7554,7 @@ snapshots: through: 2.3.8 wrap-ansi: 6.2.0 - invariant@2.2.4: + inquirer@8.2.6: dependencies: loose-envify: 1.4.0 @@ -8209,7 +8277,23 @@ snapshots: resolve-from@4.0.0: {} - resolve-pkg-maps@1.0.0: {} + responselike@2.0.1: + dependencies: + lowercase-keys: 2.0.0 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + responselike@2.0.1: + dependencies: + lowercase-keys: 2.0.0 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 restore-cursor@5.1.0: dependencies: @@ -8789,12 +8873,17 @@ snapshots: wrappy@1.0.2: {} - ws@7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10): + ws@7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.8 + bufferutil: 4.0.9 utf-8-validate: 5.0.10 - ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + ws@7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.0.8 utf-8-validate: 5.0.10 diff --git a/src/langchain/index.ts b/src/langchain/index.ts index 8809e7b..a37bfa8 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -100,150 +100,6 @@ import { SolanaGetAllAssetsByOwner, } from "./index"; -export class SolanaHeliusWebhookTool extends Tool { - name = "create_helius_webhook"; - description = `Creates a Helius Webhook that listens to specified account addresses. - - Inputs (input is a JSON string): - accountAddresses: string[] | string, - e.g. ["BVdNLvyG2DNiWAXBE9qAmc4MTQXymd5Bzfo9xrQSUzVP","Eo2ciguhMLmcTWXELuEQPdu7DWZt67LHXb2rdHZUbot7"] - or "BVdNLvyG2DNiWAXBE9qAmc4MTQXymd5Bzfo9xrQSUzVP,Eo2ciguhMLmcTWXELuEQPdu7DWZt67LHXb2rdHZUbot7" - webhookURL: string, e.g. "https://TestServer.test.repl.co/webhooks"`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - let accountAddresses: string[] = []; - - if (!parsedInput.accountAddresses) { - throw new Error('Missing "accountAddresses" property in input JSON.'); - } - if (Array.isArray(parsedInput.accountAddresses)) { - accountAddresses = parsedInput.accountAddresses.map((addr: string) => - addr.trim(), - ); - } else if (typeof parsedInput.accountAddresses === "string") { - accountAddresses = parsedInput.accountAddresses - .split(",") - .map((addr: string) => addr.trim()); - } else { - throw new Error( - 'Invalid type for "accountAddresses". Expected array or comma-separated string.', - ); - } - - const webhookURL = parsedInput.webhookURL; - if (!webhookURL) { - throw new Error( - 'Invalid input. Expected a "webhookURL" property in the JSON.', - ); - } - const result = await this.solanaKit.CreateWebhook( - accountAddresses, - webhookURL, - ); - - // Return success in JSON - return JSON.stringify({ - status: "success", - message: "Helius Webhook created successfully", - webhookURL: result.webhookURL, - webhookID: result.webhookID, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaGetHeliusWebhookTool extends Tool { - name = "get_helius_webhook"; - description = `Retrieves a Helius Webhook by its ID. - -Inputs (input is a JSON string): - webhookID: string, e.g. "1ed4244d-a591-4854-ac31-cc28d40b8255"`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const webhookID = parsedInput.webhookID; - if (!webhookID || typeof webhookID !== "string") { - throw new Error( - 'Invalid input. Expected a "webhookID" property in the JSON.', - ); - } - - const result = await this.solanaKit.getWebhook(webhookID); - return JSON.stringify({ - status: "success", - message: "Helius Webhook retrieved successfully", - wallet: result.wallet, - webhookURL: result.webhookURL, - transactionTypes: result.transactionTypes, - accountAddresses: result.accountAddresses, - webhookType: result.webhookType, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - -export class SolanaDeleteHeliusWebhookTool extends Tool { - name = "delete_helius_webhook"; - description = `Deletes a Helius Webhook by its ID. - -Inputs (input is a JSON string): - webhookID: string, e.g. "1ed4244d-a591-4854-ac31-cc28d40b8255"`; - - constructor(private solanaKit: SolanaAgentKit) { - super(); - } - - protected async _call(input: string): Promise { - try { - const parsedInput = JSON.parse(input); - - const webhookID = parsedInput.webhookID; - if (!webhookID || typeof webhookID !== "string") { - throw new Error( - 'Invalid input. Expected a "webhookID" property in the JSON.', - ); - } - const result = await this.solanaKit.deleteWebhook(webhookID); - - return JSON.stringify({ - status: "success", - message: "Helius Webhook deleted successfully", - data: result, - }); - } catch (error: any) { - return JSON.stringify({ - status: "error", - message: error.message, - code: error.code || "UNKNOWN_ERROR", - }); - } - } -} - export function createSolanaTools(solanaKit: SolanaAgentKit) { return [ new SolanaBalanceTool(solanaKit), diff --git a/src/tools/send_transaction_with_priority.ts b/src/tools/send_transaction_with_priority.ts index 66417f1..da13ee1 100644 --- a/src/tools/send_transaction_with_priority.ts +++ b/src/tools/send_transaction_with_priority.ts @@ -8,69 +8,17 @@ import { LAMPORTS_PER_SOL, } from "@solana/web3.js"; import bs58 from "bs58"; -import { PriorityFeeTransaction } from "../types"; +import { PriorityFeeTransaction, PriorityFeeResponse } from "../types"; /** - * Fetches an estimated priority fee (in microLamports) from Helius. + * Sends a transaction with an estimated priority fee using the provided SolanaAgentKit. * * @param agent An instance of SolanaAgentKit containing connection, wallet, etc. - * @param priorityLevel The priority level (e.g. "Min", "Low", "Medium", "High", "VeryHigh", or "UnsafeMax"). - * @param transaction The (unsigned or partially-signed) Transaction you want to estimate fees for. - * @returns The numeric priority fee estimate in microLamports. - */ -export async function getPriorityFeeEstimate( - agent: SolanaAgentKit, - priorityLevel: string, - transaction: Transaction, -): Promise { - const apiKey = agent.config.HELIUS_API_KEY; - if (!apiKey) { - throw new Error( - "HELIUS_API_KEY not found in agent.config or environment variables", - ); - } - - const url = `https://api.helius.xyz/v0/transactions/?api-key=${apiKey}`; - - const payload = { - jsonrpc: "2.0", - id: "1", - method: "getPriorityFeeEstimate", - params: [ - { - transaction: bs58.encode(transaction.serialize()), - options: { priorityLevel }, - }, - ], - }; - const response = await fetch(url, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(payload), - }); - - if (!response.ok) { - throw new Error(`Helius request failed with status ${response.status}`); - } - - const data = await response.json(); - if (!data.result || data.result.priorityFeeEstimate === undefined) { - throw new Error(`Invalid response from Helius: ${JSON.stringify(data)}`); - } - - return data.result.priorityFeeEstimate; -} - -/** - * Sends a transaction with an optional priority fee using the provided SolanaAgentKit. - * - * @param agent An instance of SolanaAgentKit containing connection, wallet, etc. - * @param priorityLevel The priority level ("NONE", "Min", "Low", "Medium", "High", "VeryHigh", or "UnsafeMax"). + * @param priorityLevel The priority level (e.g., "Min", "Low", "Medium", "High", "VeryHigh", or "UnsafeMax"). * @param amount The amount of SOL to send (in SOL, not lamports). * @param to The recipient's PublicKey. - * @returns The transaction signature (string) once confirmed. + * @returns The transaction signature (string) once confirmed along with the fee used. */ - export async function sendTransactionWithPriorityFee( agent: SolanaAgentKit, priorityLevel: string, @@ -78,34 +26,53 @@ export async function sendTransactionWithPriorityFee( to: PublicKey, ): Promise { const transaction = new Transaction(); + const { blockhash, lastValidBlockHeight } = + await agent.connection.getLatestBlockhash(); + transaction.recentBlockhash = blockhash; + transaction.lastValidBlockHeight = lastValidBlockHeight; + transaction.feePayer = agent.wallet_address; const transferIx = SystemProgram.transfer({ fromPubkey: agent.wallet_address, toPubkey: to, lamports: amount * LAMPORTS_PER_SOL, }); + transaction.add(transferIx); - - let feeEstimate = 0; - if (priorityLevel !== "NONE") { - feeEstimate = await getPriorityFeeEstimate( - agent, - priorityLevel, - transaction, - ); - if (feeEstimate > 0) { - const computePriceIx = ComputeBudgetProgram.setComputeUnitPrice({ - microLamports: feeEstimate, - }); - transaction.add(computePriceIx); - } - } - - transaction.recentBlockhash = ( - await agent.connection.getLatestBlockhash() - ).blockhash; transaction.sign(agent.wallet); + const response = await fetch( + `https://mainnet.helius-rpc.com/?api-key=${agent.config.HELIUS_API_KEY}`, + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + jsonrpc: "2.0", + id: "1", + method: "getPriorityFeeEstimate", + params: [ + { + transaction: bs58.encode(transaction.serialize()), + options: { priorityLevel: priorityLevel }, + }, + ], + } as PriorityFeeResponse), + }, + ); + + const data = await response.json(); + if (data.error) { + throw new Error("Error fetching priority fee:"); + } + const feeEstimate: number = data.result.priorityFeeEstimate; + + // Set the priority fee if applicable + const computePriceIx = ComputeBudgetProgram.setComputeUnitPrice({ + microLamports: feeEstimate, + }); + transaction.add(computePriceIx); + + // Send the transaction and confirm const txSignature = await sendAndConfirmTransaction( agent.connection, transaction, diff --git a/src/types/index.ts b/src/types/index.ts index 0fedb5e..57757d7 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -255,3 +255,13 @@ export interface HeliusWebhookIdResponse { accountAddresses: string[]; webhookType: string; } + +export interface PriorityFeeResponse { + jsonrpc: string; + id: string; + method: string; + params: Array<{ + transaction: string; + options: { priorityLevel: string }; + }>; +} From 71bfbc6bd8e7dc82133c4484c3e066f4f20c5280 Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Fri, 10 Jan 2025 17:36:48 +0530 Subject: [PATCH 128/138] feat:added spl token support to priority fee transaction --- src/agent/index.ts | 12 +- src/tools/send_transaction_with_priority.ts | 199 ++++++++++++++------ src/types/index.ts | 5 - 3 files changed, 153 insertions(+), 63 deletions(-) diff --git a/src/agent/index.ts b/src/agent/index.ts index 0fe422a..ff6352c 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -96,7 +96,6 @@ import { OrderParams, FlashTradeParams, FlashCloseTradeParams, - PriorityFeeTransaction, HeliusWebhookIdResponse, HeliusWebhookResponse, } from "../types"; @@ -628,8 +627,15 @@ export class SolanaAgentKit { priorityLevel: string, amount: number, to: PublicKey, - ): Promise { - return sendTransactionWithPriorityFee(this, priorityLevel, amount, to); + splmintAddress?: PublicKey, + ): Promise<{ transactionId: string; fee: number }> { + return sendTransactionWithPriorityFee( + this, + priorityLevel, + amount, + to, + splmintAddress, + ); } async createSquadsMultisig(creator: PublicKey): Promise { diff --git a/src/tools/send_transaction_with_priority.ts b/src/tools/send_transaction_with_priority.ts index da13ee1..136f333 100644 --- a/src/tools/send_transaction_with_priority.ts +++ b/src/tools/send_transaction_with_priority.ts @@ -7,8 +7,14 @@ import { PublicKey, LAMPORTS_PER_SOL, } from "@solana/web3.js"; +import { + getAssociatedTokenAddress, + createTransferInstruction, + getMint, + createAssociatedTokenAccountInstruction, +} from "@solana/spl-token"; import bs58 from "bs58"; -import { PriorityFeeTransaction, PriorityFeeResponse } from "../types"; +import { PriorityFeeResponse } from "../types"; /** * Sends a transaction with an estimated priority fee using the provided SolanaAgentKit. @@ -24,63 +30,146 @@ export async function sendTransactionWithPriorityFee( priorityLevel: string, amount: number, to: PublicKey, -): Promise { - const transaction = new Transaction(); - const { blockhash, lastValidBlockHeight } = - await agent.connection.getLatestBlockhash(); - transaction.recentBlockhash = blockhash; - transaction.lastValidBlockHeight = lastValidBlockHeight; - transaction.feePayer = agent.wallet_address; + splmintAddress?: PublicKey, +): Promise<{ transactionId: string; fee: number }> { + try { + if (!splmintAddress) { + const transaction = new Transaction(); + const { blockhash, lastValidBlockHeight } = + await agent.connection.getLatestBlockhash(); + transaction.recentBlockhash = blockhash; + transaction.lastValidBlockHeight = lastValidBlockHeight; + transaction.feePayer = agent.wallet_address; - const transferIx = SystemProgram.transfer({ - fromPubkey: agent.wallet_address, - toPubkey: to, - lamports: amount * LAMPORTS_PER_SOL, - }); + const transferIx = SystemProgram.transfer({ + fromPubkey: agent.wallet_address, + toPubkey: to, + lamports: amount * LAMPORTS_PER_SOL, + }); - transaction.add(transferIx); - transaction.sign(agent.wallet); + transaction.add(transferIx); + transaction.sign(agent.wallet); - const response = await fetch( - `https://mainnet.helius-rpc.com/?api-key=${agent.config.HELIUS_API_KEY}`, - { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ - jsonrpc: "2.0", - id: "1", - method: "getPriorityFeeEstimate", - params: [ - { - transaction: bs58.encode(transaction.serialize()), - options: { priorityLevel: priorityLevel }, - }, - ], - } as PriorityFeeResponse), - }, - ); + const response = await fetch( + `https://mainnet.helius-rpc.com/?api-key=${agent.config.HELIUS_API_KEY}`, + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + jsonrpc: "2.0", + id: "1", + method: "getPriorityFeeEstimate", + params: [ + { + transaction: bs58.encode(transaction.serialize()), + options: { priorityLevel: priorityLevel }, + }, + ], + } as PriorityFeeResponse), + }, + ); - const data = await response.json(); - if (data.error) { - throw new Error("Error fetching priority fee:"); + const data = await response.json(); + if (data.error) { + throw new Error("Error fetching priority fee:"); + } + const feeEstimate: number = data.result.priorityFeeEstimate; + + // Set the priority fee if applicable + const computePriceIx = ComputeBudgetProgram.setComputeUnitPrice({ + microLamports: feeEstimate, + }); + transaction.add(computePriceIx); + + // Send the transaction and confirm + const txSignature = await sendAndConfirmTransaction( + agent.connection, + transaction, + [agent.wallet], + ); + + return { + transactionId: txSignature, + fee: feeEstimate, + }; + } else { + const fromAta = await getAssociatedTokenAddress( + splmintAddress, + agent.wallet_address, + ); + const toAta = await getAssociatedTokenAddress(splmintAddress, to); + + const mintInfo = await getMint(agent.connection, splmintAddress); + const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); + + const transaction = new Transaction(); + const { blockhash, lastValidBlockHeight } = + await agent.connection.getLatestBlockhash(); + transaction.recentBlockhash = blockhash; + transaction.lastValidBlockHeight = lastValidBlockHeight; + transaction.feePayer = agent.wallet_address; + + const response = await fetch( + `https://mainnet.helius-rpc.com/?api-key=${agent.config.HELIUS_API_KEY}`, + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + jsonrpc: "2.0", + id: "1", + method: "getPriorityFeeEstimate", + params: [ + { + transaction: bs58.encode(transaction.serialize()), + options: { priorityLevel: priorityLevel }, + }, + ], + } as PriorityFeeResponse), + }, + ); + + const data = await response.json(); + if (data.error) { + throw new Error("Error fetching priority fee:"); + } + const feeEstimate: number = data.result.priorityFeeEstimate; + + transaction.add( + ComputeBudgetProgram.setComputeUnitPrice({ + microLamports: feeEstimate, + }), + ); + + transaction.add( + createAssociatedTokenAccountInstruction( + agent.wallet_address, + toAta, + to, + splmintAddress, + ), + ); + + transaction.add( + createTransferInstruction( + fromAta, + toAta, + agent.wallet_address, + adjustedAmount, + ), + ); + + const txSignature = await sendAndConfirmTransaction( + agent.connection, + transaction, + [agent.wallet], + ); + + return { + transactionId: txSignature, + fee: feeEstimate, + }; + } + } catch (error: any) { + throw new Error(`Failed to process transaction: ${error.message}`); } - const feeEstimate: number = data.result.priorityFeeEstimate; - - // Set the priority fee if applicable - const computePriceIx = ComputeBudgetProgram.setComputeUnitPrice({ - microLamports: feeEstimate, - }); - transaction.add(computePriceIx); - - // Send the transaction and confirm - const txSignature = await sendAndConfirmTransaction( - agent.connection, - transaction, - [agent.wallet], - ); - - return { - transactionId: txSignature, - fee: feeEstimate, - }; } diff --git a/src/types/index.ts b/src/types/index.ts index 57757d7..2c0a54c 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -239,11 +239,6 @@ export interface FlashCloseTradeParams { side: "long" | "short"; } -export interface PriorityFeeTransaction { - transactionId: string; - fee: number; -} - export interface HeliusWebhookResponse { webhookURL: string; webhookID: string; From 40193b75e8b53ec742e7a7c659783cf6d04146aa Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Sun, 12 Jan 2025 16:25:31 +0530 Subject: [PATCH 129/138] fix:deleted unncessary files --- src/tools/get_assets_by_owner.ts | 57 ------- src/tools/helius_transaction_parsing.ts | 44 ----- src/tools/helius_webhook.ts | 132 --------------- src/tools/send_transaction_with_priority.ts | 175 -------------------- 4 files changed, 408 deletions(-) delete mode 100644 src/tools/get_assets_by_owner.ts delete mode 100644 src/tools/helius_transaction_parsing.ts delete mode 100644 src/tools/helius_webhook.ts delete mode 100644 src/tools/send_transaction_with_priority.ts diff --git a/src/tools/get_assets_by_owner.ts b/src/tools/get_assets_by_owner.ts deleted file mode 100644 index 45f3dbe..0000000 --- a/src/tools/get_assets_by_owner.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { SolanaAgentKit } from "../index"; -import { PublicKey } from "@solana/web3.js"; - -/** - * Fetch assets by owner using the Helius Digital Asset Standard (DAS) API - * @param agent SolanaAgentKit instance - * @param ownerPublicKey Owner's Solana wallet PublicKey - * @param limit Number of assets to retrieve per request - * @returns Assets owned by the specified address - */ -export async function getAssetsByOwner( - agent: SolanaAgentKit, - ownerPublicKey: PublicKey, - limit: number, -): Promise { - try { - const apiKey = agent.config.HELIUS_API_KEY; - if (!apiKey) { - throw new Error("HELIUS_API_KEY not found in environment variables"); - } - - const url = `https://mainnet.helius-rpc.com/?api-key=${apiKey}`; - - const response = await fetch(url, { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - jsonrpc: "2.0", - id: "get-assets", - method: "getAssetsByOwner", - params: { - ownerAddress: ownerPublicKey.toString(), - page: 3, - limit: limit, - displayOptions: { - showFungible: true, - }, - }, - }), - }); - - if (!response.ok) { - throw new Error( - `Failed to fetch: ${response.status} - ${response.statusText}`, - ); - } - - const data = await response.json(); - - return data.result.items; - } catch (error: any) { - console.error("Error retrieving assets: ", error.message); - throw new Error(`Assets retrieval failed: ${error.message}`); - } -} diff --git a/src/tools/helius_transaction_parsing.ts b/src/tools/helius_transaction_parsing.ts deleted file mode 100644 index 1f24ee3..0000000 --- a/src/tools/helius_transaction_parsing.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { SolanaAgentKit } from "../index"; - -/** - * Parse a Solana transaction using the Helius Enhanced Transactions API - * @param agent SolanaAgentKit instance - * @param transactionId The transaction ID to parse - * @returns Parsed transaction data - */ -export async function parseTransaction( - agent: SolanaAgentKit, - transactionId: string, -): Promise { - try { - const apiKey = agent.config.HELIUS_API_KEY; - if (!apiKey) { - throw new Error("HELIUS_API_KEY not found in environment variables"); - } - - const url = `https://api.helius.xyz/v0/transactions/?api-key=${apiKey}`; - - const response = await fetch(url, { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - transactions: [transactionId], - }), - }); - - if (!response.ok) { - throw new Error( - `Failed to fetch: ${response.status} - ${response.statusText}`, - ); - } - - const data = await response.json(); - - return data; - } catch (error: any) { - console.error("Error parsing transaction: ", error.message); - throw new Error(`Transaction parsing failed: ${error.message}`); - } -} diff --git a/src/tools/helius_webhook.ts b/src/tools/helius_webhook.ts deleted file mode 100644 index 98b083f..0000000 --- a/src/tools/helius_webhook.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { SolanaAgentKit } from "../index"; -import { HeliusWebhookResponse, HeliusWebhookIdResponse } from "../index"; - -export async function create_HeliusWebhook( - agent: SolanaAgentKit, - accountAddresses: string[], - webhookURL: string, -): Promise { - try { - const response = await fetch( - `https://api.helius.xyz/v0/webhooks?api-key=${agent.config.HELIUS_API_KEY}`, - { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - webhookURL, - transactionTypes: ["Any"], - accountAddresses, - webhookType: "enhanced", - txnStatus: "all", - }), - }, - ); - - const data = await response.json(); - return { - webhookURL: data.webhookURL, - webhookID: data.webhookID, - }; - } catch (error: any) { - throw new Error(`Failed to create Webhook: ${error.message}`); - } -} - -/** - * Retrieves a Helius Webhook by ID, returning only the specified fields. - * - * @param agent - An instance of SolanaAgentKit (with .config.HELIUS_API_KEY) - * @param webhookID - The unique ID of the webhook to retrieve - * - * @returns A HeliusWebhook object containing { wallet, webhookURL, transactionTypes, accountAddresses, webhookType } - */ -export async function getHeliusWebhook( - agent: SolanaAgentKit, - webhookID: string, -): Promise { - try { - const apiKey = agent.config.HELIUS_API_KEY; - if (!apiKey) { - throw new Error("HELIUS_API_KEY is missing in agent.config"); - } - - const response = await fetch( - `https://api.helius.xyz/v0/webhooks/${webhookID}?api-key=${apiKey}`, - { - method: "GET", - headers: { - "Content-Type": "application/json", - }, - }, - ); - - if (!response.ok) { - throw new Error( - `Failed to fetch webhook with ID ${webhookID}. ` + - `Status Code: ${response.status}`, - ); - } - - const data = await response.json(); - - return { - wallet: data.wallet, - webhookURL: data.webhookURL, - transactionTypes: data.transactionTypes, - accountAddresses: data.accountAddresses, - webhookType: data.webhookType, - }; - } catch (error: any) { - throw new Error(`Failed to get webhook by ID: ${error.message}`); - } -} - -/** - * Deletes a Helius Webhook by its ID. - * - * @param agent - An instance of SolanaAgentKit (with .config.HELIUS_API_KEY) - * @param webhookID - The unique ID of the webhook to delete - * - * @returns The response body from the Helius API (which may contain status or other info) - */ -export async function deleteHeliusWebhook( - agent: SolanaAgentKit, - webhookID: string, -): Promise { - try { - const apiKey = agent.config.HELIUS_API_KEY; - if (!apiKey) { - throw new Error("Missing Helius API key in agent.config.HELIUS_API_KEY"); - } - - const url = `https://api.helius.xyz/v0/webhooks/${webhookID}?api-key=${apiKey}`; - const response = await fetch(url, { - method: "DELETE", - headers: { - "Content-Type": "application/json", - }, - }); - - if (!response.ok) { - throw new Error( - `Failed to delete webhook: ${response.status} ${response.statusText}`, - ); - } - if (response.status === 204) { - return { message: "Webhook deleted successfully (no content returned)" }; - } - const contentLength = response.headers.get("Content-Length"); - if (contentLength === "0" || !contentLength) { - return { message: "Webhook deleted successfully (empty body)" }; - } - - // Otherwise, parse as JSON - const data = await response.json(); - return data; - } catch (error: any) { - console.error("Error deleting Helius Webhook:", error.message); - throw new Error(`Failed to delete Helius Webhook: ${error.message}`); - } -} diff --git a/src/tools/send_transaction_with_priority.ts b/src/tools/send_transaction_with_priority.ts deleted file mode 100644 index 136f333..0000000 --- a/src/tools/send_transaction_with_priority.ts +++ /dev/null @@ -1,175 +0,0 @@ -import { SolanaAgentKit } from "../agent"; -import { - SystemProgram, - Transaction, - sendAndConfirmTransaction, - ComputeBudgetProgram, - PublicKey, - LAMPORTS_PER_SOL, -} from "@solana/web3.js"; -import { - getAssociatedTokenAddress, - createTransferInstruction, - getMint, - createAssociatedTokenAccountInstruction, -} from "@solana/spl-token"; -import bs58 from "bs58"; -import { PriorityFeeResponse } from "../types"; - -/** - * Sends a transaction with an estimated priority fee using the provided SolanaAgentKit. - * - * @param agent An instance of SolanaAgentKit containing connection, wallet, etc. - * @param priorityLevel The priority level (e.g., "Min", "Low", "Medium", "High", "VeryHigh", or "UnsafeMax"). - * @param amount The amount of SOL to send (in SOL, not lamports). - * @param to The recipient's PublicKey. - * @returns The transaction signature (string) once confirmed along with the fee used. - */ -export async function sendTransactionWithPriorityFee( - agent: SolanaAgentKit, - priorityLevel: string, - amount: number, - to: PublicKey, - splmintAddress?: PublicKey, -): Promise<{ transactionId: string; fee: number }> { - try { - if (!splmintAddress) { - const transaction = new Transaction(); - const { blockhash, lastValidBlockHeight } = - await agent.connection.getLatestBlockhash(); - transaction.recentBlockhash = blockhash; - transaction.lastValidBlockHeight = lastValidBlockHeight; - transaction.feePayer = agent.wallet_address; - - const transferIx = SystemProgram.transfer({ - fromPubkey: agent.wallet_address, - toPubkey: to, - lamports: amount * LAMPORTS_PER_SOL, - }); - - transaction.add(transferIx); - transaction.sign(agent.wallet); - - const response = await fetch( - `https://mainnet.helius-rpc.com/?api-key=${agent.config.HELIUS_API_KEY}`, - { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ - jsonrpc: "2.0", - id: "1", - method: "getPriorityFeeEstimate", - params: [ - { - transaction: bs58.encode(transaction.serialize()), - options: { priorityLevel: priorityLevel }, - }, - ], - } as PriorityFeeResponse), - }, - ); - - const data = await response.json(); - if (data.error) { - throw new Error("Error fetching priority fee:"); - } - const feeEstimate: number = data.result.priorityFeeEstimate; - - // Set the priority fee if applicable - const computePriceIx = ComputeBudgetProgram.setComputeUnitPrice({ - microLamports: feeEstimate, - }); - transaction.add(computePriceIx); - - // Send the transaction and confirm - const txSignature = await sendAndConfirmTransaction( - agent.connection, - transaction, - [agent.wallet], - ); - - return { - transactionId: txSignature, - fee: feeEstimate, - }; - } else { - const fromAta = await getAssociatedTokenAddress( - splmintAddress, - agent.wallet_address, - ); - const toAta = await getAssociatedTokenAddress(splmintAddress, to); - - const mintInfo = await getMint(agent.connection, splmintAddress); - const adjustedAmount = amount * Math.pow(10, mintInfo.decimals); - - const transaction = new Transaction(); - const { blockhash, lastValidBlockHeight } = - await agent.connection.getLatestBlockhash(); - transaction.recentBlockhash = blockhash; - transaction.lastValidBlockHeight = lastValidBlockHeight; - transaction.feePayer = agent.wallet_address; - - const response = await fetch( - `https://mainnet.helius-rpc.com/?api-key=${agent.config.HELIUS_API_KEY}`, - { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ - jsonrpc: "2.0", - id: "1", - method: "getPriorityFeeEstimate", - params: [ - { - transaction: bs58.encode(transaction.serialize()), - options: { priorityLevel: priorityLevel }, - }, - ], - } as PriorityFeeResponse), - }, - ); - - const data = await response.json(); - if (data.error) { - throw new Error("Error fetching priority fee:"); - } - const feeEstimate: number = data.result.priorityFeeEstimate; - - transaction.add( - ComputeBudgetProgram.setComputeUnitPrice({ - microLamports: feeEstimate, - }), - ); - - transaction.add( - createAssociatedTokenAccountInstruction( - agent.wallet_address, - toAta, - to, - splmintAddress, - ), - ); - - transaction.add( - createTransferInstruction( - fromAta, - toAta, - agent.wallet_address, - adjustedAmount, - ), - ); - - const txSignature = await sendAndConfirmTransaction( - agent.connection, - transaction, - [agent.wallet], - ); - - return { - transactionId: txSignature, - fee: feeEstimate, - }; - } - } catch (error: any) { - throw new Error(`Failed to process transaction: ${error.message}`); - } -} From 9d1623ed7ed36646c5a2f178a9eb98aa2e63f472 Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Sun, 12 Jan 2025 17:28:15 +0530 Subject: [PATCH 130/138] added actions for tools --- pnpm-lock.yaml | 1757 ++++++----------- src/actions/helius/createWebhook.ts | 57 + src/actions/helius/deleteWebhook.ts | 40 + src/actions/helius/getAssetsbyOwner.ts | 75 + src/actions/helius/getWebhook.ts | 47 + src/actions/helius/parseTransaction.ts | 65 + .../helius/sendTransactionWithPriority.ts | 76 + src/actions/index.ts | 12 + src/utils/send_tx.ts | 70 +- 9 files changed, 1083 insertions(+), 1116 deletions(-) create mode 100644 src/actions/helius/createWebhook.ts create mode 100644 src/actions/helius/deleteWebhook.ts create mode 100644 src/actions/helius/getAssetsbyOwner.ts create mode 100644 src/actions/helius/getWebhook.ts create mode 100644 src/actions/helius/parseTransaction.ts create mode 100644 src/actions/helius/sendTransactionWithPriority.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dd3b53f..6c24a2a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,40 +10,40 @@ importers: dependencies: '@3land/listings-sdk': specifier: ^0.0.4 - version: 0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) '@ai-sdk/openai': specifier: ^1.0.11 - version: 1.0.11(zod@3.24.1) + version: 1.0.18(zod@3.24.1) '@bonfida/spl-name-service': specifier: ^3.0.7 - version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) '@cks-systems/manifest-sdk': specifier: 0.1.59 - version: 0.1.59(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) '@coral-xyz/anchor': specifier: '0.29' - version: 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@langchain/core': specifier: ^0.3.26 - version: 0.3.26(openai@4.77.0(zod@3.24.1)) + version: 0.3.29(openai@4.78.1(zod@3.24.1)) '@langchain/groq': specifier: ^0.1.2 - version: 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + version: 0.1.3(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))) '@langchain/langgraph': specifier: ^0.2.36 - version: 0.2.39(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + version: 0.2.39(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))) '@langchain/openai': specifier: ^0.3.16 - version: 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + version: 0.3.17(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))) '@lightprotocol/compressed-token': specifier: ^0.17.1 - version: 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) '@lightprotocol/stateless.js': specifier: ^0.17.1 - version: 0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/mpl-core': specifier: ^1.1.1 - version: 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1) + version: 1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0) '@metaplex-foundation/mpl-token-metadata': specifier: ^3.3.0 version: 3.3.0(@metaplex-foundation/umi@0.9.2) @@ -55,43 +55,43 @@ importers: version: 0.9.2 '@metaplex-foundation/umi-bundle-defaults': specifier: ^0.9.2 - version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-web3js-adapters': specifier: ^0.9.2 - version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + version: 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@onsol/tldparser': specifier: ^0.6.7 - version: 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@orca-so/common-sdk': specifier: 0.6.4 - version: 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + version: 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(decimal.js@10.4.3) '@orca-so/whirlpools-sdk': specifier: ^0.13.12 - version: 0.13.12(@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) + 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.3)(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.3)(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/hermes-client': specifier: ^1.3.0 version: 1.3.0(axios@1.7.9) '@raydium-io/raydium-sdk-v2': specifier: 0.1.95-alpha - version: 0.1.95-alpha(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) '@solana/spl-token': specifier: ^0.4.9 - version: 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) '@solana/web3.js': specifier: ^1.98.0 - version: 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@sqds/multisig': specifier: ^2.1.3 - version: 2.1.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 2.1.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) '@tensor-oss/tensorswap-sdk': specifier: ^4.5.0 - version: 4.5.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) '@tiplink/api': specifier: ^0.3.1 - version: 0.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) + version: 0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10) ai: specifier: ^4.0.22 - version: 4.0.26(react@19.0.0)(zod@3.24.1) + version: 4.0.33(react@19.0.0)(zod@3.24.1) bn.js: specifier: ^5.2.1 version: 5.2.1 @@ -109,22 +109,19 @@ importers: version: 16.4.7 flash-sdk: specifier: ^2.24.3 - version: 2.24.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 2.25.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) form-data: specifier: ^4.0.1 version: 4.0.1 - helius-sdk: - specifier: ^1.4.1 - version: 1.4.1(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) langchain: specifier: ^0.3.8 - version: 0.3.9(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)) + version: 0.3.11(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1)))(@langchain/groq@0.1.3(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))))(axios@1.7.9)(openai@4.78.1(zod@3.24.1)) openai: specifier: ^4.77.0 - version: 4.77.0(zod@3.24.1) + version: 4.78.1(zod@3.24.1) typedoc: specifier: ^0.27.6 - version: 0.27.6(typescript@5.7.2) + version: 0.27.6(typescript@5.7.3) zod: specifier: ^3.24.1 version: 3.24.1 @@ -140,10 +137,10 @@ importers: version: 22.10.5 '@typescript-eslint/eslint-plugin': specifier: ^8.18.2 - version: 8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + version: 8.19.1(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3) '@typescript-eslint/parser': specifier: ^8.18.2 - version: 8.19.0(eslint@8.57.1)(typescript@5.7.2) + version: 8.19.1(eslint@8.57.1)(typescript@5.7.3) eslint: specifier: ^8.56.0 version: 8.57.1 @@ -167,21 +164,21 @@ importers: version: 4.19.2 typescript: specifier: ^5.7.2 - version: 5.7.2 + version: 5.7.3 packages: '@3land/listings-sdk@0.0.4': resolution: {integrity: sha512-Ljq8R4e7y+wl4m8BGhiInFPCHEzHZZFz1qghnbc8B3bLEKXWM9+2gZOCAa84rdUKuLfzenEdeS2LclTKhdKTFQ==} - '@ai-sdk/openai@1.0.11': - resolution: {integrity: sha512-qI9s7Slma5i5bB4yYVlFdcG3PNDwdqivPT1Dr8adDX92nSSpILjgFIooS5yys9sXjvvcfOi/WXbDvVhLSRRlvg==} + '@ai-sdk/openai@1.0.18': + resolution: {integrity: sha512-bienqSVHbUqUcskm2FTIf2X+c481e85EASFfa78YogLqctZQtqPFKJuG5E7i59664Y5G91+LkzIh+1agS13BlA==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 - '@ai-sdk/provider-utils@2.0.5': - resolution: {integrity: sha512-2M7vLhYN0ThGjNlzow7oO/lsL+DyMxvGMIYmVQvEYaCWhDzxH5dOp78VNjJIVwHzVLMbBDigX3rJuzAs853idw==} + '@ai-sdk/provider-utils@2.0.7': + resolution: {integrity: sha512-4sfPlKEALHPXLmMFcPlYksst3sWBJXmCDZpIBJisRrmwGG6Nn3mq0N1Zu/nZaGcrWZoOY+HT2Wbxla1oTElYHQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 @@ -189,12 +186,12 @@ packages: zod: optional: true - '@ai-sdk/provider@1.0.3': - resolution: {integrity: sha512-WiuJEpHTrltOIzv3x2wx4gwksAHW0h6nK3SoDzjqCOJLu/2OJ1yASESTIX+f07ChFykHElVoP80Ol/fe9dw6tQ==} + '@ai-sdk/provider@1.0.4': + resolution: {integrity: sha512-lJi5zwDosvvZER3e/pB8lj1MN3o3S7zJliQq56BRr4e9V3fcRyFtwP0JRxaRS5vHYX3OJ154VezVoQNrk0eaKw==} engines: {node: '>=18'} - '@ai-sdk/react@1.0.7': - resolution: {integrity: sha512-j2/of4iCNq+r2Bjx0O9vdRhn5C/02t2Esenis71YtnsoynPz74eQlJ3N0RYYPheThiJes50yHdfdVdH9ulxs1A==} + '@ai-sdk/react@1.0.9': + resolution: {integrity: sha512-7mtkgVCSzp8J4x3qk5Vtlk1FiZTH7vWIZvIrA6ISbFDy+7mwm45rIDIymzCiofzr3c/Wioy41H2Ki3Nth55bgg==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -205,8 +202,8 @@ packages: zod: optional: true - '@ai-sdk/ui-utils@1.0.6': - resolution: {integrity: sha512-ZP6Vjj+VCnSPBIAvWAdKj2olQONJ/f4aZpkVCGkzprdhv8TjHwB6CTlXFS3zypuEGy4asg84dc1dvXKooQXFvg==} + '@ai-sdk/ui-utils@1.0.8': + resolution: {integrity: sha512-7ya/t28oMaFauHxSj4WGQCEV/iicZj9qP+O+tCakMIDq7oDCZMUNBLCQomoWs16CcYY4l0wo1S9hA4PAdFcOvA==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 @@ -240,8 +237,8 @@ packages: peerDependencies: '@solana/web3.js': ^1.87.3 - '@cfworker/json-schema@4.0.3': - resolution: {integrity: sha512-ZykIcDTVv5UNmKWSTLAs3VukO6NDJkkSKxrgUTDPBkAlORVT3H9n5DbRjRl8xIotklscHdbLIa0b9+y3mQq73g==} + '@cfworker/json-schema@4.1.0': + resolution: {integrity: sha512-/vYKi/qMxwNsuIJ9WGWwM2rflY40ZenK3Kh4uR5vB9/Nz12Y7IUN/Xf4wDA7vzPfw0VNh3b/jz4+MjcVgARKJg==} '@cks-systems/manifest-sdk@0.1.59': resolution: {integrity: sha512-ZYTwwDxrC2u74kF30iWZPZPYXB9MtOydLd4/SQdlMXrb6bj1OooMtZxukSCu/Tlkp+KR26bEr6gYuErFHdUFjg==} @@ -446,38 +443,14 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.19.1': - resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.9.1': - resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/eslintrc@3.2.0': - resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.1': resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@9.17.0': - resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@2.1.5': - resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/plugin-kit@0.2.4': - resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ethereumjs/rlp@4.0.1': resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} engines: {node: '>=14'} @@ -574,14 +547,6 @@ packages: '@gerrit0/mini-shiki@1.26.1': resolution: {integrity: sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==} - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} - - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} - engines: {node: '>=18.18.0'} - '@humanwhocodes/config-array@0.13.0': resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} @@ -595,14 +560,6 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - - '@humanwhocodes/retry@0.4.1': - resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} - engines: {node: '>=18.18'} - '@irys/arweave@0.0.2': resolution: {integrity: sha512-ddE5h4qXbl0xfGlxrtBIwzflaxZUDlDs43TuT0u1OMfyobHul4AA1VEX72Rpzw2bOh4vzoytSqA1jCM7x9YtHg==} @@ -630,12 +587,12 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@langchain/core@0.3.26': - resolution: {integrity: sha512-6RUQHEp8wv+JwtYIIEBYBzbLlcAQZFc7EDOgAM0ukExjh9HiXoJzoWpgMRRCrr/koIbtwXPJUqBprZK1I1CXHQ==} + '@langchain/core@0.3.29': + resolution: {integrity: sha512-LGjJq/UV43GnEzBpO2NWelIlzsAWoci+FEqofYqDE+F6O3EvTrSyma27NXs8eurM8MqWxjeL0t4RCmCSlJs2RQ==} engines: {node: '>=18'} - '@langchain/groq@0.1.2': - resolution: {integrity: sha512-bgQ9yGoNHOwG6LG2ngGvSNxF/1U1c1u3vKmFWmzecFIcBoQQOJY0jb0MrL3g1uTife0Sr3zxkWKXQg2aK/U4Sg==} + '@langchain/groq@0.1.3': + resolution: {integrity: sha512-dMzvBVaLf/0IQoHdAOAN8W/PbOcwgbvgUMCn02CqvCC90mxZ45LI0Tipzqnoaam0hiKALR5hLc3dNj1oCYV92w==} engines: {node: '>=18'} peerDependencies: '@langchain/core': '>=0.2.21 <0.4.0' @@ -646,8 +603,8 @@ packages: peerDependencies: '@langchain/core': '>=0.2.31 <0.4.0' - '@langchain/langgraph-sdk@0.0.32': - resolution: {integrity: sha512-KQyM9kLO7T6AxwNrceajH7JOybP3pYpvUPnhiI2rrVndI1WyZUJ1eVC1e722BVRAPi6o+WcoTT4uMSZVinPOtA==} + '@langchain/langgraph-sdk@0.0.36': + resolution: {integrity: sha512-KkAZM0uXBaMcD/dpGTBppOhbvNX6gz+Y1zFAC898OblegFkSvICrkd0oRQ5Ro/GWK/NAoDymnMUDXeZDdUkSuw==} '@langchain/langgraph@0.2.39': resolution: {integrity: sha512-zoQT5LViPlB5hRS7RNwixcAonUBAHcW+IzVkGR/4vcKoE49z5rPBdZsWjJ6b1YIV1K2bdSDJWl5KSEHilvnR1Q==} @@ -655,11 +612,11 @@ packages: peerDependencies: '@langchain/core': '>=0.2.36 <0.3.0 || >=0.3.9 < 0.4.0' - '@langchain/openai@0.3.16': - resolution: {integrity: sha512-Om9HRlTeI0Ou6D4pfxbWHop4WGfkCdV/7v1W/+Jr7NSf0BNoA9jk5GqGms8ZtOYSGgPvizDu3i0TrM3B4cN4NA==} + '@langchain/openai@0.3.17': + resolution: {integrity: sha512-uw4po32OKptVjq+CYHrumgbfh4NuD7LqyE+ZgqY9I/LrLc6bHLMc+sisHmI17vgek0K/yqtarI0alPJbzrwyag==} engines: {node: '>=18'} peerDependencies: - '@langchain/core': '>=0.2.26 <0.4.0' + '@langchain/core': '>=0.3.29 <0.4.0' '@langchain/textsplitters@0.1.0': resolution: {integrity: sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==} @@ -860,8 +817,8 @@ packages: '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - '@noble/curves@1.7.0': - resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} + '@noble/curves@1.8.0': + resolution: {integrity: sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==} engines: {node: ^14.21.3 || >=16} '@noble/ed25519@1.7.3': @@ -875,12 +832,8 @@ packages: resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.6.0': - resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} - engines: {node: ^14.21.3 || >=16} - - '@noble/hashes@1.6.1': - resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} + '@noble/hashes@1.7.0': + resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==} engines: {node: ^14.21.3 || >=16} '@nodelib/fs.scandir@2.1.5': @@ -915,8 +868,8 @@ packages: '@solana/web3.js': ^1.90.0 decimal.js: ^10.4.3 - '@orca-so/whirlpools-sdk@0.13.12': - resolution: {integrity: sha512-+LOqGTe0DYUsYwemltOU4WQIviqoICQlIcAmmEX/WnBh6wntpcLDcXkPV6dBHW7NA2/J8WEVAZ50biLJb4subg==} + '@orca-so/whirlpools-sdk@0.13.13': + resolution: {integrity: sha512-S3ovmnihBdZ5cmn3ylvJv+kAIUcGX5Y5RSWzv/WvF6etv/tLuO8FKc5mYxVenTa/NG78turTMbhujDdfGaahDw==} peerDependencies: '@coral-xyz/anchor': ~0.29.0 '@orca-so/common-sdk': 0.6.4 @@ -978,23 +931,29 @@ packages: '@scure/bip32@1.4.0': resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + '@scure/bip32@1.6.1': + resolution: {integrity: sha512-jSO+5Ud1E588Y+LFo8TaB8JVPNAZw/lGGao+1SepHDeTs2dFLurdNIAgUuDlwezqEjRjElkCJajVrtrZaBxvaQ==} + '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - '@shikijs/core@1.24.3': - resolution: {integrity: sha512-VRcf4GYUIkxIchGM9DrapRcxtgojg4IWKUtX5EtW+4PJiGzF2xQqZSv27PJt+WLc18KT3CNLpNWow9JYV5n+Rg==} + '@scure/bip39@1.5.1': + resolution: {integrity: sha512-GnlufVSP9UdAo/H2Patfv22VTtpNTyfi+I3qCKpvuB5l1KWzEYx+l2TNpBy9Ksh4xTs3Rn06tBlpWCi/1Vz8gw==} - '@shikijs/engine-javascript@1.24.3': - resolution: {integrity: sha512-De8tNLvYjeK6V0Gb47jIH2M+OKkw+lWnSV1j3HVDFMlNIglmVcTMG2fASc29W0zuFbfEEwKjO8Fe4KYSO6Ce3w==} + '@shikijs/core@1.26.1': + resolution: {integrity: sha512-yeo7sG+WZQblKPclUOKRPwkv1PyoHYkJ4gP9DzhFJbTdueKR7wYTI1vfF/bFi1NTgc545yG/DzvVhZgueVOXMA==} - '@shikijs/engine-oniguruma@1.24.3': - resolution: {integrity: sha512-iNnx950gs/5Nk+zrp1LuF+S+L7SKEhn8k9eXgFYPGhVshKppsYwRmW8tpmAMvILIMSDfrgqZ0w+3xWVQB//1Xw==} + '@shikijs/engine-javascript@1.26.1': + resolution: {integrity: sha512-CRhA0b8CaSLxS0E9A4Bzcb3LKBNpykfo9F85ozlNyArxjo2NkijtiwrJZ6eHa+NT5I9Kox2IXVdjUsP4dilsmw==} '@shikijs/engine-oniguruma@1.26.1': resolution: {integrity: sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==} - '@shikijs/types@1.24.3': - resolution: {integrity: sha512-FPMrJ69MNxhRtldRk69CghvaGlbbN3pKRuvko0zvbfa2dXp4pAngByToqS5OY5jvN8D7LKR4RJE8UvzlCOuViw==} + '@shikijs/langs@1.26.1': + resolution: {integrity: sha512-oz/TQiIqZejEIZbGtn68hbJijAOTtYH4TMMSWkWYozwqdpKR3EXgILneQy26WItmJjp3xVspHdiUxUCws4gtuw==} + + '@shikijs/themes@1.26.1': + resolution: {integrity: sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==} '@shikijs/types@1.26.1': resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} @@ -1006,10 +965,6 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - '@solana/buffer-layout-utils@0.2.0': resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} engines: {node: '>= 10'} @@ -1187,9 +1142,9 @@ packages: '@solana/web3.js@1.98.0': resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} - '@supercharge/promise-pool@3.2.0': - resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} - engines: {node: '>=8'} + '@sqds/multisig@2.1.3': + resolution: {integrity: sha512-WOiL7La+RSiJsz7jVO85yhSiiSvNMUthiWuLPeWVOoD6IYa34BEAzanF1RdXRWGglSbRFYCTkyr+Ay1WmXmSRQ==} + engines: {node: '>=14'} '@supercharge/promise-pool@3.2.0': resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} @@ -1202,8 +1157,8 @@ packages: resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} - '@tensor-hq/tensor-common@8.3.1': - resolution: {integrity: sha512-cgc+Z0nR23pi+1DfJgF1+afWd+xf1e6VYPM9yhECshmERr6BgojQfcuoltHHcgpwSlLrZXnm47kQ48I2M6rxFQ==} + '@tensor-hq/tensor-common@8.3.2': + resolution: {integrity: sha512-gU+5Qby4vqcHvGzBOPiYHa4okNoTd8NRsNCQCbBQo2VdF2ITwRdqW759tricdmvwhISDmuo7r+mWp0/MDmnrNA==} '@tensor-oss/tensorswap-sdk@4.5.0': resolution: {integrity: sha512-eNM6k1DT5V/GadxSHm8//z2wlLl8/EcA0KFQXKaxRba/2MirNySsoVGxDXO2UdOI4eZMse8f+8Et3P63WWjsIw==} @@ -1244,9 +1199,6 @@ packages: '@types/diff-match-patch@1.0.36': resolution: {integrity: sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==} - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - '@types/express-serve-static-core@4.19.6': resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} @@ -1283,11 +1235,11 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.68': - resolution: {integrity: sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw==} + '@types/node@18.19.70': + resolution: {integrity: sha512-RE+K0+KZoEpDUbGGctnGdkrLFwi1eYKTlIHNl2Um98mUkGsm1u2Ff6Ltd0e8DktTtC98uy7rSj+hO8t/QuLoVQ==} - '@types/node@20.17.11': - resolution: {integrity: sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg==} + '@types/node@20.17.12': + resolution: {integrity: sha512-vo/wmBgMIiEA23A/knMfn/cf37VnuF52nZh5ZoW0GWt4e4sxNquibrMRJ7UQsA06+MBx9r/H1jsI9grYjQCQlw==} '@types/node@22.10.5': resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} @@ -1331,51 +1283,51 @@ packages: '@types/ws@8.5.13': resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} - '@typescript-eslint/eslint-plugin@8.19.0': - resolution: {integrity: sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==} + '@typescript-eslint/eslint-plugin@8.19.1': + resolution: {integrity: sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.19.0': - resolution: {integrity: sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==} + '@typescript-eslint/parser@8.19.1': + resolution: {integrity: sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@8.19.0': - resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} + '@typescript-eslint/scope-manager@8.19.1': + resolution: {integrity: sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.19.0': - resolution: {integrity: sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==} + '@typescript-eslint/type-utils@8.19.1': + resolution: {integrity: sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@8.19.0': - resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} + '@typescript-eslint/types@8.19.1': + resolution: {integrity: sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.19.0': - resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} + '@typescript-eslint/typescript-estree@8.19.1': + resolution: {integrity: sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.19.0': - resolution: {integrity: sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==} + '@typescript-eslint/utils@8.19.1': + resolution: {integrity: sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@8.19.0': - resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} + '@typescript-eslint/visitor-keys@8.19.1': + resolution: {integrity: sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.1': @@ -1420,8 +1372,8 @@ packages: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} - ai@4.0.26: - resolution: {integrity: sha512-IDnSkiH0C+s+9jfKA5M8vO6PO279b5N/OtkbIy4gYtajLT5i52OobssG6LdZExZQxlYgBvXvTl3YskKJE/kD8Q==} + ai@4.0.33: + resolution: {integrity: sha512-mOvhPyVchGZvZuPn8Zj4J+93fZOlaBH1BtunvGmQ/8yFc5hGmid3c0XIdw5UNt3++0sXawKE3j7JUL5ZmiQdKg==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -1641,8 +1593,8 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bufferutil@4.0.8: - resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} + bufferutil@4.0.9: + resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} engines: {node: '>=6.14.2'} bytes@3.1.2: @@ -1688,10 +1640,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.4.0: - resolution: {integrity: sha512-ZkD35Mx92acjB2yNJgziGqT9oKHEOxjTBTDRpOsRWtdecL/0jM3z5kM/CTzHWvHIen1GvkM85p6TuFfDGfc8/Q==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chalk@5.4.1: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -1799,8 +1747,8 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - cross-fetch@3.1.8: - resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} @@ -2046,10 +1994,6 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-scope@8.2.0: - resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2064,20 +2008,6 @@ packages: deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true - eslint@9.17.0: - resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2161,8 +2091,8 @@ packages: fast-diff@1.3.0: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: @@ -2192,10 +2122,6 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} - file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -2207,25 +2133,21 @@ packages: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} - find-process@1.4.9: - resolution: {integrity: sha512-x+1gcT3k+7ipx8chx1Z7cViSdeQ/RBwDk+6GiWnMTO0+YtGFrahToxarIZM6TzDZ9UFfYPUGpBf/85v5GpBXKA==} + find-process@1.4.10: + resolution: {integrity: sha512-ncYFnWEIwL7PzmrK1yZtaccN8GhethD37RzBHG6iOZoFYB4vSmLLXfeWJjeN5nMvCJMjOtBvBBF8OgxEcikiZg==} hasBin: true find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flash-sdk@2.24.3: - resolution: {integrity: sha512-3JdmHZksBgcRlCXVVFZEV64NGKxVHURHoHAMc3+Ev1BdN0Re2S44wxTaQmO6EIvwPYscVG0BPbp6GibpEuMdsw==} + flash-sdk@2.25.3: + resolution: {integrity: sha512-0yKh40xgjNKjG/iOnnQqdEiXjLTUdaRVzLTDigcHvyDG5Kc9P5VCqqRdjxZ7XNdEFyZPvlspVD9p7ixS97hOUA==} flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} - flatted@3.3.2: resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} @@ -2286,8 +2208,12 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} - get-intrinsic@1.2.6: - resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + get-intrinsic@1.2.7: + resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} get-stream@5.2.0: @@ -2313,11 +2239,6 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - glob@11.0.0: - resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} - engines: {node: 20 || >=22} - hasBin: true - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -2326,10 +2247,6 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -2382,9 +2299,6 @@ packages: hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - helius-sdk@1.4.1: - resolution: {integrity: sha512-DsMNJxkDnP5f0GmKf/+LQz14VNo+IK8F760Y6CynNNmAdUH1bpGYP6tCdba5q/o58ea21gx2gC330FAVI4ZWhQ==} - hi-base32@0.5.1: resolution: {integrity: sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==} @@ -2451,9 +2365,8 @@ packages: resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} engines: {node: '>=12.0.0'} - inquirer@8.2.6: - resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} - engines: {node: '>=12.0.0'} + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} @@ -2490,8 +2403,8 @@ packages: resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} engines: {node: '>=18'} - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} engines: {node: '>= 0.4'} is-glob@4.0.3: @@ -2518,6 +2431,10 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + is-retry-allowed@2.2.0: resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} engines: {node: '>=10'} @@ -2548,10 +2465,6 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.0.2: - resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} - engines: {node: 20 || >=22} - jayson@4.1.3: resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} engines: {node: '>=8'} @@ -2638,8 +2551,8 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - langchain@0.3.9: - resolution: {integrity: sha512-uteRutI03Bt9f53nZmx8mWfJXkf6VlFVRuOprRJ0mWdCpkTP359sxrH4v6w4TokLiziPC/aMay662kmOz0dHlA==} + langchain@0.3.11: + resolution: {integrity: sha512-PgAG4ZLeuSRkKsyf98cmWGdwKv3I1hOFC8a4fr7e+bm7E+F6Fx6xUkgbuC78ff0N/Cjs5BBryZIFMrqoKPqsvg==} engines: {node: '>=18'} peerDependencies: '@langchain/anthropic': '*' @@ -2649,6 +2562,7 @@ packages: '@langchain/core': '>=0.2.21 <0.4.0' '@langchain/google-genai': '*' '@langchain/google-vertexai': '*' + '@langchain/google-vertexai-web': '*' '@langchain/groq': '*' '@langchain/mistralai': '*' '@langchain/ollama': '*' @@ -2670,6 +2584,8 @@ packages: optional: true '@langchain/google-vertexai': optional: true + '@langchain/google-vertexai-web': + optional: true '@langchain/groq': optional: true '@langchain/mistralai': @@ -2687,8 +2603,8 @@ packages: typeorm: optional: true - langsmith@0.2.13: - resolution: {integrity: sha512-16EOM5nhU6GlMCKGm5sgBIAKOKzS2d30qcDZmF21kSLZJiUhUNTROwvYdqgZLrGfIIzmSMJHCKA7RFd5qf50uw==} + langsmith@0.2.15: + resolution: {integrity: sha512-homtJU41iitqIZVuuLW7iarCzD4f39KcfP9RTBWav9jifhrsDa1Ez89Ejr+4qi72iuBu8Y5xykchsGVgiEZ93w==} peerDependencies: openai: '*' peerDependenciesMeta: @@ -2766,10 +2682,6 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.0.2: - resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} - engines: {node: 20 || >=22} - lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} @@ -2879,10 +2791,6 @@ packages: minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} - engines: {node: 20 || >=22} - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -3012,11 +2920,11 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} - oniguruma-to-es@0.8.0: - resolution: {integrity: sha512-rY+/a6b+uCgoYIL9itjY0x99UUDHXmGaw7Jjk5ZvM/3cxDJifyxFr/Zm4tTmF6Tre18gAakJo7AzhKUeMNLgHA==} + oniguruma-to-es@0.10.0: + resolution: {integrity: sha512-zapyOUOCJxt+xhiNRPPMtfJkHGsZ98HHB9qJEkdT8BGytO/+kpe4m1Ngf0MzbzTmhacn11w9yGeDP6tzDhnCdg==} - openai@4.77.0: - resolution: {integrity: sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==} + openai@4.78.1: + resolution: {integrity: sha512-drt0lHZBd2lMyORckOXFPQTmnGLWSLt8VK0W9BhOKWpMFBEoHMoz5gxMPmVq5icp+sOrsbMnsmZTVHUlKvD1Ow==} hasBin: true peerDependencies: zod: ^3.23.8 @@ -3104,10 +3012,6 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-scurry@2.0.0: - resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} - engines: {node: 20 || >=22} - path-to-regexp@0.1.12: resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} @@ -3221,8 +3125,8 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex-recursion@5.0.0: - resolution: {integrity: sha512-UwyOqeobrCCqTXPcsSqH4gDhOjD5cI/b8kjngWgSZbxYh5yVjAwTjO5+hAuPRNiuR70+5RlWSs+U9PVcVcW9Lw==} + regex-recursion@5.1.1: + resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} @@ -3233,19 +3137,12 @@ packages: resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} responselike@2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} @@ -3282,11 +3179,6 @@ packages: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true - rimraf@6.0.1: - resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} - engines: {node: 20 || >=22} - hasBin: true - ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} @@ -3306,6 +3198,10 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -3355,8 +3251,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.24.3: - resolution: {integrity: sha512-eMeX/ehE2IDKVs71kB4zVcDHjutNcOtm+yIRuR4sA6ThBbdFI0DffGJiyoKCodj0xRGxIoWC3pk/Anmm5mzHmA==} + shiki@1.26.1: + resolution: {integrity: sha512-Gqg6DSTk3wYqaZ5OaYtzjcdxcBvX5kCy24yvRJEgjT5U+WHlmqCThLuBUx0juyxQBi+6ug53IGeuQS07DWwpcw==} side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} @@ -3540,11 +3436,11 @@ packages: trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - ts-api-utils@1.4.3: - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} - engines: {node: '>=16'} + ts-api-utils@2.0.0: + resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==} + engines: {node: '>=18.12'} peerDependencies: - typescript: '>=4.2.0' + typescript: '>=4.8.4' ts-log@2.2.7: resolution: {integrity: sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==} @@ -3622,8 +3518,8 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - typescript@5.7.2: - resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} engines: {node: '>=14.17'} hasBin: true @@ -3819,6 +3715,11 @@ packages: engines: {node: '>= 14'} hasBin: true + yaml@2.7.0: + resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} + engines: {node: '>= 14'} + hasBin: true + yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -3843,14 +3744,14 @@ packages: snapshots: - '@3land/listings-sdk@0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@3land/listings-sdk@0.0.4(@types/node@22.10.5)(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/beet': 0.7.2 - '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@project-serum/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@project-serum/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn: 1.0.5 bn.js: 5.2.1 bs58: 6.0.0 @@ -3858,7 +3759,7 @@ snapshots: fs: 0.0.1-security irys: 0.0.1 node-fetch: 3.3.2 - ts-node: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) + ts-node: 10.9.2(@types/node@22.10.5)(typescript@5.7.3) tweetnacl: 1.0.3 transitivePeerDependencies: - '@swc/core' @@ -3873,39 +3774,39 @@ snapshots: - typescript - utf-8-validate - '@ai-sdk/openai@1.0.11(zod@3.24.1)': + '@ai-sdk/openai@1.0.18(zod@3.24.1)': dependencies: - '@ai-sdk/provider': 1.0.3 - '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) + '@ai-sdk/provider': 1.0.4 + '@ai-sdk/provider-utils': 2.0.7(zod@3.24.1) zod: 3.24.1 - '@ai-sdk/provider-utils@2.0.5(zod@3.24.1)': + '@ai-sdk/provider-utils@2.0.7(zod@3.24.1)': dependencies: - '@ai-sdk/provider': 1.0.3 + '@ai-sdk/provider': 1.0.4 eventsource-parser: 3.0.0 nanoid: 3.3.8 secure-json-parse: 2.7.0 optionalDependencies: zod: 3.24.1 - '@ai-sdk/provider@1.0.3': + '@ai-sdk/provider@1.0.4': dependencies: json-schema: 0.4.0 - '@ai-sdk/react@1.0.7(react@19.0.0)(zod@3.24.1)': + '@ai-sdk/react@1.0.9(react@19.0.0)(zod@3.24.1)': dependencies: - '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) - '@ai-sdk/ui-utils': 1.0.6(zod@3.24.1) + '@ai-sdk/provider-utils': 2.0.7(zod@3.24.1) + '@ai-sdk/ui-utils': 1.0.8(zod@3.24.1) swr: 2.3.0(react@19.0.0) throttleit: 2.1.0 optionalDependencies: react: 19.0.0 zod: 3.24.1 - '@ai-sdk/ui-utils@1.0.6(zod@3.24.1)': + '@ai-sdk/ui-utils@1.0.8(zod@3.24.1)': dependencies: - '@ai-sdk/provider': 1.0.3 - '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) + '@ai-sdk/provider': 1.0.4 + '@ai-sdk/provider-utils': 2.0.7(zod@3.24.1) zod-to-json-schema: 3.24.1(zod@3.24.1) optionalDependencies: zod: 3.24.1 @@ -3927,35 +3828,8 @@ snapshots: '@aptos-labs/aptos-client': 0.1.1 '@noble/curves': 1.8.0 '@noble/hashes': 1.7.0 - '@scure/bip32': 1.4.0 - '@scure/bip39': 1.3.0 - eventemitter3: 5.0.1 - form-data: 4.0.1 - js-base64: 3.7.7 - jwt-decode: 4.0.0 - poseidon-lite: 0.2.1 - transitivePeerDependencies: - - debug - - '@aptos-labs/aptos-cli@1.0.2': - dependencies: - commander: 12.1.0 - - '@aptos-labs/aptos-client@0.1.1': - dependencies: - axios: 1.7.4 - got: 11.8.6 - transitivePeerDependencies: - - debug - - '@aptos-labs/ts-sdk@1.33.1': - dependencies: - '@aptos-labs/aptos-cli': 1.0.2 - '@aptos-labs/aptos-client': 0.1.1 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 - '@scure/bip32': 1.4.0 - '@scure/bip39': 1.3.0 + '@scure/bip32': 1.6.1 + '@scure/bip39': 1.5.1 eventemitter3: 5.0.1 form-data: 4.0.1 js-base64: 3.7.7 @@ -3968,20 +3842,20 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 - '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@bonfida/sns-records@0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) borsh: 1.0.0 bs58: 5.0.0 buffer: 6.0.3 - '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@bonfida/spl-name-service@3.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: - '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@noble/curves': 1.7.0 + '@bonfida/sns-records': 0.0.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.8.0 '@scure/base': 1.2.1 - '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) borsh: 2.0.0 buffer: 6.0.3 graphemesplit: 2.4.4 @@ -3994,15 +3868,15 @@ snapshots: - typescript - utf-8-validate - '@cfworker/json-schema@4.0.3': {} + '@cfworker/json-schema@4.1.0': {} - '@cks-systems/manifest-sdk@0.1.59(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@cks-systems/manifest-sdk@0.1.59(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 '@metaplex-foundation/rustbin': 0.3.5 - '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/solita': 0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 0.7.0 bs58: 6.0.0 @@ -4013,28 +3887,27 @@ snapshots: percentile: 1.6.0 prom-client: 15.1.3 rimraf: 5.0.10 - typedoc: 0.26.11(typescript@5.7.2) - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + typedoc: 0.26.11(typescript@5.7.3) + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) zstddec: 0.0.2 transitivePeerDependencies: - bufferutil - encoding - fastestsmallesttextencoderdecoder - - jiti - supports-color - typescript - utf-8-validate - '@coral-xyz/anchor@0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.1.8 + cross-fetch: 3.2.0 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -4047,16 +3920,16 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/anchor@0.27.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.1.8 + cross-fetch: 3.2.0 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -4069,16 +3942,16 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@noble/hashes': 1.6.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.7.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.1.8 + cross-fetch: 3.2.0 crypto-hash: 1.3.0 eventemitter3: 4.0.7 pako: 2.1.0 @@ -4090,33 +3963,33 @@ snapshots: - encoding - utf-8-validate - '@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.27.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer-layout: 1.2.2 @@ -4201,25 +4074,8 @@ snapshots: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0)': - dependencies: - eslint: 9.17.0 - eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.19.1': - dependencies: - '@eslint/object-schema': 2.1.5 - debug: 4.4.0 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@eslint/core@0.9.1': - dependencies: - '@types/json-schema': 7.0.15 - '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 @@ -4234,30 +4090,8 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/eslintrc@3.2.0': - dependencies: - ajv: 6.12.6 - debug: 4.4.0 - espree: 10.3.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - '@eslint/js@8.57.1': {} - '@eslint/js@9.17.0': {} - - '@eslint/object-schema@2.1.5': {} - - '@eslint/plugin-kit@0.2.4': - dependencies: - levn: 0.4.1 - '@ethereumjs/rlp@4.0.1': {} '@ethereumjs/util@8.1.0': @@ -4439,55 +4273,6 @@ snapshots: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 - '@ethersproject/networks@5.7.1': - dependencies: - '@ethersproject/logger': 5.7.0 - - '@ethersproject/pbkdf2@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/sha2': 5.7.0 - - '@ethersproject/properties@5.7.0': - dependencies: - '@ethersproject/logger': 5.7.0 - - '@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': - dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/base64': 5.7.0 - '@ethersproject/basex': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/networks': 5.7.1 - '@ethersproject/properties': 5.7.0 - '@ethersproject/random': 5.7.0 - '@ethersproject/rlp': 5.7.0 - '@ethersproject/sha2': 5.7.0 - '@ethersproject/strings': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/web': 5.7.1 - bech32: 1.1.4 - ws: 7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@ethersproject/random@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - - '@ethersproject/rlp@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/sha2@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 @@ -4561,13 +4346,6 @@ snapshots: '@shikijs/types': 1.26.1 '@shikijs/vscode-textmate': 10.0.1 - '@humanfs/core@0.19.1': {} - - '@humanfs/node@0.16.6': - dependencies: - '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 - '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -4580,10 +4358,6 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@humanwhocodes/retry@0.3.1': {} - - '@humanwhocodes/retry@0.4.1': {} - '@irys/arweave@0.0.2': dependencies: asn1.js: 5.4.1 @@ -4636,58 +4410,6 @@ snapshots: - encoding - utf-8-validate - '@irys/arweave@0.0.2': - dependencies: - asn1.js: 5.4.1 - async-retry: 1.3.3 - axios: 1.7.9 - base64-js: 1.5.1 - bignumber.js: 9.1.2 - transitivePeerDependencies: - - debug - - '@irys/query@0.0.8': - dependencies: - async-retry: 1.3.3 - axios: 1.7.9 - transitivePeerDependencies: - - debug - - '@irys/sdk@0.2.11(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10)': - dependencies: - '@aptos-labs/ts-sdk': 1.33.1 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/contracts': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@ethersproject/wallet': 5.7.0 - '@irys/query': 0.0.8 - '@near-js/crypto': 0.0.3 - '@near-js/keystores-browser': 0.0.3 - '@near-js/providers': 0.0.4 - '@near-js/transactions': 0.1.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@supercharge/promise-pool': 3.2.0 - algosdk: 1.24.1 - arbundles: 0.11.2(arweave@1.15.5)(bufferutil@4.0.8)(utf-8-validate@5.0.10) - async-retry: 1.3.3 - axios: 1.7.9 - base64url: 3.0.1 - bignumber.js: 9.1.2 - bs58: 5.0.0 - commander: 8.3.0 - csv: 5.5.3 - inquirer: 8.2.6 - js-sha256: 0.9.0 - mime-types: 2.1.35 - near-seed-phrase: 0.2.1 - tslib: 2.8.1 - transitivePeerDependencies: - - arweave - - bufferutil - - debug - - encoding - - utf-8-validate - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -4706,14 +4428,14 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))': + '@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))': dependencies: - '@cfworker/json-schema': 4.0.3 + '@cfworker/json-schema': 4.1.0 ansi-styles: 5.2.0 camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.16 - langsmith: 0.2.13(openai@4.77.0(zod@3.24.1)) + langsmith: 0.2.15(openai@4.78.1(zod@3.24.1)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 @@ -4723,57 +4445,57 @@ snapshots: transitivePeerDependencies: - openai - '@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + '@langchain/groq@0.1.3(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) - '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/core': 0.3.29(openai@4.78.1(zod@3.24.1)) + '@langchain/openai': 0.3.17(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))) groq-sdk: 0.5.0 zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - encoding - '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + '@langchain/langgraph-checkpoint@0.0.13(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/core': 0.3.29(openai@4.78.1(zod@3.24.1)) uuid: 10.0.0 - '@langchain/langgraph-sdk@0.0.32': + '@langchain/langgraph-sdk@0.0.36': dependencies: '@types/json-schema': 7.0.15 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 9.0.1 - '@langchain/langgraph@0.2.39(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + '@langchain/langgraph@0.2.39(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) - '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) - '@langchain/langgraph-sdk': 0.0.32 + '@langchain/core': 0.3.29(openai@4.78.1(zod@3.24.1)) + '@langchain/langgraph-checkpoint': 0.0.13(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))) + '@langchain/langgraph-sdk': 0.0.36 uuid: 10.0.0 zod: 3.24.1 - '@langchain/openai@0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + '@langchain/openai@0.3.17(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/core': 0.3.29(openai@4.78.1(zod@3.24.1)) js-tiktoken: 1.0.16 - openai: 4.77.0(zod@3.24.1) + openai: 4.78.1(zod@3.24.1) zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - encoding - '@langchain/textsplitters@0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))': + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1)))': dependencies: - '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) + '@langchain/core': 0.3.29(openai@4.78.1(zod@3.24.1)) js-tiktoken: 1.0.16 - '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@lightprotocol/compressed-token@0.17.1(@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@lightprotocol/stateless.js': 0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 tweetnacl: 1.0.3 transitivePeerDependencies: @@ -4783,11 +4505,11 @@ snapshots: - typescript - utf-8-validate - '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@lightprotocol/stateless.js@0.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@noble/hashes': 1.5.0 - '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 superstruct: 2.0.2 tweetnacl: 1.0.3 @@ -4796,10 +4518,10 @@ snapshots: - encoding - utf-8-validate - '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@metaplex-foundation/beet-solana@0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -4808,10 +4530,10 @@ snapshots: - supports-color - utf-8-validate - '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@metaplex-foundation/beet-solana@0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@metaplex-foundation/beet': 0.7.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet': 0.7.1 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -4820,10 +4542,10 @@ snapshots: - supports-color - utf-8-validate - '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@metaplex-foundation/beet-solana@0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 debug: 4.4.0 transitivePeerDependencies: @@ -4867,13 +4589,13 @@ snapshots: '@metaplex-foundation/cusper@0.0.2': {} - '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@metaplex-foundation/mpl-auction-house@2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.6.1 - '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 transitivePeerDependencies: - bufferutil @@ -4883,15 +4605,15 @@ snapshots: - typescript - utf-8-validate - '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@metaplex-foundation/mpl-bubblegum@0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.1 - '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.1.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) js-sha3: 0.8.0 transitivePeerDependencies: - bufferutil @@ -4901,19 +4623,19 @@ snapshots: - typescript - utf-8-validate - '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.6.1)': + '@metaplex-foundation/mpl-core@1.1.1(@metaplex-foundation/umi@0.9.2)(@noble/hashes@1.7.0)': dependencies: '@metaplex-foundation/umi': 0.9.2 '@msgpack/msgpack': 3.0.0-beta2 - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.7.0 - '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@metaplex-foundation/mpl-token-metadata@2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/cusper': 0.0.2 - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 debug: 4.4.0 transitivePeerDependencies: @@ -4942,12 +4664,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@metaplex-foundation/solita@0.12.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.4.0 - '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.3.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/rustbin': 0.3.5 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) camelcase: 6.3.0 debug: 4.4.0 js-sha256: 0.9.0 @@ -4957,22 +4679,21 @@ snapshots: transitivePeerDependencies: - bufferutil - encoding - - jiti - supports-color - utf-8-validate - '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 '@metaplex-foundation/umi-downloader-http': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-http-fetch': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-program-repository': 0.9.2(@metaplex-foundation/umi@0.9.2) '@metaplex-foundation/umi-rpc-chunk-get-accounts': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-serializer-data-view': 0.9.2(@metaplex-foundation/umi@0.9.2) - '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - encoding @@ -4980,12 +4701,12 @@ snapshots: dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@noble/curves': 1.7.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.8.0 + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: @@ -5008,11 +4729,11 @@ snapshots: dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': dependencies: @@ -5036,16 +4757,16 @@ snapshots: '@metaplex-foundation/umi-serializers-encodings': 0.8.9 '@metaplex-foundation/umi-serializers-numbers': 0.8.9 - '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 0.9.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 '@metaplex-foundation/umi@0.9.2': @@ -5158,21 +4879,17 @@ snapshots: dependencies: '@noble/hashes': 1.4.0 - '@noble/curves@1.7.0': + '@noble/curves@1.8.0': dependencies: '@noble/hashes': 1.7.0 '@noble/ed25519@1.7.3': {} - '@noble/ed25519@1.7.3': {} - '@noble/hashes@1.4.0': {} '@noble/hashes@1.5.0': {} - '@noble/hashes@1.6.0': {} - - '@noble/hashes@1.6.1': {} + '@noble/hashes@1.7.0': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -5186,11 +4903,11 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.18.0 - '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@onsol/tldparser@0.6.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)(borsh@2.0.0)(buffer@6.0.3)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/sha2': 5.7.0 - '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 2.0.0 buffer: 6.0.3 @@ -5202,19 +4919,19 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + '@orca-so/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.3)(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)': dependencies: - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@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.3)(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 tiny-invariant: 1.3.3 - '@orca-so/whirlpools-sdk@0.13.12(@coral-xyz/anchor@0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3))(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3)': + '@orca-so/whirlpools-sdk@0.13.13(@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@orca-so/common-sdk@0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(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.3)(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)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@orca-so/common-sdk': 0.6.4(@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(decimal.js@10.4.3) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@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.3)(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.3)(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 tiny-invariant: 1.3.3 @@ -5223,16 +4940,16 @@ snapshots: '@pkgr/core@0.1.1': {} - '@project-serum/anchor@0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@project-serum/anchor@0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.26.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) base64-js: 1.5.1 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 - cross-fetch: 3.1.8 + cross-fetch: 3.2.0 crypto-hash: 1.3.0 eventemitter3: 4.0.7 js-sha256: 0.9.0 @@ -5245,11 +4962,11 @@ snapshots: - encoding - utf-8-validate - '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@pythnetwork/client@2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/borsh': 0.28.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5264,15 +4981,15 @@ snapshots: transitivePeerDependencies: - axios - '@pythnetwork/price-service-client@1.9.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@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.8)(utf-8-validate@5.0.10)) + isomorphic-ws: 4.0.1(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) ts-log: 2.2.7 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - debug @@ -5290,19 +5007,11 @@ snapshots: '@randlabs/communication-bridge': 1.0.1 optional: true - '@randlabs/communication-bridge@1.0.1': - optional: true - - '@randlabs/myalgo-connect@1.4.2': - dependencies: - '@randlabs/communication-bridge': 1.0.1 - optional: true - - '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@raydium-io/raydium-sdk-v2@0.1.95-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@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.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) axios: 1.7.9 big.js: 6.2.2 bn.js: 5.2.1 @@ -5324,11 +5033,11 @@ snapshots: dependencies: tslib: 2.8.1 - '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1)': + '@saberhq/solana-contrib@1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1)': dependencies: '@saberhq/option-utils': 1.15.0 '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@types/promise-retry': 1.1.6 '@types/retry': 0.12.5 bn.js: 5.2.1 @@ -5347,40 +5056,49 @@ snapshots: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 + '@scure/bip32@1.6.1': + dependencies: + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 + '@scure/base': 1.2.1 + '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - '@shikijs/core@1.24.3': + '@scure/bip39@1.5.1': dependencies: - '@shikijs/engine-javascript': 1.24.3 - '@shikijs/engine-oniguruma': 1.24.3 - '@shikijs/types': 1.24.3 - '@shikijs/vscode-textmate': 9.3.1 + '@noble/hashes': 1.7.0 + '@scure/base': 1.2.1 + + '@shikijs/core@1.26.1': + dependencies: + '@shikijs/engine-javascript': 1.26.1 + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 hast-util-to-html: 9.0.4 - '@shikijs/engine-javascript@1.24.3': + '@shikijs/engine-javascript@1.26.1': dependencies: - '@shikijs/types': 1.24.3 - '@shikijs/vscode-textmate': 9.3.1 - oniguruma-to-es: 0.8.0 - - '@shikijs/engine-oniguruma@1.24.3': - dependencies: - '@shikijs/types': 1.24.3 - '@shikijs/vscode-textmate': 9.3.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 + oniguruma-to-es: 0.10.0 '@shikijs/engine-oniguruma@1.26.1': dependencies: '@shikijs/types': 1.26.1 '@shikijs/vscode-textmate': 10.0.1 - '@shikijs/types@1.24.3': + '@shikijs/langs@1.26.1': dependencies: - '@shikijs/vscode-textmate': 9.3.1 - '@types/hast': 3.0.4 + '@shikijs/types': 1.26.1 + + '@shikijs/themes@1.26.1': + dependencies: + '@shikijs/types': 1.26.1 '@shikijs/types@1.26.1': dependencies: @@ -5391,12 +5109,10 @@ snapshots: '@sindresorhus/is@4.6.0': {} - '@sindresorhus/is@4.6.0': {} - - '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bigint-buffer: 1.1.5 bignumber.js: 9.1.2 transitivePeerDependencies: @@ -5412,20 +5128,20 @@ snapshots: dependencies: '@solana/errors': 2.0.0-preview.2 - '@solana/codecs-core@2.0.0-preview.4(typescript@5.7.2)': + '@solana/codecs-core@2.0.0-preview.4(typescript@5.7.3)': dependencies: - '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) - typescript: 5.7.2 + '@solana/errors': 2.0.0-preview.4(typescript@5.7.3) + typescript: 5.7.3 '@solana/codecs-core@2.0.0-rc.1(typescript@4.9.5)': dependencies: '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 - '@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2)': + '@solana/codecs-core@2.0.0-rc.1(typescript@5.7.3)': dependencies: - '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) - typescript: 5.7.2 + '@solana/errors': 2.0.0-rc.1(typescript@5.7.3) + typescript: 5.7.3 '@solana/codecs-data-structures@2.0.0-preview.2': dependencies: @@ -5433,12 +5149,12 @@ snapshots: '@solana/codecs-numbers': 2.0.0-preview.2 '@solana/errors': 2.0.0-preview.2 - '@solana/codecs-data-structures@2.0.0-preview.4(typescript@5.7.2)': + '@solana/codecs-data-structures@2.0.0-preview.4(typescript@5.7.3)': dependencies: - '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) - '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) - '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) - typescript: 5.7.2 + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.3) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.3) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.3) + typescript: 5.7.3 '@solana/codecs-data-structures@2.0.0-rc.1(typescript@4.9.5)': dependencies: @@ -5447,23 +5163,23 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 - '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2)': + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.3)': dependencies: - '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) - '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) - '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) - typescript: 5.7.2 + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.3) + typescript: 5.7.3 '@solana/codecs-numbers@2.0.0-preview.2': dependencies: '@solana/codecs-core': 2.0.0-preview.2 '@solana/errors': 2.0.0-preview.2 - '@solana/codecs-numbers@2.0.0-preview.4(typescript@5.7.2)': + '@solana/codecs-numbers@2.0.0-preview.4(typescript@5.7.3)': dependencies: - '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) - '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) - typescript: 5.7.2 + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.3) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.3) + typescript: 5.7.3 '@solana/codecs-numbers@2.0.0-rc.1(typescript@4.9.5)': dependencies: @@ -5471,11 +5187,11 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@4.9.5) typescript: 4.9.5 - '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2)': + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.3)': dependencies: - '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) - '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) - typescript: 5.7.2 + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.3) + typescript: 5.7.3 '@solana/codecs-strings@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: @@ -5484,13 +5200,13 @@ snapshots: '@solana/errors': 2.0.0-preview.2 fastestsmallesttextencoderdecoder: 1.0.22 - '@solana/codecs-strings@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/codecs-strings@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) - '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) - '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.3) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.3) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.3) fastestsmallesttextencoderdecoder: 1.0.22 - typescript: 5.7.2 + typescript: 5.7.3 '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: @@ -5500,13 +5216,13 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 4.9.5 - '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) - '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) - '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.3) fastestsmallesttextencoderdecoder: 1.0.22 - typescript: 5.7.2 + typescript: 5.7.3 '@solana/codecs@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: @@ -5518,14 +5234,14 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/codecs@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/codecs@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) - '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.2) - '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) - '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/options': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - typescript: 5.7.2 + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.3) + '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.3) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.3) + '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/options': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder @@ -5540,53 +5256,53 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) - '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) - '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) - '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - typescript: 5.7.2 + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.3) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.3) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder '@solana/errors@2.0.0-preview.2': dependencies: - chalk: 5.4.0 + chalk: 5.4.1 commander: 12.1.0 - '@solana/errors@2.0.0-preview.4(typescript@5.7.2)': + '@solana/errors@2.0.0-preview.4(typescript@5.7.3)': dependencies: - chalk: 5.4.0 + chalk: 5.4.1 commander: 12.1.0 - typescript: 5.7.2 + typescript: 5.7.3 '@solana/errors@2.0.0-rc.1(typescript@4.9.5)': dependencies: - chalk: 5.4.0 + chalk: 5.4.1 commander: 12.1.0 typescript: 4.9.5 - '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': + '@solana/errors@2.0.0-rc.1(typescript@5.7.3)': dependencies: - chalk: 5.4.0 + chalk: 5.4.1 commander: 12.1.0 - typescript: 5.7.2 + typescript: 5.7.3 '@solana/options@2.0.0-preview.2': dependencies: '@solana/codecs-core': 2.0.0-preview.2 '@solana/codecs-numbers': 2.0.0-preview.2 - '@solana/options@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/options@2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.2) - '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.2) - '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.2) - '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/errors': 2.0.0-preview.4(typescript@5.7.2) - typescript: 5.7.2 + '@solana/codecs-core': 2.0.0-preview.4(typescript@5.7.3) + '@solana/codecs-data-structures': 2.0.0-preview.4(typescript@5.7.3) + '@solana/codecs-numbers': 2.0.0-preview.4(typescript@5.7.3) + '@solana/codecs-strings': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/errors': 2.0.0-preview.4(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder @@ -5601,22 +5317,22 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) - '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) - '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) - '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) - typescript: 5.7.2 + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.3) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.3) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.3) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@solana/spl-account-compression@0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/beet': 0.7.2 - '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@metaplex-foundation/beet-solana': 0.4.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 borsh: 0.7.0 js-sha3: 0.8.0 @@ -5627,67 +5343,67 @@ snapshots: - supports-color - utf-8-validate - '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': + '@solana/spl-token-group@0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': dependencies: '@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) '@solana/spl-type-length-value': 0.1.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-group@0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/codecs': 2.0.0-preview.4(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) '@solana/spl-type-length-value': 0.1.0 - '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)': dependencies: - '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token@0.1.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.1.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bn.js: 5.2.1 buffer: 6.0.3 buffer-layout: 1.2.2 @@ -5697,12 +5413,12 @@ snapshots: - encoding - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5711,12 +5427,12 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5725,12 +5441,12 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5739,13 +5455,13 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.4.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5754,13 +5470,13 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.4.8(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.5(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/web3.js': 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5769,13 +5485,13 @@ snapshots: - typescript - utf-8-validate - '@solana/spl-token@0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@solana/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.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -5788,11 +5504,11 @@ snapshots: dependencies: buffer: 6.0.3 - '@solana/web3.js@1.95.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -5801,7 +5517,7 @@ snapshots: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -5810,11 +5526,11 @@ snapshots: - encoding - utf-8-validate - '@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -5823,7 +5539,7 @@ snapshots: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -5832,11 +5548,11 @@ snapshots: - encoding - utf-8-validate - '@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/curves': 1.8.0 + '@noble/hashes': 1.7.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.6.0 bigint-buffer: 1.1.5 @@ -5845,7 +5561,7 @@ snapshots: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.0.4 superstruct: 2.0.2 @@ -5854,7 +5570,25 @@ snapshots: - encoding - utf-8-validate - '@supercharge/promise-pool@3.2.0': {} + '@sqds/multisig@2.1.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': + dependencies: + '@metaplex-foundation/beet': 0.7.1 + '@metaplex-foundation/beet-solana': 0.4.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/cusper': 0.0.2 + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@types/bn.js': 5.1.6 + assert: 2.1.0 + bn.js: 5.2.1 + buffer: 6.0.3 + invariant: 2.2.4 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate '@supercharge/promise-pool@3.2.0': {} @@ -5866,18 +5600,14 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@szmarczak/http-timer@4.0.6': + '@tensor-hq/tensor-common@8.3.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: - defer-to-connect: 2.0.1 - - '@tensor-hq/tensor-common@8.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': - dependencies: - '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@metaplex-foundation/mpl-bubblegum': 0.7.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-auction-house': 2.5.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@metaplex-foundation/mpl-bubblegum': 0.7.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/spl-account-compression': 0.1.10(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) axios: 0.28.1 big.js: 6.2.2 bn.js: 5.2.1 @@ -5895,14 +5625,14 @@ snapshots: - typescript - utf-8-validate - '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + '@tensor-oss/tensorswap-sdk@4.5.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.26.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@msgpack/msgpack': 2.8.0 - '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bn.js@5.2.1) - '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@tensor-hq/tensor-common': 8.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@saberhq/solana-contrib': 1.15.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bn.js@5.2.1) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@tensor-hq/tensor-common': 8.3.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) '@types/bn.js': 5.1.6 big.js: 6.2.2 bn.js: 5.2.1 @@ -5920,11 +5650,11 @@ snapshots: - typescript - utf-8-validate - '@tiplink/api@0.3.1(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': + '@tiplink/api@0.3.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(sodium-native@3.4.1)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@4.9.5)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) bs58: 5.0.0 libsodium: 0.7.15 libsodium-wrappers-sumo: 0.7.15 @@ -5976,8 +5706,6 @@ snapshots: '@types/diff-match-patch@1.0.36': {} - '@types/estree@1.0.6': {} - '@types/express-serve-static-core@4.19.6': dependencies: '@types/node': 22.10.5 @@ -6021,11 +5749,11 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@18.19.68': + '@types/node@18.19.70': dependencies: undici-types: 5.26.5 - '@types/node@20.17.11': + '@types/node@20.17.12': dependencies: undici-types: 6.19.8 @@ -6074,81 +5802,81 @@ snapshots: dependencies: '@types/node': 22.10.5 - '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.19.1(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.19.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.19.0 - '@typescript-eslint/type-utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.19.0 + '@typescript-eslint/parser': 8.19.1(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.19.1 + '@typescript-eslint/type-utils': 8.19.1(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/utils': 8.19.1(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.19.1 eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@5.7.2) - typescript: 5.7.2 + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3)': dependencies: - '@typescript-eslint/scope-manager': 8.19.0 - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.19.0 + '@typescript-eslint/scope-manager': 8.19.1 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.19.1 debug: 4.4.0 eslint: 8.57.1 - typescript: 5.7.2 + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.19.0': + '@typescript-eslint/scope-manager@8.19.1': dependencies: - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/visitor-keys': 8.19.0 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/visitor-keys': 8.19.1 - '@typescript-eslint/type-utils@8.19.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.19.1(eslint@8.57.1)(typescript@5.7.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.3) + '@typescript-eslint/utils': 8.19.1(eslint@8.57.1)(typescript@5.7.3) debug: 4.4.0 eslint: 8.57.1 - ts-api-utils: 1.4.3(typescript@5.7.2) - typescript: 5.7.2 + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.19.0': {} + '@typescript-eslint/types@8.19.1': {} - '@typescript-eslint/typescript-estree@8.19.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.19.1(typescript@5.7.3)': dependencies: - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/visitor-keys': 8.19.0 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/visitor-keys': 8.19.1 debug: 4.4.0 - fast-glob: 3.3.2 + fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@5.7.2) - typescript: 5.7.2 + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.19.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/utils@8.19.1(eslint@8.57.1)(typescript@5.7.3)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.19.0 - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.19.1 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.3) eslint: 8.57.1 - typescript: 5.7.2 + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.19.0': + '@typescript-eslint/visitor-keys@8.19.1': dependencies: - '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/types': 8.19.1 eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.1': {} @@ -6188,12 +5916,12 @@ snapshots: dependencies: humanize-ms: 1.2.1 - ai@4.0.26(react@19.0.0)(zod@3.24.1): + ai@4.0.33(react@19.0.0)(zod@3.24.1): dependencies: - '@ai-sdk/provider': 1.0.3 - '@ai-sdk/provider-utils': 2.0.5(zod@3.24.1) - '@ai-sdk/react': 1.0.7(react@19.0.0)(zod@3.24.1) - '@ai-sdk/ui-utils': 1.0.6(zod@3.24.1) + '@ai-sdk/provider': 1.0.4 + '@ai-sdk/provider-utils': 2.0.7(zod@3.24.1) + '@ai-sdk/react': 1.0.9(react@19.0.0)(zod@3.24.1) + '@ai-sdk/ui-utils': 1.0.8(zod@3.24.1) '@opentelemetry/api': 1.9.0 jsondiffpatch: 0.6.0 zod-to-json-schema: 3.24.1(zod@3.24.1) @@ -6229,27 +5957,6 @@ snapshots: dependencies: type-fest: 0.21.3 - algo-msgpack-with-bigint@2.1.1: {} - - algosdk@1.24.1: - dependencies: - algo-msgpack-with-bigint: 2.1.1 - buffer: 6.0.3 - cross-fetch: 3.1.8 - hi-base32: 0.5.1 - js-sha256: 0.9.0 - js-sha3: 0.8.0 - js-sha512: 0.8.0 - json-bigint: 1.0.0 - tweetnacl: 1.0.3 - vlq: 2.0.4 - transitivePeerDependencies: - - encoding - - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - ansi-escapes@7.0.0: dependencies: environment: 1.1.0 @@ -6268,38 +5975,6 @@ snapshots: ansicolors@0.3.2: {} - arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10): - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@ethersproject/signing-key': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/wallet': 5.7.0 - '@irys/arweave': 0.0.2 - '@noble/ed25519': 1.7.3 - base64url: 3.0.1 - bs58: 4.0.1 - keccak: 3.0.4 - secp256k1: 5.0.1 - optionalDependencies: - '@randlabs/myalgo-connect': 1.4.2 - algosdk: 1.24.1 - arweave-stream-tx: 1.2.2(arweave@1.15.5) - multistream: 4.1.0 - tmp-promise: 3.0.3 - transitivePeerDependencies: - - arweave - - bufferutil - - debug - - encoding - - utf-8-validate - - arconnect@0.4.2: - dependencies: - arweave: 1.15.5 - optional: true - arbundles@0.11.2(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@ethersproject/bytes': 5.7.0 @@ -6354,28 +6029,7 @@ snapshots: asn1.js@5.4.1: dependencies: - bn.js: 4.11.6 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - safer-buffer: 2.1.2 - - arweave-stream-tx@1.2.2(arweave@1.15.5): - dependencies: - arweave: 1.15.5 - exponential-backoff: 3.1.1 - optional: true - - arweave@1.15.5: - dependencies: - arconnect: 0.4.2 - asn1.js: 5.4.1 - base64-js: 1.5.1 - bignumber.js: 9.1.2 - optional: true - - asn1.js@5.4.1: - dependencies: - bn.js: 4.11.6 + bn.js: 4.12.1 inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 @@ -6555,7 +6209,7 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bufferutil@4.0.8: + bufferutil@4.0.9: dependencies: node-gyp-build: 4.8.4 optional: true @@ -6583,13 +6237,13 @@ snapshots: dependencies: call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 set-function-length: 1.2.2 call-bound@1.0.3: dependencies: call-bind-apply-helpers: 1.0.1 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 callsites@3.1.0: {} @@ -6610,8 +6264,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.4.0: {} - chalk@5.4.1: {} character-entities-html4@2.1.0: {} @@ -6703,7 +6355,7 @@ snapshots: create-require@1.1.1: {} - cross-fetch@3.1.8: + cross-fetch@3.2.0: dependencies: node-fetch: 2.7.0 transitivePeerDependencies: @@ -6928,11 +6580,6 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-scope@8.2.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.2.0: {} @@ -6980,51 +6627,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@9.17.0: - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.1 - '@eslint/core': 0.9.1 - '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.17.0 - '@eslint/plugin-kit': 0.2.4 - '@humanfs/node': 0.16.6 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.1 - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.0 - escape-string-regexp: 4.0.0 - eslint-scope: 8.2.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - transitivePeerDependencies: - - supports-color - - espree@10.3.0: - dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 4.2.0 - espree@9.6.1: dependencies: acorn: 8.14.0 @@ -7047,7 +6649,7 @@ snapshots: ethereum-bloom-filters@1.2.0: dependencies: - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.7.0 ethereum-cryptography@2.2.1: dependencies: @@ -7143,7 +6745,7 @@ snapshots: fast-diff@1.3.0: {} - fast-glob@3.3.2: + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -7176,10 +6778,6 @@ snapshots: dependencies: flat-cache: 3.2.0 - file-entry-cache@8.0.0: - dependencies: - flat-cache: 4.0.1 - file-uri-to-path@1.0.0: {} fill-range@7.1.1: @@ -7198,32 +6796,25 @@ snapshots: transitivePeerDependencies: - supports-color - find-process@1.4.9: + find-process@1.4.10: dependencies: chalk: 4.1.2 commander: 12.1.0 - debug: 4.4.0 - eslint: 9.17.0 - glob: 11.0.0 loglevel: 1.9.2 - rimraf: 6.0.1 - transitivePeerDependencies: - - jiti - - supports-color find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - flash-sdk@2.24.3(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): + flash-sdk@2.25.3(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10): dependencies: - '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.95.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@types/node': 20.17.11 + '@coral-xyz/anchor': 0.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@pythnetwork/client': 2.22.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@pythnetwork/price-service-client': 1.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.3.11(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@types/node': 20.17.12 bignumber.js: 9.1.2 bs58: 5.0.0 dotenv: 16.4.7 @@ -7232,7 +6823,7 @@ snapshots: jsbi: 4.3.0 node-fetch: 3.3.2 rimraf: 5.0.10 - ts-node: 10.9.2(@types/node@20.17.11)(typescript@5.7.2) + ts-node: 10.9.2(@types/node@20.17.12)(typescript@5.7.3) tweetnacl: 1.0.3 transitivePeerDependencies: - '@swc/core' @@ -7250,11 +6841,6 @@ snapshots: keyv: 4.5.4 rimraf: 3.0.2 - flat-cache@4.0.1: - dependencies: - flatted: 3.3.2 - keyv: 4.5.4 - flatted@3.3.2: {} follow-redirects@1.15.9: {} @@ -7300,14 +6886,14 @@ snapshots: get-east-asian-width@1.3.0: {} - get-intrinsic@1.2.6: + get-intrinsic@1.2.7: dependencies: call-bind-apply-helpers: 1.0.1 - dunder-proto: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.0.0 function-bind: 1.1.2 + get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 @@ -7322,10 +6908,6 @@ snapshots: dependencies: pump: 3.0.2 - get-stream@5.2.0: - dependencies: - pump: 3.0.2 - get-stream@8.0.1: {} get-tsconfig@4.8.1: @@ -7349,15 +6931,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@11.0.0: - dependencies: - foreground-child: 3.3.0 - jackspeak: 4.0.2 - minimatch: 10.0.1 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 2.0.0 - glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -7371,8 +6944,6 @@ snapshots: dependencies: type-fest: 0.20.2 - globals@14.0.0: {} - gopd@1.2.0: {} got@11.8.6: @@ -7401,7 +6972,7 @@ snapshots: groq-sdk@0.5.0: dependencies: - '@types/node': 18.19.68 + '@types/node': 18.19.70 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -7457,22 +7028,6 @@ snapshots: dependencies: '@types/hast': 3.0.4 - helius-sdk@1.4.1(arweave@1.15.5)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): - dependencies: - '@irys/sdk': 0.2.11(arweave@1.15.5)(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@metaplex-foundation/mpl-token-metadata': 2.13.0(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) - axios: 1.7.9 - bs58: 6.0.0 - transitivePeerDependencies: - - arweave - - bufferutil - - debug - - encoding - - fastestsmallesttextencoderdecoder - - supports-color - - typescript - - utf-8-validate - hi-base32@0.5.1: {} hmac-drbg@1.0.1: @@ -7554,7 +7109,7 @@ snapshots: through: 2.3.8 wrap-ansi: 6.2.0 - inquirer@8.2.6: + invariant@2.2.4: dependencies: loose-envify: 1.4.0 @@ -7581,9 +7136,12 @@ snapshots: dependencies: get-east-asian-width: 1.3.0 - is-generator-function@1.0.10: + is-generator-function@1.1.0: dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 is-glob@4.0.3: dependencies: @@ -7602,6 +7160,13 @@ snapshots: is-path-inside@3.0.3: {} + is-regex@1.2.1: + dependencies: + call-bound: 1.0.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + is-retry-allowed@2.2.0: {} is-stream@3.0.0: {} @@ -7616,13 +7181,13 @@ snapshots: isexe@2.0.0: {} - isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)): + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: - ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + 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.8)(utf-8-validate@5.0.10)): + isomorphic-ws@4.0.1(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) jackspeak@3.4.3: dependencies: @@ -7630,11 +7195,7 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.0.2: - dependencies: - '@isaacs/cliui': 8.0.2 - - jayson@4.1.3(bufferutil@4.0.8)(utf-8-validate@5.0.10): + jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@types/connect': 3.4.38 '@types/node': 12.20.55 @@ -7644,10 +7205,10 @@ snapshots: delay: 5.0.0 es6-promisify: 5.0.0 eyes: 0.1.8 - isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) json-stringify-safe: 5.0.1 uuid: 8.3.2 - ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -7693,7 +7254,7 @@ snapshots: jsondiffpatch@0.6.0: dependencies: '@types/diff-match-patch': 1.0.36 - chalk: 5.4.0 + chalk: 5.4.1 diff-match-patch: 1.0.5 jsonfile@6.1.0: @@ -7724,29 +7285,29 @@ snapshots: dependencies: json-buffer: 3.0.1 - langchain@0.3.9(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1)))(@langchain/groq@0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))))(axios@1.7.9)(openai@4.77.0(zod@3.24.1)): + langchain@0.3.11(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1)))(@langchain/groq@0.1.3(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))))(axios@1.7.9)(openai@4.78.1(zod@3.24.1)): dependencies: - '@langchain/core': 0.3.26(openai@4.77.0(zod@3.24.1)) - '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) - '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/core': 0.3.29(openai@4.78.1(zod@3.24.1)) + '@langchain/openai': 0.3.17(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))) js-tiktoken: 1.0.16 js-yaml: 4.1.0 jsonpointer: 5.0.1 - langsmith: 0.2.13(openai@4.77.0(zod@3.24.1)) + langsmith: 0.2.15(openai@4.78.1(zod@3.24.1)) openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 10.0.0 - yaml: 2.6.1 + yaml: 2.7.0 zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) optionalDependencies: - '@langchain/groq': 0.1.2(@langchain/core@0.3.26(openai@4.77.0(zod@3.24.1))) + '@langchain/groq': 0.1.3(@langchain/core@0.3.29(openai@4.78.1(zod@3.24.1))) axios: 1.7.9 transitivePeerDependencies: - encoding - openai - langsmith@0.2.13(openai@4.77.0(zod@3.24.1)): + langsmith@0.2.15(openai@4.78.1(zod@3.24.1)): dependencies: '@types/uuid': 10.0.0 commander: 10.0.1 @@ -7755,7 +7316,7 @@ snapshots: semver: 7.6.3 uuid: 10.0.0 optionalDependencies: - openai: 4.77.0(zod@3.24.1) + openai: 4.78.1(zod@3.24.1) levn@0.4.1: dependencies: @@ -7841,8 +7402,6 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.0.2: {} - lunr@2.3.9: {} make-error@1.3.6: {} @@ -7944,10 +7503,6 @@ snapshots: minimalistic-crypto-utils@1.0.1: {} - minimatch@10.0.1: - dependencies: - brace-expansion: 2.0.1 - minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -8067,15 +7622,15 @@ snapshots: dependencies: mimic-function: 5.0.1 - oniguruma-to-es@0.8.0: + oniguruma-to-es@0.10.0: dependencies: emoji-regex-xs: 1.0.0 - regex: 5.0.2 - regex-recursion: 5.0.0 + regex: 5.1.1 + regex-recursion: 5.1.1 - openai@4.77.0(zod@3.24.1): + openai@4.78.1(zod@3.24.1): dependencies: - '@types/node': 18.19.68 + '@types/node': 18.19.70 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -8163,11 +7718,6 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 - path-scurry@2.0.0: - dependencies: - lru-cache: 11.0.2 - minipass: 7.1.2 - path-to-regexp@0.1.12: {} pathval@2.0.0: {} @@ -8263,13 +7813,14 @@ snapshots: regenerator-runtime@0.14.1: {} - regex-recursion@5.0.0: + regex-recursion@5.1.1: dependencies: + regex: 5.1.1 regex-utilities: 2.3.0 regex-utilities@2.3.0: {} - regex@5.0.2: + regex@5.1.1: dependencies: regex-utilities: 2.3.0 @@ -8277,14 +7828,7 @@ snapshots: resolve-from@4.0.0: {} - responselike@2.0.1: - dependencies: - lowercase-keys: 2.0.0 - - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 + resolve-pkg-maps@1.0.0: {} responselike@2.0.1: dependencies: @@ -8316,11 +7860,6 @@ snapshots: dependencies: glob: 10.4.5 - rimraf@6.0.1: - dependencies: - glob: 11.0.0 - package-json-from-dist: 1.0.1 - ripemd160@2.0.2: dependencies: hash-base: 3.1.0 @@ -8334,9 +7873,9 @@ snapshots: buffer: 6.0.3 eventemitter3: 5.0.1 uuid: 8.3.2 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) optionalDependencies: - bufferutil: 4.0.8 + bufferutil: 4.0.9 utf-8-validate: 5.0.10 run-async@2.4.1: {} @@ -8351,6 +7890,12 @@ snapshots: safe-buffer@5.2.1: {} + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-regex: 1.2.1 + safer-buffer@2.1.2: {} scrypt-js@3.0.1: {} @@ -8399,7 +7944,7 @@ snapshots: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 gopd: 1.2.0 has-property-descriptors: 1.0.2 @@ -8416,13 +7961,15 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.24.3: + shiki@1.26.1: dependencies: - '@shikijs/core': 1.24.3 - '@shikijs/engine-javascript': 1.24.3 - '@shikijs/engine-oniguruma': 1.24.3 - '@shikijs/types': 1.24.3 - '@shikijs/vscode-textmate': 9.3.1 + '@shikijs/core': 1.26.1 + '@shikijs/engine-javascript': 1.26.1 + '@shikijs/engine-oniguruma': 1.26.1 + '@shikijs/langs': 1.26.1 + '@shikijs/themes': 1.26.1 + '@shikijs/types': 1.26.1 + '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 side-channel-list@1.0.0: @@ -8434,14 +7981,14 @@ snapshots: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.7 object-inspect: 1.13.3 side-channel-map: 1.0.1 @@ -8490,10 +8037,7 @@ snapshots: spok@1.5.5: dependencies: ansicolors: 0.3.2 - find-process: 1.4.9 - transitivePeerDependencies: - - jiti - - supports-color + find-process: 1.4.10 statuses@1.5.0: {} @@ -8613,31 +8157,31 @@ snapshots: trim-lines@3.0.1: {} - ts-api-utils@1.4.3(typescript@5.7.2): + ts-api-utils@2.0.0(typescript@5.7.3): dependencies: - typescript: 5.7.2 + typescript: 5.7.3 ts-log@2.2.7: {} - ts-node@10.9.2(@types/node@20.17.11)(typescript@5.7.2): + ts-node@10.9.2(@types/node@20.17.12)(typescript@5.7.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.17.11 + '@types/node': 20.17.12 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.7.2 + typescript: 5.7.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2): + ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -8651,7 +8195,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.7.2 + typescript: 5.7.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -8691,29 +8235,29 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typedoc@0.26.11(typescript@5.7.2): + typedoc@0.26.11(typescript@5.7.3): dependencies: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - shiki: 1.24.3 - typescript: 5.7.2 - yaml: 2.6.1 + shiki: 1.26.1 + typescript: 5.7.3 + yaml: 2.7.0 - typedoc@0.27.6(typescript@5.7.2): + typedoc@0.27.6(typescript@5.7.3): dependencies: '@gerrit0/mini-shiki': 1.26.1 lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - typescript: 5.7.2 - yaml: 2.6.1 + typescript: 5.7.3 + yaml: 2.7.0 typescript-collections@1.3.3: {} typescript@4.9.5: {} - typescript@5.7.2: {} + typescript@5.7.3: {} uc.micro@2.1.0: {} @@ -8778,7 +8322,7 @@ snapshots: dependencies: inherits: 2.0.4 is-arguments: 1.2.0 - is-generator-function: 1.0.10 + is-generator-function: 1.1.0 is-typed-array: 1.1.15 which-typed-array: 1.1.18 @@ -8878,25 +8422,22 @@ snapshots: bufferutil: 4.0.9 utf-8-validate: 5.0.10 - ws@7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.0.9 utf-8-validate: 5.0.10 - ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: - bufferutil: 4.0.8 - utf-8-validate: 5.0.10 - - ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): - optionalDependencies: - bufferutil: 4.0.8 + bufferutil: 4.0.9 utf-8-validate: 5.0.10 xsalsa20@1.2.0: {} yaml@2.6.1: {} + yaml@2.7.0: {} + yn@3.1.1: {} yocto-queue@0.1.0: {} diff --git a/src/actions/helius/createWebhook.ts b/src/actions/helius/createWebhook.ts new file mode 100644 index 0000000..4cb183a --- /dev/null +++ b/src/actions/helius/createWebhook.ts @@ -0,0 +1,57 @@ +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; +import { z } from "zod"; +import { create_HeliusWebhook } from "../../tools/helius"; + +const createWebhookAction: Action = { + name: "CREATE_HELIOUS_WEBHOOK", + similes: ["setup webhook", "register webhook", "initiate webhook"], + description: + "Creates a new webhook in the Helius system to monitor transactions for specified account addresses", + examples: [ + [ + { + input: { + accountAddresses: [ + "BVdNLvyG2DNiWAXBE9qAmc4MTQXymd5Bzfo9xrQSUzVP", + "Eo2ciguhMLmcTWXELuEQPdu7DWZt67LHXb2rdHZUbot7", + ], + webhookURL: "https://yourdomain.com/webhook", + }, + output: { + status: "success", + webhookURL: "https://yourdomain.com/webhook", + webhookID: "webhook_123", + message: "Webhook created successfully.", + }, + explanation: + "Creates a Webhook to send live notifications on the given Url with the wallet Addresses.", + }, + ], + ], + schema: z.object({ + accountAddresses: z + .array(z.string()) + .min(1) + .describe("List of Solana account public keys to monitor"), + webhookURL: z + .string() + .url() + .describe("The URL where Helius will send webhook notifications"), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const response = await create_HeliusWebhook( + agent, + input.accountAddresses, + input.webhookURL, + ); + + return { + status: "success", + ...response, + message: "Webhook created successfully.", + }; + }, +}; + +export default createWebhookAction; diff --git a/src/actions/helius/deleteWebhook.ts b/src/actions/helius/deleteWebhook.ts new file mode 100644 index 0000000..35500f8 --- /dev/null +++ b/src/actions/helius/deleteWebhook.ts @@ -0,0 +1,40 @@ +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; +import { z } from "zod"; +import { deleteHeliusWebhook } from "../../tools/helius"; + +const deleteWebhookAction: Action = { + name: "DELETE_HELIOUS_WEBHOOK", + similes: ["remove webhook", "unregister webhook", "delete webhook"], + description: "Deletes a Helius webhook by its unique ID", + examples: [ + [ + { + input: { + webhookID: "webhook_123", + }, + output: { + status: "success", + message: "Webhook deleted successfully.", + }, + explanation: "Permanently removes a Helius webhook.", + }, + ], + ], + schema: z.object({ + webhookID: z + .string() + .min(1) + .describe("The unique identifier of the Helius webhook to delete"), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const result = await deleteHeliusWebhook(agent, input.webhookID); + + return { + status: "success", + message: result.message || "Webhook deleted successfully.", + }; + }, +}; + +export default deleteWebhookAction; diff --git a/src/actions/helius/getAssetsbyOwner.ts b/src/actions/helius/getAssetsbyOwner.ts new file mode 100644 index 0000000..e71fdbc --- /dev/null +++ b/src/actions/helius/getAssetsbyOwner.ts @@ -0,0 +1,75 @@ +import { Action } from "../../types/action"; +import { PublicKey } from "@solana/web3.js"; +import { SolanaAgentKit } from "../../agent"; +import { z } from "zod"; +import { getAssetsByOwner } from "../../tools/helius"; + +const getAssetsByOwnerAction: Action = { + name: "FETCH_ASSETS_BY_OWNER", + similes: [ + "fetch assets", + "get assets", + "retrieve assets", + "list assets", + "assets by owner", + ], + description: + "Fetch assets owned by a specific Solana wallet address using the Helius Digital Asset Standard API", + examples: [ + [ + { + input: { + ownerPublicKey: "4Pf8q3mHGLdkoc1M8xWZwW5q32gYmdhwC2gJ8K9EAGDX", + limit: 10, + }, + output: { + status: "success", + assets: [ + { + name: "Helius NFT #1", + type: "NFT", + owner: "4Pf8q3mHGLdkoc1M8xWZwW5q32gYmdhwC2gJ8K9EAGDX", + }, + { + name: "Helius Token #10", + type: "Token", + owner: "4Pf8q3mHGLdkoc1M8xWZwW5q32gYmdhwC2gJ8K9EAGDX", + }, + ], + message: "Successfully fetched assets for the wallet address", + }, + explanation: + "Fetches a list of assets from the for the given wallet address with a limit of 10 items.", + }, + ], + ], + schema: z.object({ + ownerPublicKey: z.string().describe("Owner's Solana wallet PublicKey"), + limit: z + .number() + .positive() + .describe("Number of assets to retrieve per request"), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + try { + const assets = await getAssetsByOwner( + agent, + new PublicKey(input.ownerPublicKey), + input.limit, + ); + + return { + status: "success", + assets: assets, + message: `Successfully fetched assets for the wallet address: ${input.ownerPublicKey}`, + }; + } catch (error: any) { + return { + status: "error", + message: `Failed to fetch assets: ${error.message}`, + }; + } + }, +}; + +export default getAssetsByOwnerAction; diff --git a/src/actions/helius/getWebhook.ts b/src/actions/helius/getWebhook.ts new file mode 100644 index 0000000..e10414d --- /dev/null +++ b/src/actions/helius/getWebhook.ts @@ -0,0 +1,47 @@ +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; +import { z } from "zod"; +import { getHeliusWebhook } from "../../tools/helius"; + +const getWebhookAction: Action = { + name: "GET_HELIOUS_WEBHOOK", + similes: ["fetch webhook details", "retrieve webhook", "get webhook info"], + description: "Retrieves details of a Helius webhook by its unique ID", + examples: [ + [ + { + input: { + webhookID: "webhook_123", + }, + output: { + status: "success", + wallet: "WalletPublicKey", + webhookURL: "https://yourdomain.com/webhook", + transactionTypes: ["Any"], + accountAddresses: ["SomePublicKey", "AnotherPublicKey"], + webhookType: "enhanced", + message: "Webhook details retrieved successfully.", + }, + explanation: + "Retrieves detailed information about an existing Helius webhook, including the wallet address it monitors, the types of transactions it tracks, and the specific webhook URL.", + }, + ], + ], + schema: z.object({ + webhookID: z + .string() + .min(1) + .describe("The unique identifier of the Helius webhook to retrieve"), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const webhookDetails = await getHeliusWebhook(agent, input.webhookID); + + return { + status: "success", + ...webhookDetails, + message: "Webhook details retrieved successfully.", + }; + }, +}; + +export default getWebhookAction; diff --git a/src/actions/helius/parseTransaction.ts b/src/actions/helius/parseTransaction.ts new file mode 100644 index 0000000..ab08011 --- /dev/null +++ b/src/actions/helius/parseTransaction.ts @@ -0,0 +1,65 @@ +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; +import { z } from "zod"; +import { parseTransaction } from "../../tools/helius"; + +const parseSolanaTransactionAction: Action = { + name: "PARSE_SOLANA_TRANSACTION", + similes: [ + "parse transaction", + "analyze transaction", + "inspect transaction", + "decode transaction", + ], + description: + "Parse a Solana transaction to retrieve detailed information using the Helius Enhanced Transactions API", + examples: [ + [ + { + input: { + transactionId: + "4zZVvbgzcriyjAeEiK1w7CeDCt7gYThUCZat3ULTNerzKHF4WLfRG2YUjbRovfFJ639TAyARB4oyRDcLVUvrakq7", + }, + output: { + status: "success", + transaction: { + details: "Transaction details...", + involvedAccounts: ["Account1", "Account2"], + executedOperations: [{ operation: "Transfer", amount: "1000 SOL" }], + }, + message: + "Successfully parsed transaction: 4zZVvbgzcriyjAeEiK1w7CeDCt7gYThUCZat3ULTNerzKHF4WLfRG2YUjbRovfFJ639TAyARB4oyRDcLVUvrakq7", + }, + explanation: + "Parse a Transaction to transform it into human readable format.", + }, + ], + ], + schema: z.object({ + transactionId: z + .string() + .min(1) + .describe("The Solana transaction ID to parse"), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + try { + const parsedTransactionData = await parseTransaction( + agent, + input.transactionId, + ); + + return { + status: "success", + transaction: parsedTransactionData, + message: `Successfully parsed transaction: ${input.transactionId}`, + }; + } catch (error: any) { + return { + status: "error", + message: `Failed to parse transaction: ${error.message}`, + }; + } + }, +}; + +export default parseSolanaTransactionAction; diff --git a/src/actions/helius/sendTransactionWithPriority.ts b/src/actions/helius/sendTransactionWithPriority.ts new file mode 100644 index 0000000..87e392f --- /dev/null +++ b/src/actions/helius/sendTransactionWithPriority.ts @@ -0,0 +1,76 @@ +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; +import { z } from "zod"; +import { sendTransactionWithPriorityFee } from "../../tools/helius"; +import { PublicKey } from "@solana/web3.js"; + +const sendTransactionWithPriorityFeeAction: Action = { + name: "SEND_TRANSACTION_WITH_PRIORITY_FEE", + similes: [ + "send SOL with fee", + "transfer tokens with priority", + "execute priority transaction", + ], + description: + "Sends SOL or SPL tokens from a wallet with an estimated priority fee, ensuring faster processing on the Solana network.", + examples: [ + [ + { + input: { + priorityLevel: "High", + amount: 2, + to: "BVdNLvyG2DNiWAXBE9qAmc4MTQXymd5Bzfo9xrQSUzVP", + splmintAddress: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + }, + output: { + status: "success", + transactionId: "5Xgq9xVABhwXpNStWpfqxS6Vm5Eau91pjfeHNwJbRgis", + fee: 5000, + message: "Transaction sent with priority fee successfully.", + }, + explanation: + "Sends 2 USDC to BVdNLvyG2DNiWAXBE9qAmc4MTQXymd5Bzfo9xrQSUzVP with High priority fee option.", + }, + ], + ], + schema: z.object({ + priorityLevel: z + .enum(["Min", "Low", "Medium", "High", "VeryHigh", "UnsafeMax"]) + .describe("Priority level to determine the urgency of the transaction."), + amount: z + .number() + .positive() + .describe("Amount of SOL or SPL tokens to send."), + to: z.string().describe("Recipient's PublicKey."), + splmintAddress: z + .string() + .optional() + .describe( + "Optional SPL token address, if transferring tokens other than SOL.", + ), + }), + handler: async (agent: SolanaAgentKit, input: Record) => { + const { priorityLevel, amount, to, splmintAddress } = input; + const toPublicKey = new PublicKey(to); + const splmintPublicKey = splmintAddress + ? new PublicKey(splmintAddress) + : undefined; + + const result = await sendTransactionWithPriorityFee( + agent, + priorityLevel, + amount, + toPublicKey, + splmintPublicKey, + ); + + return { + status: "success", + transactionId: result.transactionId, + fee: result.fee, + message: "Transaction sent with priority fee successfully.", + }; + }, +}; + +export default sendTransactionWithPriorityFeeAction; diff --git a/src/actions/index.ts b/src/actions/index.ts index 96f40ab..6da1b02 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -37,6 +37,12 @@ import depositToMultisigAction from "./squads/depositToMultisigTreasury"; import executeMultisigProposalAction from "./squads/executeMultisigProposal"; import rejectMultisigProposalAction from "./squads/rejectMultisigProposal"; import transferFromMultisigAction from "./squads/transferFromMultisigTreasury"; +import createWebhookAction from "./helius/createWebhook"; +import deleteWebhookAction from "./helius/deleteWebhook"; +import getAssetsByOwnerAction from "./helius/getAssetsbyOwner"; +import getWebhookAction from "./helius/getWebhook"; +import parseSolanaTransactionAction from "./helius/parseTransaction"; +import sendTransactionWithPriorityFeeAction from "./helius/sendTransactionWithPriority"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -79,6 +85,12 @@ export const ACTIONS = { APPROVE_MULTISIG_PROPOSAL_ACTION: approveMultisigProposalAction, REJECT_MULTISIG_PROPOSAL_ACTION: rejectMultisigProposalAction, EXECUTE_MULTISIG_PROPOSAL_ACTION: executeMultisigProposalAction, + CREATE_WEBHOOK_ACTION: createWebhookAction, + DELETE_WEBHOOK_ACTION: deleteWebhookAction, + GET_ASSETS_BY_OWNER_ACTION: getAssetsByOwnerAction, + GET_WEBHOOK_ACTION: getWebhookAction, + PARSE_TRANSACTION_ACTION: parseSolanaTransactionAction, + SEND_TRANSACTION_WITH_PRIORITY_ACTION: sendTransactionWithPriorityFeeAction, }; export type { Action, ActionExample, Handler } from "../types/action"; diff --git a/src/utils/send_tx.ts b/src/utils/send_tx.ts index 11923b5..4ba9da1 100644 --- a/src/utils/send_tx.ts +++ b/src/utils/send_tx.ts @@ -5,8 +5,11 @@ import { TransactionInstruction, TransactionMessage, VersionedTransaction, + Transaction, } from "@solana/web3.js"; import { ComputeBudgetProgram } from "@solana/web3.js"; +import bs58 from "bs58"; +import { PriorityFeeResponse } from "../types/index"; const feeTiers = { min: 0.01, @@ -28,7 +31,8 @@ export async function getComputeBudgetInstructions( computeBudgetLimitInstruction: TransactionInstruction; computeBudgetPriorityFeeInstructions: TransactionInstruction; }> { - const blockhash = (await agent.connection.getLatestBlockhash()).blockhash; + const { blockhash, lastValidBlockHeight } = + await agent.connection.getLatestBlockhash(); const messageV0 = new TransactionMessage({ payerKey: agent.wallet_address, recentBlockhash: blockhash, @@ -47,15 +51,65 @@ export async function getComputeBudgetInstructions( units: safeComputeUnits, }); - const priorityFee = await agent.connection - .getRecentPrioritizationFees() - .then( - (fees) => - fees.sort((a, b) => a.prioritizationFee - b.prioritizationFee)[ - Math.floor(fees.length * feeTiers[feeTier]) - ].prioritizationFee, + let priorityFee: number; + + if (agent.config.HELIUS_API_KEY) { + // Create and set up a legacy transaction for Helius fee estimation + const legacyTransaction = new Transaction(); + legacyTransaction.recentBlockhash = blockhash; + legacyTransaction.lastValidBlockHeight = lastValidBlockHeight; + legacyTransaction.feePayer = agent.wallet_address; + + // Add the compute budget instruction and original instructions + legacyTransaction.add(computeBudgetLimitInstruction, ...instructions); + + // Sign the transaction + legacyTransaction.sign(agent.wallet); + + // Use Helius API for priority fee calculation + const response = await fetch( + `https://mainnet.helius-rpc.com/?api-key=${agent.config.HELIUS_API_KEY}`, + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + jsonrpc: "2.0", + id: "1", + method: "getPriorityFeeEstimate", + params: [ + { + transaction: bs58.encode(legacyTransaction.serialize()), + options: { + priorityLevel: + feeTier === "min" + ? "Min" + : feeTier === "mid" + ? "Medium" + : "High", + }, + }, + ], + } as PriorityFeeResponse), + }, ); + const data = await response.json(); + if (data.error) { + throw new Error("Error fetching priority fee from Helius API"); + } + priorityFee = data.result.priorityFeeEstimate; + } else { + // Use default implementation for priority fee calculation + priorityFee = await agent.connection + .getRecentPrioritizationFees() + .then( + (fees) => + fees.sort((a, b) => a.prioritizationFee - b.prioritizationFee)[ + Math.floor(fees.length * feeTiers[feeTier]) + ].prioritizationFee, + ); + } + const computeBudgetPriorityFeeInstructions = ComputeBudgetProgram.setComputeUnitPrice({ microLamports: priorityFee, From 20360ba523054ceb0a7bd78fd8ed1bf9ab29ce55 Mon Sep 17 00:00:00 2001 From: shivaji43 Date: Mon, 13 Jan 2025 17:43:32 +0530 Subject: [PATCH 131/138] fix: remove unncesary import --- src/tools/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tools/index.ts b/src/tools/index.ts index c63e4bc..104f7f9 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -23,5 +23,4 @@ export * from "./3land"; export * from "./tiplink"; export * from "./lightprotocol"; export * from "./squads"; -export * from "./squads_multisig"; export * from "./helius"; From 60adc8d8c536f0fc6bf2bf61e871cbb82f5d9ae1 Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Mon, 13 Jan 2025 21:17:53 +0100 Subject: [PATCH 132/138] feat + fix: add action to get user drift account info and fix deposit, borrow, lend and withdraw on drift --- .../drift/depositToDriftUserAccount.ts | 25 +--- src/actions/drift/driftUserAccountInfo.ts | 39 ++++++ src/actions/drift/tradePerpAccount.ts | 5 +- src/actions/drift/withdrawFromDriftAccount.ts | 14 +- src/actions/index.ts | 4 +- src/tools/drift.ts | 130 ++++++++++++++++-- src/tools/drift_vault.ts | 2 +- 7 files changed, 183 insertions(+), 36 deletions(-) create mode 100644 src/actions/drift/driftUserAccountInfo.ts diff --git a/src/actions/drift/depositToDriftUserAccount.ts b/src/actions/drift/depositToDriftUserAccount.ts index d58aa7c..af152c3 100644 --- a/src/actions/drift/depositToDriftUserAccount.ts +++ b/src/actions/drift/depositToDriftUserAccount.ts @@ -10,6 +10,7 @@ const depositToDriftUserAccountAction: Action = { "deposit into drift user account", "add funds to drift user account", "add funds to my drift account", + "deposit collateral into drift account", ], examples: [ [ @@ -27,22 +28,6 @@ const depositToDriftUserAccountAction: Action = { explanation: "Deposit 100 USDC into your drift user account", }, ], - [ - { - input: { - amount: 100, - symbol: "USDC", - address: "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBD", - }, - output: { - status: "success", - message: "Funds deposited successfully", - signature: - "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBDadwunHw8reXFxRWT7khbFsQ9JT3zK4RYDLNDFDRYvM3wJk", - }, - explanation: "Deposit 100 USDC into a drift user account", - }, - ], ], schema: z.object({ amount: z @@ -55,7 +40,11 @@ const depositToDriftUserAccountAction: Action = { .string() .toUpperCase() .describe("The symbol of the token you'd like to deposit"), - address: z.string().optional().describe("The drift user account address"), + repay: z + .boolean() + .optional() + .default(false) + .describe("Whether or not to repay the borrowed funds in the account"), }), handler: async (agent: SolanaAgentKit, input) => { try { @@ -63,7 +52,7 @@ const depositToDriftUserAccountAction: Action = { agent, input.amount as number, input.symbol as string, - input.address, + input.repay as boolean, ); return { diff --git a/src/actions/drift/driftUserAccountInfo.ts b/src/actions/drift/driftUserAccountInfo.ts new file mode 100644 index 0000000..0b86705 --- /dev/null +++ b/src/actions/drift/driftUserAccountInfo.ts @@ -0,0 +1,39 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import { driftUserAccountInfo } from "../../tools"; + +const driftUserAccountInfoAction: Action = { + name: "DRIFT_USER_ACCOUNT_INFO", + similes: ["get drift user account info", "get drift account info"], + description: "Get information about your drift account", + examples: [ + [ + { + input: {}, + explanation: "Get information about your drift account", + output: { + status: "success", + data: {}, + }, + }, + ], + ], + schema: z.object({}), + handler: async (agent) => { + try { + const accountInfo = await driftUserAccountInfo(agent); + return { + status: "success", + data: accountInfo, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message is a string + message: `Failed to get drift account info: ${e.message}`, + }; + } + }, +}; + +export default driftUserAccountInfoAction; diff --git a/src/actions/drift/tradePerpAccount.ts b/src/actions/drift/tradePerpAccount.ts index 5868020..ae1db7e 100644 --- a/src/actions/drift/tradePerpAccount.ts +++ b/src/actions/drift/tradePerpAccount.ts @@ -47,7 +47,10 @@ export const tradeDriftPerpAccountAction: Action = { ], schema: z.object({ amount: z.number().positive(), - symbol: z.string().min(3).max(10), + symbol: z + .string() + .toUpperCase() + .describe("Symbol of the token to open a position on "), action: z.enum(["long", "short"]), type: z.enum(["market", "limit"]), price: z.number().positive().optional(), diff --git a/src/actions/drift/withdrawFromDriftAccount.ts b/src/actions/drift/withdrawFromDriftAccount.ts index 552329c..00d72b6 100644 --- a/src/actions/drift/withdrawFromDriftAccount.ts +++ b/src/actions/drift/withdrawFromDriftAccount.ts @@ -3,12 +3,16 @@ import type { Action } from "../../types"; import { withdrawFromDriftUserAccount } from "../../tools"; const withdrawFromDriftAccountAction: Action = { - name: "WITHDRAW_FROM_DRIFT_ACCOUNT", + name: "WITHDRAW_OR_BORROW_FROM_DRIFT_ACCOUNT", description: "Withdraw funds from your drift account", similes: [ "withdraw from drift account", "withdraw funds from drift account", "withdraw funds from my drift account", + "borrow from drift account", + "borrow funds from my drift account", + "borrow from drift", + "withdraw from drift", ], examples: [ [ @@ -38,6 +42,13 @@ const withdrawFromDriftAccountAction: Action = { .string() .toUpperCase() .describe("The symbol of the token you'd like to withdraw"), + isBorrow: z + .boolean() + .optional() + .default(false) + .describe( + "Whether or not to borrow funds based on collateral provided instead of withdrawing", + ), }), handler: async (agent, input) => { try { @@ -45,6 +56,7 @@ const withdrawFromDriftAccountAction: Action = { agent, input.amount, input.symbol, + input.isBorrow, ); return { diff --git a/src/actions/index.ts b/src/actions/index.ts index 6c675d1..5e5b02e 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -42,6 +42,7 @@ import tradeDriftPerpAccountAction from "./drift/tradePerpAccount"; import doesUserHaveDriftAccountAction from "./drift/doesUserHaveDriftAccount"; import depositToDriftUserAccountAction from "./drift/depositToDriftUserAccount"; import withdrawFromDriftAccountAction from "./drift/withdrawFromDriftAccount"; +import driftUserAccountInfoAction from "./drift/driftUserAccountInfo"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -88,7 +89,8 @@ export const ACTIONS = { TRADE_DRIFT_PERP_ACCOUNT_ACTION: tradeDriftPerpAccountAction, DOES_USER_HAVE_DRIFT_ACCOUNT_ACTION: doesUserHaveDriftAccountAction, DEPOSIT_TO_DRIFT_USER_ACCOUNT_ACTION: depositToDriftUserAccountAction, - WITHDRAW_FROM_DRIFT_ACCOUNT_ACTION: withdrawFromDriftAccountAction, + WITHDRAW_OR_BORROW_FROM_DRIFT_ACCOUNT_ACTION: withdrawFromDriftAccountAction, + DRIFT_USER_ACCOUNT_INFO_ACTION: driftUserAccountInfoAction, }; export type { Action, ActionExample, Handler } from "../types/action"; diff --git a/src/tools/drift.ts b/src/tools/drift.ts index a7240aa..e150fd8 100644 --- a/src/tools/drift.ts +++ b/src/tools/drift.ts @@ -12,15 +12,17 @@ import { PositionDirection, PostOnlyParams, PRICE_PRECISION, + QUOTE_PRECISION, User, type IWallet, } from "@drift-labs/sdk"; import type { SolanaAgentKit } from "../agent"; import * as anchor from "@coral-xyz/anchor"; import { IDL, VAULT_PROGRAM_ID, VaultClient } from "@drift-labs/vaults-sdk"; -import { BN } from "bn.js"; import { getAssociatedTokenAddressSync } from "@solana/spl-token"; import { PublicKey } from "@solana/web3.js"; +import { Transaction } from "@solana/web3.js"; +import { ComputeBudgetProgram } from "@solana/web3.js"; export async function initClients(agent: SolanaAgentKit) { const wallet: IWallet = { @@ -103,7 +105,7 @@ export async function createDriftUserAccount( } if (!userAccountExists) { - const depositAmount = new BN(amount).mul(token.precision); + const depositAmount = numberToSafeBN(amount, token.precision); const [txSignature, account] = await driftClient.initializeUserAccountAndDepositCollateral( depositAmount, @@ -130,18 +132,18 @@ export async function createDriftUserAccount( * @param agent * @param amount * @param symbol - * @param address + * @param isRepay * @returns */ export async function depositToDriftUserAccount( agent: SolanaAgentKit, amount: number, symbol: string, - address?: string, + isRepay = false, ) { try { const { driftClient, cleanUp } = await initClients(agent); - const publicKey = address ? new PublicKey(address) : agent.wallet.publicKey; + const publicKey = agent.wallet.publicKey; const user = new User({ driftClient, userAccountPublicKey: getUserAccountPublicKeySync( @@ -162,11 +164,29 @@ export async function depositToDriftUserAccount( throw new Error("You need to create a Drift user account first."); } - const depositAmount = new BN(amount).mul(token.precision); - const txSignature = await driftClient.deposit( - depositAmount, - token.marketIndex, - getAssociatedTokenAddressSync(token.mint, publicKey), + const depositAmount = numberToSafeBN(amount, token.precision); + + const [depInstruction, latestBlockhash] = await Promise.all([ + driftClient.getDepositTxnIx( + depositAmount, + token.marketIndex, + getAssociatedTokenAddressSync(token.mint, publicKey), + undefined, + isRepay, + ), + driftClient.connection.getLatestBlockhash(), + ]); + + const tx = new Transaction().add(...depInstruction).add( + ComputeBudgetProgram.setComputeUnitPrice({ + microLamports: 0.000001 * 1000000 * 1000000, + }), + ); + tx.recentBlockhash = latestBlockhash.blockhash; + tx.sign(agent.wallet); + const txSignature = await driftClient.txSender.sendRawTransaction( + tx.serialize(), + { ...driftClient.opts }, ); await cleanUp(); @@ -181,6 +201,7 @@ export async function withdrawFromDriftUserAccount( agent: SolanaAgentKit, amount: number, symbol: string, + isBorrow = false, ) { try { const { driftClient, cleanUp } = await initClients(agent); @@ -207,10 +228,27 @@ export async function withdrawFromDriftUserAccount( const withdrawAmount = numberToSafeBN(amount, token.precision); - const txSignature = await driftClient.withdraw( - withdrawAmount, - token.marketIndex, - getAssociatedTokenAddressSync(token.mint, agent.wallet.publicKey), + const [withdrawInstruction, latestBlockhash] = await Promise.all([ + driftClient.getWithdrawalIxs( + withdrawAmount, + token.marketIndex, + getAssociatedTokenAddressSync(token.mint, agent.wallet.publicKey), + !isBorrow, + ), + driftClient.connection.getLatestBlockhash(), + ]); + + const tx = new Transaction().add(...withdrawInstruction).add( + ComputeBudgetProgram.setComputeUnitPrice({ + microLamports: 0.000001 * 1000000 * 1000000, + }), + ); + tx.recentBlockhash = latestBlockhash.blockhash; + tx.sign(agent.wallet); + + const txSignature = await driftClient.txSender.sendRawTransaction( + tx.serialize(), + { ...driftClient.opts }, ); await cleanUp(); @@ -289,6 +327,9 @@ export async function driftPerpTrade( price: numberToSafeBN(params.price, PRICE_PRECISION), postOnly: PostOnlyParams.SLIDE, }), + { + computeUnitsPrice: 0.000001 * 1000000 * 1000000, + }, ); } else { signature = await driftClient.placePerpOrder( @@ -301,6 +342,9 @@ export async function driftPerpTrade( : PositionDirection.SHORT, marketIndex: market.marketIndex, }), + { + computeUnitsPrice: 0.000001 * 1000000 * 1000000, + }, ); } @@ -342,3 +386,61 @@ export async function doesUserHaveDriftAccount(agent: SolanaAgentKit) { throw new Error(`Failed to check user account: ${e.message}`); } } + +/** + * Get account info for a drift User + * @param agent + * @returns + */ +export async function driftUserAccountInfo(agent: SolanaAgentKit) { + try { + const { driftClient, cleanUp } = await initClients(agent); + const user = new User({ + driftClient, + userAccountPublicKey: getUserAccountPublicKeySync( + new PublicKey(DRIFT_PROGRAM_ID), + agent.wallet.publicKey, + ), + }); + const userAccountExists = await user.exists(); + + if (!userAccountExists) { + throw new Error("User account does not exist"); + } + await user.subscribe(); + const account = user.getUserAccount(); + await user.unsubscribe(); + + await cleanUp(); + const perpPositions = account.perpPositions.map((pos) => ({ + ...pos, + baseAssetAmount: convertToNumber(pos.baseAssetAmount, BASE_PRECISION), + settledPnl: convertToNumber(pos.settledPnl, QUOTE_PRECISION), + })); + const spotPositions = account.spotPositions.map((pos) => ({ + ...pos, + scaledBalance: convertToNumber(pos.scaledBalance, BASE_PRECISION), + cumulativeDeposits: convertToNumber( + pos.cumulativeDeposits, + BASE_PRECISION, + ), + symbol: MainnetSpotMarkets.find((v) => v.marketIndex === pos.marketIndex) + ?.symbol, + })); + + return { + ...account, + name: account.name, + authority: account.authority, + totalDeposits: `$${convertToNumber(account.totalDeposits, QUOTE_PRECISION)}`, + totalWithdraws: `$${convertToNumber(account.totalWithdraws, QUOTE_PRECISION)}`, + settledPerpPnl: `$${convertToNumber(account.settledPerpPnl, QUOTE_PRECISION)}`, + lastActiveSlot: account.lastActiveSlot.toNumber(), + perpPositions, + spotPositions, + }; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to check user account: ${e.message}`); + } +} diff --git a/src/tools/drift_vault.ts b/src/tools/drift_vault.ts index 200c6ef..e58f7a2 100644 --- a/src/tools/drift_vault.ts +++ b/src/tools/drift_vault.ts @@ -134,7 +134,7 @@ export async function createVault( .toNumber(), minDepositAmount: numberToSafeBN(params.minDepositAmount, spotPrecision), redeemPeriod: new BN(params.redeemPeriod * 86400), - maxTokens: new BN(params.maxTokens).mul(spotPrecision), + maxTokens: numberToSafeBN(params.maxTokens, spotPrecision), managementFee: new BN(params.managementFee) .mul(PERCENTAGE_PRECISION) .div(new BN(100)), From 82847f5723a5d784deeccf4bb43a4d81c36f7790 Mon Sep 17 00:00:00 2001 From: Arihant Bansal <17180950+arihantbansal@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:20:56 +0530 Subject: [PATCH 133/138] feat: update contributing docs --- guides/add_your_own_tool.md | 63 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/guides/add_your_own_tool.md b/guides/add_your_own_tool.md index b5c0a97..c96fef7 100644 --- a/guides/add_your_own_tool.md +++ b/guides/add_your_own_tool.md @@ -9,23 +9,23 @@ Extending the **Solana Agent Kit** with custom tools allows you to add specializ 3. Add supporting functions in SolanaAgentKit 4. Implement the Langchain tool class 5. Export the Langchain tool -6. Define Action class for given tool -7. Export Action -8. Use the custom tool +6. Export your protocol's langchain tools (if not already exported) +7. Define Action class for given tool +8. Export Action +9. Use the custom tool ## Implementation Guide ### 1. Create a New Tool File -Create a new TypeScript file in the `src/tools/` directory for your tool (e.g., `custom_tool.ts`). +Create a new TypeScript file in the `src/tools/your_protocol` directory for your tool (e.g., `custom_tool.ts`). If the `src/tools/your_protocol` directory does not exist, create it. - -### 2. Export the Tool +### 2. Export the Tool (if not already exported) > `src/tools/index.ts` ```typescript:src/tools/index.ts -export * from "./request_faucet_funds"; -export * from "./deploy_token"; -export * from "./custom_tool"; // Add your new tool +export * from "./squads"; +export * from "./jupiter"; +export * from "./your_protocol"; // Add your protocol here if it's not already in the list ``` ### 3. Add Supporting Functions to SolanaAgentKit @@ -42,10 +42,10 @@ export class SolanaAgentKit { ``` ### 4. Implement the Langchain Tool Class -> `src/langchain/index.ts` -```typescript:src/langchain/index.ts +> `src/langchain/your_protocol/custom_tool.ts` +```typescript:src/langchain/your_protocol/custom_tool.ts import { Tool } from "langchain/tools"; -import { SolanaAgentKit } from "../agent"; +import { SolanaAgentKit } from "../../agent"; export class CustomTool extends Tool { name = "custom_tool"; @@ -75,26 +75,26 @@ export class CustomTool extends Tool { ``` ### 5. Export Langchain Tool -> `src/langchain/index.ts` -```typescript:src/langchain/index.ts -import { CustomTool } from "../tools"; - -export function createSolanaTools(agent: SolanaAgentKit) { - return [ - // ... existing tools ... - new CustomTool(agent), - ]; -} +> `src/langchain/your_protocol/index.ts` +```typescript:src/langchain/your_protocol/index.ts +export * from "./custom_tool"; ``` -### 6. Define Action class for given tool +### 6. Export your protocol's langchain tools (if not already exported) +> `src/langchain/index.ts` +```typescript:src/langchain/index.ts +export * from "./tiplink"; +export * from "./your_protocol"; // Add your protocol here if it's not already in the list +``` -> `src/actions/custom_action.ts` -```typescript:src/actions/custom_action.ts -import { Action } from "../types/action"; -import { SolanaAgentKit } from "../agent"; +### 7. Define Action class for given tool + +> `src/actions/your_protocol/custom_action.ts` +```typescript:src/actions/your_protocol/custom_action.ts +import { Action } from "../../types/action"; +import { SolanaAgentKit } from "../../agent"; import { z } from "zod"; -import { custom_tool } from "../tools"; +import { custom_tool } from "../../tools"; const customAction: Action = { name: "CUSTOM_ACTION", @@ -121,11 +121,10 @@ const customAction: Action = { }; ``` -### 7. Export Action +### 8. Export Action > `src/actions/index.ts` ```typescript:src/actions/index.ts -export * from "./balance"; -export * from "./custom_action"; +import customAction from "./your_protocol/custom_action"; export const ACTIONS = { // ... existing actions ... @@ -133,7 +132,7 @@ export const ACTIONS = { } ``` -### 8. Usage Example +### 9. Usage Example Add a code example in the `README.md` file. From f0d84f692481b320fca2b2d8c91e7fe7fbd6b969 Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Tue, 14 Jan 2025 12:43:28 +0100 Subject: [PATCH 134/138] feat: add drift functions to agent class --- src/actions/drift/createVault.ts | 4 +- src/actions/drift/deriveVaultAddress.ts | 46 ++++++++ src/actions/drift/tradeDelegatedDriftVault.ts | 4 +- src/actions/drift/vaultInfo.ts | 27 +---- src/actions/index.ts | 2 + src/agent/index.ts | 109 ++++++++++++++++++ src/tools/drift/drift.ts | 2 +- src/tools/drift/drift_vault.ts | 65 +++++++++-- 8 files changed, 223 insertions(+), 36 deletions(-) create mode 100644 src/actions/drift/deriveVaultAddress.ts diff --git a/src/actions/drift/createVault.ts b/src/actions/drift/createVault.ts index 1d73fc9..26ac59b 100644 --- a/src/actions/drift/createVault.ts +++ b/src/actions/drift/createVault.ts @@ -90,7 +90,9 @@ const createDriftVaultAction: Action = { return { status: "success", - message: "Drift vault created successfully", + message: + "Drift vault created successfully. Please note down the name of your vault as it is unique and was used to derive your vault address", + vaultName: input.name, signature: tx, }; } catch (e) { diff --git a/src/actions/drift/deriveVaultAddress.ts b/src/actions/drift/deriveVaultAddress.ts new file mode 100644 index 0000000..63ce7ee --- /dev/null +++ b/src/actions/drift/deriveVaultAddress.ts @@ -0,0 +1,46 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import { getVaultAddress } from "../../tools"; + +const deriveDriftVaultAddressAction: Action = { + name: "DERIVE_DRIFT_VAULT_ADDRESS_ACTION", + similes: ["derive drift vault address", "get drift vault address"], + description: "Derive a drift vault address from the vaults name", + examples: [ + [ + { + input: { + name: "My Drift Vault", + }, + output: { + status: "success", + message: "Vault address derived successfully", + address: "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBD", + }, + explanation: "Derive a drift vault address", + }, + ], + ], + schema: z.object({ + name: z.string().describe("The name of the vault to derive the address of"), + }), + handler: async (agent, input) => { + try { + const address = await getVaultAddress(agent, input.name as string); + + return { + status: "success", + message: "Vault address derived successfully", + address, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message + message: `Failed to derive vault address: ${e.message}`, + }; + } + }, +}; + +export default deriveDriftVaultAddressAction; diff --git a/src/actions/drift/tradeDelegatedDriftVault.ts b/src/actions/drift/tradeDelegatedDriftVault.ts index a51e143..c85d8b3 100644 --- a/src/actions/drift/tradeDelegatedDriftVault.ts +++ b/src/actions/drift/tradeDelegatedDriftVault.ts @@ -66,7 +66,7 @@ const tradeDelegatedDriftVaultAction: Action = { vaultAddress: z.string().describe("Address of the Drift vault to trade in"), amount: z.number().positive().describe("Amount to trade"), symbol: z.string().describe("Symbol of the token to trade"), - action: z.enum(["buy", "sell"]).describe("Trade action - buy or sell"), + action: z.enum(["long", "short"]).describe("Trade action - long or short"), type: z.enum(["market", "limit"]).describe("Trade type - market or limit"), price: z.number().positive().optional().describe("Price for limit order"), }), @@ -76,7 +76,7 @@ const tradeDelegatedDriftVaultAction: Action = { vaultAddress: input.vaultAddress as string, amount: input.amount as number, symbol: input.symbol as string, - action: input.action as "buy" | "sell", + action: input.action as "long" | "short", type: input.type as "market" | "limit", price: input.price as number | undefined, }; diff --git a/src/actions/drift/vaultInfo.ts b/src/actions/drift/vaultInfo.ts index c354ae5..279f78b 100644 --- a/src/actions/drift/vaultInfo.ts +++ b/src/actions/drift/vaultInfo.ts @@ -13,7 +13,7 @@ const vaultInfoAction: Action = { [ { input: { - vaultAddress: "2nFeP7taii", + vaultName: "test-vault", }, output: { status: "success", @@ -35,35 +35,16 @@ const vaultInfoAction: Action = { ], ], schema: z.object({ - vaultAddress: z.string(), + vaultName: z.string(), }), handler: async (agent: SolanaAgentKit, input) => { try { - const vaultInfo = await getVaultInfo(agent, input.vaultAddress as string); - const spotToken = MainnetSpotMarkets[vaultInfo.spotMarketIndex]; - const data = { - name: decodeName(vaultInfo.name), - marketName: `${spotToken.symbol}-SPOT`, - redeemPeriod: vaultInfo.redeemPeriod.toNumber(), - maxTokens: vaultInfo.maxTokens.div(spotToken.precision).toNumber(), - minDepositAmount: vaultInfo.minDepositAmount - .div(spotToken.precision) - .toNumber(), - managementFee: - (vaultInfo.managementFee.toNumber() / - PERCENTAGE_PRECISION.toNumber()) * - 100, - profitShare: - (vaultInfo.profitShare / PERCENTAGE_PRECISION.toNumber()) * 100, - hurdleRate: - (vaultInfo.hurdleRate / PERCENTAGE_PRECISION.toNumber()) * 100, - permissioned: vaultInfo.permissioned, - }; + const vaultInfo = await getVaultInfo(agent, input.vaultName as string); return { status: "success", message: "Vault info retrieved successfully", - data, + data: vaultInfo, }; } catch (e) { return { diff --git a/src/actions/index.ts b/src/actions/index.ts index 3cbc7df..4664ded 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -56,6 +56,7 @@ import doesUserHaveDriftAccountAction from "./drift/doesUserHaveDriftAccount"; import depositToDriftUserAccountAction from "./drift/depositToDriftUserAccount"; import withdrawFromDriftAccountAction from "./drift/withdrawFromDriftAccount"; import driftUserAccountInfoAction from "./drift/driftUserAccountInfo"; +import deriveDriftVaultAddressAction from "./drift/deriveVaultAddress"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -117,6 +118,7 @@ export const ACTIONS = { DEPOSIT_TO_DRIFT_USER_ACCOUNT_ACTION: depositToDriftUserAccountAction, WITHDRAW_OR_BORROW_FROM_DRIFT_ACCOUNT_ACTION: withdrawFromDriftAccountAction, DRIFT_USER_ACCOUNT_INFO_ACTION: driftUserAccountInfoAction, + DERIVE_DRIFT_VAULT_ADDRESS_ACTION: deriveDriftVaultAddressAction, }; export type { Action, ActionExample, Handler } from "../types/action"; diff --git a/src/agent/index.ts b/src/agent/index.ts index ff6352c..d889897 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -82,6 +82,20 @@ import { getHeliusWebhook, create_HeliusWebhook, deleteHeliusWebhook, + createDriftUserAccount, + createVault, + depositIntoVault, + depositToDriftUserAccount, + getVaultAddress, + doesUserHaveDriftAccount, + driftUserAccountInfo, + requestWithdrawalFromVault, + tradeDriftVault, + driftPerpTrade, + updateVault, + getVaultInfo, + withdrawFromDriftUserAccount, + withdrawFromDriftVault, } from "../tools"; import { Config, @@ -694,4 +708,99 @@ export class SolanaAgentKit { async deleteWebhook(webhookID: string): Promise { return deleteHeliusWebhook(this, webhookID); } + + async createDriftUserAccount(depositAmount: number, depositSymbol: string) { + return await createDriftUserAccount(this, depositAmount, depositSymbol); + } + async createDriftVault(params: { + name: string; + marketName: `${string}-${string}`; + redeemPeriod: number; + maxTokens: number; + minDepositAmount: number; + managementFee: number; + profitShare: number; + hurdleRate?: number; + permissioned?: boolean; + }) { + return await createVault(this, params); + } + async depositIntoDriftVault(amount: number, vault: string) { + return await depositIntoVault(this, amount, vault); + } + async depositToDriftUserAccount( + amount: number, + symbol: string, + isRepayment?: boolean, + ) { + return await depositToDriftUserAccount(this, amount, symbol, isRepayment); + } + async deriveDriftVaultAddress(name: string) { + return await getVaultAddress(this, name); + } + async doesUserHaveDriftAccount() { + return await doesUserHaveDriftAccount(this); + } + async driftUserAccountInfo() { + return await driftUserAccountInfo(this); + } + async requestWithdrawalFromDriftVault(amount: number, vault: string) { + return await requestWithdrawalFromVault(this, amount, vault); + } + async tradeUsingDelegatedDriftVault( + vault: string, + amount: number, + symbol: string, + action: "long" | "short", + type: "market" | "limit", + price?: number, + ) { + return await tradeDriftVault( + this, + vault, + amount, + symbol, + action, + type, + price, + ); + } + async tradeUsingDriftPerpAccount( + amount: number, + symbol: string, + action: "long" | "short", + type: "market" | "limit", + price?: number, + ) { + return await driftPerpTrade(this, { action, amount, symbol, type, price }); + } + async updateDriftVault( + vaultAddress: string, + params: { + name: string; + marketName: `${string}-${string}`; + redeemPeriod: number; + maxTokens: number; + minDepositAmount: number; + managementFee: number; + profitShare: number; + hurdleRate?: number; + permissioned?: boolean; + }, + ) { + return await updateVault(this, vaultAddress, params); + } + async getDriftVaultInfo(vaultName: string) { + return await getVaultInfo(this, vaultName); + } + async withdrawFromDriftAccount( + amount: number, + symbol: string, + isBorrow?: boolean, + ) { + return await withdrawFromDriftUserAccount(this, amount, symbol, isBorrow); + } + async withdrawFromDriftVault(vault: string) { + return await withdrawFromDriftVault(this, vault); + } } diff --git a/src/tools/drift/drift.ts b/src/tools/drift/drift.ts index 525a379..d112fca 100644 --- a/src/tools/drift/drift.ts +++ b/src/tools/drift/drift.ts @@ -276,7 +276,7 @@ export async function driftPerpTrade( symbol: string; action: "long" | "short"; type: "market" | "limit"; - price?: number; + price?: number | undefined; }, ) { try { diff --git a/src/tools/drift/drift_vault.ts b/src/tools/drift/drift_vault.ts index 85e803d..3bfa182 100644 --- a/src/tools/drift/drift_vault.ts +++ b/src/tools/drift/drift_vault.ts @@ -18,6 +18,7 @@ import { import { WithdrawUnit, encodeName, + getVaultAddressSync, getVaultDepositorAddressSync, } from "@drift-labs/vaults-sdk"; import { @@ -233,18 +234,39 @@ export async function updateVault( } } -export async function getVaultInfo( - agent: SolanaAgentKit, - vaultAddress: string, -) { +export async function getVaultInfo(agent: SolanaAgentKit, vaultName: string) { try { const { vaultClient, cleanUp } = await initClients(agent); - const vaultPublicKey = new PublicKey(vaultAddress); + const vaultPublicKey = getVaultAddressSync( + vaultClient.program.programId, + encodeName(vaultName), + ); const vaultDetails = await vaultClient.getVault(vaultPublicKey); await cleanUp(); - return vaultDetails; + const spotToken = MainnetSpotMarkets[vaultDetails.spotMarketIndex]; + const data = { + name: vaultName, + address: vaultPublicKey.toBase58(), + marketName: `${spotToken.symbol}-SPOT`, + redeemPeriod: vaultDetails.redeemPeriod.toNumber(), + maxTokens: vaultDetails.maxTokens.div(spotToken.precision).toNumber(), + minDepositAmount: vaultDetails.minDepositAmount + .div(spotToken.precision) + .toNumber(), + managementFee: + (vaultDetails.managementFee.toNumber() / + PERCENTAGE_PRECISION.toNumber()) * + 100, + profitShare: + (vaultDetails.profitShare / PERCENTAGE_PRECISION.toNumber()) * 100, + hurdleRate: + (vaultDetails.hurdleRate / PERCENTAGE_PRECISION.toNumber()) * 100, + permissioned: vaultDetails.permissioned, + }; + + return data; } catch (e) { // @ts-expect-error - error message is a string throw new Error(`Failed to get vault info: ${e.message}`); @@ -395,6 +417,31 @@ async function getIsOwned(agent: SolanaAgentKit, vault: string) { } } +/** + * Get a vaults address using the vault's name + * @param agent + * @param name + */ +export async function getVaultAddress(agent: SolanaAgentKit, name: string) { + const encodedName = encodeName(name); + + try { + const { vaultClient, cleanUp } = await initClients(agent); + const vaultAddress = getVaultAddressSync( + vaultClient.program.programId, + encodedName, + ); + + await cleanUp(); + return vaultAddress; + } catch (e) { + throw new Error( + // @ts-expect-error - error message is a string + `Failed to get vault address: ${e.message}`, + ); + } +} + /** Carry out a trade with a delegated vault @param agent SolanaAgentKit instance @@ -409,7 +456,7 @@ export async function tradeDriftVault( vault: string, amount: number, symbol: string, - action: "buy" | "sell", + action: "long" | "short", type: "market" | "limit", price?: number, ) { @@ -494,7 +541,7 @@ export async function tradeDriftVault( marketType: MarketType.PERP, baseAssetAmount: numberToSafeBN(baseAmount, BASE_PRECISION), direction: - action === "buy" + action === "long" ? PositionDirection.LONG : PositionDirection.SHORT, marketIndex: perpMarketAccount.marketIndex, @@ -512,7 +559,7 @@ export async function tradeDriftVault( marketType: MarketType.PERP, baseAssetAmount: numberToSafeBN(baseAmount, BASE_PRECISION), direction: - action === "buy" + action === "long" ? PositionDirection.LONG : PositionDirection.SHORT, marketIndex: perpMarketAccount.marketIndex, From 4d50d2f2603ee4b6af1f483a0895c4490638a306 Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Tue, 14 Jan 2025 15:08:18 +0100 Subject: [PATCH 135/138] fix: drift vault experience --- src/actions/drift/updateDriftVaultDelegate.ts | 53 ++++++++ src/actions/drift/updateVault.ts | 25 +++- src/actions/index.ts | 2 + src/agent/index.ts | 4 + src/tools/drift/drift.ts | 16 ++- src/tools/drift/drift_vault.ts | 121 ++++++++++++------ 6 files changed, 172 insertions(+), 49 deletions(-) create mode 100644 src/actions/drift/updateDriftVaultDelegate.ts diff --git a/src/actions/drift/updateDriftVaultDelegate.ts b/src/actions/drift/updateDriftVaultDelegate.ts new file mode 100644 index 0000000..defc7a6 --- /dev/null +++ b/src/actions/drift/updateDriftVaultDelegate.ts @@ -0,0 +1,53 @@ +import { z } from "zod"; +import type { Action } from "../../types"; +import { updateVaultDelegate } from "../../tools"; + +const updateDriftVaultDelegateAction: Action = { + name: "UPDATE_DRIFT_VAULT_DELEGATE_ACTION", + similes: ["update drift vault delegate", "change drift vault delegate"], + description: "Update the delegate of a drift vault", + examples: [ + [ + { + input: { + vaultAddress: "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBD", + newDelegate: "2nFeP7tai", + }, + output: { + status: "success", + message: "Vault delegate updated successfully", + signature: + "2nFeP7taii3wGVgrWk4YiLMPmhtu3Zg9iXCUu4zGBDadwunHw8reXFxRWT7khbFsQ9JT3zK4RYDLNDFDRYvM3wJk", + }, + explanation: "Update the delegate of a drift vault to another address", + }, + ], + ], + schema: z.object({ + vaultAddress: z.string(), + newDelegate: z.string(), + }), + handler: async (agent, input) => { + try { + const tx = await updateVaultDelegate( + agent, + input.vaultAddress as string, + input.newDelegate as string, + ); + + return { + status: "success", + message: "Vault delegate updated successfully", + signature: tx, + }; + } catch (e) { + return { + status: "error", + // @ts-expect-error - error message + message: `Failed to update vault delegate: ${e.message}`, + }; + } + }, +}; + +export default updateDriftVaultDelegateAction; diff --git a/src/actions/drift/updateVault.ts b/src/actions/drift/updateVault.ts index 530e1ce..4d0f66e 100644 --- a/src/actions/drift/updateVault.ts +++ b/src/actions/drift/updateVault.ts @@ -32,14 +32,25 @@ const updateDriftVaultAction: Action = { ], schema: z.object({ vaultAddress: z.string(), - name: z.string().min(5, "Name must be at least 5 characters"), + name: z.string().min(5, "Name must be at least 5 characters").optional(), // regex matches SOL-SPOT - marketName: z.string().regex(/^([A-Za-z0-9]{2,7})-SPOT$/), - redeemPeriod: z.number().int().min(1, "Redeem period must be at least 1"), - maxTokens: z.number().int().min(100, "Max tokens must be at least 100"), - minDepositAmount: z.number().positive(), - managementFee: z.number().positive().max(20), - profitShare: z.number().positive().max(90).optional().default(5), + marketName: z + .string() + .regex(/^([A-Za-z0-9]{2,7})-SPOT$/) + .optional(), + redeemPeriod: z + .number() + .int() + .min(1, "Redeem period must be at least 1") + .optional(), + maxTokens: z + .number() + .int() + .min(100, "Max tokens must be at least 100") + .optional(), + minDepositAmount: z.number().positive().optional(), + managementFee: z.number().positive().max(20).optional(), + profitShare: z.number().positive().max(90).optional(), handleRate: z.number().optional(), permissioned: z .boolean() diff --git a/src/actions/index.ts b/src/actions/index.ts index 4664ded..63ec7c5 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -57,6 +57,7 @@ import depositToDriftUserAccountAction from "./drift/depositToDriftUserAccount"; import withdrawFromDriftAccountAction from "./drift/withdrawFromDriftAccount"; import driftUserAccountInfoAction from "./drift/driftUserAccountInfo"; import deriveDriftVaultAddressAction from "./drift/deriveVaultAddress"; +import updateDriftVaultDelegateAction from "./drift/updateDriftVaultDelegate"; export const ACTIONS = { WALLET_ADDRESS_ACTION: getWalletAddressAction, @@ -119,6 +120,7 @@ export const ACTIONS = { WITHDRAW_OR_BORROW_FROM_DRIFT_ACCOUNT_ACTION: withdrawFromDriftAccountAction, DRIFT_USER_ACCOUNT_INFO_ACTION: driftUserAccountInfoAction, DERIVE_DRIFT_VAULT_ADDRESS_ACTION: deriveDriftVaultAddressAction, + UPDATE_DRIFT_VAULT_DELEGATE_ACTION: updateDriftVaultDelegateAction, }; export type { Action, ActionExample, Handler } from "../types/action"; diff --git a/src/agent/index.ts b/src/agent/index.ts index d889897..45f085f 100644 --- a/src/agent/index.ts +++ b/src/agent/index.ts @@ -96,6 +96,7 @@ import { getVaultInfo, withdrawFromDriftUserAccount, withdrawFromDriftVault, + updateVaultDelegate, } from "../tools"; import { Config, @@ -803,4 +804,7 @@ export class SolanaAgentKit { async withdrawFromDriftVault(vault: string) { return await withdrawFromDriftVault(this, vault); } + async updateDriftVaultDelegate(vaultAddress: string, delegate: string) { + return await updateVaultDelegate(this, vaultAddress, delegate); + } } diff --git a/src/tools/drift/drift.ts b/src/tools/drift/drift.ts index d112fca..97105a4 100644 --- a/src/tools/drift/drift.ts +++ b/src/tools/drift/drift.ts @@ -24,7 +24,14 @@ import { PublicKey } from "@solana/web3.js"; import { Transaction } from "@solana/web3.js"; import { ComputeBudgetProgram } from "@solana/web3.js"; -export async function initClients(agent: SolanaAgentKit) { +export async function initClients( + agent: SolanaAgentKit, + params?: { + authority: PublicKey; + activeSubAccountId: number; + subAccountIds: number[]; + }, +) { const wallet: IWallet = { publicKey: agent.wallet.publicKey, payer: agent.wallet, @@ -40,10 +47,17 @@ export async function initClients(agent: SolanaAgentKit) { }, }; + // @ts-expect-error - false undefined type conflict const driftClient = new DriftClient({ connection: agent.connection, wallet, env: "mainnet-beta", + authority: params?.authority, + activeSubAccountId: params?.activeSubAccountId, + subAccountIds: params?.subAccountIds, + txParams: { + computeUnitsPrice: 0.000001 * 1000000 * 1000000, + }, txSender: new FastSingleTxSender({ connection: agent.connection, wallet, diff --git a/src/tools/drift/drift_vault.ts b/src/tools/drift/drift_vault.ts index 3bfa182..a65c485 100644 --- a/src/tools/drift/drift_vault.ts +++ b/src/tools/drift/drift_vault.ts @@ -14,8 +14,10 @@ import { PRICE_PRECISION, QUOTE_PRECISION, TEN, + User, } from "@drift-labs/sdk"; import { + VaultAccount, WithdrawUnit, encodeName, getVaultAddressSync, @@ -34,7 +36,7 @@ export function getMarketIndexAndType(name: `${string}-${string}`) { const [symbol, type] = name.toUpperCase().split("-"); if (type === "PERP") { - const token = MainnetPerpMarkets.find((v) => v.symbol === symbol); + const token = MainnetPerpMarkets.find((v) => v.baseAssetSymbol === symbol); if (!token) { throw new Error("Drift doesn't have that market"); } @@ -71,6 +73,31 @@ async function getOrCreateVaultDepositor(agent: SolanaAgentKit, vault: string) { } } +async function getVaultAvailableBalance(agent: SolanaAgentKit, vault: string) { + try { + const { cleanUp, vaultClient } = await initClients(agent); + const vaultDetails = await vaultClient.getVault(new PublicKey(vault)); + + const currentVaultBalance = convertToNumber( + vaultDetails.netDeposits, + QUOTE_PRECISION, + ); + const vaultWithdrawalsRequested = convertToNumber( + vaultDetails.totalWithdrawRequested, + QUOTE_PRECISION, + ); + const availableBalanceInUSD = + currentVaultBalance - vaultWithdrawalsRequested; + + await cleanUp(); + + return availableBalanceInUSD; + } catch (e) { + // @ts-expect-error - error message is a string + throw new Error(`Failed to get vault available balance: ${e.message}`); + } +} + /** Create a vault @param agent SolanaAgentKit instance @@ -151,6 +178,27 @@ export async function createVault( } } +export async function updateVaultDelegate( + agent: SolanaAgentKit, + vault: string, + delegateAddress: string, +) { + try { + const { vaultClient, cleanUp } = await initClients(agent); + const signature = await vaultClient.updateDelegate( + new PublicKey(vault), + new PublicKey(delegateAddress), + ); + await cleanUp(); + return signature; + } catch (e) { + throw new Error( + // @ts-expect-error - error message is a string + `Failed to update vault delegate: ${e.message}`, + ); + } +} + /** Update the vault's info @param agent SolanaAgentKit instance @@ -194,34 +242,32 @@ export async function updateVault( const spotPrecision = TEN.pow(new BN(spotMarket.decimals)); const tx = await vaultClient.managerUpdateVault(vaultPublicKey, { - redeemPeriod: new BN( - params.redeemPeriod - ? params.redeemPeriod * 86400 - : vaultDetails.redeemPeriod, - ), + redeemPeriod: params.redeemPeriod + ? new BN(params.redeemPeriod * 86400) + : null, maxTokens: params.maxTokens ? numberToSafeBN(params.maxTokens, spotPrecision) - : vaultDetails.maxTokens, + : null, minDepositAmount: params.minDepositAmount ? numberToSafeBN(params.minDepositAmount, spotPrecision) - : vaultDetails.minDepositAmount, + : null, managementFee: params.managementFee ? new BN(params.managementFee) .mul(PERCENTAGE_PRECISION) .div(new BN(100)) - : vaultDetails.managementFee, + : null, profitShare: params.profitShare ? new BN(params.profitShare) .mul(PERCENTAGE_PRECISION) .div(new BN(100)) .toNumber() - : vaultDetails.profitShare, + : null, hurdleRate: params.hurdleRate ? new BN(params.hurdleRate) .mul(PERCENTAGE_PRECISION) .div(new BN(100)) .toNumber() - : vaultDetails.hurdleRate, + : null, permissioned: params.permissioned ?? vaultDetails.permissioned, }); @@ -234,6 +280,12 @@ export async function updateVault( } } +/** + * Get information on a particular vault given its name + * @param agent + * @param vaultName + * @returns + */ export async function getVaultInfo(agent: SolanaAgentKit, vaultName: string) { try { const { vaultClient, cleanUp } = await initClients(agent); @@ -241,15 +293,20 @@ export async function getVaultInfo(agent: SolanaAgentKit, vaultName: string) { vaultClient.program.programId, encodeName(vaultName), ); - const vaultDetails = await vaultClient.getVault(vaultPublicKey); + const [vaultDetails, vaultBalance] = await Promise.all([ + vaultClient.getVault(vaultPublicKey), + getVaultAvailableBalance(agent, vaultPublicKey.toBase58()), + ]); await cleanUp(); const spotToken = MainnetSpotMarkets[vaultDetails.spotMarketIndex]; const data = { name: vaultName, + delegate: vaultDetails.delegate.toBase58(), address: vaultPublicKey.toBase58(), marketName: `${spotToken.symbol}-SPOT`, + balance: `${vaultBalance} ${spotToken.symbol}`, redeemPeriod: vaultDetails.redeemPeriod.toNumber(), maxTokens: vaultDetails.maxTokens.div(spotToken.precision).toNumber(), minDepositAmount: vaultDetails.minDepositAmount @@ -340,7 +397,7 @@ export async function requestWithdrawalFromVault( return await vaultClient.managerRequestWithdraw( vaultPublicKey, new BN(amount.toFixed(0)), - WithdrawUnit.SHARES, + WithdrawUnit.TOKEN, ); } @@ -349,7 +406,7 @@ export async function requestWithdrawalFromVault( const tx = await vaultClient.requestWithdraw( vaultDepositor, new BN(amount.toFixed(0)), - WithdrawUnit.SHARES, + WithdrawUnit.TOKEN, ); await cleanUp(); @@ -406,7 +463,7 @@ async function getIsOwned(agent: SolanaAgentKit, vault: string) { const { vaultClient, cleanUp } = await initClients(agent); const vaultPublicKey = new PublicKey(vault); const vaultDetails = await vaultClient.getVault(vaultPublicKey); - const isOwned = vaultDetails.delegate.equals(agent.wallet.publicKey); + const isOwned = vaultDetails.manager.equals(agent.wallet.publicKey); await cleanUp(); @@ -461,10 +518,13 @@ export async function tradeDriftVault( price?: number, ) { try { - const { driftClient, vaultClient, cleanUp } = await initClients(agent); - const [isOwned, vaultDetails, driftLookupTableAccount] = await Promise.all([ + const { driftClient, cleanUp } = await initClients(agent, { + authority: new PublicKey(vault), + activeSubAccountId: 0, + subAccountIds: [0], + }); + const [isOwned, driftLookupTableAccount] = await Promise.all([ getIsOwned(agent, vault), - vaultClient.getVault(new PublicKey(vault)), driftClient.fetchMarketLookupTableAccount(), ]); @@ -474,34 +534,11 @@ export async function tradeDriftVault( ); } - driftClient.authority = new PublicKey(vault); - driftClient.activeSubAccountId = 0; - vaultClient.driftClient = driftClient; - const usdcSpotMarket = driftClient.getSpotMarketAccount(0); if (!usdcSpotMarket) { throw new Error("USDC-SPOT market not found"); } - const usdcPrecision = TEN.pow(new BN(usdcSpotMarket.decimals)); - const vaultWithdrawalsRequested = convertToNumber( - vaultDetails.totalWithdrawRequested, - usdcPrecision, - ); - // this is actually the authority provided - const user = driftClient.getUser(); - const currentVaultBalance = - convertToNumber(user.getNetSpotMarketValue(), QUOTE_PRECISION) + - convertToNumber(user.getUnrealizedPNL(true), QUOTE_PRECISION); - const availableBalanceInUSD = - currentVaultBalance - vaultWithdrawalsRequested; - - if (amount > availableBalanceInUSD) { - throw new Error( - "Insufficient balance: You don't have enough balance to make this trade", - ); - } - const perpMarketIndexAndType = getMarketIndexAndType( `${symbol.toUpperCase()}-PERP`, ); @@ -569,12 +606,14 @@ export async function tradeDriftVault( instructions.push(instruction); } + const latestBlockhash = await driftClient.connection.getLatestBlockhash(); const tx = await driftClient.txSender.sendVersionedTransaction( await driftClient.txSender.getVersionedTransaction( instructions, [driftLookupTableAccount], [], driftClient.opts, + latestBlockhash, ), ); From 2f05af13cb4e458ee7b250e577e2d7fe57ea2735 Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Tue, 14 Jan 2025 20:33:18 +0100 Subject: [PATCH 136/138] fix: drift vault deposits and withdrawals --- README.md | 33 ++++++++++++++++++++++++++-- src/actions/drift/vaultInfo.ts | 8 +++---- src/tools/drift/drift_vault.ts | 40 ++++++++++++++++++++++++---------- 3 files changed, 62 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 7b73eb4..6a1a2c8 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,7 @@ Anyone - whether an SF-based AI researcher or a crypto-native builder - can brin - Pyth Price feeds for fetching Asset Prices - Register/resolve Alldomains - Perpetuals Trading with Adrena Protocol + - Drift Vaults, Perps, Lending and Borrowing - **Solana Blinks** - Lending by Lulo (Best APR for USDC) @@ -309,6 +310,34 @@ const signature = await agent.closePerpTradeLong({ const { signature } = await agent.closeEmptyTokenAccounts(); ``` +### Create a Drift account + +Create a drift account with an initial token deposit. + +```typescript +const result = await agent.createDriftUserAccount() +``` + +### Create a Drift Vault + +Create a drift vault. + +```typescript +const signature = await agent.createDriftVault({ + name: "my-drift-vault", + marketName: "USDC-SPOT", + redeemPeriod: 1, // in days + maxTokens: 100000, // in token units e.g 100000 USDC + minDepositAmount: 5, // in token units e.g 5 USDC + managementFee: 1, // 1% + profitShare: 10, // 10% + hurdleRate: 5, // 5% + permissioned: false, // public vault or whitelist +}) +``` + +### Deposit into a Drift Vault + ## Examples ### LangGraph Multi-Agent System @@ -357,7 +386,7 @@ Refer to [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on how to co Apache-2 License -## Funding +## Funding If you wanna give back any tokens or donations to the OSS community -- The Public Solana Agent Kit Treasury Address: @@ -365,4 +394,4 @@ Solana Network : EKHTbXpsm6YDgJzMkFxNU1LNXeWcUW7Ezf8mjUNQQ4Pa ## Security -This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys. \ No newline at end of file +This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys. diff --git a/src/actions/drift/vaultInfo.ts b/src/actions/drift/vaultInfo.ts index 279f78b..3343f2f 100644 --- a/src/actions/drift/vaultInfo.ts +++ b/src/actions/drift/vaultInfo.ts @@ -2,8 +2,6 @@ import { z } from "zod"; import type { Action } from "../../types"; import { getVaultInfo } from "../../tools"; import type { SolanaAgentKit } from "../../agent"; -import { decodeName } from "@drift-labs/vaults-sdk"; -import { MainnetSpotMarkets, PERCENTAGE_PRECISION } from "@drift-labs/sdk"; const vaultInfoAction: Action = { name: "DRIFT_VAULT_INFO", @@ -13,7 +11,7 @@ const vaultInfoAction: Action = { [ { input: { - vaultName: "test-vault", + vaultNameOrAddress: "test-vault", }, output: { status: "success", @@ -35,11 +33,11 @@ const vaultInfoAction: Action = { ], ], schema: z.object({ - vaultName: z.string(), + vaultNameOrAddress: z.string().describe("Name or address of the vault"), }), handler: async (agent: SolanaAgentKit, input) => { try { - const vaultInfo = await getVaultInfo(agent, input.vaultName as string); + const vaultInfo = await getVaultInfo(agent, input.vaultNameOrAddress); return { status: "success", diff --git a/src/tools/drift/drift_vault.ts b/src/tools/drift/drift_vault.ts index a65c485..541c117 100644 --- a/src/tools/drift/drift_vault.ts +++ b/src/tools/drift/drift_vault.ts @@ -19,6 +19,7 @@ import { import { VaultAccount, WithdrawUnit, + decodeName, encodeName, getVaultAddressSync, getVaultDepositorAddressSync, @@ -65,9 +66,13 @@ async function getOrCreateVaultDepositor(agent: SolanaAgentKit, vault: string) { return vaultDepositor; } catch (e) { // @ts-expect-error - error message is a string - if (e.message === "Account not found") { - await vaultClient.initializeVaultDepositor(vaultDepositor); + if (e.message.includes("Account does not exist")) { + await vaultClient.initializeVaultDepositor( + vaultPublicKey, + agent.wallet.publicKey, + ); } + await new Promise((resolve) => setTimeout(resolve, 2000)); await cleanUp(); return vaultDepositor; } @@ -280,18 +285,29 @@ export async function updateVault( } } +export const validateAndEncodeAddress = (input: string, programId: string) => { + try { + return new PublicKey(input); + } catch { + return getVaultAddressSync(new PublicKey(programId), encodeName(input)); + } +}; + /** * Get information on a particular vault given its name * @param agent - * @param vaultName + * @param vaultNameOrAddress * @returns */ -export async function getVaultInfo(agent: SolanaAgentKit, vaultName: string) { +export async function getVaultInfo( + agent: SolanaAgentKit, + vaultNameOrAddress: string, +) { try { const { vaultClient, cleanUp } = await initClients(agent); - const vaultPublicKey = getVaultAddressSync( - vaultClient.program.programId, - encodeName(vaultName), + const vaultPublicKey = validateAndEncodeAddress( + vaultNameOrAddress, + vaultClient.program.programId.toBase58(), ); const [vaultDetails, vaultBalance] = await Promise.all([ vaultClient.getVault(vaultPublicKey), @@ -302,7 +318,7 @@ export async function getVaultInfo(agent: SolanaAgentKit, vaultName: string) { const spotToken = MainnetSpotMarkets[vaultDetails.spotMarketIndex]; const data = { - name: vaultName, + name: decodeName(vaultDetails.name), delegate: vaultDetails.delegate.toBase58(), address: vaultPublicKey.toBase58(), marketName: `${spotToken.symbol}-SPOT`, @@ -346,9 +362,10 @@ export async function depositIntoVault( try { const vaultPublicKey = new PublicKey(vault); - const [isOwned, vaultDetails] = await Promise.all([ + const [isOwned, vaultDetails, vaultDepositor] = await Promise.all([ getIsOwned(agent, vault), vaultClient.getVault(vaultPublicKey), + getOrCreateVaultDepositor(agent, vault), ]); const spotMarket = driftClient.getSpotMarketAccount( vaultDetails.spotMarketIndex, @@ -365,7 +382,6 @@ export async function depositIntoVault( return await vaultClient.managerDeposit(vaultPublicKey, amountBN); } - const vaultDepositor = await getOrCreateVaultDepositor(agent, vault); const tx = await vaultClient.deposit(vaultDepositor, amountBN); await cleanUp(); @@ -396,7 +412,7 @@ export async function requestWithdrawalFromVault( if (isOwned) { return await vaultClient.managerRequestWithdraw( vaultPublicKey, - new BN(amount.toFixed(0)), + numberToSafeBN(amount, QUOTE_PRECISION), WithdrawUnit.TOKEN, ); } @@ -405,7 +421,7 @@ export async function requestWithdrawalFromVault( const tx = await vaultClient.requestWithdraw( vaultDepositor, - new BN(amount.toFixed(0)), + numberToSafeBN(amount, QUOTE_PRECISION), WithdrawUnit.TOKEN, ); From fd95ac86824106a7ffd294c58d4bea8e2389dea1 Mon Sep 17 00:00:00 2001 From: michaelessiet Date: Tue, 14 Jan 2025 21:07:24 +0100 Subject: [PATCH 137/138] chore: drift integration docs --- README.md | 133 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/README.md b/README.md index 6a1a2c8..6fdedb8 100644 --- a/README.md +++ b/README.md @@ -338,6 +338,139 @@ const signature = await agent.createDriftVault({ ### Deposit into a Drift Vault +Deposit tokens into a drift vault. + +```typescript +const signature = await agent.depositIntoDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU") +``` + +### Deposit into your Drift account + +Deposit tokens into your drift account. + +```typescript +const {txSig} = await agent.depositToDriftUserAccount(100, "USDC") +``` + +### Derive a Drift Vault address + +Derive a drift vault address. + +```typescript +const vaultPublicKey = await agent.deriveDriftVaultAddress("my-drift-vault") +``` + +### Do you have a Drift account + +Check if agent has a drift account. + +```typescript +const {hasAccount, account} = await agent.doesUserHaveDriftAccount() +``` + +### Get Drift account information + +Get drift account information. + +```typescript +const accountInfo = await agent.driftUserAccountInfo() +``` + +### Request withdrawal from Drift vault + +Request withdrawal from drift vault. + +```typescript +const signature = await agent.requestWithdrawalFromDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU") +``` + +### Carry out a perpetual trade using a Drift vault + +Open a perpertual trade using a drift vault that is delegated to you. + +```typescript +const signature = await agent.tradeUsingDelegatedDriftVault({ + vault: "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU", + amount: 500, + symbol: "SOL", + action: "long", + type: "limit", + price: 180 // Please long limit order at $180/SOL +}) +``` + +### Carry out a perpetual trade using your Drift account + +Open a perpertual trade using your drift account. + +```typescript +const signature = await agent.tradeUsingDriftPerpAccount({ + amount: 500, + symbol: "SOL", + action: "long", + type: "limit", + price: 180 // Please long limit order at $180/SOL +}) +``` + +### Update Drift vault parameters + +Update drift vault parameters. + +```typescript +const signature = await agent.updateDriftVault({ + name: "my-drift-vault", + marketName: "USDC-SPOT", + redeemPeriod: 1, // in days + maxTokens: 100000, // in token units e.g 100000 USDC + minDepositAmount: 5, // in token units e.g 5 USDC + managementFee: 1, // 1% + profitShare: 10, // 10% + hurdleRate: 5, // 5% + permissioned: false, // public vault or whitelist +}) +``` + +### Withdraw from Drift account + +Withdraw tokens from your drift account. + +```typescript +const {txSig} = await agent.withdrawFromDriftAccount(100, "USDC") +``` + +### Borrow from Drift + +Borrow tokens from drift. + +```typescript +const {txSig} = await agent.withdrawFromDriftAccount(1, "SOL", true) +``` + +### Repay Drift loan + +Repay a loan from drift. + +```typescript +const {txSig} = await agent.depositToDriftUserAccount(1, "SOL", true) +``` + +### Withdraw from Drift vault + +Withdraw tokens from a drift vault after the redemption period has elapsed. + +```typescript +const signature = await agent.withdrawFromDriftVault( "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU") +``` + +### Update the address a Drift vault is delegated to + +Update the address a drift vault is delegated to. + +```typescript +const signature = await agent.updateDriftVaultDelegate("41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU", "new-address") +``` + ## Examples ### LangGraph Multi-Agent System From a65463a77bffd908a8a210659b65e798c1225af4 Mon Sep 17 00:00:00 2001 From: aryan Date: Wed, 15 Jan 2025 02:55:30 +0530 Subject: [PATCH 138/138] chore: docs + lint --- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/SolanaAgentKit.html | 37 +++++++--- docs/functions/createSolanaTools.html | 2 +- docs/functions/createVercelAITools.html | 2 +- docs/functions/executeAction.html | 2 +- docs/functions/findAction.html | 2 +- docs/functions/getActionExamples.html | 2 +- docs/index.html | 67 ++++++++++++++++++- docs/interfaces/Action.html | 14 ++-- docs/interfaces/ActionExample.html | 4 +- docs/interfaces/BatchOrderPattern.html | 4 +- docs/interfaces/CollectionDeployment.html | 4 +- docs/interfaces/CollectionOptions.html | 4 +- docs/interfaces/Config.html | 5 +- docs/interfaces/Creator.html | 4 +- docs/interfaces/FetchPriceResponse.html | 4 +- docs/interfaces/FlashCloseTradeParams.html | 4 +- docs/interfaces/FlashTradeParams.html | 4 +- docs/interfaces/GibworkCreateTaskReponse.html | 4 +- docs/interfaces/HeliusWebhookIdResponse.html | 6 ++ docs/interfaces/HeliusWebhookResponse.html | 3 + docs/interfaces/JupiterTokenData.html | 4 +- .../LuloAccountDetailsResponse.html | 4 +- .../interfaces/MintCollectionNFTResponse.html | 4 +- docs/interfaces/OrderParams.html | 4 +- docs/interfaces/PriorityFeeResponse.html | 5 ++ docs/interfaces/PumpFunTokenOptions.html | 4 +- docs/interfaces/PumpfunLaunchResponse.html | 4 +- docs/interfaces/PythFetchPriceResponse.html | 4 +- docs/interfaces/PythPriceFeedIDItem.html | 4 +- docs/interfaces/PythPriceItem.html | 4 +- docs/interfaces/TokenCheck.html | 4 +- docs/modules.html | 2 +- docs/types/Handler.html | 2 +- docs/variables/actions.html | 2 +- src/tools/drift/drift_vault.ts | 2 - 37 files changed, 167 insertions(+), 68 deletions(-) create mode 100644 docs/interfaces/HeliusWebhookIdResponse.html create mode 100644 docs/interfaces/HeliusWebhookResponse.html create mode 100644 docs/interfaces/PriorityFeeResponse.html diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 94a19ed..3a34b45 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNllGTkzAQgP9LnjvWq96pfaut1ep57dwxvjg+7IWlZAgJkyzajuN/d0o7B5Sw8MID++23sMkSfv4VhAcSc/FkNRhY7NHQN0ViIgqgVMyF1OA9+mk7/iqlXIuJyJSJxfxm9v7f5MW0kKSsqQ3KELoEJPrpOdROnt3edZI/HSAvNDKOC8GpPgLJdOtidDsgQhd+pA7FKZdWa6zqr7DQ9pijoaA1BI4Tb4vT1Q9YLxSvNIna93hOITbZIZB14exzjEtfI8l055TER/SFNT68lF2MlWrw6VJbj5GDGHfgIA/3KUgOqkdZRwo/q+c/1mVVqzACnz1ifxv6YK7A17JQhC6yGZoVEATF1xAnvC+1XUhpS0MrJFDas0vXj3NFvitD9SZ+WEdsjV6aK3EZ5d5VbMQ5za7Mi6Q091AambJPGSSH1OvSVKvCTXuAY7VHSkfOXRgdklfwGjHerDaEea/5ihulHRYOqao2LVOUWdBThznJFzCxxsZnj44F+unl9lXm6w/vbm5nzbNrGW22D0919m9wCp716dA6h9qGN81kWU3/+ZSNrNWNPZGUppoAP+1AbeHd247wBzqJerEZULYwRooHlCXh9RFf61oAI0qUifstdZRR7JFa/wLB1+tAHeGv/7OFIBQ=" \ No newline at end of file +window.navigationData = "eJyNllGTkzAQgP8Lzx3r9bxT+1Zbq+h57dwx3oPjwzZsS4aQMMmi7Tj+d6fQEShh4YUH9ttvYSGb/PgTEB4pmAfPRoGGxQE1fZUUTIIcKAnmgVDgHLppO/4qoUwFkyCVOg7mN7N3fyf/TQtB0ujaIDWh3YNAN61C7eTZ3X0n+eMRslwh47gQnOoDkEg2Nka7BSK0/kfqUJxyaZTCsv4Kc2VOGWryWn3gOPEmP1/dgPVC8Uq9l4cezznEJlsEMtafXcW49DWSSLZWCnxClxvt/J+yi7FSBS5ZKuMwshDjFixk/j55yUH1KOtI4Se5+21sWrYKI3DpE/a3oQ/mCnxGJQv3grvEmDSM2Tb3sKP14+Vj1F+KXBLayKSoV0DgtV5DnPChUGYhhCk0rZBAKsc+cD/OFfkmNdXL73EdsTV6aa7EZQj1/n+NOKfZWmmspNMa+cXn4VhtkeX7Qj9AoUXCi33kkHpd6PJjc+PPw7HaEyUjB5EfHZKX8BoxDlchYdZrvuJGaYeFQ6qyTcsERer11GF2DoCOFTb2ATrl50Vf3b7KfP3+7c3drLmZL6Nw8/hcZ/8CK2Gnzrt4FWobbpvJohyH1bEjMkY1/ol9ocuF5aYdqC28f9MRfkcrUC3CAWULY6R4RFEQXp95al0LYER7qeN+Sx1lFAek1uHI+3odqCP8+Q8guIFL" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index e086ffb..68faf85 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "eJy1XW1zqzaw/i/O10zrFRjb55ubOG3avN3Ep72dTIchtpzQYKCAc5rb6X+/IwnslViwsOmncybWrh6kRytpHwn+GWTJt3zw5fmfwXsYrwZfgE3OB3Gw4YMvg6ckCuJg9srj4pewGJwPtlk0+DJYRkGe8/x7/efv3opNNDivfh18GQz+Pa+8joDtvC6TOC+y7bJIMhuXZ3p55P58kAYZj4s60n3FMGQurjnmyyJMYtuK98VPqfdbEEXcqv3OdkVPr88PVquM53mHepHJie28Dl9t21gV7VgfG7p7nmb8ry3Pi6tgu+TF1TZe2T1zabaWZuvS7BQcK55Gyecieed2BFPli7L86TVfJFHUgd/KaImNTsHwyosfgiiIl9yq9ldevOyK91PvffHG7WLKvvKktDkFwSaMi7urhVXNomy8PmKEazUWWRDna8uHRYVPG2WvYV7w7DLZBKEdwyqTVWVyWv15En3wpyTqhEAa5UnUC4ZXXjxk4SbIPjtgeOVFqox6wVBkwcpuiFUlT6ktCjdhcZ+tLLkmiydl8VPqfQmK5Zt9vbJ4H/UuRVCIZlEk67abSJRNEEVJZXMKgm9h8bbKgm+zKLKbusvyQRSdWHOS8viBZ+lC8OYmie2mcGGV8iyVbIuUVW8ont6SzG7lpMHIS7OTmBAlOT8CiLT7D5FYd4wOpIeeiXi8muU5L+yGhSgeVMVPjLqLhyfbWFukfdQnFmWXQRH88DnrsIwW1QvLVVAEL59Hr6Zb0CzC5bv9IgeBKSrDU7CsebF8k2gestByoSdtJJC0tDmJg8E2Xr49bDfp1Ta2X2ors3S7SdfbuI8Vd14E73bPX5U8ce1jXd++7EnPx+PVRbJJBYH5ahZmqyxJ7Z6Xx6vlzjLYWZ40J2TL4EJGwSQPrTc4wkoFwb3VySgyHhT84ub21h6CNFlGm01v9T+F8WvEn8IVX92Ef23DVVh8PiSJ3YJhjymXbnLhJqrcpMrNqTivxKivessueAozGSxSZHYqjvuUxxc8LnjGVxWc38Libdds1tDEAmNZeqoQirVXhDz1gRb1bWe2C4yoU3vifbmJmkXlzss2vSKtgqjcevUwD95/i/mqI4xXXiTCrHccJYirJFvcXHaCUuJYJ1kRrU5Hs2+Qxc2ldaPs26OITs58KRSP5Xb/mD4KoijbmffZV7dBGO/hdNu2i7J7LP1kMYLPVbjdqDA+22x+de0GkzJTYTvYbD7cPnFcqLmpI4weZjQdRXoUivT0eTXl8UuSvCsYt0H2bpmtrwwVkk1leFIuMYjDNc+Lzlgqwx6xiGzXZ/Eml/pXnK+urcNc+lm8ydX+mvNV2EOM2+HojODUvbdszh/Dl29J9r4I8ne7rbe0elVWhbI6aZwky/eHIOXZ0zLM88QyLyWsUmGV761Ob4tFmEZh3KUdip3FSXlPHudJdhPm1rl2ZRGFeR8Zd+nrQmb6BIbQMgmj7FSGMNrZnZwNmm/SQilNs+Uy2caWKRlpy4Wt3AMHe9t+sgKPPE2y4mm7EdnujtmBTNrmO9t+EF3yIggjvlLIOkJalcZZZXwSpijI38QCf2GdwJcmYpLpI5MvnclNdEcAkjR9IFDRwLkJRGqhk1RZWkaBSC30pFciNHdry9TuHsbpEUU5e/prG6zy221UhLmtZq727tJwszc8UT8WW8VF0glIaVUkPaGohMqrLNl0AlIZrrNk0xMW1cgViocsSZM8sMuvlCuw0jTdm56CJ0jTLPk4DlBp2zOijP/Jl8VRgJRpz3j433y53XfZQnAisA8xpXkFqtDMO+LyXHOUy5KLJIn28/R6G0v3+fe1Mq1nqWrOf+WZkCyv291rpVorcPZntWYXi+v7u7308hFkYfAS8fz78pdWR9qhoN9mNzfzhT+7vHycPz35yv6A4zPfLz5Trh9O8g/0SuVA2TbBuZw/3Nz/7i/uf5nfdQKjTs34cn3QD5QfZjezu4t5JxTl6ZV+ACweZ3dPV/PHTgiqmNtrd1zc39zMpcExfbJfGvQD6vb6buHfXS06YREHfPx4XfTWNZfdmCEXav1U/jj/n6/zp4V/9fXustuILY/W+fJUXV9gnu5vfp37l/e3s+tu9Cgz0b5K4PUD58f5ogwel7PFrBOcV16U4UMosz3CeejWSRJH2lP3XM0XFz/5D4/XHQOZ3Gz5MlPTD5CnxeyXuf/b9eIn/+evD52wSN3UF5qO/+c27R3O0/3N7PeOURZBypMo+Owr3j7Of7x+WswfjxtOKk/f63i6md9d+rOnp3m3aCvOmPjykEk/MC4e57PF3P/x+off7h9/8Rezp1864VFrLb/M/Pki9ddv+Hu6vzklBOZJ1Gu3Pfy++Mk/duyLHK3fewAQofD+t7v5ZdlOT/7V/aO/uLnsHBylWFc2V+6vk8wvolV/IB8er29nj78f050CXXmmtPdZbXZzs2u5xU3HiV8AC6Jo12hCW+y7WzHA47oUI+wzbFzfzn7sNgTKeBFugtce6a/4hJrpSIopYqHG+i+4Vk1FJ/asgLlXkPvv4sfZ75fXX2/9sqsvHm5vu0VgJVr6ZY8L2fI/ATa7vfV/dU+BFmw2/ofb68C4f7yY+U/Xdz/ezP2n68v5pf/bT9ePNw/39zfHDBchqPjqnIsvD7r4397CLBJHl3pajcy+3okp7evtw9XXuyOyBOq8oV8eOOwzW3B1M3v6yb9/mN/53TeHMp/vC0XB73GfqCBd3Nw/zY/GJEWGPkGVzLv9erO4frr+8RiaVbnA3lIc90/XYtd4HKgy2+4XSc/Adumfq8f72+Ow7ZJBIgPfMzyzIx8e7x/un2ZHBY4dsirn3A/E2cPD4/2vp2Is0/T/FcjH+c/zi8WJGFXm/r+COP/f+cXXk/u6zOT3CJKNvD0d9cutoTgQug6WPP9e/WKfERcxfHbtzx6u/V/mvx/wKM8aBaEfpKH/zpv18RJeQ5U/f324Frv+x/nV/PFRtuvF/de7xaHK/9ymodjxZ3zNs0y2pDw5cCKMq/nc/wHd7DhQ+5pz/6Xldkd7pWqWeni8/vX6Zv7j/FClalpKs/AjjPhrs/Rdq1Qjiwg76J47rkv9ZE8X8zp3g6+zQ7dOKkwN1aRCJ4qL4JUfrEkraluZPpaqhP19qp8T1zrFKGTfZPIfa5dnZfGmfjaxNlS6zcIOdarSJ1aZJZ9BVHz+EORh/pCE+DTQYQSl8YswTivjEwEtVbd3gYFMuldOk+pSykIbHhftOPbl7Km115rM+2E2VZztzQ8OV+pxGkDl4WscFNvsAOlNMNjsKBC4+W/DuNgXv7taPPI8TeKcxNRY2L4jhN7W3fVZaUY/bvMzNIHgRSDEnGOA7E2PB4M7AN+NawmrRDH7Ri++hUXByXmtye/Z3oZ+Tgp3U/U84q9ZsOlW/97oZADf+EseFiSlG+vf25xcfRiHRRhEuztMT/c3naCU9rubS3nLla8OsPIoTNPglf+QdmLcWWXXtrbrACPNwiQLi88r3q2DKrs1P7aTzGG43sY3MhHUFgPJgvZDsTXmN/u2CPr0E3QMwy0IWkNwt8rLGPqVXnq1YSgt25ZhnaDwLKPX+y0gKpvjqseku9lGSXkgXB18ztuY11y6w0yQFEH0axBtj6nhTFp/lNb047c8UmN0FBJAXsyDLOarY2BVHnjloS9oGQ+iItzwWfp5DK7KPEibEwDdQeW8ENcSyJh9CBGyPQEOpvDParO/e+UBhcos08smmnR6cDddg9txK0rX2roTta0y/9y8oCvhByvdlT+t2hVfhpsg6tDGyOK0qouAZjFdbVn6tCqj5DX5+nhtX6swaJttrJs5CKNP/yOJtl2IZVidBmGdcf5/3A+2xZtcONnDICxPgyJPXR4BpGZ3GoyUZ5sg5nHhr8RuI6C3CDQU0vY0OPxvcf2saQdIw9BsOlePI7l6BYQ42NO2CKmX6rD2LYJiSz5bg9eznQX9ZATkxnXPO4+vydVFU93SpOUyrH3l8rTUdfz16fKiCwBpFsbbfLXsAcSG53lDlrgJwN7k1MqXyapTzWX5I6rV9nSfxZsdq+mSfTC7xfMhdjfAb2P4U+Maog2HND2wnOgGJiXuoFuCsbmHfgSYo2D0BKBl6LVBODT8uoFoGoJtCFqH4cHq8VAsb+Sr1ySIe/nigm/DYGwq28dwbPV9aEA2PkTj+jZ/p+ecdhjCroX9XWG0ppwONMjBrJMFGMyDmcyKz/8ONmlE4tEK2Pd4GKdbMqFV93dWlW04VaAhbKgu2Rb29e0Kn1Ah/zsV1w2165HtteoW3apmw+kYRvt7hT8F8SpC+oG86vB9+dfWTqr3fTP804Vi5Kd9T15CaRwwmzDiZPzANeyLHVPJiufLLEwtmuRML3pMZVx18cFHQuWOarjlG9+QKSCt3apSx1TxZlCxoY59MctKMFHlTunijS/fqWr2v3ZJu8p3cCZNKpjh86x8/2bSKoAhmG3VLsThKNs6C1X42AqzMH8nSWZWVhU8tqJ8mdDzmVlRVbBDReYWAr1Q6brgtIpZL9Zh7iKXCE0uzw6si020TZnVosjCl21Bx4TGyjWzY0CQjXuwWbs16EsY4/fZtDo82xU+8DRtjZkGWU5LF0SFu8LdKsQNJ192/hBkwYbsPfSzfaP9tQ3ioiEZZzo8Q4Xpp8AIG2dZekNSq6wseHRFjfu/Wk3tmz66KtwvP+zegv8QiMMT5MxeK9RFPKabjHbZ3nB1rG2S4f+0sKOhdml3kCjWMGTfPAYxvY9uwCCNstLoRAB5Gizxa8Qs2n9ncWLV8XbzwrP7tfGRg8MIlGGyPvClA2sgYbwKP8LV9ihC7I1PYoWWsxanfuX7sZqjoVmm46rN2uVZ+3vKa1A7jnG6ztYhblulON0YFDwLoq85nSIn696bbfOWNLkliIh/8KwpQU3Wjyw6V10j0f5NaweYZBbsi06kXxtO1ZAfQyy69sPsaqkcvfhoHcYrY/e/f9/R/sfWpvTwblbeGGn0qP1u61S8ExmnQ6hXM9XKUM7/OBdhkv89+PLP4INnQpsbfBmw75zvpoPzwTrk4v3NX56rJMYy2ZRHnlfJciv/+0dZ7Fe+lEesvzyr0t8PB+fPw/PR8DsYen/8cf5cGcsf5B8qH/u/SEMYnD8DZQg1Q9AM2eD8mVGGrGbINENncP7sUIZOzdDRDN3B+bNLGbo1Q1czHA3On0fnrvvddDrRDEc1w5Fm6A3Onz2qRq9m6GmG48H585gyHNcMx5rhZHD+PKEMJzXDiWY4HZw/TynDac1wqhNA8AFI7kCdPGCwR9KH5g9BIJ1BIHgBJIegTiLQWQSCG0DyCOpEAp1JIPgBJJegTibQ2QSCIzAijeuEAp1RIHgCJKegTirQWQWCK0DyCurEAp1ZIPgCJLegTi7Q2QWCM0DyC+oEA51hTHCGkQxjdYYxnWFMcIaRDGN1hjEjRskgRUcpIkzpDGOCM4xkGKszjOkMY4IzjGQYqzOM6QxjgjOMZBirM4zpDGOCM4xkGKszjOkMY4IzjGQYqzOM6QxjgjOMZBirM4zpDGOCM4xkGKszjOkMcwRnHJJhTp1hjs4wR3DGIRnm1Bnm6AxzBGcckmFOnWGOMRPKqZCeC4nJUGeYIzjjkAxz6gxzdIY5gjMOyTCnzjBHZ5gjOOOQDHPqDHN0hjmCMw7JMKfOMEdnmCM445AMc+oMc3SGOYIzDskwp84wR2eYKzjjkgxz6wxzdYa5gjMuyTC3zjBXZ5grOOOSDHPrDHN1hrmCMy7JMLfOMNdYb8kFF73iIpZcOsNcwRmXZJhbZ5irM8wVnHFJhrl1hrk6w1zBGZdkmFtnmKszzBWccUmGuXWGuTrDXMEZl2SYW2eYqzNsJDgzIhk2qjNspDNsJDgzIhk2qjNspDNsJDgzIhk2qjNspDNsJDgzIhk2qjNspDNsJDgzIhk2qjNsZKzq5bKeZNiIWNjrDBsJzoxIho3qDBvpDBsJzoxIho3qDBvpDBsJzoxIho3qDBvpDBsJzoxIho3qDBvpDPMEZzySYV6dYZ7OME9wxiMZ5tUZ5ukM8wRnPJJhXp1hns4wT3DGIxnm1Rnm6QzzBGc8kmFenWGezjBPcMYjGebVGeYZe0e5eaR3j8T2UWeYJzjjkQzz6gzzdIZ5gjMeyTCvzjBPZ5gnOOORDPPqDPN0ho0FZ8Ykw8Z1ho11ho0FZ8Ykw8Z1ho11ho0FZ8Ykw8Z1ho11ho0FZ8Ykw8Z1ho11ho0FZ8Ykw8Z1ho11ho0FZ8Ykw8Z1ho11ho0FZ8Ykw8Z1ho2NDIVMUdA5CiJJoTNsLDgzJhk2rjNsrDNsLDgzJhk2rjNsrDNsIjgzIRk2qTNsojNsIjgzIRk2qTNsojNsIjgzIRk2qTNsojNsIjgzIRk2qTNsojNsIjgzIRk2qTNsojNsIjgzIRk2qTNsojNsIjgzIRk2qTNsojNsIjgzIRk2qTNsYuTBZCKMzoQRqTCdYRPBmQnJsEmdYROdYVPBmSnJsGmdYVOdYVPBmSnJsGmdYVOdYVPBmSnJsGmdYVOdYVPBmSnJsGmdYVOdYVPBmSnJsGmdYVOdYVPBmSnJsGmdYVOdYVPBmSnJsGmdYVOdYVPBmSnJsGmdYVOdYVPBmSnJsGmdYVMj2yrTrXS+lUi4mhlXlXJtyLlSSVcj6zqUadchnXcdEonXoZF5HcrU65DOvQ6J5OvQyL4OZfp1SOdfh0QCdmhkYIcyBTukc7BDIgk7NLKwQ5mGHdJ52CGRiB0amdihTMUO6VzskEjGDo1s7FCmY4d0PnZIJGSHRkZ2KFOyQzonOySSskMjKzuUadkhnZcdEonZocFElfxvyP5T6f9a/l8JAA0KACUBGExUIkCDCkDJAKYOoISABiWAkgJMLUCm90l5CCgxwFQDlBzQICZQgoCpCChJoEFQoEQBUxVQskCDqEAJA6YyoKSBBmGBEgdMdUDJAw3iAiUQGAoBMMXDKdkLhEgAhkoAMvEPtMgAhFAAhlIATIlRNJEJsQAMtQCkAACMnbvwnec4hgOCh4ZiAFIEAFpwAEI0AEM1ACkEAC06ACEcgKEcgBQDgBYegBAPwFAPQAoCQIsPQAgIYCgIIEUBoAUIIEQEMFQEkMIAsAndCwQTDSUBpDgAtBABhJgAhpoAUiAAZ0hSmRAUwFAUQIoEQAsSQIgKYKgK4ChplA6phLAAhrIAUiwAWpgAQlwAQ10AKRgALU4AITCAoTCAFA2AFiiAEBnAUBlACgdAixRACA1gKA0gxQOghQogxAYw1AaQAgLQYgUQggMYigNIEQFowQII0QEM1QFcaBkLhPAAhvIALmuhMiE+gKE+gBQUgJZNgBAgwFAgwFVCPT0WCBECDBUCpLAAtHwChBABhhIBUlwAWkIBQowAQ40AKTAALaMAIUiAoUiAFBmAllKAECXAUCVACg1AyylACBNgKBMgxQagJRUgxAkw1AkYQcv0TggUYCgUMGItkyshUoChUsBIMZEejYRQAYZSASPFRHo0EmIFGGoFjNSxEXosEIIFGIoFSBECaJEHCNECDNUCpBABtNADhHABhnIBUowAWuwBQrwAQ70AKUgALfgAIWCAoWCAFCWAFn2AEDHAUDFAChNACz9ACBlgKBkgxQmgxR8gxAww1AyQAgWM6KhMCBpgKBogRQqgRSAgRA0wVA2QQgXQQhAQwgYYygZ46hATkMOZEDfAUDdAChbgMdoBwURD4QApWgAtCgEhcoChcoA3besFgomG0gFSvABaWQJC7ABD7QApYACtLgEheICheIAUMcDzyEYkRA8wVA+QQkZTNxLCBxjKB0gxo6kbCfEDDPUDxoqJDSfaCCYaCgiMvZZuJEQQMFQQGCsm0vMCIYSAoYTAeNKyyCLEEDDUEJACB9CKGxCCCBiKCEiRA2jVDQhRBAxVBKTQAbTyBoQwAoYyAlLsAFp9A0IcAUMdASl4wNghiUQIJGAoJCBFD6BVOCBEEjBUEpiMWhYYhFAChlICUvwAWsoDQiwBQy2BiTrcSc9MhGAChmICUgQBWtIDQjQBQzUBKYQALesBIZyAoZzAdNjSjYR4AoZ6AlPFxIZzpgQTDQUFpCgCtD4IhIgChooCUhgBWiMEQkgBQ0kBKY4ArRMCIaaAoaaAFEiA1gqBEFTAUFRAiiRA64VAiCpgqCoghRKgNUMghBUwlBWYqqPGNJUJcQUMdQWkYAK0dgiEwAKGwsKUwkLrh4xQWJihsDClsNAaIiMUFmYoLEwpLLSOyAiFhRkKC1MKC60lMkJhYYbCwpTCMmXnzvQ7YIY9cQbZEFiYEljo9QUjBBZmCCxMCSy0JskIgYUZAgtTAkvDExDHkQ19hSl9hdY1GaGvMENfYUpfobVNRugrzNBXmNJXaH2TEfoKM/QVpvQVWuNkhL7CDH2FKX2F1jkZoa8wQ19hSl+htU5G6CvM0FeYFEzYkMwiMUJhYYbCwpTCQtOAEFiYIbAwqZcwWi1lhMDCDIGFSb2E0WopIwQWZggsTOoljFZLGSGwMENgYVIvaWxDgojmFQwlsNBtSF3CMG9hqGsYtFzLqIsYtZsY8ioGLdcy8jKGwUN1HYOWaxl1IaP8m7x098Gzgq+u1eW75+dB9f2ofwZ+eSNPLB5lTeJynlgefvnn33/3d/C+/PMvuoYnfhOVKTe8emcV8uZNkbfxtIO3HPvBoMaWmKr3HCM0gNGwobIUSTYrhwe/ZoZrAlQTdKqg8l+5x35xc3qWrYneR4IATjwEcDqxcvUSREGMvmqM+meM+mds6axYvslb9zouzL6OjtLqlRLI39TZOxQTq5XH8oUnGNYEuxlauVmKxoqCKKreLYBh4da38ybuEfNNWnzKG8/l98o0ryMEcmTXeNJryrNUfqgySsS7GPYOGRp2zG7Y6Q7ztyQrNI+4Oxw7j/IVizimMNR43rgcxZZhwbiSj5AN0ZAVU5+tN+OrRwgoG+NwY9khO48r9LEn7BQPXGY31vZOk7QWW4XYjzwyS4/qo4GIfIh7ZZeAbZfEMa+FFNTJ1pDyItsu5efp0OOhh7PzI1/U6ERBvNq3mxaEEYc9Sw7vfcZrrT89NMQ8y/ZSn/58Ve+V9MW7MImQPEUPPu3y5Ma3u5FHFF4sZ4ym786i7hniQTK05POhj5/imXiIZ2LLyG3/VWb8JA5+ki7EKLtS9KQ2pJDDURd/rUsI1Itel17ME/m2zCSJ9KUZGqhjy5Gq/P21DVZ5BVWDiGKJN+rgsgjTKIz1NsRxqYuvD/EtyCgI6w+MemXcoVeMsKStdGzXALtPCuLwPcLh227e0r+agJyN8Nw6shuN+69dIEcuXuGM7AKbmvH8fdSlVprIr+V+onSrf7IceUQT6tiy+aRHenZA3Wo3upSz8jU2CBZCZeun8XPaOEph3g2tIQrXRUKOVtR+nm37ode14r0nXttM7B67/NYUph6e8l076u1f64rh4KlpYtdUh7/VjGMAnjHALpaUFdS9iaTCfslkuY4rvVVo5WfPiSGCWnRst5bQXq6M2xQHmIktyP0XPHCswmzx7GCtxevYffnSO6JD8KZ4Ykdl6VC9RG/39QSMEVPIs3tc6VLGg5X8wBRfZTw19lEeWtV4douavdvyJY6IOiioMruguvemwOXbzcbYNI+Q15Gl1zBeUczG+1Bm2dPyc9dyO+rLvSgZDDGFLLMDyrH4enmLXzwnD+2WHbXvc+NAgWlkmReR/uTzS5gae9AgtCWl7i0tXwGHOwlv7btgFE1Zh4hCju3YFs4a0InEPUJnF2rrH3XCIxvHbstsyysv/CCK/FWyCcI494tolVMbLcTKqR0pK88Zfw1z8a2/lVYRRVG8L7LMaIlahEPNt/qXegzU5FO78S8qSL7FB9FP0XiY2q0T9q4rt+skEz1AuUfxZmq3gBDu0ywUMbClRVBYmNpFBeFXrVzFVz2pOQthtUzXS58p1a4TBHBiDVBL/xtBwcOR227YCY9RVPaSGCLYo4uGndvF335k7J1rjlE7Wi4aX3lRpsS1TkZ93NFNUrwZ6XBtkNp6E8+2f0j1j/aoqJdd616Wg6eh7VCwdu2CdeWw9LZOsiLS8rEumqNcuznqlRflEKw/M+AZ2fqZ08/irbZawnvkkT2yylX15SbkEDWfpRj1ygu1QgyK4OWTSD7j3LNlllj3WYTLd52MDGsg1hNekeq4cECwnNtUdqxM8QT5e8brC20Pr5DGdh28+wQG3p/gaX3iKEtxQMvGod6tgKMpWE5TIfEKaLyMwX0AduQjP46OfDp4EezYwpQf7MENh0PVxLK9jM8S4008lqFdO1B/qs84+mvO/ZfUkH7xQ0I3fxlf8yyTW3gpuumOcSdbykal491o058cM3lk15CR/Ja2n6ovazemugBvpMRNcnvfpetamspB3e5YguXxyhdvAy6oJRLyZznqhD/pTg80OBtiFw/2r8vGKxgsRFkSJwo3YVHXtrUQZeeo+rYunshwemtkR7hoGyUleVVOISezFXjOBcuVwSaIwzXPi1J5CLJ3rg2QEepQSzbvPuuH4zt+apVmFKKv3Qpww4ugNs4c7NGxC6WVI7NPXBz8LJel4ku9OiDsxIHyES3XPuZ3fzFh8KC3TMRId/GaGqETBNMyzgtv+2x5vC5I9uEsFFjGEuHZUFT1ozdWXmRxDQoeCKxaBajF3vkALLdG5rcl8DyOl2eWKEWeJAj9IA39d653MeAutlzeCncvSfLeNHCxguPasUa4bD5Mop2v6O6vfpYER2a7USIUXXVCRegZBrEd1IiO3dwo/cn2W0abjeYMTT+OZYfsnCnNWUrOu1WbUJ21CtCCxrGbBUQFKl9dPr3GSQdR0nIVKByKPlpyuZBbVX6/hcXbDrhWB1q+OnZbiKoO1CZk5yG2OpZsVWfG6qlCFODEcXQrX+UXLPFsj+PQxI7w1Zev8CYCJy6Hlm6Edh0X5hzK8ARjOQSpj7jjuQWvfi2FiNqGGrCECOMyyjLLvHnDphrwKQKwVK20D4pjX7jlLI8k4C8rYXbhdenQjqlpFsppfc11X3g4gSXry4W8WtWT8zAeSuJlCh28yu0BdcbMwROqY7dAEhkTv12ww6c7p/ZeD4h2+IAXWJ6RMdI7ofxeHx7GeIa2TOrvfNa94a2EZW6dzifgSdnyzFIWfK7C7cYvT0kFm43/4ZK7TdzploHUcL5MNxvSNQ6ullGxdK08B5vNh6std1AMcu36R3NoLgDwNt4yf6H7Sw1/aKy7dpzMeBAV4YYHqd7pOP8L1r5U+rxZ3MAT1cSOkpVTIl2Lh6AlLfmffFlYHrzAzLRMoyn/bUfrcApsbBc3M/7XlueFv97GpBQ4QUAtT0uULtfBdskL6VfTVZGsaukuT6IP3tLvqKsmtl2lfOZJ1CKWoUef2j669NsgUqDesZzVSn95EhEM1RKUtu6K4F2ba/C8aJmDKD8MjGcDzGZLvTJLlu9pkPIsX4Z5bpwpxBkDy7N7WfIZRMXnS5CHeZqExs0EwDcJwDIdV30FG6+pteshdkGm/L4xbi8cXCx12JyL4+CbVOgsfBWE2SpLUq0nkVPLBU7OiyKMX42Dk3gtbLnvVl+hw9M63hqrPK9YUJd3JRiUJ/QZsxsHefgaB8XWaEasB4E6NiTyVVXiamw3sey+EY+7GU9Qlgex8ihM0+CVm4l/vK0Fyz2nOuocvPK4eA+1XR2KIZZNV33hFPcO1sAsZd165EArIMduASR9+GJz7v+5TalQjtrK8vgl8ila7ZNnlF98KNayC4qg2Brn/TDfvCop51XEszy7m39uXgwBDC+twPKgfREY4xbnucHypLkQM81dK8ZieZWuEDvzLNC3CDibBZYZKHHMUuRbxL21KMwLg7j4MKPl2XDlUfgysrT48KaliFHTnhg+w8SgCnOWh+mlu6X8sr0We7SreXYDS7oyOhKffgTLmz3l6cyk1pk45w6WiyHpjGA7vnEElstU6av4TI15FG/CLLffxjevcVTEhzwtD6ZLbx9BtDV0LDzBW27maicQNcW4gw8q/qGGsswEypPYa0NA1FSJTm6oew8o0ljO1Ttv6yzZtN8ywOy3zHJV3oVz8qIBCj+eZfj5FoorwXpg1LaWdgPT1PvwNVawvBn7LYgiXWHBK8YOLnziuA8+vHaEK4oeaA1meZ7mG3/JQyNBjHUQsNQpxGpilQUCoh7ucYA47OmP80EapjwKYz748vzHv//+P8I32Eo="; \ 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 84a3cfe..96303d4 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 @@ -14,23 +14,34 @@ Provides a unified interface for token operations, NFT management, trading and m closePerpTradeShort create3LandCollection create3LandNft +createDriftUserAccount +createDriftVault createGibworkTask createMultisigProposal createSquadsMultisig createTiplink +CreateWebhook +deleteWebhook deployCollection deployToken +depositIntoDriftVault +depositToDriftUserAccount depositToMultisig +deriveDriftVaultAddress +doesUserHaveDriftAccount +driftUserAccountInfo executeMultisigTransaction fetchTokenDetailedReport fetchTokenPrice fetchTokenReportSummary flashCloseTrade flashOpenTrade +getAllAssetsbyOwner getAllDomainsTLDs getAllRegisteredAllDomains getBalance getBalanceOther +getDriftVaultInfo getMainAllDomainsDomain getOwnedAllDomains getOwnedDomainsForTLD @@ -40,6 +51,8 @@ Provides a unified interface for token operations, NFT management, trading and m getTokenDataByAddress getTokenDataByTicker getTPS +getWebhook +heliusParseTransactions launchPumpFunToken lendAssets limitOrder @@ -60,31 +73,39 @@ Provides a unified interface for token operations, NFT management, trading and m registerDomain rejectMultisigProposal requestFaucetFunds +requestWithdrawalFromDriftVault resolveAllDomains resolveSolDomain restake rockPaperScissors sendCompressedAirdrop +sendTranctionWithPriority stake tensorCancelListing tensorListNFT trade +tradeUsingDelegatedDriftVault +tradeUsingDriftPerpAccount transfer transferFromMultisig +updateDriftVault +updateDriftVaultDelegate withdrawAll +withdrawFromDriftAccount +withdrawFromDriftVault

    Constructors

    • Parameters

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

      Returns SolanaAgentKit

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

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

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

      Returns SolanaAgentKit

    Properties

    config: Config

    Configuration object

    -
    connection: Connection

    Solana RPC connection

    -
    wallet: Keypair

    Wallet keypair for signing transactions

    -
    wallet_address: PublicKey

    Public key of the wallet

    -

    Methods

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Returns Promise<{ signature: string; size: number }>

    • 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

      • optionsWithBase58: StoreInitOptions
      • collectionOpts: CreateCollectionOptions

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionAccount: string
      • createItemOptions: CreateSingleOptions
      • isMainnet: boolean

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • 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

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Closes an existing trading position on Flash.Trade

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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Returns Promise<{ signature: string; size: number }>

    • 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

      • optionsWithBase58: StoreInitOptions
      • collectionOpts: CreateCollectionOptions

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionAccount: string
      • createItemOptions: CreateSingleOptions
      • isMainnet: boolean

      Returns Promise<string>

    • Parameters

      • depositAmount: number
      • depositSymbol: string

      Returns Promise<
          | { account: PublicKey; message?: undefined; txSignature: string }
          | { account: PublicKey; message: string; txSignature?: undefined },
      >

    • Parameters

      • params: {
            hurdleRate?: number;
            managementFee: number;
            marketName: `${string}-${string}`;
            maxTokens: number;
            minDepositAmount: number;
            name: string;
            permissioned?: boolean;
            profitShare: number;
            redeemPeriod: number;
        }

      Returns Promise<string>

    • Parameters

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

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • Parameters

      • amount: number
      • OptionalsplmintAddress: PublicKey

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

    • Parameters

      • webhookID: string

      Returns Promise<any>

    • Parameters

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

      Returns Promise<{ mint: PublicKey }>

    • Parameters

      • amount: number
      • vault: string

      Returns Promise<string>

    • Parameters

      • amount: number
      • symbol: string
      • OptionalisRepayment: boolean

      Returns Promise<TxSigAndSlot>

    • Parameters

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • name: string

      Returns Promise<PublicKey>

    • Returns Promise<{ account: PublicKey; hasAccount: boolean }>

    • Returns Promise<
          {
              authority: PublicKey;
              cumulativePerpFunding: BN;
              cumulativeSpotFees: BN;
              delegate: PublicKey;
              hasOpenAuction: boolean;
              hasOpenOrder: boolean;
              idle: boolean;
              isMarginTradingEnabled: boolean;
              lastActiveSlot: number;
              lastAddPerpLpSharesTs: BN;
              lastFuelBonusUpdateTs: number;
              liquidationMarginFreed: BN;
              marginMode: MarginMode;
              maxMarginRatio: number;
              name: number[];
              nextLiquidationId: number;
              nextOrderId: number;
              openAuctions: number;
              openOrders: number;
              orders: Order[];
              perpPositions: {
                  baseAssetAmount: number;
                  lastBaseAssetAmountPerLp: BN;
                  lastCumulativeFundingRate: BN;
                  lastQuoteAssetAmountPerLp: BN;
                  lpShares: BN;
                  marketIndex: number;
                  openAsks: BN;
                  openBids: BN;
                  openOrders: number;
                  perLpBase: number;
                  quoteAssetAmount: BN;
                  quoteBreakEvenAmount: BN;
                  quoteEntryAmount: BN;
                  remainderBaseAssetAmount: number;
                  settledPnl: number;
              }[];
              poolId: number;
              settledPerpPnl: string;
              spotPositions: {
                  balanceType: SpotBalanceType;
                  cumulativeDeposits: number;
                  marketIndex: number;
                  openAsks: BN;
                  openBids: BN;
                  openOrders: number;
                  scaledBalance: number;
                  symbol: undefined
                  | string;
              }[];
              status: number;
              subAccountId: number;
              totalDeposits: string;
              totalSocialLoss: BN;
              totalWithdraws: string;
          },
      >

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Opens a new trading position on Flash.Trade

      Parameters

      • params: FlashTradeParams

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

      Returns Promise<string>

      Transaction signature

      -
    • Returns Promise<string[]>

    • Returns Promise<string[]>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

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

      Returns Promise<string[]>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      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

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    +
    • Parameters

      • owner: PublicKey
      • limit: number

      Returns Promise<any>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • vaultName: string

      Returns Promise<
          {
              address: string;
              balance: string;
              delegate: string;
              hurdleRate: number;
              managementFee: number;
              marketName: string;
              maxTokens: number;
              minDepositAmount: number;
              name: string;
              permissioned: boolean;
              profitShare: number;
              redeemPeriod: 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

      • transactionId: string

      Returns Promise<any>

    • 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

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • amount: number
      • vault: string

      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

      • priorityLevel: string
      • amount: number
      • to: PublicKey
      • OptionalsplmintAddress: PublicKey

      Returns Promise<{ fee: number; transactionId: 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

      • vault: string
      • amount: number
      • symbol: string
      • action: "long" | "short"
      • type: "market" | "limit"
      • Optionalprice: number

      Returns Promise<TxSigAndSlot>

    • Parameters

      • amount: number
      • symbol: string
      • action: "long" | "short"
      • type: "market" | "limit"
      • Optionalprice: number

      Returns Promise<string>

    • Parameters

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

      Returns Promise<string>

    • Parameters

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • vaultAddress: string
      • params: {
            hurdleRate?: number;
            managementFee: number;
            marketName: `${string}-${string}`;
            maxTokens: number;
            minDepositAmount: number;
            name: string;
            permissioned?: boolean;
            profitShare: number;
            redeemPeriod: number;
        }

      Returns Promise<string>

    • Parameters

      • vaultAddress: string
      • delegate: string

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Parameters

      • amount: number
      • symbol: string
      • OptionalisBorrow: boolean

      Returns Promise<TxSigAndSlot>

    • Parameters

      • vault: string

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 1713c73..af2ba46 100644 --- a/docs/functions/createSolanaTools.html +++ b/docs/functions/createSolanaTools.html @@ -1 +1 @@ -createSolanaTools | solana-agent-kit

    Function createSolanaTools

    • Parameters

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

    +createSolanaTools | solana-agent-kit

    Function createSolanaTools

    • Parameters

      Returns (
          | SolanaPerpOpenTradeTool
          | SolanaPerpCloseTradeTool
          | SolanaResolveAllDomainsTool
          | SolanaGetOwnedDomains
          | SolanaGetOwnedTldDomains
          | SolanaGetAllTlds
          | SolanaTokenDataByTickerTool
          | SolanaFlashOpenTrade
          | SolanaFlashCloseTrade
          | SolanaCreateGibworkTask
          | SolanaFetchPriceTool
          | SolanaTokenDataTool
          | SolanaTradeTool
          | SolanaStakeTool
          | SolanaLendAssetTool
          | SolanaManifestCreateMarket
          | SolanaBatchOrderTool
          | SolanaCancelAllOrdersTool
          | SolanaLimitOrderTool
          | SolanaWithdrawAllTool
          | SolanaTPSCalculatorTool
          | SolanaRequestFundsTool
          | SolanaBalanceTool
          | SolanaBalanceOtherTool
          | SolanaCloseEmptyTokenAccounts
          | SolanaTransferTool
          | SolanaCreateImageTool
          | SolanaGetWalletAddressTool
          | SolanaDeployCollectionTool
          | SolanaMintNFTTool
          | SolanaDeployTokenTool
          | SolanaOpenbookCreateMarket
          | SolanaOrcaCreateCLMM
          | SolanaOrcaCreateSingleSideLiquidityPool
          | SolanaClosePosition
          | SolanaOrcaFetchPositions
          | SolanaOrcaOpenCenteredPosition
          | SolanaOrcaOpenSingleSidedPosition
          | SolanaPumpfunTokenLaunchTool
          | SolanaPythFetchPrice
          | SolanaRaydiumCreateAmmV4
          | SolanaRaydiumCreateClmm
          | SolanaRaydiumCreateCpmm
          | SolanaFetchTokenReportSummaryTool
          | SolanaFetchTokenDetailedReportTool
          | SolanaRockPaperScissorsTool
          | SolanaRestakeTool
          | SolanaListNFTForSaleTool
          | SolanaCancelNFTListingTool
          | Solana3LandCreateSingle
          | Solana3LandCreateCollection
          | SolanaTipLinkTool
          | SolanaRegisterDomainTool
          | SolanaResolveDomainTool
          | SolanaGetDomainTool
          | SolanaGetMainDomain
          | SolanaCompressedAirdropTool
          | SolanaApproveProposal2by2Multisig
          | SolanaCreate2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaExecuteProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaHeliusWebhookTool
          | SolanaDeleteHeliusWebhookTool
          | SolanaGetAllAssetsByOwner
          | SolanaGetHeliusWebhookTool
          | SolanaParseTransactionHeliusTool
          | SolanaSendTransactionWithPriorityFee
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 8e46ff9..73f2928 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 a92edc3..91163d4 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 8d68c1f..479f85c 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

    • query: string

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index b4b0757..48d9e28 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

    • action: Action

    Returns string

    diff --git a/docs/index.html b/docs/index.html index b698fac..97f6b6b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -62,6 +62,7 @@
  • Pyth Price feeds for fetching Asset Prices
  • Register/resolve Alldomains
  • Perpetuals Trading with Adrena Protocol
  • +
  • Drift Vaults, Perps, Lending and Borrowing
  • @@ -164,6 +165,70 @@

    const { signature } = await agent.closeEmptyTokenAccounts();
    +

    Create a drift account with an initial token deposit.

    +
    const result = await agent.createDriftUserAccount()
    +
    + +

    Create a drift vault.

    +
    const signature = await agent.createDriftVault({
    name: "my-drift-vault",
    marketName: "USDC-SPOT",
    redeemPeriod: 1, // in days
    maxTokens: 100000, // in token units e.g 100000 USDC
    minDepositAmount: 5, // in token units e.g 5 USDC
    managementFee: 1, // 1%
    profitShare: 10, // 10%
    hurdleRate: 5, // 5%
    permissioned: false, // public vault or whitelist
    }) +
    + +

    Deposit tokens into a drift vault.

    +
    const signature = await agent.depositIntoDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
    +
    + +

    Deposit tokens into your drift account.

    +
    const {txSig} = await agent.depositToDriftUserAccount(100, "USDC")
    +
    + +

    Derive a drift vault address.

    +
    const vaultPublicKey = await agent.deriveDriftVaultAddress("my-drift-vault")
    +
    + +

    Check if agent has a drift account.

    +
    const {hasAccount, account} = await agent.doesUserHaveDriftAccount()
    +
    + +

    Get drift account information.

    +
    const accountInfo = await agent.driftUserAccountInfo()
    +
    + +

    Request withdrawal from drift vault.

    +
    const signature = await agent.requestWithdrawalFromDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
    +
    + +

    Open a perpertual trade using a drift vault that is delegated to you.

    +
    const signature = await agent.tradeUsingDelegatedDriftVault({
    vault: "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU",
    amount: 500,
    symbol: "SOL",
    action: "long",
    type: "limit",
    price: 180 // Please long limit order at $180/SOL
    }) +
    + +

    Open a perpertual trade using your drift account.

    +
    const signature = await agent.tradeUsingDriftPerpAccount({
    amount: 500,
    symbol: "SOL",
    action: "long",
    type: "limit",
    price: 180 // Please long limit order at $180/SOL
    }) +
    + +

    Update drift vault parameters.

    +
    const signature = await agent.updateDriftVault({
    name: "my-drift-vault",
    marketName: "USDC-SPOT",
    redeemPeriod: 1, // in days
    maxTokens: 100000, // in token units e.g 100000 USDC
    minDepositAmount: 5, // in token units e.g 5 USDC
    managementFee: 1, // 1%
    profitShare: 10, // 10%
    hurdleRate: 5, // 5%
    permissioned: false, // public vault or whitelist
    }) +
    + +

    Withdraw tokens from your drift account.

    +
    const {txSig} = await agent.withdrawFromDriftAccount(100, "USDC")
    +
    + +

    Borrow tokens from drift.

    +
    const {txSig} = await agent.withdrawFromDriftAccount(1, "SOL", true)
    +
    + +

    Repay a loan from drift.

    +
    const {txSig} = await agent.depositToDriftUserAccount(1, "SOL", true)
    +
    + +

    Withdraw tokens from a drift vault after the redemption period has elapsed.

    +
    const signature = await agent.withdrawFromDriftVault( "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
    +
    + +

    Update the address a drift vault is delegated to.

    +
    const signature = await agent.updateDriftVaultDelegate("41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU", "new-address")
    +
    +

    The repository includes an advanced example of building a multi-agent system using LangGraph and Solana Agent Kit. Located in examples/agent-kit-langgraph, this example demonstrates: