Actualizar escrow
Este endpoint te permite cambiar las propiedades de un escrow siempre que se cumpla una serie de requisitos, que se mencionarán en esta sección.
Requisitos para usar:
Solo la entidad con el rol de plataforma tiene permisos para ejecutar este endpoint
No puedes cambiar las propiedades de un escrow que ya tiene un hito aprobado
No puedes cambiar las propiedades de un escrow que ya tiene fondos
No puedes cambiar las propiedades de un escrow que está en disputa.
Encabezados
Content-Type
application/json
x-api-key
<token>
Roles:
aprobador
cadena
Dirección de la entidad que requiere el servicio.
proveedorDeServicio
cadena
Dirección de la entidad que presta el servicio.
direccionPlataforma
cadena
Dirección de la entidad que posee el escrow
firmanteDeLiberacion
cadena
Dirección del usuario encargado de liberar los fondos del escrow al proveedor de servicio.
resolutorDeDisputas
cadena
Dirección encargada de resolver disputas dentro del escrow.
receptor
cadena
Dirección donde se enviarán los ingresos del escrow
Hito:
descripción
cadena
Texto que describe la función del hito.
estado
cadena
Estado del hito. Ej: Aprobado, En disputa, etc...
aprobado
booleano
Indicador que señala si un hito ha sido aprobado por el aprobador.
Indicadores
en disputa
booleano
Indicador que señala que un escrow está en disputa.
liberado
booleano
Indicador que señala que los fondos del escrow ya han sido liberados.
resuelto
booleano
Indicador que señala que un escrow disputado ya ha sido resuelto.
Trustline
dirección
cadena
Dirección pública que establece permiso para aceptar y usar un token específico.
Open API
Entity that signs the transaction that deploys and initializes the escrow
GSIGN...XYZID (address) that identifies the escrow contract
CAZ6UQX7...Escrow data to update
This endpoint returns an unsigned transaction in XDR format. This XDR is then used to sign the transaction using the “/helper/send-transaction” endpoint.
Bad request
Unauthorized access
Too Many Requests
PUT /escrow/single-release/update-escrow HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 846
{
"signer": "GAPPROVER1234567890...",
"contractId": "CAZ6UQX7...",
"isActive": true,
"escrow": {
"signer": "GAPPROVER1234567890...",
"engagementId": "ENG12345",
"title": "Project Title",
"description": "This is a detailed description of the project.",
"roles": {
"approver": "GAPPROVER1234567890...",
"serviceProvider": "GAPPROVER1234567890...",
"platformAddress": "GAPPROVER1234567890...",
"releaseSigner": "GAPPROVER1234567890...",
"disputeResolver": "GAPPROVER1234567890...",
"receiver": "GAPPROVER1234567890..."
},
"amount": 1000,
"platformFee": 50,
"milestones": [
{
"description": "test1",
"status": "pending",
"evidence": "Any evidence that the milestone is completed"
},
{
"description": "test2",
"status": "pending",
"evidence": "Any evidence that the milestone is completed"
}
],
"flags": {
"disputed": false,
"released": false,
"resolved": false
},
"trustline": {
"address": "GAPPROVER1234567890..."
}
}
}{
"status": "SUCCESS",
"unsignedTransaction": "AAAAAgAAAAAtWsgedQ...."
}¿Qué devuelve este Endpoint?
Este endpoint devuelve la transacción sin firmar para que la transacción pueda ser firmada mediante la cartera del cliente.
Ejemplo de uso:
import axios from "axios";
const http = axios.create({
baseURL: "https://dev.api.trustlesswork.com",
timeout: 10000,
headers: {
"Content-Type": "application/json",
"x-api-key": tu_api_key,
},
});
export const useExample = async () => {
// Obtener la dirección del firmante
const { address } = await kit.getAddress();
const response = await http.put(
"/escrow/single-release/update-escrow",
{
// body solicitado para el endpoint
},
);
// Obtener el hash de la transacción sin firmar
const { unsignedTransaction } = response.data;
// Firmar la transacción con la cartera
const { signedTxXdr } = await signTransaction(unsignedTransaction, {
address,
networkPassphrase: WalletNetwork.TESTNET,
});
// Enviar la transacción a la Red Stellar
const tx = await http.post("/helper/send-transaction", {
signedXdr: signedTxXdr,
});
const { data } = tx;
return data;
}Última actualización
¿Te fue útil?