Skip to main content
Glama

calcular_hash_transaccion

Calculate a unique transaction hash for MIST.cash privacy-preserving payments on Starknet using transaction parameters like recipient address, token contract, and amount.

Instructions

Calculate the unique hash of a transaction using transaction parameters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
transaction_keyYesTransaction key
recipient_addressYesStarknet address of the recipient
token_addressYesToken contract address
amountYesAmount in base units (wei)

Implementation Reference

  • The main handler function that validates input using CalcularHashTransaccionSchema, checks Starknet addresses, computes the transaction hash using txHash from @mistcash/crypto, and returns success with hash and details.
    export async function calcularHashTransaccion(params) { // Validate parameters const validated = CalcularHashTransaccionSchema.parse(params); // Additional validation for addresses if (!isValidStarknetAddress(validated.recipient_address)) { throw new Error(`Invalid recipient address format: ${validated.recipient_address}`); } if (!isValidStarknetAddress(validated.token_address)) { throw new Error(`Invalid token address format: ${validated.token_address}`); } try { // Compute transaction hash using MIST.cash crypto const hash = txHash(validated.transaction_key, validated.recipient_address, validated.token_address, validated.amount); return { success: true, hash, transaction_details: { transaction_key: validated.transaction_key, recipient_address: validated.recipient_address, token_address: validated.token_address, amount: validated.amount } }; } catch (error) { throw new Error(`Failed to calculate transaction hash: ${error.message}`); } }
  • Zod schema defining input validation for the tool: transaction_key (string), recipient_address and token_address (Starknet addresses), amount (numeric string).
    export const CalcularHashTransaccionSchema = z.object({ transaction_key: z.string().min(1, 'Transaction key is required'), recipient_address: StarknetAddressSchema, token_address: StarknetAddressSchema, amount: z.string().regex(/^\d+$/, 'Amount must be a numeric string') });
  • src/index.ts:116-140 (registration)
    Tool registration in ListToolsRequestSchema handler, including name, description, and inputSchema matching the Zod schema.
    name: 'calcular_hash_transaccion', description: 'Calculate the unique hash of a transaction using transaction parameters.', inputSchema: { type: 'object', properties: { transaction_key: { type: 'string', description: 'Transaction key', }, recipient_address: { type: 'string', description: 'Starknet address of the recipient', }, token_address: { type: 'string', description: 'Token contract address', }, amount: { type: 'string', description: 'Amount in base units (wei)', }, }, required: ['transaction_key', 'recipient_address', 'token_address', 'amount'], }, },
  • src/index.ts:196-204 (registration)
    Dispatch logic in CallToolRequestSchema switch statement that invokes the calcularHashTransaccion handler and returns JSON stringified result.
    case 'calcular_hash_transaccion': return { content: [ { type: 'text', text: JSON.stringify(await calcularHashTransaccion(args), null, 2), }, ], };

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/joadataarg/Mcp-mistcash'

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