Skip to main content
Glama
OpenZeppelin

OpenZeppelin Contracts MCP Server

Official
by OpenZeppelin
stellar.ts3.57 kB
import { contractExactRequiredKeys, type AiFunctionDefinition } from '../types/function-definition.ts'; import { addFunctionPropertiesFrom } from './shared.ts'; import { stellarCommonFunctionDescription } from './stellar-shared.ts'; import { stellarPrompts, stellarCommonDescriptions, stellarFungibleDescriptions, stellarNonFungibleDescriptions, stellarStablecoinDescriptions, } from '../../../../common/src/ai/descriptions/stellar.ts'; import { extractStringEnumValues } from '../types/helpers.ts'; import type { Limitations } from '../../../../core/stellar/dist/stablecoin'; export const stellarFungibleAIFunctionDefinition = { name: 'Fungible', description: stellarPrompts.Fungible, parameters: { type: 'object', properties: { ...addFunctionPropertiesFrom(stellarCommonFunctionDescription, [ 'name', 'symbol', 'burnable', 'pausable', 'upgradeable', 'mintable', 'access', 'info', ]), premint: { type: 'string', description: stellarFungibleDescriptions.premint, }, }, required: contractExactRequiredKeys<'stellar', 'Fungible'>()(['name', 'symbol']), additionalProperties: false, }, } as const satisfies AiFunctionDefinition<'stellar', 'Fungible'>; export const stellarStablecoinAIFunctionDefinition = { name: 'Stablecoin', description: stellarPrompts.Stablecoin, parameters: { type: 'object', properties: { ...addFunctionPropertiesFrom(stellarCommonFunctionDescription, [ 'name', 'symbol', 'burnable', 'pausable', 'mintable', 'access', 'info', ]), limitations: { anyOf: [ { type: 'boolean', enum: [false] }, { type: 'string', enum: extractStringEnumValues<Limitations>()(['allowlist', 'blocklist']) }, ], description: stellarStablecoinDescriptions.limitations, }, premint: { type: 'string', description: stellarStablecoinDescriptions.premint, }, upgradeable: { type: 'boolean', description: stellarCommonDescriptions.upgradeable, }, }, required: contractExactRequiredKeys<'stellar', 'Stablecoin'>()(['name', 'symbol']), additionalProperties: false, }, } as const satisfies AiFunctionDefinition<'stellar', 'Stablecoin'>; export const stellarNonFungibleAIFunctionDefinition = { name: 'NonFungible', description: stellarPrompts.NonFungible, parameters: { type: 'object', properties: { ...addFunctionPropertiesFrom(stellarCommonFunctionDescription, [ 'name', 'symbol', 'burnable', 'pausable', 'upgradeable', 'mintable', 'access', 'info', ]), enumerable: { type: 'boolean', description: stellarNonFungibleDescriptions.enumerable, }, consecutive: { type: 'boolean', description: stellarNonFungibleDescriptions.consecutive, }, sequential: { type: 'boolean', description: stellarNonFungibleDescriptions.sequential, }, tokenUri: { type: 'string', description: stellarNonFungibleDescriptions.tokenUri, }, upgradeable: { type: 'boolean', description: stellarCommonDescriptions.upgradeable, }, }, required: contractExactRequiredKeys<'stellar', 'NonFungible'>()(['name', 'symbol']), additionalProperties: false, }, } as const satisfies AiFunctionDefinition<'stellar', 'NonFungible'>;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/OpenZeppelin/contracts-wizard'

If you have feedback or need assistance with the MCP directory API, please join our Discord server