Escalation period
The buyer escalated the dispute. The dispute resolver should provide a final split between the buyer and seller.
Previous state
State
Next state(s)
DISPUTED
ESCALATED
RETRACTED RESOLVED DECIDED REFUSED
Period actions
Seller
Buyer
Dispute resolver
Resolve the dispute
Retracts the dispute
Decide the dispute
Resolve the dispute
Refuse to decide
Post-period actions
Seller
Buyer
Dispute resolver
Expire the escalated dispute
Expire the escalated dispute
Expire the escalated dispute
TypeScript SDK
The buyer and the seller mutually resolve the dispute and submit the decision on how the pot is split.
The buyer signs the proposal; the seller submits the transaction
const exchangeId = "1534";
const buyerPercentBasisPoints = 30_00;
const {
r: sigR,
s: sigS,
v: sigV
} = await buyerCoreSDK.signDisputeResolutionProposal({
exchangeId,
buyerPercentBasisPoints
});
await sellerCoreSDK.resolveDispute({
exchangeId: exchangeId,
buyerPercentBasisPoints,
sigR,
sigS,
sigV
});
The seller signs the proposal; the buyer submits the transaction
const exchangeId = "1534";
const buyerPercentBasisPoints = 30_00;
const {
r: sigR,
s: sigS,
v: sigV
} = await sellerCoreSDK.signDisputeResolutionProposal({
exchangeId,
buyerPercentBasisPoints
});
await buyerCoreSDK.resolveDispute({
exchangeId: exchangeId,
buyerPercentBasisPoints,
sigR,
sigS,
sigV
});
Solidity
The buyer and the seller mutually resolve the dispute and submit the decision on how the pot is split.
The other party signed the proposal, and this contract is submitting the transaction
IBosonDisputeHandler bosonProtocol = IBosonDisputeHandler(_bosonProtocolAddress);
uint256 exchangeId = 1534;
uint256 buyerPercent = 30_00;
bytes memory signature = 0x...; // must be provided by other signer
bosonProtocol.resolveDispute(exchangeId, buyerPercent, signature);
The other party is submitting the transaction, and this contract uses EIP1271 verification
import { IERC1271 } from "@openzeppelin/contracts/interfaces/IERC1271.sol";
function isValidSignature(bytes32, bytes calldata) public view override returns (bytes4) {
// validate the signature, e.g. ECDSA verification
...
// If everything is ok, return the correct magic value
return IERC1271.isValidSignature.selector;
}
Last updated