Issue: matrix room id does not always resolve to spaceId or channelId
correctly.
Root cause: The clientApi routing endpoint and the syncapi routing
endpoint uses different stores to query for the current room states.
One is correct, the other has incomplete events. Fix the issue by using
the correct store in both routing code paths.
* Support 1 blockchain only
* auth check based on single chain
* use config to set the blockchain provider URL
* fix config to read from env variable
* handle 31337 in addition to 1337
* pass in roomserver API so that we have access to the db
* interface to get db info for spaceid and channelid
* determine space or channel by querying the room db
* Add authorization check to the JOIN endpoint
* fix lint errors
* import new versions of the zion contracts
* bootstrap zion authz
* define interface for space manager contract
* instantiate spacemanager interface
* load goerli and localhost
* embed json
* remove zion interface. Use contracts directly
* split user identifiter into address and chain id
* isAllowed in routing.go
* remove permission.go
Co-authored-by: Tak Wai Wong <tak@hntlabs.com>
Pulls in upstream latest changes from [dendrite-fork
](https://github.com/HereNotThere/dendrite)to subtree at
servers/dendrite here.
Co-authored-by: Tak Wai Wong <64229756+tak-hntlabs@users.noreply.github.com>
Co-authored-by: Tak Wai Wong <tak@hntlabs.com>
Co-authored-by: John Terzis <john@hntlabs.com>