TypeScript type definitions and interfaces for the WalletConnect Protocol v2, enabling type-safe development across the WalletConnect ecosystem
70
{
"context": "This evaluation assesses how well the engineer uses the @walletconnect/types package to implement message tracking and deduplication functionality. The focus is on proper utilization of IJsonRpcHistory and IMessageTracker interfaces and their associated types.",
"type": "weighted_checklist",
"checklist": [
{
"name": "IJsonRpcHistory Interface Usage",
"description": "Implementation properly uses the IJsonRpcHistory interface from @walletconnect/types for the MessageHistory implementation, including correct typing and method signatures (set, get, getPending, resolve).",
"max_score": 25
},
{
"name": "JsonRpcRecord Type Usage",
"description": "Correctly uses the JsonRpcRecord type from @walletconnect/types for storing request/response data, including proper handling of topic, request, response, chainId, and expiry fields.",
"max_score": 20
},
{
"name": "IMessageTracker Interface Usage",
"description": "Implementation properly uses the IMessageTracker interface from @walletconnect/types for the MessageTracker implementation, including correct typing and method signatures (set, get, delete).",
"max_score": 20
},
{
"name": "MessageRecord Type Usage",
"description": "Correctly uses the MessageRecord type from @walletconnect/types for tracking message hashes, including proper field handling.",
"max_score": 15
},
{
"name": "Request-Response Correlation",
"description": "Properly implements request-response matching logic consistent with WalletConnect's JSON-RPC history pattern, where requests are stored and matched with responses by ID.",
"max_score": 10
},
{
"name": "Pending Request Management",
"description": "Correctly implements getPending() to return only requests without matching responses, following the WalletConnect pattern for pending request tracking.",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-walletconnect--typesevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10