Skip to content

Conversation

@MikaelVallenet
Copy link
Member

No description provided.

jeronimoalbi and others added 2 commits December 4, 2025 16:02
…nly member storage (gnolang#4754)

This PR removes the `MemberSet` type in favor of the
`ReadonlyMemberStorage`, which is introduced with other grouping related
readonly types.

`MemberSet` was intended as a readonly representation for proposal
definitions to read DAO members. CommonDAO now supports members grouping
which should also be available to the proposal definitions to be able to
tally votes in contexts where grouping is relevant for counting votes,
and specially where direct access to CommonDAO instances is not
possible, for example for proposal definitions defined in third party
realms.

Proposal definition's `Tally()` method now receives a single argument
containing a readonly member storage instead of a member set and the
readonly voting record:
```go
func (ProposalDefinition) Tally(VotingContext) (bool, error)
```

The new `VotingContext` type is defined as:
```go
// VotingContext contains current voting context, which includes a voting
// record for the votes that has been submitted for a proposal and also
// the list of DAO members.
VotingContext struct {
	VotingRecord ReadonlyVotingRecord
	Members      ReadonlyMemberStorage
}
```

Readonly types are introduced to be able for proposal definitions
implemented in third party realms to read relevant DAO information which
might not be accessible directly to these realms.

Member groups can be accessed from the member storage.
MikaelVallenet and others added 12 commits December 4, 2025 17:38
This PR targets the links on the Action page in gnoweb. It normalizes
Anchor/Execute buttons URLs and unifies their dynamic parameter updates
so both stay in sync when inputs change:

- Use same-origin relative/absolute paths for Help links to avoid
browser-relative resolution issues.
- Unify client-side updates for both links (Execute `href` and Anchor
`data-copy-text-value`) in one pass.
- Fix TypeScript typing by avoiding possibly-undefined dataset values
when building URLs.

This will:

- Prevents browser from treating gno.land/... as a relative path that
gets appended to the current route (when the http protocol is missing).
- Fix the url difference created by the browser between `href` and
`dataset` (browser autocomplete href ones with full protocol url when
missing)
- Ensures the "Anchor" and "Execute" actions always reflect the same
parameters.
# feat(web): form exec

This PR introduces a new feature to the form ext in gnoweb (form exec).
It enables dynamic form submission from the web interface to gnokey (and
wallets in the end). This provides a more natural and consistent bridge
between the front-end and the on-chain logic while staying in the render
view.

## Main Changes
- Added a new endpoint/handler to process form execution (it auto get
the params after a function is set)
- Updated the web layer to support form submission and async processing.
- Updated the HTML/JS front-end to trigger form execution and display
execution status (cmd).
- Added/modified tests to cover the new form → exec flow.
- add default value content param

## Next Steps

Wallets will need to sync with this new form execution flow so they can
intercept the form submission event and properly handle the transaction
signing process.
This PR only exposes the form; wallet integration should come next.

<img width="826" height="534" alt="Capture d’écran 2025-10-27 à 10 56
29"
src="https://github.com/user-attachments/assets/b0828bda-4cd0-4cf6-81fb-017ebac371a1"
/>

---------

Co-authored-by: Alexis Colin <[email protected]>
Co-authored-by: Antoine Eddi <[email protected]>
Co-authored-by: aeddi <[email protected]>
PR gnolang#3931 updates vm/qdoc to flag
which functions are crossing. Update the gnoweb help page to support
calling qeval for non-crossing functions.

* For non-crossing functions, show the command as `gnokey query
vm/qeval` (instead of `gnokey maketx`). The user can copy and paste to
the command line.
* Add function `_updateQEvalResult` which is called from
`_pushArgsInDOM` each time that the param values are changed. If it's a
non-crossing function and all the params have a value then use `fetch`
to call `abci_query` and show the result.
* In Content-Security-Policy, add `connect-src <remote>/abci_query` so
that we can use fetch for `abci_query`

<img width="999" height="355" alt="image"
src="https://github.com/user-attachments/assets/5d5070a9-415e-4e46-9e60-32e49d5548df"
/>

---------

Signed-off-by: Jeff Thompson <[email protected]>
Co-authored-by: alexiscolin <[email protected]>
Resolves gnolang#2737

As [required by the HID
library](https://github.com/Zondax/hid/blob/148be243caa49724e017c248dde643b0ada03742/README.md?plain=1#L31),
the executable must be built with `CGO_ENABLED=1` in order to find the
Ledger. We want to keep building without this flag by default so that
the binary is deterministic. The HID library already has the
[`Supported`
function](https://github.com/Zondax/hid/blob/148be243caa49724e017c248dde643b0ada03742/hid_disabled.go#L15)
which returns false if not built with cgo.

* In the `getLedgerDevice`, if not `Supported` then return an error
message to try building with CGO_ENABLED=1

The error message looks like:
```
unable to create Ledger reference in keybase, ledger support is not enabled, try building with CGO_ENABLED=1
```

This PR is a minimal solution as an alternative to putting
`CGO_ENABLED=1` in the [gnokey
Makefile](https://github.com/gnolang/gno/blob/e3df2c9e0bb17ddc90f34db223ab6593b4f6ca8a/gno.land/Makefile#L48).

---------

Signed-off-by: Jeff Thompson <[email protected]>
Co-authored-by: Antoine Eddi <[email protected]>
…ng#4877)

Fixed incorrect operation order preventing re-upload of edited private
packages.
Also added a test case for this scenario.

---------

Co-authored-by: Romain Gay <[email protected]>
Co-authored-by: ltzmaxwell <[email protected]>
Co-authored-by: Manfred Touron <[email protected]>
gnolang#4890)

This PR will finalize the gno interrealm spec.
The primary goal is to address the Oak security audit issue found.
Also will unify terminology, and double-check consistency of interrealm
spec.

Making a PR to allow commenting on the initial commit of mental model.

Related:
https://github.com/gnolang/gno/security/advisories/GHSA-64hv-3ww9-mc3f

---------

Signed-off-by: moul <[email protected]>
Co-authored-by: Manfred Touron <[email protected]>
Co-authored-by: ltzMaxwell <[email protected]>
Co-authored-by: Morgan <[email protected]>
Villaquiranm and others added 6 commits December 15, 2025 20:44
alternative to gnolang#2434 

Taking into account some of the reviews on gnolang#2434 

I tried to integrate traces first on gRPC server.
This already works on a basic form but we still need to identify
important places were to put the traces
<img width="845" height="317" alt="image"
src="https://github.com/user-attachments/assets/a5706ace-5244-460d-b858-0d60a38d70f4"
/>

Added more traces direclty on rpc handlers
<img width="838" height="307" alt="image"
src="https://github.com/user-attachments/assets/b160bc15-bbc8-47ea-96c4-9dfa336ea96a"
/>
<img width="825" height="105" alt="image"
src="https://github.com/user-attachments/assets/6ae06502-1c0a-4dc8-8d5d-b093e1d07f16"
/>
Closes gnolang#4866
Required for gnolang#4655 

Added a txtar test to ensure that -send flag doesnt affect the user
balance when used in `maketx run`.

Added similar txtar for `maketx call`, this time the user balance is
affected.

---------

Co-authored-by: Manfred Touron <[email protected]>
Do not remove this file.
It is important information, and a canary file.
Of all places, /r/UFOResearch should not censor this kind of information.
DO NOT DELETE THIS FILE, DO NOT TRUST ANYONE WHO DELETES THIS FILE.
added law of spinning mass.
moul and others added 12 commits December 17, 2025 15:57
…nolang#4926)

Alternative for gnolang#4905 

Kept:
- Removed GetRaw/SetRaw since they were unused.
- SetBytes to use directly the store, preventing the value to be
aminoJSON encoded.

Updated:
- Preserve API consistency.

---------

Signed-off-by: moul <[email protected]>
Co-authored-by: Thomas Bruyelle <[email protected]>
Package aims to be a very simple package to define Gno-Flavored Markdown
forms.

It should be easy to update when new form elements or attributes are
introduced.

---------

Co-authored-by: Antoine Eddi <[email protected]>
longer term fix for gnolang#4874, re-introducing the type check cache for
stdlibs.
…ng#4939)

PR changes Boards2 realm to use `gno.land/p/gnoland/boards` package
which makes the realm leaner.

It also improves `BasicPermissions` implementation by using a custom
members storage implementation that makes users iteration cheaper.
Signed-off-by: moul <[email protected]>

---------

Signed-off-by: moul <[email protected]>
Co-authored-by: Antoine Eddi <[email protected]>
…g#4978)

Closes gnolang#4968

## Description

The `<gno-textarea>` component was literally displaying the `\n`
sequence. After fix, the parser now interprets the `\n` sequence as a
real newline character.

### Example

```
<gno-form>
  <gno-textarea name="content" value="         First line\nSecond line" />
</gno-form>
```

### Before fix: 
<img width="931" height="236" alt="Capture d’écran 2025-12-15 à 23 22
23"
src="https://github.com/user-attachments/assets/220f85ee-c5ad-4dd3-9b26-863bd84e6a58"
/>


### After fix: 
<img width="945" height="239" alt="Capture d’écran 2025-12-15 à 23 34
27"
src="https://github.com/user-attachments/assets/e8f7551e-749f-4259-ba50-5dae333cf487"
/>

---------

Co-authored-by: alexiscolin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.