-
Notifications
You must be signed in to change notification settings - Fork 397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(examples): p/leon/pkgerr
#3738
Conversation
🛠 PR Checks SummaryAll Automated Checks passed. ✅ Manual Checks (for Reviewers):
Read More🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers. ✅ Automated Checks (for Contributors):🟢 Maintainers must be able to edit this pull request (more info) ☑️ Contributor Actions:
☑️ Reviewer Actions:
📚 Resources:Debug
|
Codecov ReportAll modified and coverable lines are covered by tests ✅ 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I cannot determine whether this pattern is the best or the worst; however, I can say that it deserves to exist and that some people may want to use it.
FYI, I am like you considering providing libraries to improve the error handling experience and also introducing std.GetContext().CurrentFileAndLine().
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice
commit b2d157ecb62f5a0ed12e6dea6f66b1cb3606baa5 Merge: d2a32396 ec866301 Author: matija marjanovic <[email protected]> Date: Mon Mar 17 23:29:46 2025 +0100 Merge branch 'master' into feat/token-hub commit d2a32396655e7ae3a9d1de115c3b431a5b602af5 Author: matijamarjanovic <[email protected]> Date: Mon Mar 17 23:16:26 2025 +0100 - remove unneeded comment - render touchups for better code readability & efficency - rm unneccessart back to home links bc of existance of breadcrumb commit 6e0a23305cb97daf8e0de5078a4cb2a96cb199cd Author: matijamarjanovic <[email protected]> Date: Mon Mar 17 23:02:44 2025 +0100 update the realm with non-depricated version of namespace registry r/sys/users commit ec866301dd3ba0d6171213cc59eb09c9e86f07e0 Author: Jeff Thompson <[email protected]> Date: Mon Mar 17 16:44:56 2025 +0100 fix: stdlibs/os: func Sleep doesn't return a value (#3957) Running `make test.components` gives the error: ``` testing/testing.gno:6:2: could not import os (os/os.gno:24:9: sleep(int64(duration)) (no value) used as value) (code=4) ``` To fix: PR https://github.com/gnolang/gno/pull/3677 added the [Sleep function](https://github.com/gnolang/gno/blob/5e017a4e7d89827203c11c6642f844f0fd75a070/gnovm/tests/stdlibs/os/os.gno#L23-L25): ``` func Sleep(duration time.Duration) { return sleep(int64(duration)) } ``` But `sleep` doesn't return a value. This PR removes `return`. Signed-off-by: Jeff Thompson <[email protected]> commit 5e017a4e7d89827203c11c6642f844f0fd75a070 Author: Lee ByeongJun <[email protected]> Date: Sat Mar 15 02:29:32 2025 +0900 feat(cmd): `gno mod` module name validations (#3526) closes #3493 Added module path validation to prevent invalid characters from being written to `gno mod` parsing phase. The validation: 1. Checks for non-ASCII characters 2. Validates against specific invalid characters (``, ", \, ?, *, :, <, >, |, [, ]`) 3. Prevents spaces and control characters 4. Ensures the module path is not empty --------- Co-authored-by: Morgan Bazalgette <[email protected]> commit a53c05d4f4bc4f7ed55fd9f078adbab35c4ce12c Author: Rémi BARBERO <[email protected]> Date: Fri Mar 14 17:47:57 2025 +0100 feat: refactor r/gnoland/valopers to remove `r/sys/validators` dependency (#3830) fixes https://github.com/gnolang/gno/issues/3567 Objectives: - [x] The `/r/gnoland/valopers` should not have the dependency on `/r/sys/validators`. So a new realm will do the glue between the `valopers` realm and the `validators` valset. - [x] remove dependency - [x] write glue contract - [x] write glue contract tests - [x] As an admin, I can edit the instructions to register a new valoper, espacially for what to put in the description field. So a public function is needed to update the instructions and an administration mechanism to restrict calls. - [x] Change the API to be able to call valopers' functions directly with a JS frontend (Connect, Adena), in one call. So we have to only use primitive types on parameters and remove objects. We also have to create new functions to update valopers for the desired fields. - [x] Make functions more robust by implementing parameter validation. - [x] Add protection on update functions so only the original caller can update its valoper. - [x] Prevent SPAM by the need of sending coins when you want to register as a valoper. - [x] Enhance the Render function with a pagination feature. Process to be a validator: 1) Register your validator node as a `Valoper` with the `r/gnolang/valopers.Register` function. Follow the instructions set in the `Instructions` global variable (to be done). 2) When you think your valoper is ready, make a GovDao proposal to add it to the validator valset with `/r/gnoland/valopers_proposal.MakeProposal`. In local environment, the two steps can be done by: ``` gnokey maketx call \ -pkgpath "gno.land/r/gnoland/valopers" \ -func "Register" \ -gas-fee 1000000ugnot \ -gas-wanted 30000000 \ -send "20000000ugnot" \ -broadcast \ -chainid "dev" \ -args "berty" \ -args "Berty's validator description" \ -args "g1ut590acnamvhkrh4qz6dz9zt9e3hyu499u0gvl" \ -args "gpub1pgfj7ard9eg82cjtv4u4xetrwqer2dntxyfzxz3pq0skzdkmzu0r9h6gny6eg8c9dc303xrrudee6z4he4y7cs5rnjwmyf40yaj" \ -remote "tcp://127.0.0.1:26657" \ test1 gnokey maketx call \ -pkgpath "gno.land/r/gnoland/valopers_proposal" \ -func "ProposeNewValidator" \ -gas-fee 1000000ugnot \ -gas-wanted 20000000 \ -send "100000000ugnot" \ -broadcast \ -chainid "dev" \ -args "g1ut590acnamvhkrh4qz6dz9zt9e3hyu499u0gvl" \ -remote "tcp://127.0.0.1:26657" \ test1 ``` --------- Signed-off-by: D4ryl00 <[email protected]> Signed-off-by: Jeff Thompson <[email protected]> Co-authored-by: Jeff Thompson <[email protected]> Co-authored-by: Miloš Živković <[email protected]> commit b6c55248760c3b23b807171352bfdcc04168026a Author: julienrbrt <[email protected]> Date: Fri Mar 14 12:57:59 2025 +0100 refactor(vm): use expected keeper interface (#3935) The goal of this PR is to prepare making more usable the GnoVM by potentially other chains. This follow the pattern that exists in the Cosmos SDK (https://github.com/cosmos/cosmos-sdk/blob/v0.52.0-beta.2/x/gov/types/expected_keepers.go) and that is being used in this repo as well: https://github.com/julienrbrt/gno/blob/71fbdef783b5d72ca603ed45b8fb10434ca0ab11/tm2/pkg/sdk/auth/types.go#L23. commit d677c2f526eecff89af3952782579f26913028fe Author: Morgan <[email protected]> Date: Thu Mar 13 17:36:40 2025 +0100 feat(gnovm): implement import rules for non-obvious identifiers (#3920) This PR implements the rules for importing packages that don't match the last element of their import path, with rules like those specified in https://github.com/gnolang/gno/issues/3730#issuecomment-2704490872 . Closes #3730. commit ec3d51aef2104fa9f4a19d16492155e8d66eb611 Author: Alexis Colin <[email protected]> Date: Thu Mar 13 23:23:00 2025 +0900 style: fix sublist margin (#3934) Simple PR to improve the margin balance between list and sublist in gnoweb render. cc @leohhhn  commit c48c59bd608dfb36b60a354bf2e2551cbc2c16ca Author: Manfred Touron <[email protected]> Date: Wed Mar 12 15:07:35 2025 +0100 feat(examples): add p/moul/ulist/lplist (layered proxy list) (#3413) Add a layered proxy list (for `ulist.IList`) for upgrade patterns. Depends on #3407 --------- Signed-off-by: moul <[email protected]> commit e0c414833602c51dbb0022b7b477018215b6ad26 Merge: 3149275d 52bd2024 Author: Leon Hudak <[email protected]> Date: Tue Mar 11 18:46:15 2025 +0100 Merge branch 'master' into feat/token-hub commit 52bd2024116627b5f40ded8fc822273e521fba2b Author: Leon Hudak <[email protected]> Date: Tue Mar 11 18:19:05 2025 +0100 feat(r/docs): using `r/sys/users` (#3914) Adds a simple example on how to resolve names and addresses using the new user registry system. Also needed for a blog post. commit 5cb216049bc57d312e0855572b839dbab8770f41 Author: Leon Hudak <[email protected]> Date: Tue Mar 11 17:48:45 2025 +0100 fix: user registry changes (#3905) Making a few minor changes on the user registry realms. commit f71549e3bd905b0325b939db5c18f3b9d0949f92 Author: Morgan <[email protected]> Date: Tue Mar 11 17:15:26 2025 +0100 feat(examples): add gno.land/{p,r}/morgan/chess (#3911) Quite incredible, I agree. Includes a small fix on the preprocessor to make everything work. :tada: commit 8e04368f7266af43bcceb9a0e077955bfc7d2973 Author: Jeff Thompson <[email protected]> Date: Tue Mar 11 16:09:12 2025 +0100 fix(pkg/doc): include Consts and Vars of the type in JSON (#3912) This is a follow-on to the vm/qdoc PR https://github.com/gnolang/gno/pull/3459 . We already handle the case where the AST lists type constructors as part of the Type description. We also need to handle the case where consts and vars of the type are listed as part of the Type description (not in the main Consts and Vars sections). See the [updated lines in the hello test](https://github.com/gnolang/gno/blob/a693cd5146591261f90956e1899f5460d39535bc/gnovm/pkg/doc/testdata/integ/hello/hello.gno#L14-L18). ``` var myStructPtr *myStruct myStructConst *myStruct = &myStruct{a: 1000} ``` For these values to appear in the vm/qdoc result, this PR fix is needed. We also fix an oversight in the `JSONField` struct to add the json field names. --------- Signed-off-by: Jeff Thompson <[email protected]> commit 202c867f1d16ef07765971c7f47fd62d1bd7ddc1 Author: Rémi BARBERO <[email protected]> Date: Tue Mar 11 15:02:44 2025 +0100 fix(examples): a p/moul/authz.ContractAuthority could execute multiple actions (#3913) There was a once.Once object that prevented one action to be executed twice by the ContractAuthority handler. But it also prevented the ContractAuthority from executing any other actions. The fix was to link the once.Once object to the action, not to the ContractAuthority. A test has also been added to test the case. --------- Signed-off-by: D4ryl00 <[email protected]> Co-authored-by: Manfred Touron <[email protected]> commit 6b6bbd3cefd5dc320e5d04571f26a62e134c79e4 Author: Manfred Touron <[email protected]> Date: Tue Mar 11 14:42:00 2025 +0100 chore(examples): move r/demo/markdown_test to r/docs/markdown + update content (#3909) once merged, we should take the habit of updating it when we extend gnoweb's rendering capabilities such as in #3763 --------- Signed-off-by: moul <[email protected]> commit 1d125428842c0656cd5909305025d78ef3731701 Author: Mustapha <[email protected]> Date: Tue Mar 11 11:10:32 2025 +0100 fix(gnoweb): footer logo link to navigate to home page (#3907) This PR is to add "/" to the `href` attribute so the logo correctly links to the home page. Co-authored-by: mous1985 <[email protected]> commit 803ab8c6afbcfed24c17d40e6ac1210c8d7bf028 Author: Miguel Victoria Villaquiran <[email protected]> Date: Mon Mar 10 23:03:15 2025 +0100 chore: remove All nativeType and nativeValues (#3677) Closes #1361 --------- Co-authored-by: Morgan Bazalgette <[email protected]> commit 42019f23590c78714401cdd010832bdb12c075d6 Author: Alex Gherasie <[email protected]> Date: Tue Mar 11 03:10:59 2025 +0900 feat(examples): add {p,r}/agherasie/forms (#3524) Sorry for the long hiatus which caused #2604 to close, I moved to South Korea this year for a university exchange program and let this PR collect dust for a while. I've addressed https://github.com/gnolang/gno/pull/2604#discussion_r1787776352 in https://github.com/gnolang/gno/commit/7a6a03235e1a615d2fa942294ac625a170de6ba9, hoping that the PR might be ready for merge now ! If not, please let me know if any further updates should be made to the code ! --- As part of the student contributor program, I attempted to create a new example realm that allows the creation and submission of forms on gno ! - **Form Creation**: Create new forms with specified titles, descriptions, and fields. `CreateForm(...)` - **Form Submission**: Submit answers to forms. `SubmitForm(...)` - **Form Retrieval**: Retrieve existing forms and their submissions. `GetForms(...), GetFormByID(...), GetAnswer(...)` - **Form Deadline**: Set a precise time range during which a form can be interacted with. The system supports the following field types: type|example -|- string|`{"label": "Name", "fieldType": "string", "required": true}` number|`{"label": "Age", "fieldType": "number", "required": true}` boolean|`{"label": "Is Student?", "fieldType": "boolean", "required": false}` choice|`{"label": "Favorite Food", "fieldType": "[Pizza|Schnitzel|Burger]", "required": true}` multi-choice|`{"label": "Hobbies", "fieldType": "{Reading|Swimming|Gaming}", "required": false}` The external repo where the initial development took place and where you can find the frontend is [here](https://github.com/agherasie/gno-forms). The web app itself is hosted [here](https://gno-forms.netlify.app/) And the most recent test4 version of the contract is [forms2](https://test4.gno.land/r/g1w62226g8hykfmtuasvz80rdf0jl6phgxsphh5v/testing/forms2) --- Screenshots : <details> <summary> <a href="https://test4.gno.land/r/g1w62226g8hykfmtuasvz80rdf0jl6phgxsphh5v/testing/forms2">gnoweb Render()</a> </summary> <img width="941" alt="image" src="https://github.com/user-attachments/assets/24b9c17d-b51e-4d0b-ab19-b9bca49c0a89"> </details> <details> <summary> <a href="https://gno-forms.netlify.app/results/0000002/g1w62226g8hykfmtuasvz80rdf0jl6phgxsphh5v"> a form response in the web interface </a> </summary> <img width="539" alt="image" src="https://github.com/user-attachments/assets/b3469545-842f-4030-a4da-1060802c6477"> </details> <details> <summary> <a href="https://gno-forms.netlify.app/create">creating a form in the web interface</a></summary> <img width="564" alt="image" src="https://github.com/user-attachments/assets/c6e16bd0-0523-47a7-bf09-b3dc7f5d9314"> </details> --- <details><summary>Contributors' checklist...</summary> - [X] Added new tests, or not needed, or not feasible - [X] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [X] Updated the official documentation or not needed - [X] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [ ] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details> --------- Co-authored-by: Leon Hudak <[email protected]> Co-authored-by: Guilhem Fanton <[email protected]> Co-authored-by: Nathan Toups <[email protected]> Co-authored-by: Morgan <[email protected]> commit b1685f0c8a13b287ca081536dbe87b2d0b30acfe Author: Morgan <[email protected]> Date: Mon Mar 10 17:04:14 2025 +0100 ci: reciprocally test gnovm and examples when they change (#3904) \+ fix the underlying bug in cmd/gno that was causing the failure. commit 460877725f02ae119caee119c25bb4f348f1e4ab Author: Morgan <[email protected]> Date: Mon Mar 10 16:35:33 2025 +0100 feat(cmd/gno): perform type checking before test (#3887) Fixes #3831. Adds type checking as a step before executing a package's tests. commit b1fc6ac59e4be64bc8823ca165a5354ab504a4ac Author: Alexis Colin <[email protected]> Date: Tue Mar 11 00:29:18 2025 +0900 feat: add assets.gnoteam.com to the CSP img-src whitelist (#3892) In order to allow gnoteam images to be served through CSP, this PR adds the dedicated domain https://assets.gnoteam.com/ to the rules. In addition to https://gnolang.github.io/, which is used for the blog system, gnoteam assets will also be used for general purposes, ensuring secure and consistent asset delivery. commit 0d5a7370e45d5c74d98cb5c419eb08e82f16c216 Author: Leon Hudak <[email protected]> Date: Mon Mar 10 16:22:00 2025 +0100 fix: remove `r/demo/users` traces (#3896) Master is red because CI didn't catch VM tests related to `r/demo/users` in #3166 This PR fixes this and also fixes some other leftover occurrences of `r/demo/users`. cc @thehowl this is another `examples/` dep that should probably be removed. --------- Co-authored-by: Morgan Bazalgette <[email protected]> commit a37a07356b2e5fa84f45285bb506740a773ea8e4 Author: Petar Dambovaliev <[email protected]> Date: Sun Mar 9 15:42:12 2025 +0100 fix: interface to concrete type by T(ifaceVal) is not allowed (#3757) Closes [3412](https://github.com/gnolang/gno/issues/3412) commit 9b5dc9c7d60365c0c0823980d665a02708c53c49 Author: Leon Hudak <[email protected]> Date: Sat Mar 8 12:25:15 2025 +0100 refactor: `r/demo/users` (#3166) Addresses: #2827 This PR refactors the current `r/demo/users` & `r/sys/users` system in accordance to the issue mentioned above. Below is the high-level overview of the new system. It also makes a small change to the `p/demo/releases` lib. - Fully replaces `r/demo/users` - Is the main entry point for users looking to register a name, create an alias (rename themselves), or delete their username - Implements allowed username pattern checks as per the issue #2827 - Is pausable by GovDAO, contains no other administration functionality - Contains a nice UI/render for users (please suggest improvements) - see bottom - Uses `r/demo/profile` for displaying extra information about a user (to be moved to `r/nt/profiles` or `r/gnoland/profiles`) - @jaekwon's request: add payment in GNOT for registration ✅ - Namespace check moved to `r/sys/names` - Contains the address/name <> user stores, to which only whitelisted realms can write - Contains resolver functions & other useful getters - Is callable only by whitelisted realms, such as `r/gnoland/users/v1`, etc. - Whitelist is fully managed by GovDAO (after #3523 was resolved) - Namespace checking functionality moved here (from `r/sys/users`), added tests, as discussed with @moul - ~Verify function now only upgradeable with a GovDAO prop instead of previously being ownable~ verify func upgrateability removed, as we'll just deploy a `r/sys/names/vX` when we need to, as discussed with @moul - ~Verify functionality is now not pausable and on by default, as per discussions with @moul. This means Portal Loop will need to be patched upon merging this PR, as many txs will fail due to not having proper namespace permissions.~ The namespace verify functionality is off by default, but should be enabled in genesis via `r/sys/names.Enable()`. The Portal Loop will indeed need to be patched if we enable this functionality. - Updated the VM keeper to call `r/sys/names` for the namespace check instead of `r/sys/users` - Updated params to load `r/sys/names`, which the keeper will call  Currently this is the "releases" page for the user registration systems (example data): <img width="1287" alt="Screenshot 2025-02-03 at 12 19 28" src="https://github.com/user-attachments/assets/0407b21d-4457-48af-80f4-b0ef10649337" /> <details><summary>Contributors' checklist...</summary> - [x] Added new tests, or not needed, or not feasible - [x] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [x] Updated the official documentation or not needed - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [x] Added references to related issues and PRs - [x] Provided any useful hints for running manual tests </details> --------- Co-authored-by: Morgan <[email protected]> Co-authored-by: Manfred Touron <[email protected]> commit c68cbcce5f1d17918f2d7763d6b5d522ed046039 Author: Morgan <[email protected]> Date: Fri Mar 7 18:21:17 2025 +0100 chore: fix master build (#3891) commit ac5584b7872e11df3c53ae37fbc2092839a43fca Author: Leon Hudak <[email protected]> Date: Fri Mar 7 17:32:36 2025 +0100 feat(examples): `p/leon/pkgerr` (#3738) Adds a simple package to make your Gno errors match your realm path. Go wizards tell me if I'm doing something wrong 🙏 commit d24efa034173cb57168e27afdb3dcce4a07767fb Author: Jae Kwon <[email protected]> Date: Fri Mar 7 07:17:48 2025 -0800 feat: lock token transfer and parameter module, take 2 (#3860) This is a continuation of https://github.com/gnolang/gno/pull/3176. It breaks the params struct into fields and stores them in <module>:_:<fieldname>. All parameters are of the form <module>:<name> or <module>:<realm/_/*>:<name>. A colon is used rather than a period/dot because it's ambiguous with realm domains. std.SetParam is realm-local only, limited and safe. sys/params.SetSysParam is arbitrary and global. Need to make sure it's only importable by r/sys/params, but I think we said we'd do this with "internal" or something. Maybe for a followup PR. The ParamsKeeper is divided into prefix spaces, `pk.WithModule("bank")` for example, and that is passed into the BankKeeper, that way the BankKeeper only has access to the bank:* param space. "language capabilities" security. But the VMKeeper needs to the root ParamsKeeper because it needs to be able to modify anything via r/sys/params. I got rid of the .type suffix of param keys. It's less safe right now but we can add type safety to this later. You *can* and *must* use the type suffix from toml for certain types though; "strings" which represent []strings must be suffixed by .strings, because toml only gives []interface{}{}. --------- Co-authored-by: piux2 <[email protected]> Co-authored-by: Manfred Touron <[email protected]> Co-authored-by: Morgan <[email protected]> commit a5e084cc668cbd55eb324f2c8970b8e0aca2b584 Author: Morgan <[email protected]> Date: Fri Mar 7 15:13:40 2025 +0100 feat(gnovm/tests/stdlibs): add `fmt` (#3847) This PR removes `fmt` from being implemented using NativeValue / NativeType, and implements a mostly pure-Gno implementation which uses an initial, rudimentary implementation of Gno reflection for `fmt`. This PR is ready for review, but some of its related work has been broken out in separate PR to aid reviewing and create atomic PRs. - Blocks #3677 - Relates to #1361 - Depends on #3861 - Depends on #3862 - Depends on #3875 The main addition is of this set of files, which comprises the bulk of the added lines of this PR. Most of this is a copy of Go's `fmt`. Changes are mostly in `errors.gno` and `format.gno` - the other files are left mostly intact. At the end of `print.gno`, there is an added section containing a set of native functions which form the "reflection" needed to implement the `fmt` package in a manner that is similar to Go's. The implementation is not meant to be a public API and is meant to serve initially only for usage by `fmt`; we can use this as sketch to then implement a proper `reflect` package. Attention in reviewing should mostly go to this `print.gno` and its `print.go` counterpart, especially for any missed cases or potential bugs. Complementary to the above, to avoid some problems that were arising due to the handling of os.Stdin, Stdout and Stderr, I also removed the NativeValue / NativeType in `os` and replaced them with a native binding alternative. To avoid having both an `Output` and `ErrorOutput` on the machine, this package supports an additional method on the `Machine.Output`, `StderrWrite`, which is implemented by writers who wish to differentiate between the two. - `gnovm/pkg/test` - added support for `StderrWrite` in its writers - removed native values for `os` and `fmt` - combine `stdin`, `stdout`, `stderr` into a single `output` parameter in the related functions. - `gnovm/pkg/gnolang` - support testing `gnovm/tests/stdlibs`, by only testing stdlibs that exist there and not in the official stdlibs. - `gnovm/cmd/gno` - fix tests which needed the `fmt` package. - `gnovm/tests/files` - most changed tests are result of the improved functionality of the `fmt` package, allowing for instance to show declared types correctly. - `gnovm/stdlibs/bufio` - due to the removal of `os.Stdin`, this example had to be changed. - `misc/genstd` - added a flag `-skip-init-order` when creating it could cause problems, like the testing stdlibs; fixed a bug when using `TypedValue`. commit a36b8e6f9d770436a8e7b0b38b97aae21d04b9ce Author: Antoine Eddi <[email protected]> Date: Fri Mar 7 14:54:24 2025 +0100 feat: add gnoweb codeowners (#3890) This PR: - add dismissed review state support to the bot: https://github.com/gnolang/gno/pull/3890/commits/90cdc51cb5df295fac4e7a1d712f304a98a4e4af (requested here: https://github.com/gnolang/gno/issues/3238#issuecomment-2701523356) - add gnoweb codeowners to the config: https://github.com/gnolang/gno/pull/3890/commits/f0001ccf2891cab12607a4ee0d400354204a7731 (requested here: https://github.com/gnolang/gno/issues/3238#issuecomment-2693794519) Note: It might be cleaner in the future to create codeowner teams for different parts of the codebase (e.g. a `gnoweb-codeowners` team for `gfanton` and `alexiscolin`) rather than manually listing each user in the config. Something to think about. commit 01df7ebd04122725a62cf2e8cf536d7f3d426caf Author: Morgan <[email protected]> Date: Fri Mar 7 14:05:11 2025 +0100 fix(gnovm/pkg/test): use scoped store when running GetMemPackage (#3854) Fixes #3240 One-line fix for realms not having independent states when tested together. commit f35bbf2669aab346e59f9b1f66aff3880f258f8f Author: Jerónimo Albi <[email protected]> Date: Fri Mar 7 00:37:42 2025 +0100 feat(examples): add `p/jeronimoalbi/datastore` package (#3698) The purpose of this package is to support a data store where multiple collection based storages could be defined. Each named storage defines a collection of records where each record can optionally and by default have any number of user defined fields, which can be constrained to a pre defined set of fields by using a schema definition. The implementation is a layer on top of `p/moul/collection`. Example of `datastore` package usage: ```go package main import ( ds "gno.land/p/jeronimoalbi/datastore" ) func main() { var db ds.Datastore // Define a unique case insensitive index for user emails emailIdx := ds.NewIndex("email", func(r ds.Record) string { return r.MustGet("email").(string) }).Unique().CaseInsensitive() // Create a new storage for user records storage := db.CreateStorage("users", ds.WithIndex(emailIdx)) // Add a user with a single "email" field u := storage.NewRecord() u.Set("email", "[email protected]") // Save to assing user ID and update index(es) u.Save() println("Records =", storage.Size()) // Find the user by email print("Search by Email ... ") record, found := storage.Get(emailIdx.Name(), "[email protected]") if !found { panic("record by email not found") } println("ID =", record.ID()) // Find user by ID print("Search by ID ... ") record, found = storage.GetByID(u.ID()) if !found { panic("record by ID not found") } email := record.MustGet("email").(string) println("Email =", email) // Delete the user from the storage and update index(es) storage.Delete(u.ID()) println("Records =", storage.Size()) } // Output: // Records = 1 // Search by Email ... ID = 1 // Search by ID ... Email = [email protected] // Records = 0 ``` commit b0b752c34f8af073cf57d97bed203e71790cfa21 Author: Manfred Touron <[email protected]> Date: Fri Mar 7 00:37:00 2025 +0100 feat: docs v2 (#3868) Continues #3855 by @leohhhn The changes were great, and I kept most of the good content (thank you). However, this PR slightly shifted the direction by making the `docs/` folder more focused on GitHub, Markdown, and the project, rather than Docusaurus, the website, or global documentation. In the future, we may create a more comprehensive documentation website, but for now, we want the `docs/` folder to be efficient and centered around the project. Ideally, it should be the only resource we invest energy in. However, I can easily envision supplementing it with external resources, such as blog posts or another repository with non-project documentation. Alternative view: https://github.com/leohhhn/gno/pull/2 - [x] Reorganize by personas (`builders/`, `users/`) and maintain a `references/` section for metadata. - [x] Remove items that do not belong in the `docs/` of this repository (e.g., intro to blockchain). - [x] Remove unusual numbers in titles, likely intended for Docusaurus. - [x] Merge related content, such as combining `stdlibs/*` into `stdlibs.md`. - [x] Simplify `Makefile` and make it consistent with the other folders. - [x] Simplify introduced `.github/workflows`. - [x] Conduct a quick proofreading. - [x] Fix links. - [x] Removed docusaurus, can be discussed in an upcoming PR. [1be1a3a](https://github.com/gnolang/gno/pull/3868/commits/1be1a3a388a252172f614d1bde8b6a90e5f799e4) - [x] Removed content that should belong to somewhere else, such as other README.md files. --------- Signed-off-by: moul <[email protected]> Co-authored-by: leohhhn <[email protected]> Co-authored-by: sw360cab <[email protected]> Co-authored-by: Leon Hudak <[email protected]> Co-authored-by: Morgan Bazalgette <[email protected]> commit 69af6e277173afce8cb6da7bc6e74a2f7645203d Author: ltzmaxwell <[email protected]> Date: Thu Mar 6 23:04:36 2025 +0800 fix(gnovm): fix nil pointer deref for duplicate declarations (#3886) close: #2763 . This PR addresses the nil pointer issue, also fix the `redeclaration` issue by @thehowl . `filetest` is a special case, , `redeclaration` is still permitted in filetest files(e.g. z_0_filetest, z_1_filetest...) for `convenience`. --------- Co-authored-by: Morgan Bazalgette <[email protected]> commit f67adf25655282eaa56295f352fcac581bf3adb2 Author: Morgan <[email protected]> Date: Thu Mar 6 15:42:56 2025 +0100 chore: remove typeval and other unused uverse vals (#3883) commit f1d6210f0ab4936d15897d858fa7a2ac6a890054 Author: sunspirit <[email protected]> Date: Thu Mar 6 18:39:11 2025 +0700 fix(tm2): Fix the endpoint /tx?hash= to make it work (#2518) From issue : https://github.com/gnolang/gno/issues/2489 I found an issue with the code segment parsing arguments from the request that did not support base64 encoding, so I implemented logic to handle it. If there are any inconsistencies, please share the opinion  <!-- please provide a detailed description of the changes made in this pull request. --> <details><summary>Contributors' checklist...</summary> - [ ] Added new tests, or not needed, or not feasible - [ ] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [ ] Updated the official documentation or not needed - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [ ] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details> --------- Co-authored-by: Morgan Bazalgette <[email protected]> Co-authored-by: Miloš Živković <[email protected]> commit 5b056d779ef74ed6fb4f9edc9e715be46d9d16a9 Author: Alexis Colin <[email protected]> Date: Thu Mar 6 20:15:39 2025 +0900 fix(gnoweb): breadcrumb generation for consistent argument and query handling (#3835) This PR refactors the `generateBreadcrumbPaths` function to provide a consistent model for handling breadcrumb parts extracted from the URL path, arguments, and query parameters. The changes include: - **Consistent Extraction of Parts:** The existing logic that splits the URL path into parts remains unchanged. However, the root (`p` / `r`) part is not clickable anymore since we don't have any content here for now. It also fixes the HTML list with proper ending tags and Aria attributes/elements. - **New Argument Parts (ArgParts):** Instead of storing all arguments as a single string, we now split the url.Args value (i.e., the part after the `:`) into individual segments. These segments are processed similarly to the path parts, with cumulative URLs generated for each segment. This provides a more granular and consistent breadcrumb structure. - **Query Parameters Handling:** Query parameters (after the `?`) are iterated over and added to a new Queries slice. Since iterating over an empty map is safe, no additional condition is required here. - **Update query value on click from input:** By clicking on the query from the breadcrumb, it becomes possible to edit the value quickly. - **Fixing breadcrumb special characters in the input box** Enable `EncodeNoEscape` in the `EncodeURL` functions in order to remove escaped chars. <img width="907" alt="Capture d’écran 2025-03-04 à 23 50 16" src="https://github.com/user-attachments/assets/7fb6c6a8-cc15-4caa-80e2-cd6eae20cea2" /> <img width="908" alt="Capture d’écran 2025-03-04 à 23 50 55" src="https://github.com/user-attachments/assets/b9870915-e90a-4af1-b12e-bd387715e629" /> <img width="907" alt="Capture d’écran 2025-03-05 à 00 27 16" src="https://github.com/user-attachments/assets/6ee3c9fb-a762-4c1c-bcd0-05e3278bb0f0" /> <img width="907" alt="Capture d’écran 2025-03-04 à 23 46 56" src="https://github.com/user-attachments/assets/b5442c99-9259-4c45-8019-bc55e9e979aa" /> <img width="908" alt="Capture d’écran 2025-03-04 à 23 43 06" src="https://github.com/user-attachments/assets/8e4f6002-fbc7-45d8-8e7c-23b394fd5108" /> <img width="908" alt="Capture d’écran 2025-03-04 à 23 43 30" src="https://github.com/user-attachments/assets/e3194167-f65b-4806-90de-d2e7d32c60f1" /> <img width="907" alt="Capture d’écran 2025-03-05 à 01 05 20" src="https://github.com/user-attachments/assets/fde2457c-081a-4c83-948a-ff125f10b60f" /> commit cbaaf392d511dd8fce6f885490be1038ff944fff Author: Kazaï <[email protected]> Date: Wed Mar 5 17:55:22 2025 +0100 feat(examples): add `p/thox/{accesscontrol,timelock}` (#2307) We have developed two packages: `accesscontrol` and `timelock` inspired by openzeppelin contracts. These packages were created in collaboration with @mous1985 , @DIGIX666 , and myself. The `accesscontrol` package was primarily designed to support the development of the `timelock` package, but it can also be used independently for many other use cases. The `accesscontrol` package provides a library for managing roles and permissions within Gno. It allows for the creation, assignment, and management of roles with specific administrative privileges, ensuring that only authorized accounts can perform certain actions. The `timelock` package offers a library for scheduling, canceling, and executing time-locked operations in Gno. It ensures that operations are only carried out after a specified delay and provides mechanisms to manage and verify the status of these operations. The creation of the `accesscontrol` package was necessary to provide role and permission management required for the administrative tasks of `timelock`. - Realm Administration Management: Create administrator roles to manage realms and assign or revoke roles as needed. - Role-Based Access Control (RBAC): Implement an RBAC system to control who can access which resources and perform which actions within a Gno dApp. - Security and Compliance: Use roles to ensure that only authorized individuals can perform critical actions, helping to meet security and compliance regulations. - Delayed Transactions: Schedule transactions or actions to be executed at a specific future time. - Asset Locking: Implement asset locking mechanisms where users must wait for a certain period before they can access or move assets. - Task Automation: Automate periodic or conditional tasks using specific time delays. These examples of use cases are not exhaustive, and many other things are possible with these packages. <!-- please provide a detailed description of the changes made in this pull request. --> <details><summary>Contributors' checklist...</summary> - [ ] Added new tests, or not needed, or not feasible - [ ] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [ ] Updated the official documentation or not needed - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [ ] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details> --------- Co-authored-by: théo dub <[email protected]> Co-authored-by: mous1985 <[email protected]> Co-authored-by: Mustapha <[email protected]> Co-authored-by: deelawn <[email protected]> Co-authored-by: Thox <[email protected]> Co-authored-by: DIGIX666 <[email protected]> Co-authored-by: Manfred Touron <[email protected]> Co-authored-by: Morgan <[email protected]> Co-authored-by: Morgan <[email protected]> commit ac165805d84b804da3d5d4434cae0c193dee4e0e Author: Morgan <[email protected]> Date: Wed Mar 5 14:48:23 2025 +0100 feat(gnovm): improve interface/func/struct type `String` methods (#3875) - only show the types in the parameters and results for functions, matching go's reflect.Type.String - match field list to go's extracted from #3847. This blocks https://github.com/gnolang/gno/pull/3847 because for simplicity, we use the type String() methods for syntaxes like `%#v` and `%T` which show the type. Making these match Go's avoids us modifying some types, and I think it's a nice addition in making us more consistent with Go. commit b01689fd389dbb913e52dd2af16687097c6baf84 Author: Leon Hudak <[email protected]> Date: Wed Mar 5 14:42:36 2025 +0100 fix(minisocial): reset pager upon reset (#3879) The pager was not being reset upon post resetting the app. commit 6f91a35f3fcb0da593a8b45f6b19d70865406e05 Author: Emmanuel T Odeke <[email protected]> Date: Tue Mar 4 18:56:19 2025 +0200 docs: improve go<>gno compat document searchability on complex numbers (#3852) Imaginary values are not supported in Gno. Found by fuzzing and compatibility checks between Go and Gno ```go package main const ( Nj = 0i ) ``` commit 4ac5fa48190b34cd83c786cebf8c4a3e3b991b2b Author: Morgan <[email protected]> Date: Tue Mar 4 17:47:21 2025 +0100 feat(gnovm): show stacktraces when recovering from a test (#3837) This PR ensures that when we recover inside of testing.gno, we then print also the resulting stracktrace, using a special function. commit e344aca5b11ed9285fd8327b8026c70d8a6c9f31 Author: Morgan <[email protected]> Date: Tue Mar 4 17:29:03 2025 +0100 fix(gnovm): handle calling method with value receiver on nil (#3861) This used to return a weird panic, now it correctly panics with a nil pointer dereference. Extracted from #3847. --------- Co-authored-by: ltzmaxwell <[email protected]> commit 1a9909485979d2e68741ea2a953f972820572a0c Author: Marc Vertes <[email protected]> Date: Tue Mar 4 16:22:01 2025 +0100 fix(gnovm): fix unary operator ^ on constants (#3876) Apply Bigint.Not for untyped big ints. Fixes #3864. commit 253c766117187c42267ab9dda2edab10d75216d6 Author: ltzmaxwell <[email protected]> Date: Tue Mar 4 22:31:23 2025 +0800 fix(gnovm): correct const type deduction (#2948) closes https://github.com/gnolang/gno/issues/2944 and #3863 <!-- please provide a detailed description of the changes made in this pull request. --> <details><summary>Contributors' checklist...</summary> - [ ] Added new tests, or not needed, or not feasible - [ ] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [ ] Updated the official documentation or not needed - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [ ] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details> commit 536ea5bcde41ab3d2d2fd43fef99855d7cb6f858 Author: grepsuzette <[email protected]> Date: Tue Mar 4 03:26:07 2025 +0800 feat(examples): create /r/grepsuzette/home (#3652) This is a home realm. @michelleellen kindly asked me if I wanted to create a r/grepsuzette/home so here it is :) --------- Co-authored-by: grepsuzette <[email protected]> Co-authored-by: Leon Hudak <[email protected]> commit 9cd5c0e35a97d4c569e1302fa877591448ddb54a Author: Mustapha <[email protected]> Date: Mon Mar 3 20:20:13 2025 +0100 feat(example): `r/mouss` (#3472) Hi Gnomes , This is my home page. it was difficult to be creative 😅 , so i did what i can do I put some informations about me  I'm passionate about cooking, so I've set up a page for those who want to share their national culinary specialties or just their favorite recipes, since there are so many nationalities in `gno` community.  feel free to add your recipes ;)  @leohhhn --------- Co-authored-by: Leon Hudak <[email protected]> Co-authored-by: mous1985 <[email protected]> commit fc359eacc31bad937e7fa0d81df415839c734378 Author: Morgan <[email protected]> Date: Mon Mar 3 16:33:28 2025 +0100 fix(gnovm): support len() on nil map (#3856) This would panic at runtime due to a missed condition in TypedValue.GetLength. commit 6c20104594fc2a4db260834ef0b76503590a21e9 Author: Morgan <[email protected]> Date: Mon Mar 3 15:57:24 2025 +0100 feat(gnovm): add `any` type (#3862) This exists in Go, and it's a pain to add it later as a global, so making a PR to add this. extracted from #3847. --------- Co-authored-by: ltzmaxwell <[email protected]> commit dc62b1888b5f8c68bb1cffa1a0185992fa328a51 Author: Manfred Touron <[email protected]> Date: Sat Mar 1 13:03:38 2025 +0100 chore: improve error response structure and metadata (#3845) Adds a `vm.version={version}` when the VM returns an error response. Alternatively, we could simplify access to the version and other metadata, possibly with a "gnokey maketx --debug" command. However, I believe this addition is light enough to be included as a built-in feature. --------- Signed-off-by: moul <[email protected]> commit 00ddf5516c0c5553c283ae9e2cab990f487b75bb Author: Manfred Touron <[email protected]> Date: Fri Feb 28 18:56:09 2025 +0100 chore: refactor gnoland/home (#3853) - simplify - make it more loop-friendly (PRs are easier) - cleanup html and invalid markdown - retained the current content to allow for PRs that focus on updating it --------- Signed-off-by: moul <[email protected]> commit c06de0ac0c4f2c2445f5894396940f707153c002 Author: Alexis Colin <[email protected]> Date: Sat Mar 1 01:06:16 2025 +0900 fix(gnoweb): change 'docs' to 'actions', updates to menus (#3850) This issue improves the user experience (UX) of GnoWeb by: - Replacing `Docs` with `Actions` in the navigation bar. If the goal was to provide documentation for the realm similar to what [pkg.go.dev](https://pkg.go.dev/) offers (in conjunction with #3459), that feature is not yet available and causes confusion. - Updating navigation icons to make each entry more understandable. - Promoting `Secure Mode` in the Helper page. Secure Mode is now enabled by default instead of Fast Mode, which currently displays a security message. - Replacing X with Twitter in the footer navigation. - Removing `Actions` (current Docs menu) for `/p` contents. <img width="1724" alt="Capture d’écran 2025-02-28 à 17 32 42" src="https://github.com/user-attachments/assets/78afd15f-0ec6-4c47-882e-e22e5578cb62" /> commit e352770149c631c529e380ba2cdfe785878ff629 Author: grepsuzette <[email protected]> Date: Fri Feb 28 19:14:52 2025 +0800 fix(amino): panic when registering types with the same name (#2325) This adds some doc and tests to `tm2/pkg/amino` to address the following in amino_test.go: fixed #2326 `// XXX Test registering duplicate names or concrete types not in a package.` - **chore(docs): document frequent functions in tm2/pkg/amino** - **chore(amino): add some tests** ``` cd tm2/pkg/amino go test -v --run=WithPanic\$ ``` Tests have uncovered a potential bug however in `TestDupNamesMustPanic`. Opening an issue now to document this, with a possible fix. ```go // The following does NOT panic, but it should. // assert.Panics(t, func() { // myPkg.WithTypes( // tests.EmptyStruct{}, "A", // tests.PrimitivesStruct{}, "B", // tests.ShortArraysStruct{}, "A", // Same name // ) // }) ``` <details><summary>Contributors' checklist...</summary> - [x] Added new tests, or not needed, or not feasible - [x] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [x] Updated the official documentation or not needed - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [ ] Added references to related issues and PRs - [x] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details> --------- Co-authored-by: grepsuzette <[email protected]> Co-authored-by: Morgan Bazalgette <[email protected]> commit f4324fb34674a880b1d663c5e01e9c00750a8355 Author: Jeff Thompson <[email protected]> Date: Fri Feb 28 11:28:12 2025 +0100 feat: Add vm/qdoc with function comments (#3459) Addresses https://github.com/gnolang/gno/issues/522#issuecomment-2528693327 by adding a query for `vm/qdoc` that uses a similar code path to `gno doc` which includes comments. For example, `gnokey query vm/qdoc -data "gno.land/r/gnoland/valopers/v2" -remote tcp://127.0.0.1:26657` returns the following JSON doc for [valopers](https://github.com/gnolang/gno/blob/master/examples/gno.land/r/gnoland/valopers/v2/valopers.gno). ``` { "package_path": "gno.land/r/gnoland/valopers/v2", "package_line": "package valopers // import \"valopers\"", "package_doc": "Package valopers is designed around the permissionless lifecycle of valoper profiles. It also includes parts designed for govdao to propose valset changes based on registered valopers.\n", "values": [ { "signature": "const (\n\terrValoperExists = \"valoper already exists\"\n\terrValoperMissing = \"valoper does not exist\" // Valoper is missing\n\terrInvalidAddressUpdate = \"valoper updated address exists\"\n\terrValoperNotCaller = \"valoper is not the caller\"\n)", "const": true, "values": [ { "name": "errValoperExists", "doc": "", "type": "" }, { "name": "errValoperMissing", "doc": "", "type": "" }, { "name": "errInvalidAddressUpdate", "doc": "", "type": "" }, { "name": "errValoperNotCaller", "doc": "", "type": "" } ], "doc": "" }, { "signature": "var valopers *avl.Tree // Address -> Valoper\n", "const": false, "values": [ { "name": "valopers", "doc": "// Address -> Valoper\n", "type": "*avl.Tree" } ], "doc": "valopers keeps track of all the active validator operators\n" } ], "funcs": [ { "type": "", "name": "GovDAOProposal", "signature": "func GovDAOProposal(address std.Address)", "doc": "GovDAOProposal creates a proposal to the GovDAO for adding the given valoper to the validator set. This function is meant to serve as a helper for generating the govdao proposal\n", "params": [ { "Name": "address", "Type": "std.Address" } ], "results": [] }, { "type": "", "name": "Register", "signature": "func Register(v Valoper)", "doc": "Register registers a new valoper\n", "params": [ { "Name": "v", "Type": "Valoper" } ], "results": [] }, { "type": "", "name": "Render", "signature": "func Render(_ string) string", "doc": "Render renders the current valoper set\n", "params": [ { "Name": "_", "Type": "string" } ], "results": [ { "Name": "", "Type": "string" } ] }, { "type": "", "name": "Update", "signature": "func Update(address std.Address, v Valoper)", "doc": "Update updates an existing valoper\n", "params": [ { "Name": "address", "Type": "std.Address" }, { "Name": "v", "Type": "Valoper" } ], "results": [] }, { "type": "", "name": "init", "signature": "func init()", "doc": "", "params": [], "results": [] }, { "type": "", "name": "isValoper", "signature": "func isValoper(address std.Address) bool", "doc": "isValoper checks if the valoper exists\n", "params": [ { "Name": "address", "Type": "std.Address" } ], "results": [ { "Name": "", "Type": "bool" } ] }, { "type": "", "name": "GetByAddr", "signature": "func GetByAddr(address std.Address) Valoper", "doc": "GetByAddr fetches the valoper using the address, if present\n", "params": [ { "Name": "address", "Type": "std.Address" } ], "results": [ { "Name": "", "Type": "Valoper" } ] }, { "type": "Valoper", "name": "Render", "signature": "func (v Valoper) Render() string", "doc": "Render renders a single valoper with their information\n", "params": [], "results": [ { "Name": "", "Type": "string" } ] } ], "types": [ { "name": "Valoper", "signature": "type Valoper struct {\n\tName string // the display name of the valoper\n\tMoniker string // the moniker of the valoper\n\tDescription string // the description of the valoper\n\n\tAddress std.Address // The bech32 gno address of the validator\n\tPubKey string // the bech32 public key of the validator\n\tP2PAddresses []string // the publicly reachable P2P addresses of the validator\n\tActive bool // flag indicating if the valoper is active\n}", "doc": "Valoper represents a validator operator profile\n" } ] } ``` --------- Signed-off-by: Jeff Thompson <[email protected]> Signed-off-by: D4ryl00 <[email protected]> Co-authored-by: D4ryl00 <[email protected]> Co-authored-by: Morgan <[email protected]> commit 9d1fbf542ae88ec3d14decf05c5d0e3ce25bc2a5 Author: Petar Dambovaliev <[email protected]> Date: Fri Feb 28 11:17:07 2025 +0100 fix: check interface convertable and print safe nil (#3843) Closes [3768](https://github.com/gnolang/gno/issues/3768), closes [3758](https://github.com/gnolang/gno/issues/3758) --------- Co-authored-by: Morgan Bazalgette <[email protected]> commit 17f44dcc1cadb1179882525a3968cf7ad35352f7 Author: ltzmaxwell <[email protected]> Date: Fri Feb 28 00:26:12 2025 +0800 fix(gnovm): remove readonly flag (#3840) closes: #3800 . see comments below. commit 3149275d30e2e6e4976b86161c895253a2cf34f5 Merge: 6843b35e d1db75eb Author: matija marjanovic <[email protected]> Date: Thu Feb 27 15:14:40 2025 +0100 Merge branch 'master' into feat/token-hub commit 6843b35e40e8705adb68c2c50653359365e71dd6 Merge: 0704227f d7ce1691 Author: matija marjanovic <[email protected]> Date: Wed Feb 26 23:51:23 2025 +0100 Merge branch 'master' into feat/token-hub commit 0704227ff6bc01ef4026d72f9ddaa4cc4a3cae9b Merge: e8c1150a 3288fe82 Author: matija marjanovic <[email protected]> Date: Tue Feb 25 15:36:03 2025 +0100 Merge branch 'master' into feat/token-hub commit e8c1150ae18b5e1a78cf372475ad6581caea355c Merge: 15341be0 85b3c0b7 Author: matija marjanovic <[email protected]> Date: Sat Feb 22 14:15:53 2025 +0100 Merge branch 'master' into feat/token-hub commit 15341be041e52f61c2bdccb9dca25f68bf4f24c6 Author: matijamarjanovic <[email protected]> Date: Thu Feb 20 16:17:25 2025 +0100 update grc20 reg commit 83174f8d5976d9b62fae9ef07a178650b4ab3997 Author: matijamarjanovic <[email protected]> Date: Thu Feb 20 16:15:05 2025 +0100 update with new names from 0a239e1ec444916260c400324ccb66fc02f01bc2 commit 76a1d9641ffab774e347e26e69b32644fa2629cb Merge: 947a4565 b04ca6c5 Author: matija marjanovic <[email protected]> Date: Thu Feb 20 16:12:30 2025 +0100 Merge branch 'master' into feat/token-hub commit 947a4565fbd7f104bc7de3200e96ac0a53dbeeaf Merge: 05982b27 d7e18a22 Author: matija marjanovic <[email protected]> Date: Tue Feb 18 22:57:14 2025 +0100 Merge branch 'master' into feat/token-hub commit 05982b273f83e15cc8154d7d9526dea3d28d5ee7 Merge: 272e0657 91300636 Author: matija marjanovic <[email protected]> Date: Mon Feb 17 14:38:55 2025 +0100 Merge branch 'master' into feat/token-hub commit 272e065718dec2b5994d67f5f12faa0b0aaae90a Author: matijamarjanovic <[email protected]> Date: Sat Feb 15 18:53:07 2025 +0100 replace wrong name commit 971170e47e13983b00b60126fee421c10c9b4790 Author: matijamarjanovic <[email protected]> Date: Sat Feb 15 17:08:30 2025 +0100 add getalltokenswithdetails commit 616130103388cf63d30c90f915aeaf24f164b4a2 Merge: 997eeeab fcd0e04e Author: matijamarjanovic <[email protected]> Date: Sat Feb 15 17:02:01 2025 +0100 Merge branch 'feat/token-hub' of https://github.com/matijamarjanovic/gno into feat/token-hub commit 997eeeab6b966b26f51a54851e7b67443d12c6b3 Author: matijamarjanovic <[email protected]> Date: Sat Feb 15 17:01:59 2025 +0100 add get all tokens with info commit fcd0e04ed68cd3dee6090174e5fb4b3f9c82e83b Merge: f3b4f2b4 9884ba10 Author: matijamarjanovic <[email protected]> Date: Sat Feb 15 16:58:42 2025 +0100 Merge branch 'master' into feat/token-hub commit f3b4f2b44c89c089b19b6a41e8d8bd256d2c8fd6 Merge: bd108006 2e491411 Author: matijamarjanovic <[email protected]> Date: Fri Feb 14 00:04:03 2025 +0100 Merge branch 'master' into feat/token-hub commit bd1080066da593e57996d4ac5e41ff28511491a2 Merge: beca6637 d0201fb3 Author: matijamarjanovic <[email protected]> Date: Wed Feb 12 11:36:54 2025 +0100 Merge branch 'master' into feat/token-hub commit beca66374d5d6c0ed874abf52494dd96aa0e79fd Author: matijamarjanovic <[email protected]> Date: Wed Feb 12 10:54:41 2025 +0100 replace paths for tokenhub commit 7028ad3942308fefe49aac3e66e13deffbf9fbd7 Author: matijamarjanovic <[email protected]> Date: Wed Feb 12 00:22:43 2025 +0100 run make test.sync in examples commit 5918dd56e161344760d30ca6119c287a79ffb4c5 Author: matijamarjanovic <[email protected]> Date: Wed Feb 12 00:13:27 2025 +0100 fix test? commit 2675fc06c69e5cf063fb738697760990e56cce9d Author: matijamarjanovic <[email protected]> Date: Wed Feb 12 00:04:33 2025 +0100 fix tests commit 5fa00c8981274982bd3fdb55916707557325142a Author: matijamarjanovic <[email protected]> Date: Tue Feb 11 23:58:28 2025 +0100 move tokenhub back to my namespace commit 3f32a329f53c1be59787489d1dd2243cc6be38f1 Author: matijamarjanovic <[email protected]> Date: Tue Feb 11 23:57:46 2025 +0100 fix formatting commit edd676b9e78661d41211205e34269f0e223e6863 Author: matijamarjanovic <[email protected]> Date: Tue Feb 11 23:53:53 2025 +0100 simplify logic commit 9ee19b1124300debd7b97211125e78da0769200e Author: matijamarjanovic <[email protected]> Date: Tue Feb 11 23:47:58 2025 +0100 fix formatting, remove new lines commit 2a2a02910b4e953f52a313d51cff0dcaeb7377d7 Author: matijamarjanovic <[email protected]> Date: Tue Feb 11 23:44:34 2025 +0100 fix links commit b9580c804b60e2f1035390149074c3dfdbea078c Author: matijamarjanovic <[email protected]> Date: Tue Feb 11 23:37:23 2025 +0100 add renderFooter commit 13d327c6b6aba9d1f480f297be3602ba97a53a33 Author: matijamarjanovic <[email protected]> Date: Tue Feb 11 23:31:58 2025 +0100 don't export renders. move consts to render.gno commit f64687cbd30c3fb8d75a08c536f1ced23b7c5b2e Merge: 0db4ec89 31fcf6aa Author: matijamarjanovic <[email protected]> Date: Mon Feb 10 22:52:40 2025 +0100 Merge branch 'master' into feat/token-hub commit 0db4ec89832c680af165b076a31b865ae4ba5a55 Author: matijamarjanovic <[email protected]> Date: Thu Feb 6 18:23:25 2025 +0100 try and fix tsts commit ecd1b522a3327255c3d27774356f9fa70706b54d Author: matijamarjanovic <[email protected]> Date: Thu Feb 6 17:05:32 2025 +0100 fix fmt commit 7bcf274882b2c6c77b8205c5fa61ec02ee8f275b Author: matijamarjanovic <[email protected]> Date: Thu Feb 6 17:02:13 2025 +0100 add tests for getters commit 0bf538896d541d7a3921f110afb2fc854ef869d7 Merge: e70b81a0 a01a030a Author: matijamarjanovic <[email protected]> Date: Thu Feb 6 16:54:52 2025 +0100 Merge branch 'master' into feat/token-hub commit e70b81a0da35c4933a6f9d44c165f95b89e60ee5 Merge: 50305aad 0b76b0b0 Author: matijamarjanovic <[email protected]> Date: Wed Feb 5 20:30:24 2025 +0100 Merge branch 'master' into feat/token-hub commit 50305aad6ceb60431969a4c6566d90c5aa021543 Author: matijamarjanovic <[email protected]> Date: Tue Feb 4 18:15:44 2025 +0100 add hof registration commit d09eebcff97fdfd8bf58e3963103d33aa659d606 Merge: 403efc5c 85a8740b Author: matijamarjanovic <[email protected]> Date: Tue Feb 4 14:54:01 2025 +0100 Merge branch 'master' into feat/token-hub commit 403efc5c43de89e5415750d7962984ae26a32a61 Author: matijamarjanovic <[email protected]> Date: Fri Jan 31 02:22:17 2025 +0100 fix tests commit 1c3b939b47dc7f86d6809441cbcfcf41ad18f719 Merge: cbfe5979 57da3243 Author: matijamarjanovic <[email protected]> Date: Fri Jan 31 02:05:03 2025 +0100 Merge branch 'master' into feat/token-hub commit cbfe597988cc117d0130991b17cba9516a6d35b2 Merge: baeadcb7 a885c78d Author: Leon Hudak <[email protected]> Date: Tue Jan 28 23:08:08 2025 +0100 Merge branch 'master' into feat/token-hub commit baeadcb795d898119d0b1ad40dda390fea482f9b Author: matijamarjanovic <[email protected]> Date: Thu Jan 23 19:55:42 2025 +0100 remove files commit 7c5c2a72f996b7b12a10a1088b7406ce5a69fd4b Merge: 13e4992c dabdf613 Author: matijamarjanovic <[email protected]> Date: Thu Jan 23 19:55:03 2025 +0100 Merge branch 'feat/token-hub' of https://github.com/matijamarjanovic/gno into feat/token-hub commit 13e4992c6a099119b1d2eabbf4eb1a0b72e55548 Author: matijamarjanovic <[email protected]> Date: Thu Jan 23 19:54:47 2025 +0100 -move token hub to r/demo -adapt grc20reg to use the right key commit dabdf613fbb56857b18dfe9532a692e7e8e913c3 Merge: 8d85cf13 8e1c5328 Author: matijamarjanovic <[email protected]> Date: Thu Jan 23 19:54:04 2025 +0100 Merge branch 'master' into feat/token-hub commit 8d85cf13f211d2d34d6a65d007f174b64561a897 Merge: 0adea0ec fd244862 Author: matijamarjanovic <[email protected]> Date: Thu Jan 23 18:14:25 2025 +0100 Merge branch 'master' into feat/token-hub commit 0adea0ec8955b9c33e518ba74423ee89ce7d6264 Author: matijamarjanovic <[email protected]> Date: Wed Jan 22 14:38:01 2025 +0100 set page size to 10 commit 1e0f60c4cbcaba2fb6cf32345b8dde30b98334fc Author: matijamarjanovic <[email protected]> Date: Tue Jan 21 21:40:50 2025 +0100 fix fmt again commit 7be170b55fbf32ece95e4d94bf5e8bf8a368d16b Author: matijam…
## Description Adds a simple package to make your Gno errors match your realm path. Go wizards tell me if I'm doing something wrong 🙏
Description
Adds a simple package to make your Gno errors match your realm path.
Go wizards tell me if I'm doing something wrong 🙏