Liberar fondos del hito
Liberas los fondos del escrow del hito al proveedor de servicios a través del approver.
Encabezados
Nombre
Valor
Content-Type
application/json
x-api-key
<token>
API Abierta
post
Autorizaciones
Cuerpo
contractIdstringRequeridoExample:
ID (address) that identifies the escrow contract
CAZ6UQX7...releaseSignerstringRequeridoExample:
Address of the user in charge of releasing the escrow funds to the receiver
GAPPROVER1234567890...milestoneIndexstringRequeridoExample:
Position that identifies the milestone within the group of milestones in the escrow
1Respuestas
201
This endpoint returns an unsigned transaction in XDR format. This XDR is then used to sign the transaction using the “/helper/send-transaction” endpoint.
application/json
400
Bad request
401
Unauthorized access
429
Too Many Requests
500
Possible errors:
- This milestone is already released
- This escrow is already resolved
- Only the release signer can release the escrow funds
- Escrow initialized without milestone
- The milestone must be completed to release funds
- Milestone has been opened for dispute resolution
- Invalid milestone index
- The escrow balance must be equal to the amount of earnings defined for the escrow
- Escrow not found
- An unexpected error occurred
application/json
post
/escrow/multi-release/release-milestone-fundsPOST /escrow/multi-release/release-milestone-funds HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 91
{
"contractId": "CAZ6UQX7...",
"releaseSigner": "GAPPPROVER1234567890...",
"milestoneIndex": "1"
}{
"status": "SUCCESS",
"unsignedTransaction": "AAAAAgAAAAAtWsgedQ...."
}
¿Qué devuelve este endpoint?
Este endpoint devuelve la transacción sin firmar para que la transacción pueda ser firmada por medio de la billetera 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": your_api_key,
},
});
export const useExample = async () => {
// Obtener la dirección del firmante
const { address } = await kit.getAddress();
const response = await http.post(
"/escrow/multi-release/release-milestone-funds",
{
// cuerpo solicitado para el endpoint
},
);
// Obtener el hash de la transacción sin firmar
const { unsignedTransaction } = response.data;
// Firmar la transacción con la billetera
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?