CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-walletconnect--types

TypeScript type definitions and interfaces for the WalletConnect Protocol v2, enabling type-safe development across the WalletConnect ecosystem

70

1.18x
Overview
Eval results
Files

rubric.jsonevals/scenario-1/

{
  "context": "This criteria evaluates how well the engineer uses @walletconnect/types package interfaces and types to implement a JSON-RPC request/response history tracker. The focus is on proper usage of IJsonRpcHistory-related interfaces, JsonRpcRecord structure, and understanding of request correlation, pending request management, and expiry handling patterns from the WalletConnect protocol.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "IJsonRpcHistory Interface",
      "description": "Uses or implements the IJsonRpcHistory interface from @walletconnect/types, or creates a compatible structure that follows the same pattern with set, get, exists, delete, and getAll methods.",
      "max_score": 25
    },
    {
      "name": "JsonRpcRecord Structure",
      "description": "Uses or properly models JsonRpcRecord interface from @walletconnect/types, including id, topic, request, response (optional), and chainId fields with correct types.",
      "max_score": 20
    },
    {
      "name": "Request Correlation",
      "description": "Implements request-response correlation by storing request records and updating them with responses, maintaining the pending state correctly (response field undefined/null until resolved).",
      "max_score": 15
    },
    {
      "name": "Pending Query",
      "description": "Implements getPending or similar method that correctly filters records by topic and returns only requests without responses (where response is undefined/null).",
      "max_score": 15
    },
    {
      "name": "ChainId Association",
      "description": "Properly associates requests with chainId and implements querying by chainId (getByChainId or similar), demonstrating understanding of chain-specific request tracking.",
      "max_score": 10
    },
    {
      "name": "Expiry Management",
      "description": "Implements expiry timestamp storage and removal logic (removeExpired or similar) that compares current timestamp with stored expiry values to clean up old records.",
      "max_score": 10
    },
    {
      "name": "Existence Check",
      "description": "Implements exists method or equivalent to check if a request ID is present in the history, useful for deduplication and validation.",
      "max_score": 5
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-walletconnect--types

tile.json