Skip to content
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: move standard library initialization to genesis transactions #3168

Draft
wants to merge 118 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 98 commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
a57e99f
refactor test package
thehowl Nov 13, 2024
80a0420
fixup
thehowl Nov 13, 2024
947435d
ensure to only update correct files
thehowl Nov 13, 2024
530c659
finish up everything
thehowl Nov 13, 2024
30c0ef5
re-enable and simplify debugger tests
thehowl Nov 13, 2024
98b3c91
shrink test execution time to 2 seconds
thehowl Nov 13, 2024
a7f0e84
remove native type mappings
thehowl Nov 13, 2024
63565df
fixup
thehowl Nov 13, 2024
e80c354
Merge branch 'master' of github.com:gnolang/gno into dev/morgan/big-t…
thehowl Nov 13, 2024
197a01c
fixup stuff
thehowl Nov 13, 2024
2f65112
add short flag in gnovm test
thehowl Nov 14, 2024
6c9b5b6
run full tests on master
thehowl Nov 14, 2024
3bf22fb
wat
thehowl Nov 14, 2024
6f90e23
update tests
thehowl Nov 14, 2024
94b2197
fixup fixup
thehowl Nov 14, 2024
dad6992
update example filetests
thehowl Nov 14, 2024
dda4c7c
oopsie
thehowl Nov 14, 2024
d41d5ed
reverting back
thehowl Nov 14, 2024
59d9008
Merge branch 'master' of github.com:gnolang/gno into dev/morgan/big-t…
thehowl Nov 15, 2024
3223bf2
revert back to master examples
thehowl Nov 15, 2024
bcbc211
fixup test
thehowl Nov 15, 2024
d191eed
less strict matching of output
thehowl Nov 15, 2024
5389cf6
avoid eagerly loading realms
thehowl Nov 15, 2024
f6aaa29
finishup
thehowl Nov 16, 2024
c603537
fixup
thehowl Nov 16, 2024
2f65631
fixup
thehowl Nov 18, 2024
ee2b0da
maybe fix all tests?
thehowl Nov 18, 2024
3f9abe1
remove useless test
thehowl Nov 19, 2024
d351434
Merge branch 'master' of github.com:gnolang/gno into dev/morgan/big-t…
thehowl Nov 19, 2024
b236499
add stdlib tests back
thehowl Nov 19, 2024
f497d05
add stdlibs tests back
thehowl Nov 19, 2024
50ff186
oopsie
thehowl Nov 19, 2024
b6f54c2
fixup workflow
thehowl Nov 19, 2024
694ec88
wrong dir
thehowl Nov 19, 2024
9c2f3c2
fix #1084
thehowl Nov 19, 2024
be153b1
remove deadcode
thehowl Nov 19, 2024
f832188
improvements
thehowl Nov 19, 2024
359585a
revert to master state for machine_test.go
thehowl Nov 19, 2024
d98aded
typo fixes
thehowl Nov 19, 2024
c12f6b3
move testing system to pkg/test as well
thehowl Nov 19, 2024
c106800
lint fixes
thehowl Nov 19, 2024
fd3286c
remove more redundancy
thehowl Nov 19, 2024
2e6f1f2
Merge branch 'master' of github.com:gnolang/gno into dev/morgan/big-t…
thehowl Nov 19, 2024
a15aa7b
update txtars
thehowl Nov 19, 2024
d96766d
skip some stdlib testing for now
thehowl Nov 19, 2024
98e4e4f
skip stdlib test in examples workflow
thehowl Nov 19, 2024
f1cfc8e
oopsie
thehowl Nov 19, 2024
8aa9b24
tmp
n0izn0iz Nov 20, 2024
66d3e70
feat: add embedded stdlibs
n0izn0iz Nov 20, 2024
ce564b4
Merge branch 'master' into embed-stdlibs
n0izn0iz Nov 20, 2024
f4138d8
chore: add doc
n0izn0iz Nov 20, 2024
df80f36
chore: rename stuff
n0izn0iz Nov 20, 2024
60c5eeb
Merge branch 'embed-stdlibs' into genesis-stdlibs
n0izn0iz Nov 20, 2024
435a98c
tmp
n0izn0iz Nov 20, 2024
32a47c8
tmp
n0izn0iz Nov 20, 2024
e0f96c1
tmp
n0izn0iz Nov 20, 2024
62f4f21
tmp
n0izn0iz Nov 20, 2024
57749ce
tmp
n0izn0iz Nov 21, 2024
34a52d2
tmp: finish TestStore embed integrationg
n0izn0iz Nov 21, 2024
54d6376
chore: revert test removal
n0izn0iz Nov 21, 2024
f7c4af1
Merge branch 'master' into genesis-stdlibs
n0izn0iz Nov 21, 2024
d776227
tmp
n0izn0iz Nov 21, 2024
1054240
feat: inject stdlibs in testscripts
n0izn0iz Nov 21, 2024
d94c226
fix: properly inject stdlibs txs in testscripts
n0izn0iz Nov 21, 2024
44056eb
chore: update tests
n0izn0iz Nov 21, 2024
fca5da2
chore: update tests
n0izn0iz Nov 21, 2024
4674563
fix: disable namespace check for stdlibs during genesis
n0izn0iz Nov 21, 2024
f9d214e
fix: lint import
n0izn0iz Nov 21, 2024
c2acb22
chore: add blockheight in debug print
n0izn0iz Nov 21, 2024
c83ecd8
fix: give enough gnots to test1 to deploy stdlibs
n0izn0iz Nov 21, 2024
88996bc
fix: use embedded stdlibs in more tests
n0izn0iz Nov 21, 2024
ef0d05f
Merge remote-tracking branch 'origin/master' into genesis-stdlibs
n0izn0iz Nov 21, 2024
1e333e2
fix: txtar tests with injected stdlibs
n0izn0iz Nov 21, 2024
0f9eb5c
chore: revert gnoweb changes
n0izn0iz Nov 21, 2024
3247301
chore: correct comment
n0izn0iz Nov 21, 2024
17ac56b
tmp: increase test timeout
n0izn0iz Nov 21, 2024
b676fc5
fix: gnodev tests
n0izn0iz Nov 21, 2024
b31dac0
tmp: increase gnodev test timeout
n0izn0iz Nov 21, 2024
883b1b0
chore: increase startup delay
n0izn0iz Nov 21, 2024
ab76537
feat: use embedded stdlibs in testenv
n0izn0iz Nov 21, 2024
03965b0
tmp: stricter pkgpath check during genesis
n0izn0iz Nov 22, 2024
b58b9e0
Merge branch 'master' into genesis-stdlibs
n0izn0iz Nov 22, 2024
4f6686f
Merge branch 'master' into genesis-stdlibs
n0izn0iz Nov 23, 2024
73ad347
chore: Merge remote-tracking branch 'morgan/dev/morgan/big-test-refac…
n0izn0iz Nov 23, 2024
8b3f1a4
tmp: fix post merge opti
n0izn0iz Nov 24, 2024
b39cb20
Merge branch 'master' into genesis-stdlibs
n0izn0iz Nov 24, 2024
f936f6c
fix: gnodev mempkg validate
n0izn0iz Nov 24, 2024
3e506b6
feat: only allow stdlib paths for stdlibs
n0izn0iz Nov 24, 2024
d59dd88
tmp: trigger ci
n0izn0iz Nov 24, 2024
37eecb1
Merge branch 'master' of github.com:gnolang/gno into dev/morgan/big-t…
thehowl Nov 25, 2024
9f128d5
Apply code-review changes
thehowl Nov 25, 2024
2e1b5df
better doc
thehowl Nov 25, 2024
d43e5b2
chore: Merge remote-tracking branch 'origin/master' into genesis-stdlibs
n0izn0iz Nov 26, 2024
606a741
chore: Merge remote-tracking branch 'morgan/dev/morgan/big-test-refac…
n0izn0iz Nov 26, 2024
10c4cf4
feat: cache embedded stdlibs mempackages
n0izn0iz Nov 26, 2024
b88761c
feat: use map cache
n0izn0iz Nov 26, 2024
82c4769
tmp: increase test timeout
n0izn0iz Nov 26, 2024
8943a68
Merge branch 'master' into genesis-stdlibs
n0izn0iz Nov 26, 2024
1231f81
chore: Merge remote-tracking branch 'origin/master' into genesis-stdlibs
n0izn0iz Nov 26, 2024
c885024
chore: preallocate slice
n0izn0iz Nov 26, 2024
6ad727e
chore: Merge remote-tracking branch 'origin/master' into genesis-stdlibs
n0izn0iz Dec 1, 2024
53fa02b
fix: remove empty tx
n0izn0iz Dec 1, 2024
1c22718
chore: use constant for testing lib name
n0izn0iz Dec 1, 2024
868f941
chore: preallocate slice
n0izn0iz Dec 1, 2024
6200b27
chore: move constant to a more appropriate place
n0izn0iz Dec 1, 2024
cea9a05
chore: correct doc
n0izn0iz Dec 1, 2024
b934ab2
chore: move fixed values out of loop
n0izn0iz Dec 1, 2024
8539d18
Merge branch 'master' into genesis-stdlibs
n0izn0iz Dec 3, 2024
57acd8e
chore: update embedded test
n0izn0iz Dec 3, 2024
b65420d
feat: optimize stdlibs loading in tests
n0izn0iz Dec 4, 2024
da28696
chore: Merge remote-tracking branch 'origin/master' into genesis-stdlibs
n0izn0iz Dec 4, 2024
a6cbccf
fix: break infinite loop
n0izn0iz Dec 4, 2024
aeff181
chore: Merge remote-tracking branch 'origin/master' into genesis-stdlibs
n0izn0iz Dec 8, 2024
a7939bc
fix: usage after merge
n0izn0iz Dec 8, 2024
80da996
chore: update test
n0izn0iz Dec 8, 2024
50f9cad
fix: domain check
n0izn0iz Dec 8, 2024
a509eee
chore: revert test timeout change
n0izn0iz Dec 8, 2024
2d7d762
fix: correctly check domain for non-stdlibs
n0izn0iz Dec 8, 2024
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
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: examples
on:
pull_request:
push:
branches: [ "master" ]
branches: ["master"]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
Expand Down Expand Up @@ -70,7 +70,7 @@ jobs:
strategy:
fail-fast: false
matrix:
goversion: [ "1.22.x" ]
goversion: ["1.22.x"]
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
Expand All @@ -86,7 +86,7 @@ jobs:
strategy:
fail-fast: false
matrix:
go-version: [ "1.22.x" ]
go-version: ["1.22.x"]
# unittests: TODO: matrix with contracts
runs-on: ubuntu-latest
timeout-minutes: 10
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/gnovm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ jobs:
uses: ./.github/workflows/main_template.yml
with:
modulepath: "gnovm"
# in pull requests, append -short so that the CI runs quickly.
tests-extra-args: ${{ github.event_name == 'pull_request' && '-short' || '' }}
secrets:
codecov-token: ${{ secrets.CODECOV_TOKEN }}
fmt:
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/main_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,8 @@ jobs:
uses: ./.github/workflows/test_template.yml
with:
modulepath: ${{ inputs.modulepath }}
tests-timeout: "30m"
tests-timeout: "60m"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we discussed why this was needed privately, but it's worth nothing here as well 🙏

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will try to make an optimization in this PR to keep gnoland test around 20min like on master
I keep you posted

