request.targetIpId: The IP ID that is the target of the dispute.
request.targetTag: The target tag of the dispute. See dispute tags. Example: “IMPROPER_REGISTRATION”
request.cid: Content Identifier (CID) for the dispute evidence. This should be obtained by uploading your dispute evidence (documents, images, etc.) to IPFS. Example: “QmX4zdp8VpzqvtKuEqMo6gfZPdoUx9TeHXCgzKLcFfSUbk”
request.liveness: The liveness is the time window (in seconds) in which a counter dispute can be presented (30days).
request.bond: [Optional] If not specified, it defaults to the minimum bond value. The amount of wrapper IP that the dispute initiator pays upfront into a pool. To counter that dispute the opposite party of the dispute has to place a bond of the same amount. The winner of the dispute gets the original bond back + 50% of the other party bond. The remaining 50% of the loser party bond goes to the reviewer.
UMA will be adjusting the minimum $IP bond size as the IP price fluctuates.
The correct way to obtain the current minimum bond size is via
getMinimumBond() on OptimisticOracleV3.sol (OOV3), found on our aeneid
testnet
and
mainnet.
request.wipOptions: [Optional]
request.wipOptions.enableAutoWrapIp: [Optional]By default IP is converted to WIP if the current WIP balance does not cover the fees. Set this to false to disable this behavior. Default: true
request.wipOptions.enableAutoApprove: [Optional]Automatically approve WIP usage when WIP is needed but current allowance is not sufficient. Set this to false to disable this behavior. Default: true
import { parseEther } from "viem";import { DisputeTargetTag } from "@story-protocol/core-sdk";const response = await client.dispute.raiseDispute({ targetIpId: "0xC92EC2f4c86458AFee7DD9EB5d8c57920BfCD0Ba", // NOTE: you must use your own CID here, because every time it is used, // the protocol does not allow you to use it again cid: "QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR", // you must pick from one of the whitelisted tags here: // https://docs.story.foundation/docs/dispute-module#dispute-tags targetTag: DisputeTargetTag.IMPROPER_REGISTRATION, bond: parseEther("0.1"), // minimum of 0.1 liveness: 2592000,});console.log( `Dispute raised at transaction hash ${disputeResponse.txHash}, Dispute ID: ${disputeResponse.disputeId}`);
request.infringementTags[]: An array of tags relating to the dispute
request.infringementTags[].ipId: The ipId to tag
request.infringementTags[].disputeId: The dispute id that tagged the related infringing parent IP
request.options: [Optional]
request.options.useMulticallWhenPossible: [Optional] Use multicall to batch the calls into one transaction when possible. If only 1 infringementTag is provided, multicall will not be used. Default: true
Counters a dispute that was raised by another party on an IP using counter evidence.This method can only be called by the IP’s owner to counter a dispute by providing counter evidence. The counter evidence (e.g., documents, images) should be uploaded to IPFS, and its corresponding CID is converted to a hash for the request.If you only have a disputeId, call disputeIdToAssertionId to get the assertionId needed here.
request.ipId: The IP ID that is the target of the dispute.
request.assertionId: The identifier of the assertion that was disputed. You can get this from the disputeId by calling dispute.disputeIdToAssertionId.
request.counterEvidenceCID: Content Identifier (CID) for the counter evidence. This should be obtained by uploading your dispute evidence (documents, images, etc.) to IPFS. Example: “QmX4zdp8VpzqvtKuEqMo6gfZPdoUx9TeHXCgzKLcFfSUbk”
request.wipOptions: [Optional]
request.wipOptions.enableAutoWrapIp: [Optional]By default IP is converted to WIP if the current WIP balance does not cover the fees. Set this to false to disable this behavior. Default: true
request.wipOptions.enableAutoApprove: [Optional]Automatically approve WIP usage when WIP is needed but current allowance is not sufficient. Set this to false to disable this behavior. Default: true