Resolve Milestone Dispute
Resolves escrow milestone disputes by distributing funds to the approver and service provider as determined by the dispute resolver.
Headers
Name
Value
Content-Type
application/json
x-api-key
<token>
Open API
post
Authorizations
Body
contractIdstringRequiredExample:
ID (address) that identifies the escrow contract
CAZ6UQX7...disputeResolverstringRequiredExample:
Address of the user defined to resolve disputes in an escrow
GDISPUTE...XYZmilestoneIndexstringRequiredExample:
Position that identifies the milestone within the group of milestones in the escrow
1Responses
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:
- Escrow not found
- Invalid milestone index
- None of the amounts to be transferred should be less or equal than 0
- Only the dispute resolver can execute this function
- This milestone is already released
- This milestone is already resolved
- Milestone not in dispute
- The total funds to resolve the dispute must not exceed the amount defined for this milestone
- Insufficient funds for resolution
- The total amount to be transferred cannot be zero
- An unexpected error occurred
application/json
post
/escrow/multi-release/resolve-milestone-disputePOST /escrow/multi-release/resolve-milestone-dispute HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 210
{
"contractId": "CAZ6UQX7...",
"disputeResolver": "GAPPROVER1234567890...",
"milestoneIndex": "1",
"distributions": [
{
"address": "GAPPROVER1234567890...",
"amount": 300
},
{
"address": "GRECEIVER1234567890...",
"amount": 700
}
]
}{
"status": "SUCCESS",
"unsignedTransaction": "AAAAAgAAAAAtWsgedQ...."
}
What this Endpoint returns?
This endpoint returns the transaction unsigned so that the transaction can be signed by means of a customer wallet.
Use Example:
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 () => {
// Get the signer address
const { address } = await kit.getAddress();
const response = await http.post(
"/escrow/multi-release/resolve-milestone-dispute",
{
// body requested for the endpoint
},
);
// Get the unsigned transaction hash
const { unsignedTransaction } = response.data;
// Sign the transaction by wallet
const { signedTxXdr } = await signTransaction(unsignedTransaction, {
address,
networkPassphrase: WalletNetwork.TESTNET,
});
// Send the transaction to Stellar Network
const tx = await http.post("/helper/send-transaction", {
signedXdr: signedTxXdr,
});
const { data } = tx;
return data;
}Last updated
Was this helpful?