Description
hey,
I know this might sound like the start of a flame war, but my feeling when working with this code base is that it is unnecessarily complex. E.g. there is an elaborate data structure that allows to define a specification in javascript objects but to anyone not having been directly involved in this code, it's rather difficult to wrap their head around it: https://github.com/ChainAgnostic/caip-js/blob/master/src/spec.ts
At this stage, without a big time effort of reading and understanding the entire code base, I wouldn't know how to add the block number tag easily: https://github.com/ChainAgnostic/CAIPs/pull/119/files
And I'm mainly saying this too as there is no need to reinvent specs data structures. There are EBNF and ABNFs and regex that should do the jobs just fine. So IMO we should be relying on those rather than implementing our own solution