###### tags: `Cosmos SDK`
# SDK Architecture Review - 2021-07-30
The **SDK Architecture Review** meeting is a bi-weekly meeting focused on architecture discussions of ADRs and features currently in development (any issues tagged with the label "Status: Needs Architecture Review").
## Agenda
- [x] Working Group Check In
- https://github.com/cosmos/cosmos-sdk/wiki/Architecture-Design-Process
- [x] Sign Mode Textual or JSON
- https://github.com/cosmos/cosmos-sdk/issues/9557
- https://github.com/cosmos/cosmos-sdk/issues/6513
- https://github.com/cosmos/cosmos-sdk/issues/9320
- [x] ADR-40 updates:
- Low Level Access to SC: https://github.com/cosmos/cosmos-sdk/pull/9451
- multistore: https://github.com/cosmos/cosmos-sdk/pull/9355
- New DB Interface (https://github.com/cosmos/cosmos-sdk/pull/9573)
...
- [ ] ADR 044: Guidelines for Updating Protobuf Definitions
- https://github.com/cosmos/cosmos-sdk/issues/9477
- https://github.com/cosmos/cosmos-sdk/pull/9613
- [ ] Decide about future of sdk.Dec
- https://github.com/cosmos/cosmos-sdk/issues/7773
- [ ] Signing offchain messages
## Notes
### Epic Tracking
Epics for working groups. We should have better tracking of working groups in epics. Discussions on the architecture review call should be in active design phase.
### Working Group Check In
**Consensus Fees**
- Robert: Fede implemented EIP1559, waiting for approval from the ICF to extend it and merge in the SDK
- Let's keep it (not paused)
- Implementation phase
**Gov/Group Module Alignment**
- proceeding with implementation
**Module Wiring**
- proceeding with implementation
**x/auth, x/bank and vesting re-design**
- implementation work for bech32 refactor
**Protobuf golang v2 migration and codegen**
- discussions of moving this to cosmos-sdk
- Frodji has done a lot of work on fast marshalling
- Tyler has done some work on patching files
**Offline signatures**
- Robert made one more update, now waiting for Frodji (or word for Robert to take it over fully and create a new branch and new PR)
- Billy: Spoke to simon warta to add this as a CosmJS feature
**NFT support for the SDK**
- implementation PR is still open from the Haifung (Iris team)
- THey were to update with smaller PRs into master
### Sign Mode Texual or JSON
- previously we had agreed to do a new sign mode that was not JSON as we were finishing stargate
- Ledger team did not trust that this was the right path, and asked for JSON instead
- In looking at whats involved in doing a proto-json serializer, it complicates things for 3 different teams (CosmJS, SDK team, ledger team)
- We should have chain-governance voting on format strings
- so that format changes are dealt with at the protocol level
- Two questions for the group:
- is human readable signing at the protocol level a good concept?
- if we are in alignment on that, are we in alignment on this spec (so we can formalize it a bit more and put it to ledger to get their approval)
- Dev: Why can't we just change the typeUrls to be more human readable? and have a chain-id to disambiguate between versions?
- Aaron: That might be a worthwhile middleground, but its not proto-json
- Marko: I'd like to have 5 minutes at the end to speak abt ADR040
==> Live walkthrough of: https://hackmd.io/fsZAO-TfT0CKmLDtfMcKeA?both
- Ethereum prior art
- [EIP-712: Ethereum typed structured data hashing and signing ](https://eips.ethereum.org/EIPS/eip-712)
- [Metamask history & overview](https://docs.metamask.io/guide/signing-data.html#sign-typed-data-v1) (ledger and trezor support)
### ADR-40 updates
- Marko: Wanted to check-in on bandwidth for reviewing
- Waiting for things to get merged in order to proceed with the rest of the implementations
- Robert: Current decision has been to merge into a feature branch ll-smt
- Marko: Maybe we start a new branch?
- Robert: It would be good to sync bc we haven't been in touch w/ them for months. We are indeed late with the review, so would be good to have a 30-min sync and see what the most pressing pieces are
- Marko: I'm leading the Vulcanize account (probalby first Tuesday of each month). Maybe we can use that sync for anything you need to ask them?
- Robert: Also with low-level access to state commitments. Seems there is agreement there, but one issue still is with the multistore.
- The multistore is discussed in the ADR40 discussion (not in the issue)
- Aaron: As a process point, can we make sure there's a regular sync on the calendar w/ them?
- Robert: Who else should be included? Marko
## Follow Up
- [ ] Descriptions of epics within GitHub
- [ ] Speak with Ledger company about SIGN_MODE_TEXTUAL (Aaron, Cory, Billy, Dennis, Simon, Juan)
- [ ] Setup regular sync for SMT Migration work (Marko, Robert, Rory, maybe Ian?)