UNPKG

sei-agent-kit

Version:

A package for building AI agents on the SEI blockchain

32 lines (31 loc) 1.5 kB
import { Toolkit } from '@bancor/carbon-sdk/strategy-management'; import { initSyncedCache } from '@bancor/carbon-sdk/chain-cache'; import { ContractsApi } from '@bancor/carbon-sdk/contracts-api'; import { JsonRpcProvider } from '@ethersproject/providers'; import { SEI_RPC_URL, MAX_BLOCK_AGE } from '../../constants'; /** */ export async function composeTradeByTargetTx(agent, config, sourceToken, targetToken, tradeActions, deadline, maxInput, overrides) { try { const provider = new JsonRpcProvider(SEI_RPC_URL); const api = new ContractsApi(provider, config); const { cache } = initSyncedCache(api.reader, undefined, MAX_BLOCK_AGE); const carbonSDK = new Toolkit(api, cache, undefined); const populatedTx = await carbonSDK.composeTradeByTargetTransaction(sourceToken, targetToken, tradeActions, deadline, maxInput, overrides); const viemTx = { chain: agent.walletClient.chain, account: agent.walletClient.account?.address, to: populatedTx.to, data: populatedTx.data, value: populatedTx.value ? BigInt(populatedTx.value.toString()) : 0n, gas: populatedTx.gasLimit ? BigInt(populatedTx.gasLimit.toString()) : undefined, nonce: populatedTx.nonce, }; const txHash = await agent.walletClient.sendTransaction(viemTx); return txHash; } catch (error) { throw error; } } //# sourceMappingURL=composeTradeByTargetTx.js.map