Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
95981f2
import: PR #5486 (hf-glue testbed) squashed diff
aeddi Apr 21, 2026
2dfe0b9
fix(hf-glue): point replay-log.sh at gnogenesis fork test
aeddi Apr 21, 2026
fa9f9dc
fix(hf-glue): tolerate empty grep in report-replay.sh missing_imports
aeddi Apr 21, 2026
a8c05f7
fix(hf-glue): disambiguate $LOG var in report-replay.sh markdown header
aeddi Apr 21, 2026
7afc5df
feat(hf-glue): add hf_topup_balance escape hatch for replay invariant…
aeddi Apr 21, 2026
552fb01
fix(gnovm): proper gas consumption for mem allocation (#5091)
ltzmaxwell Mar 15, 2026
13ff931
style(gnoweb): update SVG logo to be visible on Safari (#5255)
alexiscolin Mar 16, 2026
00d18b0
fix(p2p): validate received node info to prevent nil NetAddress crash…
omarsy Mar 17, 2026
8433302
fix(gnoweb): hide broken Source/Actions buttons on static markdown pa…
alexiscolin Mar 17, 2026
c1f2993
fix(gnovm): simplify float value conversion (#5311)
ltzmaxwell Mar 17, 2026
59de384
fix(gnovm): compile time mapkey assertion (#5309)
ltzmaxwell Mar 19, 2026
d44f6b9
fix(govdao): implement abstain vote (#5271)
mvallenet Mar 19, 2026
3540db1
fix(gnovm): call DidUpdate on DataByte index assignment (#5318)
thehowl Mar 19, 2026
608a583
fix(gnovm): correct allocation while restoring (#4805)
ltzmaxwell Mar 19, 2026
9a9e8a0
feat(boards2): safe functions for realm or off-chain integration (#5037)
jeronimoalbi Mar 23, 2026
3cb0c3f
feat(gnovm)!: move runtime to testing stdlibs (#5321)
thehowl Mar 23, 2026
53e0f89
chore(boards2): remove the test address leaving only the multisig one…
jeronimoalbi Mar 23, 2026
681c556
fix(gnovm): const uint64 overflow check (#5269)
mvallenet Mar 23, 2026
e50ad61
fix(tm2): correct log level misclassifications across node components…
thehowl Mar 23, 2026
89dbfef
fix(blockchain): recalculate maxPeerHeight when peer lowers its heigh…
thehowl Mar 23, 2026
66b4ca0
feat(gnovm): support variadic arguments on maketx call (#5040)
Villaquiranm Mar 23, 2026
4b5bf23
fix(home): broken homepage link (#5339)
davd-gzl Mar 23, 2026
3d4ff3f
fix: add static content pages for dead gno.land links (#5351)
moul Mar 24, 2026
a3eb0af
feat(gnoweb): add beta banner (#5323)
gfanton Mar 25, 2026
93f289d
chore: update static page content (#5367)
Kouteki Mar 26, 2026
e24a769
fix(stdlibs/chain): make Coins.AmountOf panic for duplicate denoms (#…
thehowl Mar 30, 2026
fe88fbb
fix(gnovm): enforce int type for untyped variadic arguments in make (…
ltzmaxwell Apr 1, 2026
2edc3a1
fixup(gnovm): rename isInteger(*apd.Decimal) to isDecimalInteger to a…
aeddi Apr 21, 2026
f9a5d96
feat: add new govdao-scripts (#5375)
moul Apr 1, 2026
6dfdba4
fix(gnovm): implement Go-compliant variable initialization order (#5247)
thehowl Apr 2, 2026
8dbbae1
chore(boards2): change unauthorized message to add more context (#5397)
jeronimoalbi Apr 2, 2026
c8b7f8b
fix(amino): return error instead of panic for malformed type_url (#5399)
thehowl Apr 2, 2026
d0e7a35
fix(examples): prevent markdown injection in Render outputs (#5418)
moul Apr 2, 2026
ddb885c
fix(tm2/bft): add nil checks for block and block meta retrievals (#5137)
davd-gzl Apr 3, 2026
3032cbb
chore(govdao): Allow GovDAO to register names without restrictions fr…
jefft0 Apr 3, 2026
d41d8ea
fix(gnovm): reject `chan` type at preprocess/runtime (#5238)
davd-gzl Apr 3, 2026
558d5fe
chore(boards2): add original thread ID to `hub` realm thread reposts …
jeronimoalbi Apr 6, 2026
74585ea
feat(boards2): change permissions to use less storage (#5346)
jeronimoalbi Apr 6, 2026
844d2f2
feat(govdao): allow proposal rejection on execution error (#5261)
jeronimoalbi Apr 7, 2026
bfd9830
feat(boards2): add function to update required amount for open board …
jeronimoalbi Apr 7, 2026
c1bb44e
fix(consensus): error when block header parts are too big (#5246)
Villaquiranm Apr 7, 2026
0fbe8ba
fix(gnovm): inconsistency in the single-linked list implementation (c…
davd-gzl Apr 8, 2026
56dbe31
fix(tm2/rpc): prevent index out of bounds panic (#5136)
davd-gzl Apr 8, 2026
842cc25
fix(gnovm): track block item allocations in PrepareNewValues (#5436)
omarsy Apr 8, 2026
4ddfdde
fix(gnovm): deep-copy array elements in ArrayValue.Copy (#5445)
thehowl Apr 8, 2026
cbd151c
fix(gnoland): prevent duplicate validator removals in EndBlocker (#5356)
omarsy Apr 9, 2026
040fa3f
fix(tm2): reject block parts with mismatched proofs in AddPart (#5479)
thehowl Apr 13, 2026
1624cb1
feat(gnovm): implement iterative exception recovery to prevent stack …
davd-gzl Apr 13, 2026
a3468c0
fix(gnovm): skip closure frames in `AssertOriginCall` origin check (#…
notJoon Apr 14, 2026
1445587
feat(gnoweb): Add Source and Action button for realm explorer (#5032)
davd-gzl Apr 14, 2026
77ffb7e
fix: add generic markdown customized banner (#5378)
gfanton Apr 14, 2026
fca4b6a
fix(tm2/client): return error message when ID is missing (#5081)
davd-gzl Apr 14, 2026
251bb94
fix(gnovm): correct len/cap/hint type check (#5391)
ltzmaxwell Apr 14, 2026
bc59970
fix(tm2/rpc): handle malformed elements in batch requests (#5447)
davd-gzl Apr 14, 2026
8b1227c
chore(std): Make non-panic versions of AddressFromBytes and NewCoin (…
jefft0 Apr 14, 2026
b54c823
fix(gnovm): post loopvar fixes (2) (#5266)
ltzmaxwell Apr 14, 2026
d2e792c
chore(boards2): escape thread titles (#5434)
jeronimoalbi Apr 15, 2026
a5169ff
feat: remove p/nt/ownable dependency in r/sys/names (#5244)
D4ryl00 Apr 15, 2026
affc526
fix(gnovm): recoverable panic, runtime error prefix (#5501)
ltzmaxwell Apr 15, 2026
b78ad1d
feat: improve rendering of r/sys/cla realm (#5331)
mvallenet Apr 15, 2026
cd79007
fix(gnoweb): apply IsDangerousURL to angle-bracket autolinks (#5515)
thehowl Apr 15, 2026
c26636d
feat(stdlibs): implement `realm.SentCoins()` (#5039)
tbruyelle Apr 16, 2026
eda2f11
fix(gnovm): prevent cross-realm state corruption via NameExpr assign+…
ltzmaxwell Apr 16, 2026
4ed6595
fix(gnovm): add validation on alloc constructors and caller side (#5498)
ltzmaxwell Apr 17, 2026
bd506ee
fix(gnovm): use static type in doOpRef for correct interface pointer …
jaekwon Apr 17, 2026
9546120
chore(contribs/tx-archive): register chain stdlib amino types (#5535)
moul Apr 17, 2026
ec91640
fix(gnovm): assert index non-negative for const in preprocess. (#5141)
ltzmaxwell Apr 17, 2026
b92d3ff
fix: false cycle detection for valid multi-value var declarations (#5…
piux2 Apr 17, 2026
e650879
feat(deployments/gnoland-1): govDAO T1 rotation migration + repair va…
aeddi Apr 21, 2026
d42bddd
fix(hf-glue): make init-node.sh idempotent
aeddi Apr 22, 2026
3e38a0e
fix(hf-glue): auto-restage genesis on make up via init dependency
aeddi Apr 22, 2026
d07ff4a
feat(hf-glue): support keyless genesis via VALIDATOR_ADDR/VALIDATOR_P…
aeddi Apr 23, 2026
b1c2881
feat(hf-glue): add chunked tx-archive fetch script for flaky RPCs
aeddi Apr 23, 2026
2564541
feat: valset updates via VM params keeper (v3)
moul Apr 13, 2026
8135d8d
feat(deployments/test13.gno.land): add add-validator.sh targeting r/s…
aeddi Apr 23, 2026
e6953c9
feat(deployments/gnoland-1): addpkg r/sys/validators/v3 in post-fork …
aeddi Apr 23, 2026
ec3e283
feat(hf-glue): support multi-validator genesis via --valset-list
aeddi Apr 23, 2026
095cee6
fix(deployments/gnoland-1): wrap v3 addpkg with sysnames-check disabl…
aeddi Apr 23, 2026
281d51e
fix(r/sys/validators/v3): evaluate changesFn eagerly in NewValsetChan…
aeddi Apr 23, 2026
f6a7cdd
feat(deployments/gnoland-1): set vm:p:valset_realm_path to v3 in migr…
aeddi Apr 23, 2026
5c29119
feat(hf-glue): add assert-migrations script verifying post-replay state
aeddi Apr 23, 2026
6765715
feat(hf-glue): add verify-txs-jsonl integrity check vs source-chain RPC
aeddi Apr 23, 2026
3e107b0
feat(hf-glue): add state-diff tool comparing replay vs source-chain r…
aeddi Apr 23, 2026
91ca6ca
feat(hf-glue): add audit-balances diffing per-signer ugnot source vs …
aeddi Apr 23, 2026
c4e0ffb
feat(hf-glue): add verify-reproducibility building genesis twice, ass…
aeddi Apr 23, 2026
b15ffde
fix(gnovm): survive partial mempackage writes on restart
aeddi Apr 23, 2026
ef5db46
feat(deployments/test13.gno.land): add rm/change-power/batch govDAO s…
aeddi Apr 23, 2026
4246860
fix(hf-glue): accept empty string as "no pending update" in assert-mi…
aeddi Apr 23, 2026
45893f2
feat(hf-glue): add audit-realm-imports flagging dangling imports post…
aeddi Apr 23, 2026
754f75d
feat(hf-glue): add compare-gas-modes A/B-testing strict vs source replay
aeddi Apr 23, 2026
821e237
docs(hf-glue): clarify verify-reproducibility assumes a clean OUT dir
aeddi Apr 23, 2026
f121c37
docs(test13): add gnoland1 hardfork launch ADR
aeddi Apr 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion contribs/gnodev/pkg/packages/resolver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,10 @@ func TestResolver_ResolveRemote(t *testing.T) {
pkg, err := remoteResolver.Resolve(token.NewFileSet(), mempkg.Path)
require.NoError(t, err)
require.NotNil(t, pkg)
assert.Equal(t, mempkg, pkg.MemPackage)
// The files will be slightly different, because addpkg adds information
// to the gnomod.toml about the creator.
assert.Equal(t, mempkg.Name, pkg.MemPackage.Name)
assert.Equal(t, mempkg.Path, pkg.MemPackage.Path)
})

t.Run("invalid package", func(t *testing.T) {
Expand Down
3 changes: 2 additions & 1 deletion contribs/gnofaucet/github/fetcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ func NewGHFetcher(
rClient *redis.Client,
repos map[string][]string,
logger *slog.Logger,
interval time.Duration) *GHFetcher {
interval time.Duration,
) *GHFetcher {
return &GHFetcher{
ghClient: ghClient,
redisClient: rClient,
Expand Down
2 changes: 2 additions & 0 deletions contribs/gnogenesis/genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package main

import (
"github.com/gnolang/contribs/gnogenesis/internal/balances"
"github.com/gnolang/contribs/gnogenesis/internal/fork"
"github.com/gnolang/contribs/gnogenesis/internal/generate"
"github.com/gnolang/contribs/gnogenesis/internal/params"
"github.com/gnolang/contribs/gnogenesis/internal/txs"
Expand All @@ -28,6 +29,7 @@ func newGenesisCmd(io commands.IO) *commands.Command {
balances.NewBalancesCmd(io),
txs.NewTxsCmd(io),
params.NewParamsCmd(io),
fork.NewForkCmd(io),
)

return cmd
Expand Down
48 changes: 48 additions & 0 deletions contribs/gnogenesis/internal/fork/fork.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Package fork provides the `gnogenesis fork` subcommands for building and
// smoke-testing hardfork genesis files.
//
// A hardfork genesis is built from:
// 1. SOURCE CHAIN — provides historical state (genesis + tx history)
// 2. NEW BINARY — the updated gnoland built from this repo
//
// Source modes (auto-detected from --source):
//
// http(s)://... RPC of a running or recently-halted node
// /path/to/dir local node data directory (must contain config/genesis.json)
// /path/to/file exported file: genesis.json (no txs) or .jsonl (txs) or .tar.gz
package fork

import (
"github.com/gnolang/gno/tm2/pkg/commands"
)

// NewForkCmd returns the `gnogenesis fork` parent command with its
// subcommands (`generate`, `test`) attached.
func NewForkCmd(io commands.IO) *commands.Command {
cmd := commands.NewCommand(
commands.Metadata{
Name: "fork",
ShortUsage: "<subcommand> [flags] [<arg>...]",
ShortHelp: "build and smoke-test hardfork genesis files",
LongHelp: `Build a hardfork genesis from a source chain and smoke-test it locally.

Subcommands:
generate Assemble a new-chain genesis.json from a source chain's state + tx history.
test Run an in-memory InitChain replay against a genesis.json (fast smoke-test).

Source modes (auto-detected from --source):
http(s)://... RPC of a running or recently-halted node
/path/to/dir local node data directory (must contain config/genesis.json)
/path/to/file exported file: genesis.json (no txs) or .jsonl (txs) or .tar.gz`,
},
commands.NewEmptyConfig(),
commands.HelpExec,
)

cmd.AddSubCommands(
newGenerateCmd(io),
newTestCmd(io),
)

return cmd
}
Loading
Loading