# CAIP-25 vis-a-vis all the new EIPs and Capabilities/RPCs ## Top-Level issues - Capabilities can be scoped to: 1. universal (wallet-scope) --> chainId 0x0 in EIPs 2. chain-scope 3. batch-scope 4. call-scope - dapp/wallet dynamic - which scopes can a dapp request, for each capability - can wallet reply at a different scope? - do all "chainId 0x0" scopes go in: 1.`sessionProprties` or 2.`scopeProperties[eip155:...].0x0` or 3. either depending on context? Postel's law? - scopedProperties - keys ignored if they don't match a namespace of that connection ## Example CAIP-25 messages ``` { `eip155:1` { methods: ... }, `eip155:10`:{ methods: ... }, `solana`: { scopes: [`mainnet`, testnet``] } scopedProperties:{ "eip155" : { flowControl: ... } //not allowed, doesn't match a specified "solana" : {} //allowed, because matches a declared scopeObject "eip155:1": {} //all good "eip155:10": {} //all good "eip155:100": {} //not valid because 100 not requested by dapp } sessionProperties:{ "flowControl" } } ``` ## Tactical Consideration - what order to add a CAIP-25 section to "Implementation Considerations" to each EIP? 1. batch (5792) is going to last call soon! 2. flowControl (7811) also needs to be done soon for 3. namespaces/eip155-caip25.md .sessionProperties the canonical place 4. informational "CAIP-25 for dummies" EIP (normrefs all specifics) ## Specific notes on specific EIPs or CAIPs