# gno.land Core Team (bi-weekly) ------- **August 7th** Change: Announcement sections Team adds to discussions they want to cover and decide what they want to dicuss **Section One: What to Gno section:** What are the highlevel updates to share! (short and sweet a TL;DR) - Test4 status update from Milos - [A hotfix for the test4 issue](https://github.com/gnolang/gno/pull/2319) - r/gov/dao/v2` in the [final review stages](https://github.com/gnolang/gno/pull/2581), pending merge and deployment to test4. - Strategy for Test4 and beyond - [Better stack traces](https://github.com/gnolang/gno/pull/2145) in Gno merged! Congratz @omarsy :tada: - Lots of people OOO **Section Two: gno.land Blockchain** - Add a ugnot constant [PR 2656](https://github.com/gnolang/gno/pull/2656) (Dylan) - Removing the admin from the system contract entirely [Issue 2657](https://github.com/gnolang/gno/issues/2657)(Piux2) - Present Indexer Proposal: Generic Filter Functionality [Issue 76](https://github.com/gnolang/tx-indexer/issues/76) (Antonio) - Quick update on the vision for Gnoweb (Guilhem and Alexis) - design preview: https://github.com/gnolang/gno/issues/2046 - Executable markdown: - https://github.com/gnolang/gno/pull/2357 related to https://github.com/gnolang/gno/issues/2245 (notJoon/Dylan) **Section Three: Governance and DAO structurization** - Topics we can discuss **Section Four: VM and Gno** - Fix max names in block check [PR 2645](https://github.com/gnolang/gno/pull/2645) (Dylan) - Handling loop variables [PR 2429](https://github.com/gnolang/gno/pull/2429) (Maxwell/Jae) - Preventing cyclic references in type declarations [PR 2081](https://github.com/gnolang/gno/pull/2081) related to self-referential types crash the VM [PR 2008](https://github.com/gnolang/gno/issues/2008) (Dylan) - Showing "out of gas" errors [PR 2368](https://github.com/gnolang/gno/pull/2368) (grepsuzette) - Catching out of gas exceptions in preprocess [PR 2638 ](https://github.com/gnolang/gno/pull/2638)(Piux2) - [Proposal for better error handling in realms](https://github.com/gnolang/gno/issues/2653) by Dylan **Section Five: Tendermint 2** **Section Six: Security** - Developing ideas for improving user confidence in contracts, such as verified contracts and audited contracts reflected in UIs (gnoweb, wallets, explorers, web dev environments, VSCode plugin, etc.) - Discussions from frontends like Adena and Gnoswap welcome :) **Open Discussion** * Inter-realm Panics - https://docs.google.com/document/d/1eCgGPCJ8fMhNc_vc_pbgCxP10X7jGKLC89nBUGatsD4/edit?usp=sharing&authuser=1 * GnoWeb change * JSON keeper input/output: * keep Msg JSON format : https://github.com/gnolang/gno/pull/1776 * TypedValue Marshal: https://github.com/gnolang/gno/pull/2652 * Sync GC (Petar) * Jae: "It's a synchronous non-garbage collector" New format for the weekly call: - Short form updates from either core or contributors (20 minutes) - Discussion section lead by Jae: - A selection of discussion topics selected and owned by the topic moderator ----- **July 24th** **Section One: What to Gno section:** What are the highlevel updates to share! (short and sweet a TL;DR) - What is new? - Short overview of ongoing Governance discussions and considerations for Test4 (team) - Currently 30 members and an estimated 3 governance proposals for adding 3 validators - Considerations for future governance proposals: notable contributions - GnoBro[ update](https://github.com/gnolang/gno/pull/2608) is done, and documentation coming soon! - feat(examples): implement r/events, p/authorizable ([PR 2372](https://github.com/gnolang/gno/pull/2372)) **Section Two: Gno.land Blockchain**: Faucet, implementation, Portal Loop, clients, SDK as examples - What is new? - Debugging test4 [cache](https://github.com/gnolang/gno/pull/2605) - JSON specs discussion ([PR 1776](https://github.com/gnolang/gno/pull/1776)) and [PR 2029](https://github.com/gnolang/gno/issues/2029) - Short summary of GopherCon challenges and workshops - [Gno files on-chain are now automatically formatted](https://github.com/gnolang/gno/pull/2464) - Transaction hashes are now printed out when using maketx ([PR 2309](https://github.com/gnolang/gno/pull/2309)) - What is being discussed? - How upgrades can work, and [upgrade patterns](https://github.com/gnolang/gno/pull/2334) examples folder (add link) **Section Three: Governance and DAO structurization** - What is new? - Recap from discussions and next steps **Section Four: VM and Gno** - What is new? - repair selector type aliasing ([PR 2483](https://github.com/gnolang/gno/pull/2483)) - limit value string size ([PR 2570](https://github.com/gnolang/gno/pull/2570)) - named and unnamed type assignment ([PR 2367](https://github.com/gnolang/gno/pull/2367)) (Ray) - repl now has a debugger -- expect it to land on the playground soon ([PR #2567](https://github.com/gnolang/gno/pull/2567)) - interrealm rules; not complete ready for review; https://docs.google.com/document/d/1eCgGPCJ8fMhNc_vc_pbgCxP10X7jGKLC89nBUGatsD4/edit?usp=sharing - write reason why a type doesn't implement an interface ([PR 2492](https://github.com/gnolang/gno/pull/2492)) - What is being discussed? - revert to storing frames in the machine as values instead of pointers ([PR 2596](https://github.com/gnolang/gno/pull/2596)) @deelawn - feat: protocol level dynamic gas price ([PR 2544](https://github.com/gnolang/gno/pull/2544)) Ray - follow up works on loop scope ([PR 2440](https://github.com/gnolang/gno/pull/2440)) Maxwell - correct comparison between different types ([PR 1890](https://github.com/gnolang/gno/pull/1890)) Maxwell - prevent cyclic references in struct declarations ([PR 2081](https://github.com/gnolang/gno/pull/2081)) Maxwell - add Stacktrace Mechanism to Machine for Improved Exception Handling ([PR 2145](https://github.com/gnolang/gno/pull/2145)) and relation to use OpCall to run deferred statements ([PR 2597](https://github.com/gnolang/gno/pull/2597)) with Omar **Section Five: Tendermint 2** - What is new? - feat: protocol level dynamic gas price ([PR 2544](https://github.com/gnolang/gno/pull/2544)) Ray - expose InitChain tx responses ([PR 1941](https://github.com/gnolang/gno/pull/1941)) **Section Six: Security** - Researching approaches to fuzzing: - generating random gno code to crash node - generate random gno code and compare result of gnovm to running `go run` on same file - PR reviews underway - Findings validation - Investigating graphql testing (indexer) **Questions and comments!** - For security fixes, best way to engage devs? Manager assignment or git blame? ---- **July 10, 2024** **Section One: What to Gno section:** What are the highlevel updates to share! (short and sweet a TL;DR) - What is new? - We have our first genesis! Update on the internal launch of Test4 in preparation for Monday, July 15th @zmilos - We have roughly 30 GovDAO members for testing purposes, and by Monday will have conducted voting on 3 governance proposals and on-chain update. - We have the full v0.1.0 release [updates](https://github.com/gnolang/gno/releases) - Important update on Namespaces in gno.land @gfanton - What is planned for the next two weeks? - A breather :) **Section Two: Gno.land Blockchain**: Faucet, implementation, Portal Loop, clients, SDK as examples - What is new? - GovDAO added functionality [PR 2493](https://github.com/gnolang/gno/pull/2493) @ajnavarro - Namespace user feature [PR 2471](https://github.com/gnolang/gno/pull/2471) @gfanton - Gnovanity [tool](https://github.com/thehowl/gnovanity) from @tyge - Gnodev lazy loading implemented @gfanton - Timeline PR for Gnodev ([PR 2286](https://github.com/gnolang/gno/pull/2286)) - Portal Loop bug fix runtime error: index out of range [2] with length 0 while deploying certain realm on poral-loop ([PR 2283](https://github.com/gnolang/gno/issues/2283)) - Feat: Add watchdog and monit ([PR 2329](https://github.com/gnolang/gno/pull/2329)) - Refactor GRC20 ([PR 2529](https://github.com/gnolang/gno/pull/2529)) @moul @leohhhn - Feat: new govDAO pattern with context ([PR 2380](https://github.com/gnolang/gno/pull/2380)) - GnoSDK MVP [PR 2205](https://github.com/gnolang/gno/issues/2205) @gfanton - What is planned for the next two weeks? - Refactor, add versioning and remove nighlightlies ([PR 2477](https://github.com/gnolang/gno/pull/2477)) - user work flow related and manual releases @tyge - Others we want to add? **Section Three: Governance and DAO structurization** - What is new? - Governance Updates @moul **Section Four: VM and Gno** - What is new? - Protocol level dynamic gas pricing [PR 2544](https://github.com/gnolang/gno/pull/2544) @ray - refactor(stdlibs/std): re-organize gnoEvent struct ([PR 2160](https://github.com/gnolang/gno/pull/2160)) @tyge - What is planned for the next two weeks? - Integrating GnoVM debugger with REPL ([PR 2567](https://github.com/gnolang/gno/pull/2567)) @marc733 - ABI specifications for Realms and packages issue [1842](https://github.com/gnolang/gno/issues/1842) - Named and unnamed types [PR 2367 ](https://github.com/gnolang/gno/pull/2367) @ray - Draft: add importer package [PR 2201] (https://github.com/gnolang/gno/pull/2201) @tyge **Section Five: Tendermint 2** - What is new? - [libtm](https://github.com/gnolang/gno/tree/master/tm2/pkg/libtm) << not exactly new, we mentioned it before - Blog for food for thought https://gno.land/r/gnoland/blog:p/reaching-consensus - What is planned for the next two weeks? **Section Six: Security** - Auditing in final stages of validation, results are being compiled into a private doc available upon request - Taking a quick look at GovDAO ------ **June 26th, 2024** Today, we will have the last 20 minutes for presentations from the SCP Roeun students. **Section One: What to Gno section:** What are the highlevel updates to share! (short and sweet a TL;DR) - What is new? - Recent [supernova](https://github.com/gnolang/supernova) tests showed that we have ~550 TPS on a single node machine (M3 Mac; 100k txs, 1s block time). - Impact: Last year, the TPS performance we had varied from 7-20 TPS with the same setup, so this is a huge boost over the last year. - Build CI merged https://github.com/gnolang/supernova/pull/34 - [gno type check](https://github.com/gnolang/gno/pull/1426) has been merged!!! - And [transpile gno standard libraries](https://github.com/gnolang/gno/pull/1695), too - What is planned? - Gno Namespace https://github.com/gnolang/gno/pull/384 (@guilhem) - Entering the final stages for Test4! (@milos) - Finally, part of the team is preparing to go to GopherCon US 2024 in Chicago in 2 weeks! **Section Two: Gno.land Blockchain**: Faucet, implementation, Portal Loop, clients, SDK as examples - What is new? - Wrapping up work on `r/sys/vals` and improving the [initial GovDAO implementation](https://github.com/gnolang/gno/pull/2344) - larger [issue](https://github.com/gnolang/gno/pull/2130) - it looks like it is happening :) - [Updated the calling syntax for gnokey `qeval` and `qrender`](https://github.com/gnolang/gno/pull/2382) - [making gnokey more convenient to use](https://github.com/gnolang/gno/issues/2349) - [Added JSON output to `gnoland config` & `gnoland secrets` subcommands](https://github.com/gnolang/gno/pull/2393) - [improved support for OpenTelemetry](https://github.com/gnolang/gno/pull/2402) - What is planned and in the works for the next two weeks? - Merging [`gno fmt` command](https://github.com/gnolang/gno/pull/2156) soon! @gfanton - Merging [`gnodev` transaction manipulation PR](https://github.com/gnolang/gno/pull/2286) soon! @gfanton **Section Three: Governance and DAO structurization** - What is new? - @moul - Continued work on GovDAO **Section Four: VM and Gno** - What is new? - [fixes to assignment of star expressions](https://github.com/gnolang/gno/pull/2255) - [for loop and if improvements](https://github.com/gnolang/gno/pull/2140) - [custom boolean types in conditional statements](https://github.com/gnolang/gno/pull/2147) - [Using TestSkipHeight](https://github.com/gnolang/gno/pull/569) now moves time forward as well. - What is planned and in the works for the next two weeks? - [Type check in Gno linter](https://github.com/gnolang/gno/pull/1730) - [Starting work on reorganizing the std standard library](https://github.com/gnolang/gno/pull/2425) @tyge **Section Five: Tendermint 2** - What is new? - Opened up the PR for migrating libtm to the monorepo ([gnolang/gno#2424](https://github.com/gnolang/gno/pull/2424)) **Section Six: Security** - What is new? - https://github.com/kristovatlas/gosec PoC - Gno internal audit underway for test4 **Presentation/feedback from our first SCP cohort** * Malek * Zak * Mustapha * Theo **`gnobro` demo by Guilhem** what you all are here for! :) ----- **Date**: **June 12th, 2024** **Duration: One hour of structured updates** **Description:** This call will primarily focus on the Gno Core team updates related to specific topics Duration: One hour, with the option to go over if there are issues to cover and discuss **Agenda format** *It is broken down into sections that can be discussed by respective gno core team members* **Section One: What to Gno section:** What are the highlevel updates to share! (short and sweet a TL;DR) - What is new? - We finished the migration to [GoReleaser](https://github.com/gnolang/gno/pull/2101) @antonio - In the final phases for wrapping up our test4 milestone: - Currently, the hot topic is the initial govdao proposal implementation, on-chain validator set implementation (r/sys/vals) and on-chain validator set injection. - [MsgCall can only be used on `r/`](https://github.com/gnolang/gno/pull/2242) - [reference issue on purifying `p/`](https://github.com/gnolang/gno/issues/2192) - thanks var meta! - What is planned? - Wrapping up more efforts that will bring us closer to completing the [test4 milestone](https://github.com/gnolang/gno/milestone/4), which is currently 64% completehttps://github.com/gnolang/gno/pull/2327 **Section Two: Gno.land Blockchain**: Faucet, implementation, Portal Loop, clients, SDK as examples - What is new? - [Dropped support](https://github.com/gnolang/gno/pull/1714) for all unused DB implementations, apart from leveldb and boltdb. @tyge - [Added the ability to add packages to genesis transactions](https://github.com/gnolang/gno/pull/2327) @zmilos - [`gnodev` can now be started with specific transactions to load in](https://github.com/gnolang/gno/pull/2281) - [gnoweb will now correctly show gno.mod files](https://github.com/gnolang/gno/pull/2278) when viewing them from the "source" files. - [The help page commands to make "airgapped" gnokey transaction has been updated, following the updates on `gnokey sign`](https://github.com/gnolang/gno/pull/2244) - What is planned and in the works for the next two weeks? - [Manipulating transactions in `gnodev`](https://github.com/gnolang/gno/pull/2286) @gfanton - Fixes to infrastructure, related to Portal Loop & Staging - Examples: - [Upgrade patten examples](https://github.com/gnolang/gno/pull/2334) - [Improving the `p/demo/ownable` API](https://github.com/gnolang/gno/pull/2330) - [Refactoring the `p/demo/grc/grc20` package](https://github.com/gnolang/gno/pull/2314) - Many more proposals for new examples from students, Var Meta, etc. **Section Three: Governance and DAO structurization** - What is new? - [Continued work on the initial sys/validators & gov/dao contracts](https://github.com/gnolang/gno/pull/1945) - feedback is much appreciated - What is planned and in the works for the next two weeks? - [Work on `r/sys/vals`](https://github.com/gnolang/gno/pull/2130) & [validator set injection using it](https://github.com/gnolang/gno/pull/2229) **Section Four: VM and Gno** - What is new? - [Bumped the GnoVM test coverage](https://github.com/gnolang/gno/pull/2143) from ~34% to ~67% - [Added more functionality to `stdlibs/time`](https://github.com/gnolang/gno/pull/2240) @deelawn - [Small fix to `std.Emit`](https://github.com/gnolang/gno/pull/2292) - [`gno test` no longer supports transpilation](https://github.com/gnolang/gno/pull/2050) -- eventually this will be added back by including the changes in [#1730](https://github.com/gnolang/gno/pull/1730) also in `gno test`. - The gnovm debugger now correctly supports [adding breakpoints in loop bodies](https://github.com/gnolang/gno/pull/2251). - Assignments mixing named and unnamed types are now [correctly supported](https://github.com/gnolang/gno/pull/1246) - Error lines should now be correctly marked [when printing errors coming from type, constant and variable declarations](https://github.com/gnolang/gno/pull/2221). - What is planned and in the works for the next two weeks? - [Fixes for the VM](https://github.com/gnolang/gno/pull/2140) by Petar - [More fixes for the VM](https://github.com/gnolang/gno/pull/1818) by @ltzmaxwell - [Merging a long-standing transpiler PR](https://github.com/gnolang/gno/pull/1695), which will be the first step to splitting and reorganizing the `std` package @tyge **Section Five: Tendermint 2** - What is new? - [Finally fixed the long-standing failing BFT test](https://github.com/gnolang/gno/pull/1515) **Section Six: Security & Ops** - Audit in validation phase, findings are being compiled in a private doc - No blocking issues so far, will only interrupt test4 efforts for critical severity issues - Taking a quick look at GovDAO --- # Gno.land Core Team (bi-weekly) ------- **Date**: **May 29th, 2024** **Duration: One hour of structured updates** **Description:** This call will primarily focus on the Gno Core team updates related to specific topics Duration: One hour, with the option to go over if there are issues to cover and discuss **Agenda format** *It is broken down into sections that can be discussed by respective gno core team members* **Section One: What to Gno section:** What are the highlevel updates to share! (short and sweet a TL;DR) * What is new? - A short update from @zmilos on the Test4 plans and progress plus takeaways from test3 debugging (@thehowl) - A short recap from the Engineering retreat (@Kouteki) - Update on Portal Loop recent changes - [We've consolidated port numbers to from `3665{6,7,8}` to `2665{6,7,8}`](https://github.com/gnolang/gno/pull/2178) - [`gnoland start` was overhauled](https://github.com/gnolang/gno/pull/1985) - Successfully finished our Golang Serbia meetup while in Belgrade - recap blog coming soon! - [Coins now have more functionality in Gno](https://github.com/gnolang/gno/pull/2104) - `gnopls` is now official https://github.com/gnolang/gnopls :tada: - What is planned? - `gnora`, [Blockchain-less Gno Interpreter PoC](https://hackmd.io/79ilyTyURAmL-Nas4Jw8lA) **Section Two: Gno.land Blockchain**: Faucet, implementation, Portal Loop, clients, SDK as examples * What is new? * First nightly [release](https://github.com/gnolang/gno/releases/tag/v0.1.0-nightly.20240523) and how this will be managed moving forward @zmilos * Note that the docker containers have changed; they are now lighter, but are incompatible with the previous ones (due to changing directory structures, etc) * Different docker tags (`nightly`, `master`, `latest`) * We'll start tagging our releases with test4 * [Fixed the annoying `wal` folder when running gnodev](https://github.com/gnolang/gno/pull/2230) * [Had improvements by Alexis to gnoweb, making blog posts much nicer](https://github.com/gnolang/gno/pull/2223). Preparing for a full revamp of `gnoweb`, making it much more useful and nicer on the UX/UI side as well as on the code side. * [Import paths are now limited to 256 characters in size](https://github.com/gnolang/gno/pull/2108). * More [telemetry statistics have been added to the node](https://github.com/gnolang/gno/pull/2059) * What is planned and in the works for the next two weeks? * For feedback: feat(amino): Add TypeDesc Amino implementation and TypedValue marshaler [#2113](https://github.com/gnolang/gno/pull/2113) @gfanton * [Work on a new `gno fmt` command by @gfanton](https://github.com/gnolang/gno/pull/2156) * [Discussions and initial implementations about an upgrade pattern for Gno](https://github.com/gnolang/gno/pull/2151) by @moul **Section Three: Governance and DAO structurization** - What is new? - [r/sys/teams](https://github.com/gnolang/gno/pull/2184) @moul - [/gov/dao contracts](https://github.com/gnolang/gno/pull/1945) @moul - What is planned and in the works for the next two weeks? **Section Four: VM and gno** * What is new? * Gnovm std lib tests [#2110](https://github.com/gnolang/gno/pull/2110) @thehowl * [TestSetPrevRealm renamed to TestSetRealm](https://github.com/gnolang/gno/pull/2164); the API has changed as well: `std.TestSetRealm(std.NewCodeRealm("gno.land/r/demo/users"))`. * [AssertOriginCall will now panic for MsgRun](https://github.com/gnolang/gno/pull/1665) * [PrevRealm will not return the user realm anymore in MsgRun](https://github.com/gnolang/gno/pull/1719) * [`std.CurrentRealmPath()` has been deprecated in favor of `std.CurrentRealm().Path()`](https://github.com/gnolang/gno/pull/2087). Thanks Varmeta! * Parsing gno files [will now print all parsing errors encountered](https://github.com/gnolang/gno/pull/2011), instead of only the first one. Thanks Teritori! * What is planned and in the works for the next two weeks? * [Marc has been working on improving the coverage of GnoVM tests](https://github.com/gnolang/gno/pull/2143) * VM Fixes by Petar, Maxwell & Dylan: * [Preventing cyclic definitions in struct declarations](https://github.com/gnolang/gno/pull/2081) * [Fixing global variable dependencies](https://github.com/gnolang/gno/pull/2077) * [Fixing variable declaration loops](https://github.com/gnolang/gno/pull/2074) * [Defaulting untyped to uint when necessary](https://github.com/gnolang/gno/pull/2024) * The [Standard Library changes](https://github.com/gnolang/gno/issues/1475) will be coming, together with a [better way to support them](https://github.com/gnolang/gno/pull/1695). * [Type checking in gno lint](https://github.com/gnolang/gno/pull/1730) **Section Five: Tendermint 2** - What is new? - Finished our work on [overhauling node initializations]([#1985](https://github.com/gnolang/gno/pull/1985)) (hello operator, give me Seoul) @zivkovicmilos - [BFT test in the CI has been fixed, finally](https://github.com/gnolang/gno/pull/1515). - What is planned and in the works for the next two weeks? - Initial implementation for `r/sys/vals` is [ready for reviews](https://github.com/gnolang/gno/pull/2130) @zivkovicmilos - Draft validator set injection from `r/sys/vals` [is open for comments](https://github.com/gnolang/gno/pull/2229) @zivkovicmilos - [Using ExitCodeError to use in place of os.Exit](https://github.com/gnolang/gno/pull/2187)