TypeScript type definitions and interfaces for the WalletConnect Protocol v2, enabling type-safe development across the WalletConnect ecosystem
70
{
"context": "This criteria evaluates how well the engineer uses the @walletconnect/types package to implement a session proposal manager. The focus is on proper usage of ProposalTypes interfaces, particularly ProposalTypes.Struct and its nested type properties for validation and management of WalletConnect session proposals.",
"type": "weighted_checklist",
"checklist": [
{
"name": "ProposalTypes.Struct Usage",
"description": "Uses ProposalTypes.Struct as the type for proposal parameters and return values throughout the implementation",
"max_score": 15
},
{
"name": "Required Namespaces Validation",
"description": "Accesses and validates the requiredNamespaces property of ProposalTypes.Struct, checking for proper structure of ProposalTypes.RequiredNamespaces",
"max_score": 15
},
{
"name": "Namespace Properties Check",
"description": "Validates namespace properties including chains, methods, and events arrays within the namespace structures (ProposalTypes.BaseNamespace or SessionTypes.Namespace)",
"max_score": 15
},
{
"name": "Relay Protocol Validation",
"description": "Validates the relays property of ProposalTypes.Struct, checking for proper RelayerTypes.ProtocolOptions structure",
"max_score": 10
},
{
"name": "Proposer Metadata Validation",
"description": "Accesses and validates the proposer.metadata property, checking for CoreTypes.Metadata fields (name, description, url, icons)",
"max_score": 15
},
{
"name": "Proposal ID Handling",
"description": "Correctly uses the id property from ProposalTypes.Struct for storage and retrieval operations",
"max_score": 10
},
{
"name": "Expiry Management",
"description": "Uses the expiry property from ProposalTypes.Struct for timestamp comparison and expiration checking",
"max_score": 10
},
{
"name": "Type Safety",
"description": "Maintains type safety throughout by using TypeScript types from @walletconnect/types rather than any or loosely typed objects",
"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