Skip to content

Gated Dispute Kit: Frontend Support #2044

@jaybuidl

Description

@jaybuidl

Feature

The DKGated ensures at drawing time that a juror owns a non-zero balance of some ERC20/ERC721/ERC1155 token.

Current contract implementation is Classic-like: 1 DKGated per token.

Future implementations (out-of-scope for now)

  • 1 DKGated for any token specified in the dispute extraData
  • GatedShutter version

Court Support

Identification of the Gated DK

Reminder: do not hardcode the disputeKitID (since they might differ between deployments), instead refer to the contract by name using the generated hooks.

Dispute creation

Token address input
In the Dispute Kit picker, we need to add an extra input field for the token address.

Image

Address validation
If possible, try to validate that the address is a contract satisfies either of these interfaces:

interface IBalanceHolder {
    /// @dev Returns the number of tokens in `owner` account.
    /// @dev Compatible with ERC-20 and ERC-721.
    /// @param owner The address of the owner.
    /// @return balance The number of tokens in `owner` account.
    function balanceOf(address owner) external view returns (uint256 balance);
}

interface IBalanceHolderERC1155 {
    /// @dev Returns the balance of an ERC-1155 token.
    /// @param account The address of the token holder
    /// @param id ID of the token
    /// @return The token balance
    function balanceOf(address account, uint256 id) external view returns (uint256);
}

Dispute card

Same as Classic

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions