Retirar fondos restantes

Esta función se usa para retirar fondos que están atrapados en escrow y no pueden retirarse debido a la forma en que funciona el escrow de liberación múltiple, ya que las disputas en este caso se manejan a nivel de hito.

En las cuentas de escrow de liberación única, este endpoint no es necesario porque las disputas se manejan a nivel de la cuenta de escrow, por lo que si queda algún saldo en el contrato, se abre una disputa y se retira el saldo restante.

Encabezados

Nombre
Valor

Tipo de contenido

application/json

x-api-key

<token>

API Abierta

post
Autorizaciones
Cuerpo
contractIdstringRequerido

ID (address) that identifies the escrow contract

Example: CAZ6UQX7...
disputeResolverstringRequerido

Address of the user defined to resolve disputes in an escrow

Example: GDISPUTE...XYZ
Respuestas
post
/escrow/multi-release/withdraw-remaining-funds
POST /escrow/multi-release/withdraw-remaining-funds HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 188

{
  "contractId": "CAZ6UQX7...",
  "disputeResolver": "GDISPUTE1234567890...",
  "distributions": [
    {
      "address": "GAPPROVER1234567890...",
      "amount": 150
    },
    {
      "address": "GRECEIVER1234567890...",
      "amount": 850
    }
  ]
}
{
  "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 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.post(
      "/escrow/multi-release/withdraw-remaining-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 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?