# Marigold Proto Dev (~20220920) - `L` features freeze will be on **16 Sept.** - [Marigold proto-dev plan for L](https://hackmd.io/h7-OdgzqQGiPn1-WEdV0CQ?view) - [SCORU review party](https://hackmd.io/i2uTFLRMTQKFbnHOTl0ilQ?view) ## 2022-09-20 - introducing - dahsboard (wip) https://hackmd.io/wKSOWoE7QbG_V6dm-4Egbw - Q4 roadmap (wip) https://miro.com/app/board/uXjVPVGRJGg=/?share_link_id=925048274576 - review party -> tech party on Fri. - time - 09am CEST (2pm/3pm/4pm) -> 07AM - 11am CEST (4pm/5pm/6pm) -> 09AM - be flexible :smile_cat: - VM party with SCORU VM team (Pierre and Ovidiu)? - next Thursday? (Sept. 29) <- try this first - regarding D-Day - still open for suggestions of how to "*DEMO*" - [name=YY]: I re-schedule my dialysis because this is the first D-Day. - to GA for showing: hey' that's what we have done. - show MRs in `L` - zero ticket (5 mins) -> XF - tickeyt reciept (5 mins) -> YY - BMC - issues/solutions -> Martin - read-only MR too - ticket transfer - run test in front of EVERYONE!!! -> XF - speaking of our position, the upgrades line on website: - https://www.marigold.dev/project/protocol-improvements-and-maintenance - just "*ticket-ux improvement*" - :heavy_check_mark: and add details on the text below - the Object of `M` | topic | project | owner | | ----------- | --------------- | ------ | | ticket-ux | ticket-balance | Lin | | | ticket-transfer | XF | | view-ux | view-patch | Quyen | | performance | BMC | Martin | | supporting | test rewriting | *all* | ### proto `L` **:admission_tickets: ticket balance** - MR: still pending on Mehdi - YES, as always ### proto `M` **:hamburger: BMC** - goes to `M` :shrug: - working on design proposal **:admission_tickets: ticket transfer** - scope of this MR: implicit -> implicit - added a test using TORU (it's working) - getting the test running for SCORU **:eyes: view patch** - refining the design and proposal ### test migration | MR | case | owner | last state | state | | ---- | ----------------------------- | ------ | ---------- | -------- | | 6105 | CreateRemoveTickets | Lin | wip | pending | | 6105 | SendTicketsInBigMap | Lin | wip | pending | | 6314 | View | XF | none | none | | 6324 | BadIndentation | YY | none | merging | | 6325 | BigMapToSelf | Martin | none | none | | 6326 | TZIP4View | Quyen | none | review | | ???? | OriginateContractFromContract | Lin | wip | pending | | - | BadAnnotation | | - | - | | - | Typecheck | | - | - | | - | TypecheckingErrors | | - | - | | - | ContractTypeChecking | | - | - | - review process - step 1: get MR ready - assign YY and Arvid as reviewers - step 2: call-for-review - on our internal channel - add at least one more from our team to review - step 3: de-draft and then assign Arvid as the assignee - Arvid will get us another outside reviewer - if needed, go to #mr-advertizing ## 2022-09-13 **:warning: Important** - the OKR is just updated - please make sure your project KR table is good - all after-`L`-FF tasks will be move to next proposal - start from next week; we would check it during this meeting as well ### proto `L` **:admission_tickets: deny zero ticket** - MR: 2 comments is waiting for resolved - post: done; shifted to Romain **:admission_tickets: ticket balance** - MR: - comments from Mehdi (almost all were resolved) - adding more tests - check if this included in `L` on the protocall ### proto `M` **:hamburger: BMC** - update cache - update cache whenever the storage gets updated - notes/doc for issues? and solutions? - preparing doc for current two possible solutions **:admission_tickets: ticket transfer** - testing - blocked by deny zero ticket **:eyes: view patch** - new design arrived (new instruction) - codebase reading - reading how to add new instruction - what woulld be the chanllenges - question for design? - nope, not right now ### test migration https://gitlab.com/tezos/tezos/-/issues/3633 > who? state? > which case? or haven't started? > next: action and ETA? - all: will pick one (open MR and update issue) by the end of this week ### misc - event demo for Marigold demo day? - nope, just mive to T&T with YY's AMA ## 2022-09-06 **:warning: Important** - ticket-ux :brain:: Tomorrow - view review party: this Fri. ### proto `L` **:admission_tickets: zero ticket** - pending on Mehdi review - restrict "zero" at type level - to user/dev: write a ticket with zero amount will raise an error - DONE! :sunglasses: - waiting Mehdi to review - post: all for review (https://hackmd.io/Ud4c9LPmTeuUZ4KwHrycNg) - Quyen and YY **:admission_tickets: ticket balance** - implementing receipt part (wip) - data-encoding: missing encoding for types :smirk: ### proto `M` **:hamburger: BMC** - learned: cache should be proxy layer - look into script cache - look into temp-id to real-id when lazy-storage diff goes into stoage - contact with Joel regarding [issue 2597](https://gitlab.com/tezos/tezos/-/issues/2597) - discuss further on the Protocall **:admission_tickets: ticket transfer** - `implicit -> implicit`: done - next: add test :robot_face: **:eyes: view patch** - studied knowledge about view (codebase and example) - reading our current proposal - next: finish reading and provide example ### outreach - we want to have short post for each of proposal - to sum up our contribution - En + local version (Mandarin?/Japanese?/Hokkien?) ## 2022-08-30 **:warning: Important** - Please do not forget to file your weekly report on slack. - we need maintain our OKR in a better way - breakdown your tasks (up to 2 weeks for each ket result each) for tracking ourself - please pin me for discussing once you have your breakdown ### to proto `L` **:admission_tickets: zero ticket** - *merged* nope, key supporter is on vacation and review process is stuck - assigned Mehdi as reviewer :thumbsup: - [name=YY]: ask Thomas for finding more review from MT **:hamburger: BMC** - the problem: inconsistent identity - arrange a meeting with Mehdi - maybe split MR into several smallers for `L` - discuss with Yann to double confirm - [name=YY]: it's probably a long shot, but current we remain on targeting `L` ### to proto `M` **:admission_tickets: ticket balance** - finalized the proposal and shared with indexers - started the implementation - will update on protocall - [name=YY]: stretch goal: put receipt part in `L` **:admission_tickets: ticket transfer** - re-desgin again: using existing operation between implicit accounts - it's a mess now - [name=YY]: we need our own plan for having voice to push the ticket-ux **:eyes: view patch** - got inputs from Agora - onboard Quyen **misc** - a brainstorming session for ticket UX? → gather intel this week and have this on next Wed. - SCORU review party: pending - poor review process - YY: we need to be in MT! - ~~YY: ask Yann for reviewer for tickets~~ ## 2022-08-23 Only 1 week left in Aug., we need a determined scope for all the projects in our hands. **BMC :hamburger:** - added tesing - discussed MR plan with Yann - new plan for PBT - read-only BMC for this feature-freeze of `L` **zero ticket** - no blocker, pending review **implicit accounts ticket** > 1st half (in L): ticket transfer between implicit account > 2st half (in M): ticket transfer from contract to implicit account - the plan is unchanged, yet we try to remove the tx-memo out of our scope - 1st MR is till draft, need test and doc - rough ETA: 4th Sep. (but Joel is on vacation) **ticket balance transparency** - kickoff meeting with Joel - milestone updated :thumbsup: - will contact indexers for gathering feedback - reading the current impl. of ticket **view patch** - proposal released on the `#upgradeable contract` and the `#proto-proposal` - further discussion at today's protocall **review party** - postpone after the featrue-freeze of `L` ## 2022-08-16 **BMC :hamburger:** - MR discussion with Yann - Ticket accounting issue solved :+1: - More regression tests around `Script_bigmap` - Next meeting on Thursday for property-based tests - ETA and scope would be clear by this Friday. **tickets improvements** - Deny zero ticket - Second final MR is ready for review (reviewer is Joel) - Implicit accounts tickets - Development starts today - ETA two weeks (end of August to see the first MR) - Target for M but get first half done for L as much as we can - 1st half (in L): ticket transfer between implicit account - 2st half (in M): ticket transfer from contract to implicit account **~~post-condition~~ → FA3** - any draft? ([agora](https://forum.tezosagora.org/t/fa2-1-fa3-its-time/3704)) - Documentation of [Smart contract security](https://hackmd.io/@marigold-dev/HJWHdQ_09) **views patch** - Meeting with Yun Yan - Next step: get opinions from wider audience **review party** - Last party was adjourned. Resuming this Friday. **misc** - Please make sure your project is synced on Protocol L's - [milestone](https://gitlab.com/tezos/tezos/-/milestones/90#tab-issues) - [preview post](https://hackmd.io/MbJyOl6qScyb559OnRcuaA?view) - Event demo video - Talk to Benjamin - [name=YY]: I would *try* to take over this. ## 2022-08-09 **post-condition** - [name=YY]: expecting to have a document and a reply on Agora as a closure → [name=Lin] - Standardize events as TZIP (FA3) - Early stage of inception - We need feedbacks from current contract devs (meaning outreach) **bigmap cache** - [name=martin] Unit test suites → done - Ticket tests are failing involving lazy storage, bigmap - Some clues about failure cases but tricky - Action: Meeting with Yann for advise and debugging, Thursday 11th Aug **zero ticket** - [name=xf]: the first MR merged 🥳 - [name=xf]: unexpected complication arising from `legacy` mode, needs confirmation with Joel, conservatively estimating ETA as two weeks at least - `TICKET` -> `TICKET_DPRECATED` renaming in Michelson - `TICKET`, `TICKET_OPT` **implicit account tickets** - [name=xf]: meeting with Joel on 9th Aug, later in Protocall formally introduce this project, explaining the UX of transferring tickets to implicit accounts. **views patching** - [name=YY]: feel free to enage discussion on the *upgradable contract channel* → [name=Lin] - reminder: `internal freeze: 2022-09-02` **review party** - [name=Lin] scheduled this Friday **events demo video** - [name=YY]: expecting to have at least a plan or slides → [name=XF] - Haven't gotten time for drafting a plan - Need to talk to Romain for style guide - Rough idea: 3 minutes in explaining the concept; 3 minutes in demo **misc** - Our [OKR/milestone](https://hackmd.io/h7-OdgzqQGiPn1-WEdV0CQ?view) has been updated (by [name=YY]), please check if things are correct (in terms of your expectation/understanding) - Please update your milestone on the global [milestone Protocol L+](https://gitlab.com/tezos/tezos/-/milestones/90#tab-issues) if it's necessary. ## 2022-08-02 **zero ticket** - not much - [MR!5962](https://gitlab.com/tezos/tezos/-/merge_requests/5962) ready for review (scope is agreed by Mehdi and Joel) - [MR!5963](https://gitlab.com/tezos/tezos/-/merge_requests/5963) finished (yet drafted); blocked by previous **implicit accounts tickets** - no need for new mgt operation - blocked by the *existential type in Michelson* **existential type in Michelson** - [milestone 103](https://gitlab.com/tezos/tezos/-/milestones/103#tab-issues) - adding new type for ticket in Michelson - pre-task for implicit accounts tickets **bigmap cache** - MR plan is ready; will send to Yann for inputs - fixed existing bugs - starting fixing ticket-related issue (meeting with Joel later this week) - targeting to fix every thing within week **post-condition/blind-sign/insights** - it seems a need for standard/TZIP not for amending protocol - working on proposal (or report) for concluding what we know so far - Lin will be helping on other tasks **review party** - for next one, the same time on this Friday? **misc** - benchmark document - no update - events demo video - targetting to have a plan (or slide) by Friday (Aug. 05). - upgradable contract - proposal draft is wip - Lin would start reading impl. details of views ## 2022-07-26 **misc** - KR plan within this week - Blogpost for events is done! :congratulations: - How about a short (~10 mins) video for demo as well? -> [name=XF]: Yes **review party** - This Friday at 11am CEST (5pm to me and XF and 6pm to Lin) **post-condition** - It's splited into **tx insight** and **tx post-condition** - [name=Lin]: discuss with TJ - [name=Lin]: **tx insight** first; but still determining the scope - [name=Lin]: reach out to wallet devs (Fedor as well) **ticket** - [name=XF]: MR is almost done for the **zero-ticket** - [name=XF]: **implicit account ticket** still in discussing (on the design) **cache** - [name=Martin]: fixing testing (unit test and ticket-related), will reach out to Joel asap. ## 2022-07-19 **post-condition** - [design doc](https://hackmd.io/2QoOCSp7Q0avE3EPzw6Bdg) and [MR plan](https://hackmd.io/9nC5IMTFRIuZboJc2C1iYQ) - [name=Jason:] ETA of PoC is unknown for now; need more exploration - [name=Jason:] Martin would help on this **ticket improvement** - implicit accout ticket - [name=XF:] UX is the problem (see #ux-ticket on slack) - [name=XF:] might need a new operation - zero ticket - [name=XF:] is still in early stage **bigmap cache** - [milestone 94](https://gitlab.com/tezos/tezos/-/milestones/94#tab-issues) **minor topics** - protocol benchmark - [name=XF:] will resume this - post for events - [name=XF:] done (contact with Romain for publish) - regarding blogpost - [name=YY:] hackmd is hard to discuss, should we create a repo of blogpost so that we can have a better process of reviewing? - Thomas: (1) google doc (2) just edit it! - contribute SCORU (by reviewing) - [name=YY:] we may want to start with some review party for some merged MRs - :arrow_right: Let's do a *live reviewing party*! ([party notes](https://hackmd.io/i2uTFLRMTQKFbnHOTl0ilQ)) MRs review - **!3685** Storage Protocol: optimize Big_map updating using local tree - understand `context` and `storage` (relating !4421) - **!4819** Moves the calls of set_log_message_consumer to get_protocol - enable `logging` in protocol - **!4449** *Draft*: Add Merkle proof RPC and tezos-client sub-command - how to add `client-command` and `RPC` ## 2022-07-12 post-condition - [name=Jason:] discussed with - [name=YY:] would get contract dev for use case ticket improvement - [name=xf:] more discussion planned - [name=xf:] no ticket on alphanet, ghostnet, mainnet bigmap cache - [name=YY:] simplified design, having bug from ticket inside bigmap, dig into it baking accoun - [name=Thomas:] meh, we would focusing on other major topics minor topics - onboard - doing well - protocol benchmark - [name=XF:] not started yet - post for events - [name=XF:] ready ## 2022-07-05 transaction guard - *<update?>* ticket improvement - meeting (with Trili) arranged - *<update?>* bigmap cache - YY: discussed with Yann and Mehdi: removing the updating part aas for the MVP onboarding - YY: presentation arranged - *<update?>* baking account - YY: review party with Lin and Martin arranged (07-Jul) doc/guide for protocol benchmark - *<update?>* post for events - *<update?>* ## 2022-06-28 protocol `K` - feedback from TJ and A. - can be solved outside the current design (via TZIP etc..) protocol `L` - bigmap cache [name=YY] - bigmap overlay is constructed after contract execution, lead bigmap cache not working as expected; asked Yann and Medhi to walk through with me - benchmark [name=XF] - write post or doc for this - baking account [name=Martin] - reading the doc and code - transaction guard [name=Jason] - passive over aggressive - keep it simple as for balance and storage more - communication with indexer/wallet/API providers - using Agora - onboarding [name=Martin] - intro from YY next Mon. - MR reviewing - XF: 5655 and 5284 (but no comment) ## 2022-06-21 protocol `K` - events - state: approved (rebasing against to master now) - follow-up - create `Contract_event.in_memory_size` ([3259](https://gitlab.com/tezos/tezos/-/issues/3259)) > assign to [name=xf]; *should be closed by now* - Benchmark for cost_N_IEmit ([3272](https://gitlab.com/tezos/tezos/-/issues/3272)) > assign to [name=xf] - Stresstest event data generation ([3273](https://gitlab.com/tezos/tezos/-/issues/3273)) > assign to [name=xf] - ~~explain how to update script_typed_ir_size.ml ([3227](https://gitlab.com/tezos/tezos/-/issues/3227))~~ > *assigned to Mehdi* - ~~Allow using TRANSFER_TOKENS to emit events ([3228](https://gitlab.com/tezos/tezos/-/issues/3228))~~ > *seems not necessary* protocol `L` - 👉 [Marigold proto dev plan L](/h7-OdgzqQGiPn1-WEdV0CQ) - monthly dev-post and weekly devlog for what we are working on ## 2022-06-14 - events - [name=xf]: - no prob - yann: gas model might be a problem - yann: space required by many events? - need to reach out to Lucas for how to bench protocol for updating gas model - push this on protocall ! - bigmap cache - [name=jason]: - update contract for testing - [name=YY]: - working on the new design of precache - hard to get into `K` - next week: - How to estimate gas model - Plan for protocol L - Plus: Lin and Martin ## 2022-06-07 Protocol `K:` - events - [name=xf]: impl. with new design is done and test and doc are done; RM ready again - bigmap cache - [name=YY]: call for review: esp, `big_map_cache` and `script_big_map` - assing to [name=jason]; [name=xf] - adding/fixing tests? - [name=yy] WIP - RPC - [name=yy]: will pick up RPC commit from xf - [name=xf]: add test afterwards - [name=yy]: current comments on MR have been addressed; waiting the tests to be done so can start another round of review - new comer ! - Martin is onboarding ~20 June :confetti_ball: ## 2022-05-31 Protocol `K`: - events - MR is ready - shell -> waiting for MR gets merged - bigmap cache - MR is open - RPC -> xf - tests -> json - cleanup and comment - cases to be added - existence - size - update - fixing other tests -> yy - need a little more time on review - ad-hoc pairing session for reviewing MRs ## 2022-05-24 Protocol `K`: - events - What's the progress of MR/impl? any ETA? - Yann: unique address for each event type is necessary - [name=xf] Event type addresses are implemented; new transaction result types are done - Next up: collect those `Transaction_to_event` operations and convert them into `Contract_event_repr.t` - Next up: sunset the old event implementation - ETA: _by the end of Friday, 27 May_ - events demo - with Octez? - [name=YY]: can someone help me to contact with them? - [name=Thomas] sent a message to Mathias & Bruno to nominate someone from shell team for the demo at 4PM CEST (2022-05-24) - with TezEdge? - [name=YY]: we have a demo meeting with them later today (2022-05-24). - [name=Thomas]: Would you plan also a demo to TzStat (contact @Alexander Eichhorn) & Tzkt (Beaking Bad, [name=xf] have a contact) - bigmap cache - MR 1 (bigmap extraction)? - [name=YY]: it's got reviewed and approved in last Fri. It's now waiting the merge bot to do the merge (FYI: CI was broken during weekend) [MR!5298](https://gitlab.com/tezos/tezos/-/merge_requests/5298) - Test cases? - [name=jrt] Tests are progressing. Spent a lot of time digging in to the details of how the Michelson instructions work in the protocol in order to understand how to convert the cached representation of the big map. - MR 2 (feature - bigmap cache)? - [name=YY]: The internal data of cache has been modified from `script_expr` to `typed_ir` which brought some problems of manipulating existential type. But thanks to Yann, it's now solved and I'm working on cleanup and adding missing parts like size and gas. If thing goes as I expected, will have this MR by this week. ## 2022-05-17 Protocol `K`: - events - how's [new design](https://hackmd.io/wg4rsXyRTZWQCfqqRt50kQ?view)? - [name=xf] wip (ETA: this Fri.) - ~~MR status?~~ - [Protocol K Announcement](https://hackmd.io/b97-frwETCG429b5G3S05Q?view) - we want to be there as well - what we have right now? [name=yy] nothing particular - events in the Shell - discussion with **Octez** and **TezEdge** for the idea of having push API in Shell - [name=xf] add RPC and websocket endpoint - [name=jrt] open channel for further discussion - [name=xf] writing a summary tmr - bigmap cache - [name=jrt] tests (targeting the end of this week) - [MR!5298](https://gitlab.com/tezos/tezos/-/merge_requests/5298) is almost there - follow-up MR for cache itself is in progress Discussion points: - Guard :guardsman: - [name=YY] low priority now, but more inputs are welcomed ([link](https://hackmd.io/WXIY7xVYRhOfGQMw39tZXg?view)) ## 2022-05-10 Protocol `K`: - event - how's review? - [name=xf] supporting emit in lambda now (still not supported inside views, but requires investigation) - [name=xf] talking with Yann about type checking - cache - [name=yy]o verwrite cache during replay causes unknown error :skull: - [name=yy] create [MRs](https://hackmd.io/GvPDdkS1T1CxsU5Qcd8vcQ?view) - demo - [name=jrt] looking to got merged - [name=xf] make it easier to deploy - [name=xf] demo on 11-May Wed. 11h00 (CEST) Discussion points: - Guard :guardsman: - do we want to do this?: We DO! - what is [monitor](https://forum.tezosagora.org/t/monitors/1982)? - aim to `K`?: neh - other options - state of PVSS? - resume *baking account*? ([proposal](https://hackmd.io/OgIjbWvITDGPybq6ivc2Gg?view)) - improve that: "*factory contracts cannot use global constants to reduce the size of the contracts they originate.*" ([discussion on slack](https://tezos-dev.slack.com/archives/C596FGNUR/p1652113687848689)) - improvement to Events? - GToC cache - view cache (NL's postponed task) - no one use time-lock? ([doc](http://tezos.gitlab.io/alpha/timelock.html), [post](https://research-development.nomadic-labs.com/timelock-a-solution-to-minerblock-producer-extractable-value.html)) - review other MRs from others ## 2022-05-03 - events (promotion) - [name=xf] visualizer is ready - [name=jrt] contract is done - shoud be ready by the end of this week - events (MR) - [name=yy] under review by Yann - bigmap cache - [name=yy] done logging in protocol during tezos-node replay :bug: - [name=yy] bypassing some checking in replay and preparing cache instnace for bigmap by hand ## 2022-04-26 - events - update OKR - [name=xf] Done - MR, what else can be done by Marigold? - [name=xf] not much - demo - [name=xf] indexer done - [name=xf] WIP, building the visualizer for graphs - ETA: 04-29 Fri. - [name=xf] we need an event type definition - `type event = Xtz_exchange_rate of nat` - Test contract: - [name=jrt] Have a skeleton imp of Token contract. This went through a few iterations as I moved permissions and admin for the token operations into separate files. The token contract is based on a FA2 implementation. - using the [onchain view](http://tezos.gitlab.io/protocols/011_hangzhou.html#michelson-on-chain-views) instead of callback-based view (and here is [a tip from c2](https://www.marigold.dev/post/tips-for-using-views)) - [name=jrt] Open question: This type of contract creation was part of an SDK in Solana which made it easy for DeFi applications and teams to leverage - is there something similar in Tezos? (Other than rolling your own implementation every time) - ETA: 04-29 Fri. - blogpost - [name=YY] postponed to demo finished - bigmap - replay - [name=YY] working with Jun from Dailambda to firgure out how to do logging in protocol during replay - testing - [name=jrt] low priority (test contract for events)