Retirar Fundos Restantes

Esta função é usada para retirar fundos que estão presos em custódia e não podem ser sacados devido ao funcionamento de custódia com liberações múltiplas, já que disputas nesse caso são tratadas ao nível do marco (milestone).

Em contas de custódia com liberação única, este endpoint não é necessário porque as disputas são tratadas ao nível da conta de custódia, então se houver qualquer saldo remanescente no contrato, uma disputa é aberta e o saldo restante é retirado.

Cabeçalhos

Nome
Valor

Content-Type

application/json

x-api-key

<token>

Open API

post
Autorizações
Corpo
contractIdstringObrigatório

ID (address) that identifies the escrow contract

Example: CAZ6UQX7...
disputeResolverstringObrigatório

Address of the user defined to resolve disputes in an escrow

Example: GDISPUTE...XYZ
Respostas
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...."
}

O que este Endpoint retorna?

Este endpoint retorna a transação não assinada para que a transação possa ser assinada por meio da carteira do cliente.

Exemplo 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 () => {
    // Obter o endereço do signatário
    const { address } = await kit.getAddress();

    const response = await http.post(
      "/escrow/multi-release/withdraw-remaining-funds",
      {
        // corpo solicitado para o endpoint
      },
    ); 
    
    // Obter o hash da transação não assinada
    const { unsignedTransaction } = response.data;

    // Assinar a transação pelo wallet
    const { signedTxXdr } = await signTransaction(unsignedTransaction, {
      address,
      networkPassphrase: WalletNetwork.TESTNET,
    });

    // Enviar a transação para a Rede Stellar
    const tx = await http.post("/helper/send-transaction", {
      signedXdr: signedTxXdr,
    });

    const { data } = tx;

    return data;
}

Atualizado

Isto foi útil?