---
# System prepended metadata

title: SDK Architecture Review - 2021-07-30
tags: [Cosmos SDK]

---

###### 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?)