sei-agent-kit
Version:
A package for building AI agents on the SEI blockchain
32 lines (31 loc) • 1.5 kB
JavaScript
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