go-version: "1.22.x"
tests-extra-args: ${{ inputs.tests-extra-args }}
secrets:
codecov-token: ${{ secrets.codecov-token }}

17 changes: 12 additions & 5 deletions contribs/gnodev/pkg/dev/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
"github.com/gnolang/gno/gno.land/pkg/gnoland/ugnot"
"github.com/gnolang/gno/gno.land/pkg/integration"
"github.com/gnolang/gno/gnovm/pkg/gnomod"
"github.com/gnolang/gno/gnovm/stdlibs"
"github.com/gnolang/gno/tm2/pkg/amino"
tmcfg "github.com/gnolang/gno/tm2/pkg/bft/config"
"github.com/gnolang/gno/tm2/pkg/bft/node"
Expand Down Expand Up @@ -92,6 +93,9 @@ type Node struct {
var DefaultFee = std.NewFee(50000, std.MustParseCoin(ugnot.ValueString(1000000)))

func NewDevNode(ctx context.Context, cfg *NodeConfig) (*Node, error) {
stdlibsDeployer := crypto.MustAddressFromString("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // test1, FIXME: replace
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fixable I think with @Villaquiranm's PR

Copy link
Contributor Author

@n0izn0iz n0izn0iz Nov 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I think I'll wait on it
EDIT: actually I should probably use the same address as other packages, I will address this before merge

stdlibsTxs := gnoland.LoadEmbeddedStdlibs(stdlibsDeployer, DefaultFee)

mpkgs, err := NewPackagesMap(cfg.PackagesPathList)
if err != nil {
return nil, fmt.Errorf("unable map pkgs list: %w", err)
Expand All @@ -118,7 +122,7 @@ func NewDevNode(ctx context.Context, cfg *NodeConfig) (*Node, error) {
// generate genesis state
genesis := gnoland.GnoGenesisState{
Balances: cfg.BalancesList,
Txs: append(pkgsTxs, cfg.InitialTxs...),
Txs: append(stdlibsTxs, append(pkgsTxs, cfg.InitialTxs...)...),
}

if err := devnode.rebuildNode(ctx, genesis); err != nil {
Expand Down Expand Up @@ -268,14 +272,18 @@ func (n *Node) Reset(ctx context.Context) error {
return fmt.Errorf("unable to stop the node: %w", err)
}

// Load stdlibs
stdlibsDeployer := crypto.MustAddressFromString("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // test1, FIXME: replace
stdlibsTxs := gnoland.LoadEmbeddedStdlibs(stdlibsDeployer, DefaultFee)

// Generate a new genesis state based on the current packages
pkgsTxs, err := n.pkgs.Load(DefaultFee)
if err != nil {
return fmt.Errorf("unable to load pkgs: %w", err)
}

// Append initialTxs
txs := append(pkgsTxs, n.initialState...)
txs := append(stdlibsTxs, append(pkgsTxs, n.initialState...)...)
genesis := gnoland.GnoGenesisState{
Balances: n.config.BalancesList,
Txs: txs,
Expand Down Expand Up @@ -357,7 +365,8 @@ func (n *Node) getBlockStoreState(ctx context.Context) ([]gnoland.TxWithMetadata
// get current genesis state
genesis := n.GenesisDoc().AppState.(gnoland.GnoGenesisState)

initialTxs := genesis.Txs[n.loadedPackages:] // ignore previously loaded packages
numStdLibs := len(stdlibs.InitOrder()) - 1 // stdlibs count minus testing lib
initialTxs := genesis.Txs[n.loadedPackages+numStdLibs:] // ignore previously loaded packages

state := append([]gnoland.TxWithMetadata{}, initialTxs...)

Expand Down Expand Up @@ -479,8 +488,6 @@ func (n *Node) rebuildNode(ctx context.Context, genesis gnoland.GnoGenesisState)
// Setup node config
nodeConfig := newNodeConfig(n.config.TMConfig, n.config.ChainID, genesis)
nodeConfig.GenesisTxResultHandler = n.genesisTxResultHandler
// Speed up stdlib loading after first start (saves about 2-3 seconds on each reload).
nodeConfig.CacheStdlibLoad = true
nodeConfig.Genesis.ConsensusParams.Block.MaxGas = n.config.MaxGasPerBlock

// recoverFromError handles panics and converts them to errors.
Expand Down
7 changes: 6 additions & 1 deletion contribs/gnodev/pkg/dev/node_state.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"github.com/gnolang/gno/contribs/gnodev/pkg/events"
"github.com/gnolang/gno/gno.land/pkg/gnoland"
bft "github.com/gnolang/gno/tm2/pkg/bft/types"
"github.com/gnolang/gno/tm2/pkg/crypto"
)

var ErrEmptyState = errors.New("empty state")
Expand Down Expand Up @@ -83,6 +84,10 @@ func (n *Node) MoveBy(ctx context.Context, x int) error {
return nil
}

// Load stdlibs
stdlibsDeployer := crypto.MustAddressFromString("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // test1, FIXME: replace
stdlibsTxs := gnoland.LoadEmbeddedStdlibs(stdlibsDeployer, DefaultFee)

// Load genesis packages
pkgsTxs, err := n.pkgs.Load(DefaultFee)
if err != nil {
Expand All @@ -94,7 +99,7 @@ func (n *Node) MoveBy(ctx context.Context, x int) error {
// Create genesis with loaded pkgs + previous state
genesis := gnoland.GnoGenesisState{
Balances: n.config.BalancesList,
Txs: append(pkgsTxs, newState...),
Txs: append(stdlibsTxs, append(pkgsTxs, newState...)...),
}

// Reset the node with the new genesis state.
Expand Down
2 changes: 1 addition & 1 deletion contribs/gnodev/pkg/dev/node_state_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ func Render(_ string) string { return strconv.Itoa(value) }
func testingContext(t *testing.T) context.Context {
t.Helper()

ctx, cancel := context.WithTimeout(context.Background(), time.Second*7)
ctx, cancel := context.WithTimeout(context.Background(), time.Second*30)
t.Cleanup(cancel)
return ctx
}
2 changes: 1 addition & 1 deletion contribs/gnodev/pkg/dev/packages.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ func (pm PackagesMap) Load(fee std.Fee) ([]gnoland.TxWithMetadata, error) {

// Open files in directory as MemPackage.
memPkg := gno.ReadMemPackage(modPkg.Dir, modPkg.Name)
if err := memPkg.Validate(); err != nil {
if err := memPkg.Validate(true); err != nil {
return nil, fmt.Errorf("invalid package: %w", err)
}

Expand Down
1 change: 1 addition & 0 deletions examples/gno.land/p/demo/avl/pager/z_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,4 @@ func main() {
//
// ## Page 7 of 6
// [1](?page=1) | … | [5](?page=5) | [6](?page=6) | _7_
//
8 changes: 4 additions & 4 deletions examples/gno.land/p/demo/avl/z_0_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ func main() {
// "Escaped": true,
// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:3"
// },
// "FileName": "main.gno",
// "FileName": "z_0.gno",
// "IsMethod": false,
// "Name": "init.1",
// "NativeName": "",
Expand All @@ -278,7 +278,7 @@ func main() {
// "BlockNode": null,
// "Location": {
// "Column": "1",
// "File": "main.gno",
// "File": "z_0.gno",
// "Line": "10",
// "PkgPath": "gno.land/r/test"
// }
Expand All @@ -303,7 +303,7 @@ func main() {
// "Escaped": true,
// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:3"
// },
// "FileName": "main.gno",
// "FileName": "z_0.gno",
// "IsMethod": false,
// "Name": "main",
// "NativeName": "",
Expand All @@ -314,7 +314,7 @@ func main() {
// "BlockNode": null,
// "Location": {
// "Column": "1",
// "File": "main.gno",
// "File": "z_0.gno",
// "Line": "15",
// "PkgPath": "gno.land/r/test"
// }
Expand Down
8 changes: 4 additions & 4 deletions examples/gno.land/p/demo/avl/z_1_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ func main() {
// "Escaped": true,
// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:3"
// },
// "FileName": "main.gno",
// "FileName": "z_1.gno",
// "IsMethod": false,
// "Name": "init.1",
// "NativeName": "",
Expand All @@ -351,7 +351,7 @@ func main() {
// "BlockNode": null,
// "Location": {
// "Column": "1",
// "File": "main.gno",
// "File": "z_1.gno",
// "Line": "10",
// "PkgPath": "gno.land/r/test"
// }
Expand All @@ -376,7 +376,7 @@ func main() {
// "Escaped": true,
// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:3"
// },
// "FileName": "main.gno",
// "FileName": "z_1.gno",
// "IsMethod": false,
// "Name": "main",
// "NativeName": "",
Expand All @@ -387,7 +387,7 @@ func main() {
// "BlockNode": null,
// "Location": {
// "Column": "1",
// "File": "main.gno",
// "File": "z_1.gno",
// "Line": "15",
// "PkgPath": "gno.land/r/test"
// }
Expand Down
1 change: 1 addition & 0 deletions examples/gno.land/p/demo/tamagotchi/z0_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ func main() {
}

// Output:
//
// -- INITIAL
//
// # Gnome 😃
Expand Down
4 changes: 2 additions & 2 deletions examples/gno.land/r/demo/banktest/z_0_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ func main() {
}

// Output:
// main before: 300000000ugnot
// main before: 100000000ugnot
// Deposit(): returned!
// main after: 250000000ugnot
// main after: 50000000ugnot
// ## recent activity
//
// * g1tnpdmvrmtgql8fmxgsq9rwtst5hsxahk3f05dk 100000000ugnot sent, 50000000ugnot returned, at 2009-02-13 11:31pm UTC
Expand Down
4 changes: 2 additions & 2 deletions examples/gno.land/r/demo/banktest/z_2_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ func main() {
}

// Output:
// main before: 200000000ugnot
// main before:
// Deposit(): returned!
// main after: 255000000ugnot
// main after: 55000000ugnot
zivkovicmilos marked this conversation as resolved.
Show resolved Hide resolved
// ## recent activity
//
// * g1tnpdmvrmtgql8fmxgsq9rwtst5hsxahk3f05dk 100000000ugnot sent, 55000000ugnot returned, at 2009-02-13 11:31pm UTC
Expand Down
2 changes: 2 additions & 0 deletions examples/gno.land/r/demo/boards/z_0_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@ func main() {
//
// Body of the second post. (body)
// \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm UTC](/r/demo/boards:test_board/2) \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=2&postid=2)] (1 replies) (0 reposts)
//
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_10_c_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,4 @@ func main() {
//
// Body of the first post. (body)
// \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/1) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=1&postid=1)] \[[repost](/r/demo/boards$help&func=CreateRepost&bid=1&postid=1)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=1&postid=1)]
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_11_d_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,4 @@ func main() {
// > Edited: First reply of the First post
// >
// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/1/2) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=1&postid=2)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=1&postid=2)]
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_11_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,4 @@ func main() {
//
// Edited: Body of the first post. (body)
// \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/1) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=1&postid=1)] \[[repost](/r/demo/boards$help&func=CreateRepost&bid=1&postid=1)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=1&postid=1)]
//
2 changes: 2 additions & 0 deletions examples/gno.land/r/demo/boards/z_12_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,5 @@ func main() {
//
// Body of the first post. (body)
// \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm UTC](/r/demo/boards:test_board1/1) \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=1&postid=1)] (0 replies) (1 reposts)
//
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_1_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,4 @@ func main() {
//
// * [/r/demo/boards:test_board_1](/r/demo/boards:test_board_1)
// * [/r/demo/boards:test_board_2](/r/demo/boards:test_board_2)
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_2_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,4 @@ func main() {
//
// > Reply of the second post
// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2/3) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=2&postid=3)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=2&postid=3)]
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_3_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@ func main() {
//
// > Reply of the second post
// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2/3) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=2&postid=3)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=2&postid=3)]
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_4_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ func main() {
//
// > Second reply of the second post
// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2/4) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=2&postid=4)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=2&postid=4)]
//

// Realm:
// switchrealm["gno.land/r/demo/users"]
Expand Down
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_5_c_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,4 @@ func main() {
//
// > Reply of the first post
// > \- [g1w3jhxapjta047h6lta047h6lta047h6laqcyu4](/r/demo/users:g1w3jhxapjta047h6lta047h6lta047h6laqcyu4), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/1/2) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=1&postid=2)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=1&postid=2)]
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_5_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,4 @@ func main() {
// > Second reply of the second post
// >
// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2/4) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=2&postid=4)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=2&postid=4)]
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_6_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,4 @@ func main() {
// > Second reply of the second post
// >
// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2/4) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=2&postid=4)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=2&postid=4)]
//
2 changes: 2 additions & 0 deletions examples/gno.land/r/demo/boards/z_7_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,5 @@ func main() {
//
// Body of the first post. (body)
// \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm UTC](/r/demo/boards:test_board/1) \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=1&postid=1)] (0 replies) (0 reposts)
//
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_8_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,4 @@ func main() {
// > First reply of the first reply
// >
// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2/5) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=2&postid=5)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=2&postid=5)]
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/boards/z_9_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@ func main() {
//
// Body of the first post. (body)
// \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:second_board/1/1) \[[reply](/r/demo/boards$help&func=CreateReply&bid=2&threadid=1&postid=1)] \[[x](/r/demo/boards$help&func=DeletePost&bid=2&threadid=1&postid=1)]
//
4 changes: 2 additions & 2 deletions examples/gno.land/r/demo/disperse/z_0_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,5 @@ func main() {
}

// Output:
// main before: 200000200ugnot
// main after: 200000000ugnot
// main before: 200ugnot
// main after:
4 changes: 2 additions & 2 deletions examples/gno.land/r/demo/disperse/z_1_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,5 @@ func main() {
}

// Output:
// main before: 200000300ugnot
// main after: 200000100ugnot
// main before: 300ugnot
// main after: 100ugnot
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/groups/z_0_c_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ func main() {
// List of all Groups:
//
// * [test_group](/r/demo/groups:test_group)
//
2 changes: 2 additions & 0 deletions examples/gno.land/r/demo/groups/z_1_a_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,5 @@ func main() {
// Group Members:
//
// [0000000000, g1vahx7atnv4erxh6lta047h6lta047h6ll85gpy, 32, i am from UAE, 2009-02-13 23:31:30 +0000 UTC m=+1234567890.000000001],
//
//
2 changes: 2 additions & 0 deletions examples/gno.land/r/demo/groups/z_2_a_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,5 @@ func main() {
// Group Last MemberID: 0000000001
//
// Group Members:
//
//
2 changes: 2 additions & 0 deletions examples/gno.land/r/demo/groups/z_2_e_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ func main() {
// Output:
// 1
// List of all Groups:
//
//
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,4 @@ func main() {
//
// * various improvements
// * new shiny logo
//
1 change: 1 addition & 0 deletions examples/gno.land/r/demo/tamagotchi/z0_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,4 @@ func main() {
// * [Play](/r/demo/tamagotchi$help&func=Play)
// * [Heal](/r/demo/tamagotchi$help&func=Heal)
// * [Reset](/r/demo/tamagotchi$help&func=Reset)
//
Loading
Loading