Resolver Disputa
Resolve disputas de caução distribuindo fundos ao aprovador e ao prestador de serviço conforme determinado pelo resolvedor da disputa.
Cabeçalhos
Nome
Valor
Content-Type
application/json
x-api-key
<token>
Open API
post
Autorizações
Corpo
contractIdstringObrigatórioExample:
ID (address) that identifies the escrow contract
CAZ6UQX7...disputeResolverstringObrigatórioExample:
Address of the user defined to resolve disputes in an escrow
GDISPUTE...XYZRespostas
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:
- Only the dispute resolver can execute this function
- None of the amounts to be transferred should be less or equal than 0
- Escrow not in dispute
- Insufficient funds for resolution
- The sum of distributions must equal the current escrow balance when resolving an escrow dispute
- The total amount to be distributed cannot be equal to zero
- Escrow not found
- An unexpected error occurred
application/json
post
/escrow/single-release/resolve-disputePOST /escrow/single-release/resolve-dispute HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 188
{
"contractId": "CAZ6UQX7...",
"disputeResolver": "GAPPROVER1234567890...",
"distributions": [
{
"address": "GAPPROVER1234567890...",
"amount": 20
},
{
"address": "GRECIPIENT1234567890...",
"amount": 30
}
]
}{
"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 de uma 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/single-release/resolve-dispute",
{
// corpo solicitado para o endpoint
},
);
// Obter o hash da transação não assinada
const { unsignedTransaction } = response.data;
// Assinar a transação pela carteira
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?