Cambiar el Estado del Hito (Milestone)

Permite modificar la propiedad de status (estado) de un hito específico dentro del contrato de escrow.

POST escrow/change-milestone-status

Encabezado

Nombre
Valor

Content-Type

application/json

Authorization

Bearer <token>

Cuerpo

Nombre
Tipo
Descripción

contractId

string

ID (dirección) que identifica al contrato de escrow.

milestoneIndex

string

Posición que identifica el hito dentro del grupo de hitos en el escrow.

newStatus

string

Nuevo valor para la propiedad de status dentro del hito del escrow.

serviceProvider

string

Dirección del proveedor de servicios que modificará la propiedad de status del contrato.

Ejemplo de cuerpo de solicitud (request body)

{
	"contractId": "GC3DJY4LLQYJHEONXFDLQVVRCFZQCPFX7VD33KP4P7QSVZY3SJHQBZGV",
	"milestoneIndex": "0", 
	"newStatus": "Approved",
	"serviceProvider": "GBY3PAJY5R3ZIXTYBGFW4URB4RINEXQBC3T4RWDDKJ5TZXQYZUN6A4TP"
}

Respuestas posibles

{
    "status": "SUCCESS",
    "unsignedTransaction": "AAAAAgAAAABfQAm/gS..."  // XDR Hash Transaction
}

¿Qué retorna este endpoint?

Este endpoint retorna la transacción sin firmar, para que pueda ser firmada mediante una billetera del usuario.

Ejemplo de uso (usando axios)

import axios from "axios";

const http = axios.create({
  baseURL: "https://dev.api.trustlesswork.com",
  timeout: 10000,
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer your_api_key`,
  },
});

export const useExample = async () => {
    // Get the signer address
    const { address } = await kit.getAddress();

    const response = await http.post(
      "/escrow/change-milestone-status",
      {
        // body requested for the endpoint
      },
    ); 
    
    // Get the unsigned transaction hash
    const { unsignedTransaction } = response.data;

    // Sign the transaction by wallet
    const { signedTxXdr } = await signTransaction(unsignedTransaction, {
      address,
      networkPassphrase: WalletNetwork.TESTNET,
    });

    // Send the transaction to Stellar Network
    const tx = await http.post("/helper/send-transaction", {
      signedXdr: signedTxXdr,
      returnValueIsRequired: true,
    });

    const { data } = tx;

    return data;
}

Last updated

Was this helpful?