Amaury
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
      • No invitee
    • Publish Note

      Publish Note

      Everyone on the web can find and read all notes of this public team.
      Once published, notes can be searched and viewed by anyone online.
      See published notes
      Please check the box to agree to the Community Guidelines.
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
No invitee
Publish Note

Publish Note

Everyone on the web can find and read all notes of this public team.
Once published, notes can be searched and viewed by anyone online.
See published notes
Please check the box to agree to the Community Guidelines.
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
# SIGN_MODE_TEXTUAL Bi-weekly Meeting Notes ~~These meeting notes should be accompanied with the SIGN_MODE_TEXTUAL spec living doc: https://hackmd.io/fsZAO-TfT0CKmLDtfMcKeA?edit.~~ *This has been merged into ADR-050.* Implementation tracking issue: https://github.com/cosmos/cosmos-sdk/issues/11970 # Meeting 05.06.2023 - [] Ledger App - [x] Audit finished (and we have a report) # Meeting 22.05.2023 - [] Ledger App - [] Audit finishing (writing the report) # Meeting 24.04.2023 - [x] Ledger App (no updates) - [x] Audit - Zellic Estimated Project Timeline Pre-Audit Preparation: Up until May 2, 2023 Scope Call: May 2, 2023 Primary Review Period: May 2, 2023 to May 23, 2023 Closing Call: May 24, 2023 Post-Audit Remediation: May 24, 2023 to June 14, 2023 - [ ] PRs - [ ] Bool value renderer: https://github.com/cosmos/cosmos-sdk/pull/15863 - [ ] Internal audit changes https://github.com/cosmos/cosmos-sdk/pull/15715 Other: - Internal audit report https://hackmd.io/G35OvyFES5C3tOnEuej0yw - [Comment by Jim on Amaury's PR](https://github.com/cosmos/cosmos-sdk/pull/15550#discussion_r1162120350) - Offline signing needed? https://github.com/cosmos/cosmos-sdk/issues/15864 (Marko thinks we don't) Notes: - signmode textual in CosmJS in Q3 probably - Jim will be backporting to Agoric # Meeting 10.04.2023 - [x] Ledger App - [x] Audit (no news yet) - [x] PRs - [x] Amaury's PR #15550 - [x] Orijtech fuzz testing :+1: - [x] Facu will have a PR ready for this week with small changes Questions: - `It must be able to parse all valid screens, however the behavior of Parse on invalid screens is not specified, and does not necessarily error.` ?? Notes: - Parse is currently used only for testing # Meeting 27.03.2023 - [x] Audit - Zellic - [x] Ledger app # Meeting 20.03.2023 - [x] Audit - 3 repos - https://github.com/cosmos/ledger-cosmos - use tag https://github.com/cosmos/ledger-cosmos/tree/v2.35.3 - https://github.com/cosmos/ledger-cosmos-go - use tag https://github.com/cosmos/ledger-cosmos-go/tree/v0.13.0 - https://github.com/cosmos/cosmos-sdk - maybe tag a new x/tx tag - [x] Spec - [x] PRs Notes: - ledger app: - OK to submit ledger app to the ledger repo - Internal audit - Facu and Amaury to share this task # Meeting 13.03.2023 - [x] Ledger App - Array to Struct change https://github.com/cosmos/cosmos-sdk/pull/15282 - [x] Spec - SpecVersion https://github.com/cosmos/cosmos-sdk/pull/15270 - [x] PRs - Support gogo registry https://github.com/cosmos/cosmos-sdk/pull/15302 Notes: - Ledger - Carlos implemented array to - Facu and Amaury to test it ``` type SignDoc struct { Screens []Screen } ``` - Keep struct - Current version == 0 (update in the PR) - # Meeting 06.03.2023 - [x] Ledger App - Last pieces before submitting the app: - [x] MsgMultiSend (tested by Amaury, Facu will also test it) - [x] MsgDelegate (tested by Amaury) - [x] Spec - Updates to the spec https://github.com/cosmos/cosmos-sdk/pull/15270 - [x] PRs - https://github.com/cosmos/cosmos-sdk/pull/15208 - https://github.com/cosmos/cosmos-sdk/issues/12809 Notes: - Ledger app: - Facu to do last MsgMultiSend test - then we can submit the PR - Still some (maintenance) code to be updated for the ledger repo - Spec We decided to do: ``` type SignDocTextual = { screens: []Screen } // integer-encoded key ``` # Meeting 20.02.2023 - [x] Ledger App - Manual testing https://github.com/cosmos/cosmos-sdk/issues/14975 - [x] Spec - [x] PRs - msg header in anys Notes: - Ledger: last pieces before sending the app to Ledger: - MsgDelegate fixed - carlos to send the installer script, amaury to test it - msgMultiSend: crashes because Json parsing number of tokens got reduced, to handle Textual - Carlos: looking into increase number of tokens - tracking the `>>>` issue with Facu - Next Meeting: March 6th - Spec: - Spec updates: - Simon: multi-chain client needs to know version of the Textual spec - Simon: spec version counter - Simon: no need for endpoint to expose version for now, keep it simple. # Meeting 13.02.2023 - [x] Ledger App - Manual Testing issue: https://github.com/cosmos/cosmos-sdk/issues/14975 - Is this enough? - [x] Spec - [x] PRs - msg header in anys ## Notes - Amaury and Facu to finish manual testing, ideally this week - Right after: send PR to Ledger - Internal audit: - Jim: confident in core value renderer code, less confident in 1/ plumbing code with SDK signing 2/ number of screens - SPEC updates - tweaks to formatting allowed, should be expected, needs to documented (state-machine breaking) - changes that impact ledger cosmos app should be minimized as much as possible # Meeting 06.02.2023 - [x] Ledger App - [x] Spec - [x] PRs - any msg header - title/content follow-up Notes: - Ledger - Send PR now VS wait for audit? - Fernando: send asap - Amaury/Marko: send asap - Estimated timeline: in 2 weeks - # Meeting 30.01.2023 - [x] Ledger App - [x] Spec - [x] PRs - title content - msg header (https://github.com/cosmos/cosmos-sdk/pull/14784) Notes: - Ledger - v2.35.2 Looks good - Ledger review process can be uncertain, sometimes our tests pass theirs don't - might be a good idea to do audit of ledger app - Process: - create PR on ledger repo - they run fuzzers - they have more user-focused testing - Textual not available, but if we provide a document/tutorial/spec, it should be fine - Ask Ainhoa for feedback about audit + length review length # Meeting 23.01.2023 ## Agenda: - [x] Ledger App - Put long titles into content - title/content new keys in CBOR - [x] Spec - title/content - [x] PRs - Textual in SDK client-side https://github.com/cosmos/cosmos-sdk/pull/14661 - Any msg header ## Notes - Ledger: - Amaury updated PR with updated cbor - 2-3d, and Amaury will test it - Spec: - Title/content PR: https://github.com/cosmos/cosmos-sdk/pull/14730 # Meeting 16.01.2023 ## Agenda: - [x] Ledger App - Managed to sign a tx with the ledger device - Truncated Header - [x] Spec - Is Address necessary? - [ ] PRs - Any header - Expert address field (@amaurym to create an issue) - SignModeHandler https://github.com/cosmos/cosmos-sdk/pull/13734 ## Notes - SPEC Remove the address as it's redundant (SDK code, golang) in the envelope - mark as expert - Truncate: - Done on ledger - Concern 1: different fields, same truncated text - Concern 2: important semantic info truncated, e.g. `from_address_to_exclude` Going with this format: ``` |>>> --- [1/2] |From address: cosmos1sdafdsa |dafdsfdasfdsa --- |>>> --- [2/2] |sdafdsafdsfdsa |dafdsfdasfdsa ``` Define length on Nano S and Nano S plus to start truncating. # Meeting 09.01.2023 Agenda: - [ ] Ledger App - [ ] PRs - envelope https://github.com/cosmos/cosmos-sdk/pull/13600 - any header https://github.com/cosmos/cosmos-sdk/issues/14170 Notes: - No updates on the ledger app - Amaury: this week make it work with Ledger app # Meeting 19.12.2022 - [x] Scheduling - Jan 9th - [x] Ledger App - [x] Spec - Sign over long bytes hash https://github.com/cosmos/cosmos-sdk/pull/14275 - [x] PRs - envelope https://github.com/cosmos/cosmos-sdk/pull/13600 - any header https://github.com/cosmos/cosmos-sdk/issues/14170 Notes: - Ledger: - Fernando: managed to sign big tx - https://github.com/cosmos/ledger-cosmos/releases/tag/v2.35.0 - follow readme, run script - python3 dep, Ledger blue dependency (https://pypi.org/project/ledgerblue/) - Can't install on Nano X - No need to restrict - Use some unused memory in JSON parser to the textual - Next step: testing with real device (first week of Jan) - # Meeting 12.12.2022 - [x] Ledger app - Is AMINO_JSON + Textual possible in one app? - [x] Spec: - Remove sub-message header screen for Anys: https://github.com/cosmos/cosmos-sdk/issues/14170 - Bytes value renderer to output hash for long bytes: https://github.com/cosmos/cosmos-sdk/issues/14206 - overridable with scalars - Title/content - [x] PRs: - Envelope https://github.com/cosmos/cosmos-sdk/pull/13600 ## Notes - Ledger - Carlos: version working, but not on nano s becuase of memory constraints ``` { "text": ..., "expert": bool, "indent": int }[] ``` "Memo: foo" gives ``` ------------ | Memo: | Foo --------- ``` Idea: ``` { "title": string, // max 11 chars "content": string "expert": bool, "indent": int }[] ``` - UTF-8 in strings? - Zondax: ideally not - Make titles shorter (e.g. Msg instead of Message) - Simon: maybe remove AMION_JSON support for nano S, only do Textual - makes no sense for legacy nano s to define Textual spec - Simon: doubt that CBOR addition leads to out of memory. In the long-term would prefer not to use JSON - Jim: see why AMINO_JSON is shorter - Solutions: 1. Let the server do some more handling (unicode->ASCII, title/content, shorter screens) 2. Continue w/ current spec 2a. Only support the minimum for nano s 2b. 2 differents apps for nano s. - Fernando: 2a is preferred, if nano s support 80%-90% of txs - Amaury: 2a - Simon: 2a is best, we can do 1 if we don't harm future spec because of legacy nano s txs. - e.g. title/content spec makes it better - not for unicode - Jim: is it code memory pressure or data memory pressure? Or same resource pool? - code memory and data memory separate - We can add more code to help reduce the runtime memory ### Action items - try a big tx that's signable with AMINO_JSON - double check: large tx passes on nano X and s plus - Create issue for title/content @amaurym # Meeting 05.12.2022 - [x] Ledger updates - [x] Scheduling - [x] SPEC updates - Any https://github.com/cosmos/cosmos-sdk/pull/14117 - [x] PRs walkthrough ``` Vote: > Voter: cosmos1 ``` Not okay ``` Vote: [Vote object > Voter: cosmos1 ] ``` current one ``` Vote: /cosmos.gov.v1.Vote > Voter: cosmos1 ``` too long ## Notes - Ledger - Fernando: stack overflow on nano s - related to JSON library - possible solution: no AMINO_JSON on nano S - Jim: fine to have both apps? - possible yes - Fernando: priority to put 2 sign modes in one app - Jim: would we have stack overflow without CBOR? - Fernando: not sure - Jim: option: idea to reuse JSON instead of CBOR (easy fix) - Fernando: ideally have a answer whether both sign modes in one app (nano s) is possible - Carlos: no issues on guidelines and tst cases # Meeting 28.11.2022 Agenda: - [x] Ledger updates - Do the [guidelines](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-050-sign-mode-textual-annex2.md) and [test vectors](https://github.com/cosmos/cosmos-sdk/pull/13992/files) make sense? - `@` as terminator for whitespaces - `\u` for unicode (except special chars) - pagination - [x] PRs (walk through the tracking issue) Notes: - Ledger - Working on parser using test vectors - https://www.npmjs.com/package/@zondax/zemu, https://github.com/cosmos/ledger-cosmos/tree/main/tests_zemu emulate ledger to run e2e tests - If no `: `, what to show in title/content - let's start without a title https://github.com/cosmos/ledger-cosmos/blob/main/tests_zemu/snapshots/s-sign_basic/00001.png ``` ------------ | <title> | <content> --------- ``` ``` ------------------------ | <no title> | > End of transactions ------------------------- ``` Action item: - amaurym create edge case no `: ` separator and long screen # Meeting 21.11.2022 Agenda: - [x] Ledger updates - [x] PRs (walk through the tracking issue) Notes: - Fernando: - good progress with parser - need more test vectors - Good to star twith 2/3 test casees - Before sending to Ledger: - much more test cases, with edge cases - maybe with a tool to generate those test cases Action Items - amaury: create a JSON file with 2-3 test cases - try to cover corner cases, e.g. with a lot of fields - differents txs with different fields JSON file: - Screen with short and long lines (does fit/not fit in one device line) - example: https://github.com/cosmos/ledger-cosmos/blob/2b7337fdddf7eec0511b65f2e0021ce391ec34b3/tests/testcases/manual.json#L812 - one with a lot of screens (maybe) - one with UTF-8 - one with expert mode, indentation ```json { "tx": "<binary_repr>" // CBOR-encoded "output": [ "<screen1>", "<screenN>", ], "expert": true } ``` # Meeting 14.11.2022 - [x] Ledger updates - [x] PRs - Enum R4R https://github.com/cosmos/cosmos-sdk/pull/13853 @jim - Parseing coins, dec, int https://github.com/cosmos/cosmos-sdk/pull/13696 @jim - Any prefix: blocked on https://github.com/cosmos/cosmos-proto/pull/92 - [x] Coins (if Simon's here) ``` [{denom:"ATOM",amount:1},{denom:"uatom",amount:1000000}] ``` Current: `1 ATOM, 1 ATOM` Conclusion: no special handling of coins, all test cases (and parse) use base denom - Notes - ledger: started work, added cbor lib, add instruction for Textual - looked into how add textual without much duplication - https://github.com/cosmos/ledger-cosmos/tree/dev_sign_mode_textual - Jim: if pressed for space, no need for lib - CosmJS - currently not active, not in foreseeable future - framing: want Library developer (language is secondary) - confio: more a mgmt problem than a talent problem (for newcomers) # Meeting 07.11.2022 - [x] Ledger app updates - [x] CBOR pr https://github.com/cosmos/cosmos-sdk/pull/13697 - [x] Coins bijectivity - [x] PRs progress - [x] enum (@amaurym) - [x] repeated - [x] any - [x] coins parsing (@atheesh) - [x] tx envelope - [x] plumbing https://github.com/cosmos/cosmos-sdk/pull/13734 - [x] custom field-level proto annotation ## Notes - Ledger: - Support both AMINO_JSON and TEXTUAL (ideal solution) - Fernando: Checkout about Nano S memory - PR (draft) on https://github.com/cosmos/ledger-cosmos - No need for determinism check on the ledger decoding side - strings vs integers on struct fields for CBOR: - Fernando: both are fine - Jim: keep as integers - Timeline: - Ainhoa: should be fine by Christmas for a testable version of the app - Not for release - Jim: would love to have this asap for Agoric - Monday 5:30pm CEST - Coins - Problem: 1. Not bijective `1000000uatom` -> `1 ATOM`, `1000 matom` -> `1 ATOM` 2. https://api.cosmos.network/cosmos/bank/v1beta1/denoms_metadata/uatom - Solutions: 1. Show original denom in renderering (e.g. in expert mode) 2. Only allow Format from base denom 3. Spec: "We require" -> "We strongly recommend" - map: denom => base_denom - MsgSend { Amount: {denom: "atom", amount: 1} // user does not have funds } - Conclusion: add comments in Parsing that we parse back to base denom (and not original denom) (problem for future us) - Joe: probably too late, but https://cbor.me/ has been helpful in the past - to be used to decode cbor, probably useful for testing - Proto annotations https://github.com/cosmos/cosmos-sdk/pull/13466/files ``` string foo = 1 [cosmos_proto.scalar="cosmos.Dec"]; ``` cosmos/scalars.proto declare_scalar = { } alternative: ``` string foo = 1 [cosmos.textual.v1.value_renderer="Dec", cosmos.amino.v1.encoding="Dec"]]; ``` conclusion: let's go with scalars # Meeting 24.10.2022 - [x] Ledger App - Guidelines: Annex 2 https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-050-sign-mode-textual-annex2.md - [x] enums (inspiration: https://github.com/cosmos/cosmos-sdk/pull/13510) - [x] messages - [x] repeated - [x] Any - [x] Public Key value renderer - [ ] Scalars (i.e. custom field-level renderers) Notes: - Ledger app - Juan: maybe early November - Juan: needs test vectors - inputted data: CBOR-encoded - output: []string (with or without expert) - Juan: get developer to join biweekly syncs - Jim: Still need to specify CBOR encoding - Juan: one ledger app to support both - Add a new command for textual https://github.com/cosmos/ledger-cosmos/blob/main/docs/APDUSPEC.md#sign_secp256k1 - derivation path: - Simon: it's on hold, out of scope of Textual - Trezor: see if they are interested Action items; - create issues for integration with existing signing flow @amaurym - call for in 2 weeks # Meeting 17.10.2022 - Structued screens ADR update got merged - https://github.com/cosmos/cosmos-sdk/pull/13434 - unicode support - [ ] messages PR (Jim) - [ ] Any PR (Jim) - [ ] repeated (Joe for now, but maybe Jim takes over) - [ ] enums (Emmanuel) - Simon: in CW, msg gets encoded as JSON and put into a `bytes` field, so shown as base64. It would be ideal to do show the msg contetnts - idea1: custom message renderer - idea2: add a field custom renderer - simon to create an issue - https://github.com/CosmWasm/wasmd/blob/main/proto/cosmwasm/wasm/v1/tx.proto#L84-L85 Action Item: - next time(s): Zondax team member to join call # Meeting 03.10.2022 - [x] Spec PR with new strcutured screens (Jim) - ping Simon Amaury Juan to review, secondary Joe, Emmanuel - [x] Duration PR - [x] Messages PR (Jim) - Ask Juan about Annex 2: - does Juan want exact spec, or general guidelines? # Meeting 14.09.2022 Juan, Jim, Amaury ### What Ledger device receives Before: ``` \n-delimited string each screen: ASCII 32-127, e.g. *, > ``` After: ``` Item { "expert": true, "indentation": 5, // >>>>> "string": "..." // can contain any UTF-8, can contain >, *, \n } SignDoc = []Item What Ledger receives: enc(SignDoc) // where enc is a determinitic encoding fn ``` What should enc be: - micro-format - no need to innovate - payload size gains not significant compared to cbor - CBOR (cbor.me, https://cbor.io/) - blockchains with use cbor in ledger: - filecoin - dfinity - oasis - cardano https://input-output-hk.github.io/ouroboros-network/cardano-ledger/Cardano-Chain-Common-CBOR.html - https://github.com/intel/tinycbor - ~~NEAR binary format (https://borsh.io/)~~ Pain Decision: CBOR (make sure about determinism) ### UTF8 - in other projects: - replace with `.` for everything outside 32-127 - other ideas: - bijective quotation (e.g. \u... or U+...) - e.g. \uAB32 - https://en.wikipedia.org/wiki/Punycode - e.g. Bahnhof München-Ost -> Bahnhof Mnchen-Ost-u6b - other idea: keep ASCII in spec, hardware devices that can show UTF-8 can also decode on-device \n-delimiter string vs CBOR(): Juan prefers CBOR If we go CBOR: Juan prefers escpaed utf8 in the serialized `Item.string` Decision: - go with CBOR - in the `Item.string` field, can be full utf-8 - During serialiazation, `Item.string` quoted to printable ASCII 32-127 To check: is CBOR's string an ASCII string or UTF-8 string? ### Other questions - Maximum expected size of txs - cosmwasm contracts - maybe sign hash (to be discussed next time) - maybe streaming - agoric: use custom msg renderers to shorten the Item - What to do with long values (e.g. long memo field)? - not monospace font - sensible limit: 255 ASCII chars (after encoding) # Meeting 12.09.2022 ## Agenda Spec: - [x] Scope of the SPEC - What sign_mode_textual produces - Which parts are left to the signing device Implementation PRs: - [ ] Coins https://github.com/cosmos/cosmos-sdk/pull/12729 ## Notes - SIGN_MODE_TEXTUAL spec: ``` Item { "expert": true, "indentation": 5, "string": "..." // can contain any UTF-8, can contain >, *, \n } SignDoc = []Item Encoding of SignDoc: (needs to be deterministic) - micro-format - CBOR - NEAR binary format (https://borsh.io/) ``` - Annex 2: add a Ledger spec - How does ledger handle unicodes? - dot (`.`) used in other ecosystems - bijective quotation (e.g. `\u...` or `U+...`) - https://en.wikipedia.org/wiki/Punycode ## Action Items - Ask Juan about: - encoding of SignDoc - UTF-8 quotation # Meeting 05.09.2022 Agenda: Spec: - [x] Merge custom msg renderers https://github.com/cosmos/cosmos-sdk/pull/12785 (@Jim) - [ ] Bijevtivity `MUST` -> `SHOULD` with clear definitions (@amaury) - [x] What to do with UTF8 chars? - [x] Test vectors Spec ? Implementation PRs: - [ ] Coins https://github.com/cosmos/cosmos-sdk/pull/12729 - [ ] Message https://github.com/cosmos/cosmos-sdk/pull/12878 Action items: - Ask Juan about converting UTF8 chars to display code (string -> string literal, use qutoation marks, similar to JSON) inside the Ledger App. # Meeting 22.08.2022 Agenda: - [x] Security audit: what needs to be done. - [x] Bijectivity - [x] Spec PRs: - [x] Custom Msg Renderers https://github.com/cosmos/cosmos-sdk/pull/12785 - [x] Sign over body_ and auth_info_bytes https://github.com/cosmos/cosmos-sdk/pull/12910 - [x] Hex vs Base64 https://github.com/cosmos/cosmos-sdk/pull/12954 - [x] Implementations PRs: - [x] timestamp https://github.com/cosmos/cosmos-sdk/pull/12860 - [x] generic message https://github.com/cosmos/cosmos-sdk/pull/12878 - [x] enums https://github.com/cosmos/cosmos-sdk/pull/12930 Notes: - Security: - Today: if we merge above PRs, then nothing to do - Before shipping: - internal (SDK team) audit SPEC+impl - external (cosmos ecosystem) audit SPEC+impl - bijectivity: part of security - Bijectivity: - Simon: do we really need it? - Jim: - 1. sigs are not malleable - 2. sig over readable tx data - Hex or base64 for pubkeys? Action Items: - (from last week) Update SPEC with `*` and `>` positioning - change bijectivity to SHOULD. Bijectivity between ``"Semantic Tx" -> []string` - create issue on SDK to ask about hex vs base64. - Jim: Custom Msg reneder PR: push to finish line # Meeting 08.08.2022 Agenda: - [x] go through remaining PR points https://github.com/cosmos/cosmos-sdk/pull/12785 - [x] assign issues https://github.com/cosmos/cosmos-sdk/issues/11970 ``` MsgFooBar { // link to spec custom render = custom_renderer = "algo_id" } ``` Notes: - Clear up SPEC on asterisks - add recursive asterisks spec (only 1 asterisk) - one asterisk for multiple nested expert fields - `*` or `>`: * at beginning - `*> Amount: 20 atom` - a regular formatted string should not start with '*' or '>' - Add that `custom_renderer` proto option is optional # Meeting 25.07.2022 Agenda: - [x] Custom formatting for message - [x] Implementation (SDK) - [x] ISO8601 vs RFC3339 - go with RFC3339 https://github.com/cosmos/cosmos-sdk/pull/10701#discussion_r925614083 Notes: - Issue: https://github.com/cosmos/cosmos-sdk/issues/11970 - assigned Jim and Joe to some subtasks - For custom renderers: - Jim: prefer the custom function - Amaury: okay for this if we can make this function bijective, or else fall back to hidden fields. - Internationalization: - Amaury: update ADR - amaury: ask marko to add JimLarson to sdk-write # Meeting 11.07.2022 Agenda: - [x] Expert mode - [ ] Implementation ```proto message MsgMyExample { string user_string = 1; string address = 2 [exprert=true]; // other fields [exprert=true]; } ``` ```proto message MsgMyExample3 { [option expert_all_but="user_string"] string user_string = 1; string address = 2; // other fields; } ``` ```proto message MsgMyExample2 { [option readable_string="...{{address}}..."] string address = 2; // other fields; } ``` (template engine not expressive enough for agoric's use cases) Action Items: - Simon to think about user-defined function inside proto file to do Msg -> string encoding # Meeting 16.05.2022 Agenda: - [x] Merge ADR-050 - ideally merge it before next biweekly call - [x] Vacation Amaury June 6th - July 3rd - [x] Textual implementation update and next steps https://github.com/cosmos/cosmos-sdk/issues/11970 - In JSONs, add error cases too # Meeting 21.03.2022 - [x] Textual implementation - https://github.com/cosmos/cosmjs/compare/sign-mode-textual (don't rely on commit hashes due to rebasing) - https://github.com/cosmos/cosmos-sdk/tree/am/textual-number - [ ] CosmJS - https://github.com/cosmos/cosmos-sdk/pull/11413 ``` import { gluecode } from '@cosmjs/core|gluecode' import authz frm '@cosmjs/authz' import ecocredits frm '@regenjs/ecocredis' export const client = gluecode([ authz, ecocredits, ]) // publish this client ``` ## Action items - amaury: add negative numbers, ask around if there's a use case # Meeting 07.03.2022 - [x] Implementation board https://github.com/orgs/cosmos/projects/22/views/1?layout=board Notes: - Cosmos app in review by Ledger (maybe EOW) - Plan: update Ledger SDK to newest version (for nano S plus) - Textual sign mode: 6mo-1y - Amaury 20% of my time in nexy 6mo - amaury have a look https://github.com/cosmos/cosmos-sdk/issues/10863 # Meeting 21.02.2022 - [x] Tips check-in - [x] Max length on each screen? - [x] Start implementation ## Notes - tips: - Juan talked with Billy, moved to cosmos org, tip support added - https://github.com/cosmos/ledger-cosmos - Ledger reviewing - on cosmjs: no timeline. Bad quality external contributors, can ask Emeris team to add, but needs to be good quality (advanced TS engineers). - if there's really urgent need, Zondax can help. - Max length - nano s max tx size == 8kb - Gov submit proposal `metadata`, change to string? - additional restrictions: acsii range, - no risk, ledger returns an error if tx too big. no need to put artifical limit here - Implementation - Metadata denom: don't change capitilization, keep what's in state - what happens to TEXTUAL on state change? Will make offline signing harder if state changes often, but for metadat it should be okay, ## Action Items - @amaurym Gov submit proposal `metadata`, change to string? # Meeting 07.02.2022 Agenda: - [x] transaction tips check-in Recall from [12.10.2021](https://hackmd.io/G4mjmz7YRJ-5_rE12Y8uYQ): ```diff { "account_number": {number}, "chain_id": {string}, "fee": { "amount": [{"amount": {number}, "denom": {string}}, ...], "gas": {number}, + "granter": {string}, // optional, omitempty, chain-specific bech32 address + "payer": {string}, // optional, omitempty, chain-specific bech32 address }, "memo": {string}, "msgs": [{arbitrary}], "sequence": {number}, + "tip": { // optional, whole struct is omitempty + "amount": [{"amount": {number}, "denom": {string}}, ...], // array of coins + "tipper": "cosmos1...", + } } ``` From Zondax: - moving the Ledger app code to the cosmos org - end feb seems like a reasonable timeline for code-readiness. Then unknown time for Ledger team approval. - [x] textual check-in No reply from Ledger team on Discord. Amaury will ping Sam/Billy if nothing moves. # Meeting 24.01.2022 Agenda: - [x] check-in Ledger - [x] Nested Msgs with `>` - [x] Links (e.g. propsal on MsgVote) Action items; - amaury to send a msg to billy/sam for comms with Ledger - start impl (Simon & Amaury) once we have a ledger ACK # Meeting 10.01.2022 Agenda: - [x] If we get ACK from ledger, start implementation? - [x] Nested Msgs with `>` - [ ] Links (e.g. propsal on MsgVote) - [ ] SPEC Notes: - Ledger still playing hard to get, Amaury and Juan to continue harassing - Once Ledger says OK, Simon & Amaury can start a couple of hours per week on paired impl. - Simon: important to have multi-langugage impl, to iterate with SPEC (and not have impl-as-SPEC) - Amaury: share test cases between go & js - OK to go with `>` for nested messages, put it in spec (would love to have Juan's input on) - Amaury to continue write Value Renderers in a SPEC-y language # Meeting 13.11.2021 Agenda: - [x] Ledger Team update - [x] Wider Ledger UX discussion (from Josh): https://hackmd.io/@dogemos/BkeJUJTtK - [ ] SPEC Notes: - ADR-049 https://github.com/cosmos/cosmos-sdk/pull/10701 - @amaurym to ask Billy to coordinate a call with Ledger UX stakeholders (incl Josh) # Meeting 29.11.2021 Agenda: - [x] BC Vault update - [x] SPEC Action: - Create draft PR, so that some decisions can be discussed asyncly # Meeting 15.11.2021 Agenda: - [x] Ledger team schedule call (or in-person event) - [x] Continue on Spec Notes: - make Ledger understand that we need to get on a call w/ them Action item: - @corlock reach out to Billy/Sam to contact Ledger - @amaurym ping denis to contact BCVault - # Meeting 08.11.2021 Agenda: - [x] Meeting frequency - Ok to swithc to biweekly starting from 15th Nov - [x] Go through the initial design doc - Let's schedule a call with the ledger team - Event in Paris Dec 9th-10th 2021: https://www.eventbrite.com/e/ledger-open-paris-tickets-186074232037 - In value renderers for numbers: consider using `'` for 1000s separator. (depends on language, find compromise) - Simon: use consistent language, prefer full words (e.g. transaction over tx, message over Msg) - What if user put `\n` in memo? - Juan: propose to only allow ASCII 32-127 - > Each string is less than N (TBD) characters, to avoid string streaming on the screen. - More relevant is pixel size. "m" is wider then "i" - Think about the realisitic max number of lines and max number of chars/line. # Meeting 04.10.2021 Agenda: - [ ] Make sure everyone is aware we're going with `SIGN_MODE_AMINO_AUX` for SDK v0.45 (~Nov). - Existing LEGACY_AMINO_JSON: ```go type StdSignDoc struct { AccountNumber uint64 Sequence uint64 TimeoutHeight uint64 ChainID string Memo string Fee json.RawMessage Msgs []json.RawMessage } ``` - New AMINO_AUX ```go type StdSignDocAux struct { AccountNumber uint64 Sequence uint64 TimeoutHeight uint64 ChainID string Memo string Msgs []json.RawMessage Tip sdk.Coins // [{"amount":"1000", "denom":"atom"}] } ``` - [ ] Temperature check on whether the updated `SIGN_MODE_TEXTUAL` is a good starting point. Notes: Action Items:

Import from clipboard

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template is not available.
Upgrade
All
  • All
  • Team
No template found.

Create custom template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

How to use Slide mode

API Docs

Edit in VSCode

Install browser extension

Get in Touch

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Upgrade to Prime Plan

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

No updates to save
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Upgrade

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Upgrade

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully