1inch-agent-kit
Version:
AI Agent Kit for 1inch - Connect any LLM to 1inch DeFi protocols
81 lines • 3.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.lookupDomain = lookupDomain;
exports.reverseLookup = reverseLookup;
exports.reverseLookupBatch = reverseLookupBatch;
exports.getProvidersDataWithAvatar = getProvidersDataWithAvatar;
exports.domainAPI = domainAPI;
const fetcher_1 = require("../../utils/fetcher");
// Individual endpoint functions
async function lookupDomain(params) {
const fetcher = new fetcher_1.OneInchFetcher(process.env.ONEINCH_API_KEY || '');
const queryParams = new URLSearchParams();
queryParams.append('name', params.name);
const url = `/domains/v2.0/lookup?${queryParams.toString()}`;
const response = await fetcher.get(url);
return response;
}
async function reverseLookup(params) {
const fetcher = new fetcher_1.OneInchFetcher(process.env.ONEINCH_API_KEY || '');
const queryParams = new URLSearchParams();
queryParams.append('address', params.address);
const url = `/domains/v2.0/reverse-lookup?${queryParams.toString()}`;
const response = await fetcher.get(url);
return response;
}
async function reverseLookupBatch(params) {
const fetcher = new fetcher_1.OneInchFetcher(process.env.ONEINCH_API_KEY || '');
const response = await fetcher.post('/domains/v2.0/reverse-lookup-batch', params.addresses);
return response;
}
async function getProvidersDataWithAvatar(params) {
const fetcher = new fetcher_1.OneInchFetcher(process.env.ONEINCH_API_KEY || '');
const queryParams = new URLSearchParams();
queryParams.append('addressOrDomain', params.addressOrDomain);
const url = `/domains/v2.0/get-providers-data-with-avatar?${queryParams.toString()}`;
const response = await fetcher.get(url);
return response;
}
/**
* Main domainAPI function that handles all Domain operations
*/
async function domainAPI(params) {
try {
switch (params.endpoint) {
case 'lookupDomain':
if (!params.name) {
throw new Error('name is required for lookupDomain');
}
return await lookupDomain({
name: params.name
});
case 'reverseLookup':
if (!params.address) {
throw new Error('address is required for reverseLookup');
}
return await reverseLookup({
address: params.address
});
case 'reverseLookupBatch':
if (!params.addresses) {
throw new Error('addresses is required for reverseLookupBatch');
}
return await reverseLookupBatch({
addresses: params.addresses
});
case 'getProvidersDataWithAvatar':
if (!params.addressOrDomain) {
throw new Error('addressOrDomain is required for getProvidersDataWithAvatar');
}
return await getProvidersDataWithAvatar({
addressOrDomain: params.addressOrDomain
});
default:
throw new Error(`Unknown endpoint: ${params.endpoint}`);
}
}
catch (error) {
throw new Error(`Domain API error: ${error instanceof Error ? error.message : 'Unknown error'}`);
}
}
//# sourceMappingURL=index.js.map