mirror of
https://github.com/d0zingcat/solana-agent-kit.git
synced 2026-05-14 07:26:46 +00:00
Merge branch 'main' into jup-sol
This commit is contained in:
@@ -105,9 +105,7 @@ import { PublicKey } from '@solana/web3.js';
|
||||
|
||||
const signature = await lendAsset(
|
||||
agent,
|
||||
new PublicKey('asset-mint'),
|
||||
100, // amount
|
||||
"lulo-api-key"
|
||||
);
|
||||
```
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
solanaagentkit.xyz
|
||||
@@ -1 +1 @@
|
||||
window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE4WSTU/DMAyG/0vOFWUVG9DbRLUL40PQG+IQBZdGS+2odiQmtP+OyibWji695OInj+PXeftWAl+icvVKTqNefgLKvRWVKK+lVrkyTjMDp8P6RS2NU4naWPxQ+Sy72SV/pjtyDoxYwgK8o20D2PNZFGgrbYDTMXAozuaLUfGT706esB6oqLIFLdSOi/a12PV1cLQ0hgJKAaKt4xdgT8gwajyPx5o8WJTjUI+rMtrjLB1r8RwaXwVc64CmjupHySn1KmBJG4iubYSbSr4AT2xlyQzSjX30ytYf4j5lTpyXt9ezedbzmm7psP/sJZHrPbYK+Jspp/+goXVxtXv/ATHeAoJZAwAA"
|
||||
window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE4XSTUsDQQwG4P+S8+Ji0SJ7K5ZerB/o3sTDMGbdodlk2GRAkf53qRXt4nR6mUveeUJInj/B8N2ggSchx27xhmw3waCC6KyHBjw5VdR6Wj/rbSCoYBP4FZrz2dW2+pWuhQi9BeElRpKPAfnAC2w4ds6j1rngFJ5dzrPwfdy9ekL9SRXJEZ3JmIf2tdL3dSJZeC+JbYnmAukjahRWzIrH46Umt4Htb6i7VVvscTRdavGQhtglXrvEvi/y2eQpepW4lQ0W15bJlVi/Ww7uj7IVoQO0S/w9u9b/QlNxfrF9+QJeMbLbAQMAAA=="
|
||||
@@ -1 +1 @@
|
||||
window.searchData = "data:application/octet-stream;base64,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";
|
||||
window.searchData = "data:application/octet-stream;base64,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";
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -6,6 +6,5 @@
|
||||
<a href="interfaces/MintCollectionNFTResponse.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>Mint<wbr/>CollectionNFTResponse</span></a>
|
||||
<a href="interfaces/PumpfunLaunchResponse.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>Pumpfun<wbr/>Launch<wbr/>Response</span></a>
|
||||
<a href="interfaces/PumpFunTokenOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>Pump<wbr/>Fun<wbr/>Token<wbr/>Options</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Type Aliases</h3><div class="tsd-index-list"><a href="types/LuloDepositAssetMint.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-2097152"></use></svg><span>Lulo<wbr/>Deposit<wbr/>Asset<wbr/>Mint</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Functions</h3><div class="tsd-index-list"><a href="functions/createSolanaTools.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>create<wbr/>Solana<wbr/>Tools</span></a>
|
||||
</div></section></section></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-1"></use></svg><span>solana-agent-kit</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>LuloDepositAssetMint | solana-agent-kit</title><meta name="description" content="Documentation for solana-agent-kit"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">solana-agent-kit</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">solana-agent-kit</a></li><li><a href="LuloDepositAssetMint.html">LuloDepositAssetMint</a></li></ul><h1>Type Alias LuloDepositAssetMint</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Lulo<wbr/>Deposit<wbr/>Asset<wbr/>Mint</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof </span><span class="tsd-signature-type">TOKENS</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-keyword">keyof </span><span class="tsd-signature-keyword">typeof </span><span class="tsd-signature-type">TOKENS</span><span class="tsd-signature-symbol">]</span></div><div class="tsd-comment tsd-typography"><p>Mint addresses of supported tokens for lending on Lulo</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/thearyanag/solana-agent-kit/blob/b40f65d5c02bcb20381f8c2c273b3f8208eaf241/src/types/index.ts#L47">types/index.ts:47</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>solana-agent-kit</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
||||
@@ -10,6 +10,8 @@ import {
|
||||
trade,
|
||||
registerDomain,
|
||||
launchPumpFunToken,
|
||||
lendAsset,
|
||||
getTPS,
|
||||
stakeWithJup,
|
||||
} from "../tools";
|
||||
import { CollectionOptions, PumpFunTokenOptions } from "../types";
|
||||
@@ -33,7 +35,7 @@ export class SolanaAgentKit {
|
||||
constructor(
|
||||
private_key: string,
|
||||
rpc_url = "https://api.mainnet-beta.solana.com",
|
||||
openai_api_key: string
|
||||
openai_api_key: string,
|
||||
) {
|
||||
this.connection = new Connection(rpc_url);
|
||||
this.wallet = Keypair.fromSecretKey(bs58.decode(private_key));
|
||||
@@ -47,7 +49,7 @@ export class SolanaAgentKit {
|
||||
}
|
||||
|
||||
async deployToken(
|
||||
decimals: number = DEFAULT_OPTIONS.TOKEN_DECIMALS
|
||||
decimals: number = DEFAULT_OPTIONS.TOKEN_DECIMALS,
|
||||
// initialSupply?: number
|
||||
) {
|
||||
return deploy_token(this, decimals);
|
||||
@@ -64,7 +66,7 @@ export class SolanaAgentKit {
|
||||
async mintNFT(
|
||||
collectionMint: PublicKey,
|
||||
metadata: Parameters<typeof mintCollectionNFT>[2],
|
||||
recipient?: PublicKey
|
||||
recipient?: PublicKey,
|
||||
) {
|
||||
return mintCollectionNFT(this, collectionMint, metadata, recipient);
|
||||
}
|
||||
@@ -81,17 +83,25 @@ export class SolanaAgentKit {
|
||||
outputMint: PublicKey,
|
||||
inputAmount: number,
|
||||
inputMint?: PublicKey,
|
||||
slippageBps: number = DEFAULT_OPTIONS.SLIPPAGE_BPS
|
||||
slippageBps: number = DEFAULT_OPTIONS.SLIPPAGE_BPS,
|
||||
) {
|
||||
return trade(this, outputMint, inputAmount, inputMint, slippageBps);
|
||||
}
|
||||
|
||||
async lendAssets(amount: number) {
|
||||
return lendAsset(this, amount);
|
||||
}
|
||||
|
||||
async getTPS() {
|
||||
return getTPS(this);
|
||||
}
|
||||
|
||||
async launchPumpFunToken(
|
||||
tokenName: string,
|
||||
tokenTicker: string,
|
||||
description: string,
|
||||
imageUrl: string,
|
||||
options?: PumpFunTokenOptions
|
||||
options?: PumpFunTokenOptions,
|
||||
) {
|
||||
return launchPumpFunToken(
|
||||
this,
|
||||
@@ -99,7 +109,7 @@ export class SolanaAgentKit {
|
||||
tokenTicker,
|
||||
description,
|
||||
imageUrl,
|
||||
options
|
||||
options,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -28,8 +28,3 @@ export const DEFAULT_OPTIONS = {
|
||||
* Jupiter API URL
|
||||
*/
|
||||
export const JUP_API = "https://quote-api.jup.ag/v6";
|
||||
|
||||
/**
|
||||
* LULO (fka Flexlend) API URL
|
||||
*/
|
||||
export const LULO_API = "https://api.flexlend.fi";
|
||||
|
||||
@@ -516,6 +516,57 @@ export class SolanaCreateImageTool extends Tool {
|
||||
}
|
||||
}
|
||||
|
||||
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<string> {
|
||||
try {
|
||||
let 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: 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<string> {
|
||||
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.
|
||||
@@ -562,6 +613,8 @@ export function createSolanaTools(solanaKit: SolanaAgentKit) {
|
||||
new SolanaGetWalletAddressTool(solanaKit),
|
||||
new SolanaPumpfunTokenLaunchTool(solanaKit),
|
||||
new SolanaCreateImageTool(solanaKit),
|
||||
new SolanaLendAssetTool(solanaKit),
|
||||
new SolanaTPSCalculatorTool(solanaKit),
|
||||
new SolanaStakeTool(solanaKit),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export async function create_image(
|
||||
agent: SolanaAgentKit,
|
||||
prompt: string,
|
||||
size: "256x256" | "512x512" | "1024x1024" = "1024x1024",
|
||||
n: number = 1
|
||||
n: number = 1,
|
||||
) {
|
||||
try {
|
||||
if (!agent.openai_api_key) {
|
||||
@@ -21,7 +21,7 @@ export async function create_image(
|
||||
}
|
||||
|
||||
const openai = new OpenAI({
|
||||
apiKey: agent.openai_api_key
|
||||
apiKey: agent.openai_api_key,
|
||||
});
|
||||
|
||||
const response = await openai.images.generate({
|
||||
@@ -31,9 +31,8 @@ export async function create_image(
|
||||
});
|
||||
|
||||
return {
|
||||
images: response.data.map((img) => img.url),
|
||||
images: response.data.map((img: any) => img.url),
|
||||
};
|
||||
|
||||
} catch (error: any) {
|
||||
throw new Error(`Image generation failed: ${error.message}`);
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
export * from './request_faucet_funds';
|
||||
export * from './deploy_token';
|
||||
export * from './deploy_collection';
|
||||
export * from './get_balance';
|
||||
export * from './mint_nft';
|
||||
export * from './transfer';
|
||||
export * from './trade';
|
||||
export * from './register_domain';
|
||||
export * from './launch_pumpfun_token';
|
||||
export * from "./request_faucet_funds";
|
||||
export * from "./deploy_token";
|
||||
export * from "./deploy_collection";
|
||||
export * from "./get_balance";
|
||||
export * from "./mint_nft";
|
||||
export * from "./transfer";
|
||||
export * from "./trade";
|
||||
export * from "./register_domain";
|
||||
export * from "./launch_pumpfun_token";
|
||||
export * from "./lend";
|
||||
export * from "./get_tps";
|
||||
export * from './stake_with_jup';
|
||||
@@ -1,94 +1,60 @@
|
||||
import { VersionedTransaction } from "@solana/web3.js";
|
||||
import { SolanaAgentKit } from "../index";
|
||||
import { LuloAccountDetailsResponse, LuloDepositAssetMint } from "../types";
|
||||
import { getPriorityFees } from "../utils/send_tx";
|
||||
import { LULO_API } from "../constants";
|
||||
import { LuloAccountDetailsResponse } from "../types";
|
||||
import { SolanaAgentKit } from "../agent";
|
||||
|
||||
/**
|
||||
* Lend tokens for yields using Lulo
|
||||
* @param agent SolanaAgentKit instance
|
||||
* @param asset Mint address of the token to lend (as supported by Lulo)
|
||||
* @param amount Amount to lend (in token decimals)
|
||||
* @param LULO_API_KEY Valid API key for Lulo
|
||||
* @param amount Amount of USDC to lend
|
||||
* @returns Transaction signature
|
||||
*/
|
||||
export async function lendAsset(
|
||||
agent: SolanaAgentKit,
|
||||
asset: LuloDepositAssetMint,
|
||||
amount: number,
|
||||
LULO_API_KEY = "",
|
||||
amount: number
|
||||
): Promise<string> {
|
||||
try {
|
||||
if (!LULO_API_KEY) {
|
||||
throw new Error("Missing Lulo API key");
|
||||
}
|
||||
|
||||
const request = {
|
||||
owner: agent.wallet.publicKey.toBase58(),
|
||||
mintAddress: asset.toBase58(),
|
||||
depositAmount: amount.toString(),
|
||||
};
|
||||
|
||||
const priorityFees = await getPriorityFees(agent.connection);
|
||||
const priority = `?priorityFee=${priorityFees.median}`;
|
||||
|
||||
const response = await fetch(
|
||||
`${LULO_API}/generate/account/deposit${priority}`,
|
||||
`https://blink.lulo.fi/actions?amount=${amount}&symbol=USDC`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"x-wallet-pubkey": agent.wallet.publicKey.toBase58(),
|
||||
"x-api-key": LULO_API_KEY,
|
||||
},
|
||||
body: JSON.stringify(request),
|
||||
},
|
||||
body: JSON.stringify({
|
||||
account: agent.wallet.publicKey.toBase58(),
|
||||
}),
|
||||
}
|
||||
);
|
||||
|
||||
const {
|
||||
data: { transactionMeta },
|
||||
} = await response.json();
|
||||
const data = await response.json();
|
||||
|
||||
// Deserialize the transaction
|
||||
const luloTxn = VersionedTransaction.deserialize(
|
||||
Buffer.from(transactionMeta[0].transaction, "base64"),
|
||||
Buffer.from(data.transaction, "base64")
|
||||
);
|
||||
|
||||
// Get a recent blockhash and set it
|
||||
const { blockhash } = await agent.connection.getLatestBlockhash();
|
||||
luloTxn.message.recentBlockhash = blockhash;
|
||||
|
||||
// Sign and send transaction
|
||||
luloTxn.sign([agent.wallet]);
|
||||
const signature = await agent.connection.sendTransaction(luloTxn);
|
||||
|
||||
const signature = await agent.connection.sendTransaction(luloTxn, {
|
||||
preflightCommitment: "confirmed",
|
||||
maxRetries: 3,
|
||||
});
|
||||
|
||||
// Wait for confirmation using the latest strategy
|
||||
const latestBlockhash = await agent.connection.getLatestBlockhash();
|
||||
await agent.connection.confirmTransaction({
|
||||
signature,
|
||||
blockhash: latestBlockhash.blockhash,
|
||||
lastValidBlockHeight: latestBlockhash.lastValidBlockHeight,
|
||||
});
|
||||
|
||||
return signature;
|
||||
} catch (error: any) {
|
||||
throw new Error(`Lending failed: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch lending details for agent
|
||||
* @param agent SolanaAgentKit instance
|
||||
* @param LULO_API_KEY Valid API key for Lulo
|
||||
* @returns Lending account details
|
||||
*/
|
||||
export async function getLendingDetails(
|
||||
agent: SolanaAgentKit,
|
||||
LULO_API_KEY = "",
|
||||
): Promise<LuloAccountDetailsResponse> {
|
||||
try {
|
||||
if (!LULO_API_KEY) {
|
||||
throw new Error("Missing Lulo API key");
|
||||
}
|
||||
|
||||
const response = await fetch(`${LULO_API}/account`, {
|
||||
headers: {
|
||||
"x-wallet-pubkey": agent.wallet.publicKey.toBase58(),
|
||||
"x-api-key": LULO_API_KEY,
|
||||
},
|
||||
});
|
||||
|
||||
const { data } = await response.json();
|
||||
|
||||
return data as LuloAccountDetailsResponse;
|
||||
} catch (error: any) {
|
||||
throw new Error(`Failed to fetch lending details: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { PublicKey } from "@solana/web3.js";
|
||||
import { TOKENS } from "../constants";
|
||||
|
||||
export interface Creator {
|
||||
address: string;
|
||||
@@ -41,11 +40,6 @@ export interface PumpfunLaunchResponse {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Mint addresses of supported tokens for lending on Lulo
|
||||
*/
|
||||
export type LuloDepositAssetMint = (typeof TOKENS)[keyof typeof TOKENS];
|
||||
|
||||
/**
|
||||
* Lulo Account Details response format
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user