1inch-agent-kit
Version:
AI Agent Kit for 1inch - Connect any LLM to 1inch DeFi protocols
46 lines • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.broadcastPublicTransaction = broadcastPublicTransaction;
exports.broadcastPrivateTransaction = broadcastPrivateTransaction;
exports.transactionAPI = transactionAPI;
const fetcher_1 = require("../../utils/fetcher");
// Individual endpoint functions
async function broadcastPublicTransaction(params) {
const fetcher = new fetcher_1.OneInchFetcher(process.env.ONEINCH_API_KEY || '');
const response = await fetcher.post(`/tx-gateway/v1.1/${params.chain}/broadcast`, {
rawTransaction: params.rawTransaction
});
return response;
}
async function broadcastPrivateTransaction(params) {
const fetcher = new fetcher_1.OneInchFetcher(process.env.ONEINCH_API_KEY || '');
const response = await fetcher.post(`/tx-gateway/v1.1/${params.chain}/flashbots`, {
rawTransaction: params.rawTransaction
});
return response;
}
/**
* Main transactionAPI function that handles all Transaction Gateway operations
*/
async function transactionAPI(params) {
try {
switch (params.endpoint) {
case 'broadcastPublicTransaction':
return await broadcastPublicTransaction({
chain: params.chain,
rawTransaction: params.rawTransaction
});
case 'broadcastPrivateTransaction':
return await broadcastPrivateTransaction({
chain: params.chain,
rawTransaction: params.rawTransaction
});
default:
throw new Error(`Unknown endpoint: ${params.endpoint}`);
}
}
catch (error) {
throw new Error(`Transaction Gateway API error: ${error instanceof Error ? error.message : 'Unknown error'}`);
}
}
//# sourceMappingURL=index.js.map