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

Moul patch 1 #1159

Closed
wants to merge 54 commits into from
Closed

Moul patch 1 #1159

wants to merge 54 commits into from

Conversation

moul
Copy link
Member

@moul moul commented Sep 21, 2023

Contributors' checklist...
  • 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, if any. More info here.

moul and others added 30 commits July 30, 2023 15:36
This PR introduces a new `gno lint` subcommand, currently focused on
checking for the presence of a `gno.mod` file in a package, and it's
linked with the CI. In the future, we plan to expand `gno lint` to
support additional checks, enhancing its utility for developers and CI
integration.

Addresses gnolang#850
Addresses gnolang#927
Related with
gnolang#965 (comment)

Signed-off-by: Manfred Touron <[email protected]>
Co-authored-by: Miloš Živković <[email protected]>
…1028)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Implement `gno mod init` command.

Usage: 
```sh
$ gno mod init <module-path>
```
If no `<module-path>` is given, tries to determine package name from
existing `*.gno` files.

<details><summary>Checklists...</summary>

## Contributors Checklist

- [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](../.benchmarks/README.md).

## Maintainers Checklist

- [x] Checked that the author followed the guidelines in
`CONTRIBUTING.md`
- [x] Checked the conventional-commit (especially PR title and verb,
presence of `BREAKING CHANGE:` in the body)
- [x] Ensured that this PR is not a significant change or confirmed that
the review/consideration process was appropriate for the change
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: İlker G. Öztürk <[email protected]>
Co-authored-by: İlker G. Öztürk <[email protected]>
…gnolang#1003)

Bumps
[github.com/mattn/go-runewidth](https://github.com/mattn/go-runewidth)
from 0.0.14 to 0.0.15.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mattn/go-runewidth/commit/44b7c5b4d67df8ca22917b6800c158a6d3be3560"><code>44b7c5b</code></a>
Merge pull request <a
href="https://redirect.github.com/mattn/go-runewidth/issues/73">#73</a>
from shogo82148/add-go1.20</li>
<li><a
href="https://github.com/mattn/go-runewidth/commit/fdb25172dac50a5bd73898f88e6e057635be9c26"><code>fdb2517</code></a>
Merge pull request <a
href="https://redirect.github.com/mattn/go-runewidth/issues/72">#72</a>
from shogo82148/bump-github-actions</li>
<li><a
href="https://github.com/mattn/go-runewidth/commit/da7ce5baf2cc56998284df900192124a1c05390c"><code>da7ce5b</code></a>
add Go 1.20, 1.19, 1.18 and 1.17 to the build matrix.</li>
<li><a
href="https://github.com/mattn/go-runewidth/commit/4874798c9a78e5e99d7872c19eaab85d833b5445"><code>4874798</code></a>
bump GitHub Actions</li>
<li>See full diff in <a
href="https://github.com/mattn/go-runewidth/compare/v0.0.14...v0.0.15">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/mattn/go-runewidth&package-manager=go_modules&previous-version=0.0.14&new-version=0.0.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ng#945)

Fix bug where `gno test` command doesn't recognize 
`_test.gno`/`_filetest.gno` file if directly passed as arg.

Fixes another bug where `gno test` avoids absolute path in arguments.

Note: This PR may contain some code that will be used to support future
PR like gnolang#682 and PR that I will open after this to support patterns in
arg.
`TestPackages` wasn't actually reporting test failures, due to a bug in
the underlying function `machine.TestMemPackage()`.

`TestMemPackage` was running the gno tests by just calling the test
function with a new `testing.T`, but then it's not possible to detect if
there's any failure, because `testing.T` has only private fields.

The fix is to change that to a call to `testing.RunTest()` function,
which is already used by `gno test`, and returns a `testing.Report` on
which we can detect failures.

A test has been added (see `TestMachineTestMemPackage()`) in gnovm/tests
folder (because a `TestStore` is needed). On master, this test is
failing.

```
go test ./gnovm/tests -v -run TestMachineTestMemPackage
```

The next step should be to merge the 2 ways that currently exists to run
gno tests, i.e. `gno test` and `go test -run TestPackages`. Potentially
this could fix gnolang#896.


## Contributors Checklist

- [x] 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
- [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](../.benchmarks/README.md).

## Maintainers Checklist

- [x] Checked that the author followed the guidelines in
`CONTRIBUTING.md`
- [x] Checked the conventional-commit (especially PR title and verb,
presence of `BREAKING CHANGE:` in the body)
- [x] Ensured that this PR is not a significant change or confirmed that
the review/consideration process was appropriate for the change
</details>

---------

Co-authored-by: Manfred Touron <[email protected]>
The ParseMemPackage() function panics when encountering a
package name mismatch. The panic message stated,
"expected package name [%s] or [%s_test], but got [%s]". However,
since we are skipping the _test.gno files, we should never expect
`[%s_test]` as a package name. This commit fixes the error message
to accurately reflect this condition.

Signed-off-by: Hariom Verma <[email protected]>

<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
- [x] 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>

Signed-off-by: Hariom Verma <[email protected]>
<!-- please provide a detailed description of the changes made in this
pull request. -->

Asked by @jaekwon in
gnolang#896 (comment)

Add a long description for `gno test -h`, that explains the different
files, `*_test.gno` and `*_filetest.gno`, and gives the list of
instructions related to the latter.

Thanks in advance for correcting my frenglish :)

<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: Manfred Touron <[email protected]>
Co-authored-by: Morgan <[email protected]>
…nolang#1064)

This PR fixes gnolang#1063.
It downgrades `github.com/btcsuite/btcd/btcutil v1.1.1` to `v1.0.0` to
resolve conflicts in the dependency graph for the
`github.com/btcsuite/btcd` package and its dependencies.
More information can be found in the issue above.

<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
- [x] 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>

Signed-off-by: D4ryl00 <[email protected]>
simply add `path` package to stdlib, needed by `net/url` package (and
probably some other packages)


<details><summary>Contributors' checklist...</summary>

- [X] 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
- [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>

Signed-off-by: gfanton <[email protected]>
<!-- please provide a detailed description of the changes made in this
pull request. -->

<details><summary>Original text from gnolang#825</summary>
<p>

# Description
Part of gnolang#692 gnolang#585 

BREAKING CHANGE: In GitHub Action Flow, the build script needs to be
updated on moving tm2txsync from tm2/cmd to gno.land/cmd

## gno.land/ 

It provides information and tools necessary for running gno.land node.
It includes
- a node application for starting gnoland nodes to deliver an RPC
endpoint
- gnoweb for web access to the chain. 
- tools to interact with gno nodes.
- a cosmos SDK gno VM module with keeper and handler.

In the future, we plan to consolidate tools for node deployment and
monitoring. The future plan also includes supporting both IBC and ICS.

## gnovm/ 

Gnovm is agnostic to any SDK or chain.

It is intended for gno contract developers and gno VM developers. It
includes
- a gno development CLI
- gnolang language
- virtual machine implementation.
- standard libraries for gno contracts, 
- examples and test cases.

Future plans include making gnovm compatible with IBC

## tm2/ 

Tendermint2 is a BFT consensus engine and a set of tools for blockchain
builders

More details can be found at 

[https://github.com/tendermint/tendermint2#readme](https://github.com/tendermint/tendermint2#readme)


In the future, tm2 plans to:

- Remain synchronized with the tendermint2 repository.
- Port issue fixes between Tendermint v0.23.4 and v0.34.
- Ensure compatibility with IBC and ABCI2.

# The dependences among tm2, gnovm and gno.land

- gno.land depends on tm2 and gnovm
- gnovm depends on tm2 
- tm2 is independent to gnovm and gno.land

```mermaid

flowchart LR
    A[gno.land]--> B[gnovm] --> C[tm2]
    A --> C

```

# Discussion

## client commands 

We aim to establish a clear dependency structure between these
components as outlined earlier.

Ideally we'd like to have clear dependency between these components as
listed above

At present, tm2/pkg/crypto/keys/client/root.go is dependent on
gno.land/pkg/sdk/vm.
We're considering moving the following commands to gno.land/cmd/gnokey/
and eliminating the newMakeTxCmd() from cmd.AddSubCommands() in
tm2/pkg/crypto/client/root.go:

- addpkg.go
- call.go
- send.go
- maketx.go 

However, these files rely on the private config structure and private
methods defined in tm2/pkg/crypto/keys/client/. Until we decide the next
steps, these files will remain in tm2, which means that tm2/ continues
to depend on gno.lang/ for now.

## genproto

As for the genproto, we need to decide where misc/genproto/genproto.go
should be placed.

## sample tendermint2 program

Since we've moved out applications that depend on gno in tm2, we need to
consider whether we should reintroduce the sample tendermint application
or create a new one.

[tendermint classic
main.go](https://github.com/tendermint/classic/tree/master/cmd/tendermint)

</p>
</details> 

<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: piux2 <>
Co-authored-by: Manfred Touron <[email protected]>
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.11.0 to
0.12.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/term/commit/f413282cd8dbb55102093d9f16ab3ba90f7b9b31"><code>f413282</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/term/compare/v0.11.0...v0.12.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/term&package-manager=go_modules&previous-version=0.11.0&new-version=0.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…nolang#1095)

Bumps [github.com/linxGnu/grocksdb](https://github.com/linxGnu/grocksdb)
from 1.7.15 to 1.8.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/linxGnu/grocksdb/releases">github.com/linxGnu/grocksdb's
releases</a>.</em></p>
<blockquote>
<h2>RocksDB 8.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Adapt RocksDB 8.5.3 by <a
href="https://github.com/linxGnu"><code>@​linxGnu</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/126">linxGnu/grocksdb#126</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/linxGnu/grocksdb/compare/v1.8.3...v1.8.4">https://github.com/linxGnu/grocksdb/compare/v1.8.3...v1.8.4</a></p>
<h2>RocksDB 8.4.4</h2>
<h2>What's Changed</h2>
<ul>
<li>Adapt RocksDB 8.4.4 by <a
href="https://github.com/linxGnu"><code>@​linxGnu</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/125">linxGnu/grocksdb#125</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/linxGnu/grocksdb/compare/v1.8.2...v1.8.3">https://github.com/linxGnu/grocksdb/compare/v1.8.2...v1.8.3</a></p>
<h2>RocksDB 8.3.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Adapt RocksDB 8.3.3 by <a
href="https://github.com/linxGnu"><code>@​linxGnu</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/124">linxGnu/grocksdb#124</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/linxGnu/grocksdb/compare/v1.8.1...v1.8.2">https://github.com/linxGnu/grocksdb/compare/v1.8.1...v1.8.2</a></p>
<h2>RocksDB 8.3.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/114">linxGnu/grocksdb#114</a></li>
<li>Adapt RocksDB 8.3.2 by <a
href="https://github.com/linxGnu"><code>@​linxGnu</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/117">linxGnu/grocksdb#117</a></li>
<li>CHORE Fix CI by <a
href="https://github.com/linxGnu"><code>@​linxGnu</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/122">linxGnu/grocksdb#122</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/linxGnu/grocksdb/compare/v1.8.0...v1.8.1">https://github.com/linxGnu/grocksdb/compare/v1.8.0...v1.8.1</a></p>
<h2>RocksDB 8.1.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: build with rocksdb v8.0 by <a
href="https://github.com/yihuang"><code>@​yihuang</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/111">linxGnu/grocksdb#111</a></li>
<li>Adapt RocksDB 8.1.1 by <a
href="https://github.com/linxGnu"><code>@​linxGnu</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/112">linxGnu/grocksdb#112</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/linxGnu/grocksdb/compare/v1.7.16...v1.8.0">https://github.com/linxGnu/grocksdb/compare/v1.7.16...v1.8.0</a></p>
<h2>RocksDB 7.10.2</h2>
<h2>What's Changed</h2>
<ul>
<li>add Options method to LatestOptions by <a
href="https://github.com/yihuang"><code>@​yihuang</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/108">linxGnu/grocksdb#108</a></li>
<li>Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/107">linxGnu/grocksdb#107</a></li>
<li>add arm64 support for make test using installed libs by <a
href="https://github.com/nddeluca"><code>@​nddeluca</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/109">linxGnu/grocksdb#109</a></li>
<li>Adapt RocksDB 7.10.2 by <a
href="https://github.com/linxGnu"><code>@​linxGnu</code></a> in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/110">linxGnu/grocksdb#110</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/dependabot"><code>@​dependabot</code></a> made
their first contribution in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/107">linxGnu/grocksdb#107</a></li>
<li><a href="https://github.com/nddeluca"><code>@​nddeluca</code></a>
made their first contribution in <a
href="https://redirect.github.com/linxGnu/grocksdb/pull/109">linxGnu/grocksdb#109</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/linxGnu/grocksdb/compare/v1.7.15...v1.7.16">https://github.com/linxGnu/grocksdb/compare/v1.7.15...v1.7.16</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/linxGnu/grocksdb/commit/063761381bb7f214af051700c9494659f2d464f3"><code>0637613</code></a>
Adapt RocksDB 8.5.3 (<a
href="https://redirect.github.com/linxGnu/grocksdb/issues/126">#126</a>)</li>
<li><a
href="https://github.com/linxGnu/grocksdb/commit/865a5fed66901bea09e7814b7d2e2fa13ce8647d"><code>865a5fe</code></a>
Adapt RocksDB 8.4.4 (<a
href="https://redirect.github.com/linxGnu/grocksdb/issues/125">#125</a>)</li>
<li><a
href="https://github.com/linxGnu/grocksdb/commit/9eb8bb183839a590f4d71380a04f68acc5fb2a0e"><code>9eb8bb1</code></a>
Adapt rocksdb8.3.3 (<a
href="https://redirect.github.com/linxGnu/grocksdb/issues/124">#124</a>)</li>
<li><a
href="https://github.com/linxGnu/grocksdb/commit/a26285491378329cd2e2fd8258c3472f3929d048"><code>a262854</code></a>
CHORE Fix CI (<a
href="https://redirect.github.com/linxGnu/grocksdb/issues/122">#122</a>)</li>
<li><a
href="https://github.com/linxGnu/grocksdb/commit/fb202b63ad7ba241bbca24602493e337350c9c0f"><code>fb202b6</code></a>
Adapt RocksDB 8.3.2 (<a
href="https://redirect.github.com/linxGnu/grocksdb/issues/117">#117</a>)</li>
<li><a
href="https://github.com/linxGnu/grocksdb/commit/f7ca8fe7b6feb9efd492ff3e0844391d0e959b91"><code>f7ca8fe</code></a>
Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (<a
href="https://redirect.github.com/linxGnu/grocksdb/issues/114">#114</a>)</li>
<li><a
href="https://github.com/linxGnu/grocksdb/commit/b19b62dc6f169b9b861c26ac3c6c918be45bbce3"><code>b19b62d</code></a>
Adapt RocksDB 8.1.1 (<a
href="https://redirect.github.com/linxGnu/grocksdb/issues/112">#112</a>)</li>
<li><a
href="https://github.com/linxGnu/grocksdb/commit/bcd6ba40aaa8ea7710797ca2693955b40e494c20"><code>bcd6ba4</code></a>
fix: build with rocksdb v8.0 (<a
href="https://redirect.github.com/linxGnu/grocksdb/issues/111">#111</a>)</li>
<li><a
href="https://github.com/linxGnu/grocksdb/commit/cd2d18601724f8a501a4688aa3e89a2b52cdff62"><code>cd2d186</code></a>
Adapt RocksDB 7.10.2 (<a
href="https://redirect.github.com/linxGnu/grocksdb/issues/110">#110</a>)</li>
<li><a
href="https://github.com/linxGnu/grocksdb/commit/b8d61e1b17b534172ff4143288383d7b21dbcbd5"><code>b8d61e1</code></a>
Add arm64 support for make test using installed libs (<a
href="https://redirect.github.com/linxGnu/grocksdb/issues/109">#109</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/linxGnu/grocksdb/compare/v1.7.15...v1.8.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/linxGnu/grocksdb&package-manager=go_modules&previous-version=1.7.15&new-version=1.8.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
wolkykim and others added 21 commits September 6, 2023 13:34
- simplify Less() and remove the unnecessary panic check
- add comments
- add tests
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to
4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li>Support fetching without the --progress option by <a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
<li>Release 4.0.0 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1447">actions/checkout#1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compare/v3...v4.0.0</a></p>
<h2>v3.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Mark test scripts with Bash'isms to be run via Bash by <a
href="https://github.com/dscho"><code>@​dscho</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1377">actions/checkout#1377</a></li>
<li>Add option to fetch tags even if fetch-depth &gt; 0 by <a
href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li>Release 3.6.0 by <a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li><a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/compare/v3.5.3...v3.6.0</a></p>
<h2>v3.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Checkout Issue in self hosted runner due to faulty submodule
check-ins by <a
href="https://github.com/megamanics"><code>@​megamanics</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li>Fix typos found by codespell by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li>Add support for sparse checkouts by <a
href="https://github.com/dscho"><code>@​dscho</code></a> and <a
href="https://github.com/dfdez"><code>@​dfdez</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
<li>Release v3.5.3 by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1376">actions/checkout#1376</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/megamanics"><code>@​megamanics</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li><a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li><a href="https://github.com/dfdez"><code>@​dfdez</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compare/v3...v3.5.3</a></p>
<h2>v3.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Use correct API url / endpoint in GHES by <a
href="https://github.com/fhammerl"><code>@​fhammerl</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1289">actions/checkout#1289</a>
based on <a
href="https://redirect.github.com/actions/checkout/issues/1286">#1286</a>
by <a href="https://github.com/1newsr"><code>@​1newsr</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/compare/v3.5.1...v3.5.2</a></p>
<h2>v3.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Improve checkout performance on Windows runners by upgrading
<code>@​actions/github</code> dependency by <a
href="https://github.com/BrettDong"><code>@​BrettDong</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/BrettDong"><code>@​BrettDong</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.0.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1067">Support
fetching without the --progress option</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1436">Update to
node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark
test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add
option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
<h2>v3.5.3</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1196">Fix:
Checkout fail in self-hosted runners when faulty submodule are
checked-in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix
typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add
support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix
api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix
slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add
new public key for known_hosts</a></li>
</ul>
<h2>v3.4.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade
codeql actions to v2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade
dependencies</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade
<code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1045">Implement
branch list using callbacks from exec function</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add
in explicit reference to private checkout options</a></li>
<li>[Fix comment typos (that got added in <a
href="https://redirect.github.com/actions/checkout/issues/770">#770</a>)](<a
href="https://redirect.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/942">Add
GitHub Action to perform release</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix
status badge</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1002">Replace
datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap
pipeline commands for submoduleForeach in quotes</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1029">Update
<code>@​actions/io</code> to 1.1.2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading
version to 3.2.0</a></li>
</ul>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/939">Use
<code>@​actions/core</code> <code>saveState</code> and
<code>getState</code></a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/922">Add
<code>github-server-url</code> input</a></li>
</ul>
<h2>v3.0.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/770">Add
input <code>set-safe-directory</code></a></li>
</ul>
<h2>v3.0.1</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/3df4ab11eba7bda6032a0b82a6bb43b11571feac"><code>3df4ab1</code></a>
Release 4.0.0 (<a
href="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/8b5e8b768746b50394015010d25e690bfab9dfbc"><code>8b5e8b7</code></a>
Support fetching without the --progress option (<a
href="https://redirect.github.com/actions/checkout/issues/1067">#1067</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/97a652b80035363df47baee5031ec8670b8878ac"><code>97a652b</code></a>
Update default runtime to node20 (<a
href="https://redirect.github.com/actions/checkout/issues/1436">#1436</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 ways to reproduce :

- Using a filetest:
```
 go run ./gnovm/cmd/gno test -verbose ./examples/gno.land/p/demo/tests/ -run file/z0
?       ./examples/gno.land/p/demo/tests/subtests 	[no test files]
=== RUN   file/z0_filetest.gno
panic: expected JSON object but got "20"

goroutine 1 [running]:
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).MustMarshalJSON(...)
	/home/tom/src/gno/tm2/pkg/amino/amino.go:818
github.com/gnolang/gno/tm2/pkg/amino.MustMarshalJSON({0xda1d40?, 0xc0001305a0?})
	/home/tom/src/gno/tm2/pkg/amino/amino.go:140 +0x53
github.com/gnolang/gno/gnovm/pkg/gnolang.StoreOp.String({0x0, {0x1026bf0, 0xc0001305a0}, {0x0, 0x0}})
	/home/tom/src/gno/gnovm/pkg/gnolang/store.go:654 +0xb2
github.com/gnolang/gno/gnovm/pkg/gnolang.(*defaultStore).SprintStoreOps(0xc0000166c0)
	/home/tom/src/gno/gnovm/pkg/gnolang/store.go:687 +0xff
github.com/gnolang/gno/gnovm/tests.RunFileTest({0xc000357158, 0x11}, {0xc0003691a0, 0x2e}, {0xc0001499e8, 0x1, 0x1013280?})
	/home/tom/src/gno/gnovm/tests/file.go:325 +0x44e
main.gnoTestPkg({0xc000116500, 0x20}, {0x0?, 0x0, 0x1?}, {0xc00035b720, 0x1, 0xc000129af8?}, 0xc00034c8c0, 0xc0002948c0)
	/home/tom/src/gno/gnovm/cmd/gno/test.go:337 +0x876
main.execTest(0xc00034c8c0, {0xc00035b590, 0x1, 0x1}, 0xc000036220?)
	/home/tom/src/gno/gnovm/cmd/gno/test.go:208 +0xb67
main.newTestCmd.func1({0x0?, 0x0?}, {0xc00035b590?, 0xc00035f118?, 0x0?})
	/home/tom/src/gno/gnovm/cmd/gno/test.go:51 +0x32
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run(0x5?, {0x1018768?, 0xc00003a130?})
	/home/tom/src/gno/tm2/pkg/commands/command.go:233 +0x1ac
github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run(0xc00035ee70?, {0x1018768?, 0xc00003a130?})
	/home/tom/src/gno/tm2/pkg/commands/command.go:237 +0x154
github.com/gnolang/gno/tm2/pkg/commands.(*Command).ParseAndRun(0x4059dc?, {0x1018768, 0xc00003a130}, {0xc0000361f0?, 0x401240?, 0x0?})
	/home/tom/src/gno/tm2/pkg/commands/command.go:118 +0x4f
main.main()
	/home/tom/src/gno/gnovm/cmd/gno/main.go:14 +0x75
exit status 2
```

- using a go unit test:
```
$  go test ./gnovm/pkg/gnolang/ -v -run Amino
=== RUN   TestAminoMustMarshalJSONPanics
"20"
--- FAIL: TestAminoMustMarshalJSONPanics (0.00s)
panic: expected JSON object but got "20" [recovered]
	panic: expected JSON object but got "20"

goroutine 6 [running]:
testing.tRunner.func1.2({0xc15460, 0xc0002d2fc0})
	/usr/lib/go/src/testing/testing.go:1526 +0x24e
testing.tRunner.func1()
	/usr/lib/go/src/testing/testing.go:1529 +0x39f
panic({0xc15460, 0xc0002d2fc0})
	/usr/lib/go/src/runtime/panic.go:884 +0x213
github.com/gnolang/gno/tm2/pkg/amino.(*Codec).MustMarshalJSON(...)
	/home/tom/src/gno/tm2/pkg/amino/amino.go:818
github.com/gnolang/gno/tm2/pkg/amino.MustMarshalJSON({0xc59ec0?, 0xc0001c42d0?})
	/home/tom/src/gno/tm2/pkg/amino/amino.go:140 +0x53
github.com/gnolang/gno/gnovm/pkg/gnolang.TestAminoMustMarshalJSONPanics(0x0?)
	/home/tom/src/gno/gnovm/pkg/gnolang/values_test.go:20 +0x134
testing.tRunner(0xc000300000, 0xcd8f40)
	/usr/lib/go/src/testing/testing.go:1576 +0x10b
created by testing.(*T).Run
	/usr/lib/go/src/testing/testing.go:1629 +0x3ea
FAIL	github.com/gnolang/gno/gnovm/pkg/gnolang	0.008s
FAIL
```

Additional notes:
- when `// Realm:` instruction is present, it triggers a comparison
between the store and the content of the instruction.
- when the store content is serialized before the comparison, this panic
happens in the amino code
- this doesn't affect all `// Realm:` instruction, for instance
`examples/gno.land/p/demo/avl/z_0_filetest.gno` is still working well

<!-- 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>
## Description

This PR introduces several changes to the default JSON-RPC config of the
Gno node:
- allow all (`*`) origin requests by default. The reasoning behind this
is that local development setups that require the RPC layer will have
their requests rejected by the CORS policy, and will require a custom
RPC config to be specified to the node. This is more of a convenience on
the side of development, as production Gno RPC setups will have a
concrete RPC configuration that is more limited
- explicitly allow `OPTIONS` requests (preflight requests) in the
default configuration
- change the CORS library used in the project from
[gnolang/cors](https://github.com/gnolang/cors) to
[rs/cors](https://github.com/rs/cors). The
[gnolang/cors](https://github.com/gnolang/cors) library is a fork of
[rs/cors](https://github.com/rs/cors), with seemingly no functionality
changes. Therefore, to stay up to date with the latest fixes and
upstream changes, I've updated the library gno uses to the original one,
which is actively maintained by the original authors

### How can I test this out?

Essentially, you can run the local node with the default RPC params, and
try to do an HTTP request from a frontend application:

```ts
import { GnoJSONRPCProvider } from "@gnolang/gno-js-client";

const exampleMethod = async () => {
  // Local node as the endpoint
  const provider = new GnoJSONRPCProvider("http://127.0.0.1:26657");

  const blockNumber: number = await provider.getBlockNumber();

  console.log(blockNumber);
};

exampleMethod()
  .then(() => {
    console.log("success");
  })
  .catch((e) => {
    console.error(e);
  });

```

Example error:
<img width="1192" alt="Screenshot 2023-09-13 at 12 27 22"
src="https://github.com/gnolang/gno/assets/16712663/603b58c7-577d-4970-80eb-1c5984e0744b">


<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>
See
gnolang#1078 (review)

Frankly, I'm always cautious when working with configuration files that
can only be fully validated after merging and opening a new PR.
I've consulted the documentation and also referenced popular codecov
files from other repositories for guidance.

Reference: https://docs.codecov.com/docs/codecovyml-reference
…1109)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from
0.12.0 to 0.13.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/crypto/commit/0d375be9b61cb69eb94173d0375a05e90875bbf6"><code>0d375be</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/crypto/compare/v0.12.0...v0.13.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/crypto&package-manager=go_modules&previous-version=0.12.0&new-version=0.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to
0.15.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/net/commit/2a0da8be5a758b33fa896384d689071e832b4aa2"><code>2a0da8b</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="https://github.com/golang/net/commit/97384c11dd0db63357820b2cfcb44c40fbc3116a"><code>97384c1</code></a>
quic: remove streams from the conn when done</li>
<li><a
href="https://github.com/golang/net/commit/03d5e623398478fa929c8ba4b8f15de74017d82a"><code>03d5e62</code></a>
http2: remove unused ClientConn.tconnClosed</li>
<li><a
href="https://github.com/golang/net/commit/b82f062c4bc1abcfe993e3750d64c4bdd4a14f87"><code>b82f062</code></a>
quic: include ignored frames in test log output</li>
<li><a
href="https://github.com/golang/net/commit/7374d342a2c3de79d7b96f3aacdb13498c3fc3b5"><code>7374d34</code></a>
quic: don't block when closing read-only streams</li>
<li><a
href="https://github.com/golang/net/commit/b4d09be75101024ceed6b173b49a5630084174e6"><code>b4d09be</code></a>
dns/dnsmessage: compress all names while appending to a buffer</li>
<li><a
href="https://github.com/golang/net/commit/8b010a5243b670aca8d2277a3c989d1b6a198a08"><code>8b010a5</code></a>
quic: fix race condition in runAsync test helper</li>
<li><a
href="https://github.com/golang/net/commit/fe2abcb6e15f7a34d285220b437d421da4c76775"><code>fe2abcb</code></a>
quic: validate stream limits in transport params</li>
<li><a
href="https://github.com/golang/net/commit/d1b0a97d84e0fa88851b5a065e23262afed10400"><code>d1b0a97</code></a>
quic: avoid sending 1-RTT frames in initial/handshake packets</li>
<li><a
href="https://github.com/golang/net/commit/4332436fd1223b60e3127494d5ff771fba2c0adf"><code>4332436</code></a>
quic: send more transport parameters</li>
<li>Additional commits viewable in <a
href="https://github.com/golang/net/compare/v0.14.0...v0.15.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/net&package-manager=go_modules&previous-version=0.14.0&new-version=0.15.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[codecov/codecov-action](https://github.com/codecov/codecov-action) from
3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/codecov/codecov-action/releases">codecov/codecov-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0-beta.2</h2>
<h2>What's Changed</h2>
<ul>
<li>not adding -n if empty to do-upload command by <a
href="https://github.com/dana-yaish"><code>@​dana-yaish</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1085">codecov/codecov-action#1085</a></li>
<li>4.0.0-beta.2 by <a
href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1086">codecov/codecov-action#1086</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/codecov/codecov-action/compare/v4.0.0-beta.1...v4.0.0-beta.2">https://github.com/codecov/codecov-action/compare/v4.0.0-beta.1...v4.0.0-beta.2</a></p>
<h2>4.0.0-beta.1</h2>
<p><code>v4</code> represents a move from the <a
href="https://github.com/codecov/uploader">universal uploader</a> to the
<a href="https://github.com/codecov/codecov-cli">Codecov CLI</a>.
Although this will unlock new features for our users, the CLI is not yet
at feature parity with the universal uploader.</p>
<h2>Breaking Changes</h2>
<ul>
<li>No current support for <code>aarch64</code> and <code>alpine</code>
architectures.</li>
<li>Tokenless uploading is unsuported</li>
<li>Various arguments to the Action have been removed</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>build(deps): bump openpgp from 5.8.0 to 5.9.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/985">codecov/codecov-action#985</a></li>
<li>build(deps): bump actions/checkout from 3.0.0 to 3.5.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1000">codecov/codecov-action#1000</a></li>
<li>build(deps): bump ossf/scorecard-action from 2.1.3 to 2.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1006">codecov/codecov-action#1006</a></li>
<li>build(deps): bump tough-cookie from 4.0.0 to 4.1.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1013">codecov/codecov-action#1013</a></li>
<li>build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1024">codecov/codecov-action#1024</a></li>
<li>build(deps): bump node-fetch from 3.3.1 to 3.3.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1031">codecov/codecov-action#1031</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 20.1.4 to
20.4.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1032">codecov/codecov-action#1032</a></li>
<li>build(deps): bump github/codeql-action from 1.0.26 to 2.21.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1033">codecov/codecov-action#1033</a></li>
<li>build commit,report and upload args based on codecovcli by <a
href="https://github.com/dana-yaish"><code>@​dana-yaish</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/943">codecov/codecov-action#943</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 20.4.5 to
20.5.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1055">codecov/codecov-action#1055</a></li>
<li>build(deps): bump github/codeql-action from 2.21.2 to 2.21.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1051">codecov/codecov-action#1051</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 20.5.3 to
20.5.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1058">codecov/codecov-action#1058</a></li>
<li>chore(deps): update outdated deps by <a
href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1059">codecov/codecov-action#1059</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 20.5.4 to
20.5.6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1060">codecov/codecov-action#1060</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
6.4.1 to 6.5.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1065">codecov/codecov-action#1065</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 6.4.1 to 6.5.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1064">codecov/codecov-action#1064</a></li>
<li>build(deps): bump actions/checkout from 3.5.3 to 3.6.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1063">codecov/codecov-action#1063</a></li>
<li>build(deps-dev): bump eslint from 8.47.0 to 8.48.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1061">codecov/codecov-action#1061</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 20.5.6 to
20.5.7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1062">codecov/codecov-action#1062</a></li>
<li>build(deps): bump openpgp from 5.9.0 to 5.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1066">codecov/codecov-action#1066</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 20.5.7 to
20.5.9 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1070">codecov/codecov-action#1070</a></li>
<li>build(deps): bump github/codeql-action from 2.21.4 to 2.21.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1069">codecov/codecov-action#1069</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 6.5.0 to 6.6.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1072">codecov/codecov-action#1072</a></li>
<li>Update README.md by <a
href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1073">codecov/codecov-action#1073</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
6.5.0 to 6.6.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1071">codecov/codecov-action#1071</a></li>
<li>build(deps-dev): bump <code>@​vercel/ncc</code> from 0.36.1 to
0.38.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1074">codecov/codecov-action#1074</a></li>
<li>build(deps): bump <code>@​actions/core</code> from 1.10.0 to 1.10.1
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1081">codecov/codecov-action#1081</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 6.6.0 to 6.7.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1080">codecov/codecov-action#1080</a></li>
<li>build(deps): bump actions/checkout from 3.6.0 to 4.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1078">codecov/codecov-action#1078</a></li>
<li>build(deps): bump actions/upload-artifact from 3.1.2 to 3.1.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1077">codecov/codecov-action#1077</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 20.5.9 to
20.6.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1075">codecov/codecov-action#1075</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
6.6.0 to 6.7.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1079">codecov/codecov-action#1079</a></li>
<li>build(deps-dev): bump eslint from 8.48.0 to 8.49.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1076">codecov/codecov-action#1076</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md">codecov/codecov-action's
changelog</a>.</em></p>
<blockquote>
<h2>4.0.0-beta.2</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/1085">#1085</a>
not adding -n if empty to do-upload command</li>
</ul>
<h2>4.0.0-beta.1</h2>
<p><code>v4</code> represents a move from the <a
href="https://github.com/codecov/uploader">universal uploader</a> to the
<a href="https://github.com/codecov/codecov-cli">Codecov CLI</a>.
Although this will unlock new features for our users, the CLI is not yet
at feature parity with the universal uploader.</p>
<h3>Breaking Changes</h3>
<ul>
<li>No current support for <code>aarch64</code> and <code>alpine</code>
architectures.</li>
<li>Tokenless uploading is unsuported</li>
<li>Various arguments to the Action have been removed</li>
</ul>
<h2>3.1.4</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/967">#967</a>
Fix typo in README.md</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/971">#971</a>
fix: add back in working dir</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/969">#969</a>
fix: CLI option names for uploader</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/970">#970</a>
build(deps-dev): bump <code>@​types/node</code> from 18.15.12 to
18.16.3</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/979">#979</a>
build(deps-dev): bump <code>@​types/node</code> from 20.1.0 to
20.1.2</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/981">#981</a>
build(deps-dev): bump <code>@​types/node</code> from 20.1.2 to
20.1.4</li>
</ul>
<h2>3.1.3</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/960">#960</a>
fix: allow for aarch64 build</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/957">#957</a>
build(deps-dev): bump jest-junit from 15.0.0 to 16.0.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/958">#958</a>
build(deps): bump openpgp from 5.7.0 to 5.8.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/959">#959</a>
build(deps-dev): bump <code>@​types/node</code> from 18.15.10 to
18.15.12</li>
</ul>
<h2>3.1.2</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/718">#718</a>
Update README.md</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/851">#851</a>
Remove unsupported path_to_write_report argument</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/898">#898</a>
codeql-analysis.yml</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/901">#901</a>
Update README to contain correct information - inputs and negate
feature</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/955">#955</a>
fix: add in all the extra arguments for uploader</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/819">#819</a>
build(deps): bump openpgp from 5.4.0 to 5.5.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/835">#835</a>
build(deps): bump node-fetch from 3.2.4 to 3.2.10</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/840">#840</a>
build(deps): bump ossf/scorecard-action from 1.1.1 to 2.0.4</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/841">#841</a>
build(deps): bump <code>@​actions/core</code> from 1.9.1 to 1.10.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/843">#843</a>
build(deps): bump <code>@​actions/github</code> from 5.0.3 to 5.1.1</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/869">#869</a>
build(deps): bump node-fetch from 3.2.10 to 3.3.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/872">#872</a>
build(deps-dev): bump jest-junit from 13.2.0 to 15.0.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/879">#879</a>
build(deps): bump decode-uri-component from 0.2.0 to 0.2.2</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/codecov/codecov-action/commit/c4cf8a4f03f0ac8585acb7c1b7ce3460ec15782f"><code>c4cf8a4</code></a>
4.0.0-beta.2 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1086">#1086</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/845c445181131d954f0198d3d0f26242acc0376e"><code>845c445</code></a>
not adding -n if empty to do-upload command (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1085">#1085</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/0016507ac73abde47045262c5eb6a92f777322ec"><code>0016507</code></a>
chore(release): 4.0.0-beta.1 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1084">#1084</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/c9e4b7326764720e2d95c3a9615d9e6ba7fc949f"><code>c9e4b73</code></a>
use cli instead of node uploader (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1068">#1068</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/c9e0f0b3cf5f112462339d69850c01735114b9ed"><code>c9e0f0b</code></a>
build(deps-dev): bump eslint from 8.48.0 to 8.49.0 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1076">#1076</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/da8479a5b3816abcdf6296d5595225c8c2822d27"><code>da8479a</code></a>
build(deps-dev): bump <code>@​typescript-eslint/parser</code> from 6.6.0
to 6.7.0 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1079">#1079</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/8e29a53ea65f98e97f4ad4594d355d8e8fd5bcfe"><code>8e29a53</code></a>
build(deps-dev): bump <code>@​types/node</code> from 20.5.9 to 20.6.0
(<a
href="https://redirect.github.com/codecov/codecov-action/issues/1075">#1075</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/162bda9838a53b5f35a4ed175b035db48651c736"><code>162bda9</code></a>
build(deps): bump actions/upload-artifact from 3.1.2 to 3.1.3 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1077">#1077</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/46acd9de81204f09c57137e70b715375df52ea4c"><code>46acd9d</code></a>
build(deps): bump actions/checkout from 3.6.0 to 4.0.0 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1078">#1078</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/904bf5a0317421edb11d2be9bbd857c58af7a673"><code>904bf5a</code></a>
build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 6.6.0 to 6.7.0 (#...</li>
<li>Additional commits viewable in <a
href="https://github.com/codecov/codecov-action/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=codecov/codecov-action&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This eval realm is capable of evaluating 32-bit integer expressions as
they would appear in Go. For example, you can use this package (and
realm) to evaluate an expression like `"(32*32+4)-1"` when presented as
a string.

This could have several applications. This current "eval" realm is
simply demonstrating it as a 32-bit integer calculator.

I would like to also add floats, but it seems `strconv.ParseFloat` is
not available yet.

In the future I would like to use the int32 version of this package in
the bytebeat realm (gnolang#840) which could
then utilize this library to generate audio directly from string
expressions, instead of programmed realms - which ultimately gets closer
to an audio NFT platform where expressions are uploaded if they are
parsed correctly.

To test, you can just add the `eval` package and realm:

```
> gnokey maketx addpkg --pkgpath "gno.land/p/demo/math_eval_int32" \
    --pkgdir "examples/gno.land/p/demo/math_eval/int32" \
    --deposit 100000000ugnot --gas-fee 1000000ugnot \
    --gas-wanted 2000000 --broadcast --chainid dev --remote localhost:26657 \
    YOURKEY
> gnokey maketx addpkg --pkgpath "gno.land/r/demo/math_eval" \
    --pkgdir "examples/gno.land/r/demo/math_eval" \
    --deposit 100000000ugnot --gas-fee 1000000ugnot \
    --gas-wanted 2000000 --broadcast --chainid dev --remote localhost:26657 \
    YOURKEY
```

Then open up to `localhost:8888/r/demo/math_eval` and try expressions in
the URL query, like `localhost:8888/r/demo/math_eval:1+1`.



![image](https://github.com/gnolang/gno/assets/6550035/5b227a22-2ce5-4217-9b9b-99c967c9af86)


<details><summary>Checklists...</summary>

## Contributors Checklist

- [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
- [ ] Added new benchmarks to [generated
graphs](https://gnoland.github.io/benchmarks), if any. More info
[here](../.benchmarks/README.md).

## Maintainers Checklist

- [ ] Checked that the author followed the guidelines in
`CONTRIBUTING.md`
- [ ] Checked the conventional-commit (especially PR title and verb,
presence of `BREAKING CHANGE:` in the body)
- [ ] Ensured that this PR is not a significant change or confirmed that
the review/consideration process was appropriate for the change
</details>

---------

Co-authored-by: Manfred Touron <[email protected]>
See gnolang#1122 (comment)

```console
❯ cat codecov.yml | curl --data-binary @/dev/stdin https://codecov.io/validate
Valid!

{
  "codecov": {
    "require_ci_to_pass": false,
...
```

Signed-off-by: Manfred Touron <[email protected]>
This realm implements the `avl.Tree` as a user-addressable key-store. I
wanted to have this realm to possibly use `gno.land` as a database where
writes may cost gnots but reads are free because they can be performed
through `Render` (related discussion:
gnolang#947). As a nice additional feature
it provides a UI for the database (through `gno.land`).

Data can be set/removed if the caller is the same as the owner of the
key-store (i.e. only owner's have write-access). For example:

```bash
# Set key,value for user at YOURKEY (write-protected)
gnokey maketx call --pkgpath "gno.land/r/demo/keystore" \
--func "Set" --args "hello" --args "world" \
--gas-fee "1000000ugnot" --gas-wanted "8000000" \
--broadcast --chainid dev --remote localhost:26657 YOURKEY
```

```bash
# Remove key for user at YOURKEY (write-protected)
gnokey maketx call --pkgpath "gno.land/r/demo/keystore" \
--func "Remove" --args "hello"  \
--gas-fee "1000000ugnot" --gas-wanted "8000000" \
--broadcast --chainid dev --remote localhost:26657 YOURKEY
```

```bash
# Get key
gnokey maketx call --pkgpath "gno.land/r/demo/keystore" \
--func "Get" --args "hello"  \
--gas-fee "1000000ugnot" --gas-wanted "8000000" \
--broadcast --chainid dev --remote localhost:26657 YOURKEY
```

All data is public and accessible as read-only from any user, as well as
from gno.land.

The main page lists all the available databases by owner
(`/r/demo/keystore`):


![image](https://github.com/gnolang/gno/assets/6550035/3e21827c-0a22-47eb-bf42-53f6ee005a7e)

Clicking on a user will show all the keys in their key-store
(`/r/demo/keystore:USER`):


![image](https://github.com/gnolang/gno/assets/6550035/7d4b3d58-20ad-47fc-8e41-095e111f5f30)

And the key values are accessible as well
(`r/demo/keystore:USER:get:KEY`)


![image](https://github.com/gnolang/gno/assets/6550035/888a8ddf-6044-42d4-aed6-ffc3989def35)





## Contributors Checklist

- [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
- [x] Added new benchmarks to [generated
graphs](https://gnoland.github.io/benchmarks), if any. More info
[here](../.benchmarks/README.md).

## Maintainers Checklist

- [ ] Checked that the author followed the guidelines in
`CONTRIBUTING.md`
- [ ] Checked the conventional-commit (especially PR title and verb,
presence of `BREAKING CHANGE:` in the body)
- [ ] Ensured that this PR is not a significant change or confirmed that
the review/consideration process was appropriate for the change

---------

Co-authored-by: Manfred Touron <[email protected]>
Proposed Fix for gnolang#1139.

Given that we're only executing specific GitHub actions based on file
changes, shared codecov flags might fluctuate between PRs due to
variable testing targets. While this PR retains the recommended flag
structure for monorepos, it aims to eliminate potential overlaps.

However, overlap could still occur with Go versions like 1.19, 1.20, and
so on. Personally, I suggest we retain this overlap for now to gauge its
potential inconsistencies. If issues arise, appending the Go version as
a suffix to the flag could be considered.

Admittedly, I'm charting unfamiliar waters with this solution. Insights
from those experienced with Codecov would be greatly appreciated.

Signed-off-by: Manfred Touron <[email protected]>
Split coverages by component.

Related to gnolang#1139

- [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
- [x] 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).

---------

Signed-off-by: Antonio Navarro Perez <[email protected]>
Split coverages by component.

Check if it works better than prev iteration after doing some research:
https://docs.codecov.com/docs/carryforward-flags

Signed-off-by: Antonio Navarro Perez <[email protected]>

- [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
- [x] 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).

Signed-off-by: Antonio Navarro Perez <[email protected]>
@moul moul requested review from jaekwon and a team as code owners September 21, 2023 12:38
@moul
Copy link
Member Author

moul commented Sep 21, 2023

oops

@moul moul closed this Sep 21, 2023
@github-actions github-actions bot added 🧾 package/realm Tag used for new Realms or Packages. 📦 🤖 gnovm Issues or PRs gnovm related 📦 🌐 tendermint v2 Issues or PRs tm2 related 📦 ⛰️ gno.land Issues or PRs gno.land package related labels Sep 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📦 🌐 tendermint v2 Issues or PRs tm2 related 📦 ⛰️ gno.land Issues or PRs gno.land package related 📦 🤖 gnovm Issues or PRs gnovm related 🧾 package/realm Tag used for new Realms or Packages.
Projects
Status: Done
Status: ✅ Done
Archived in project
Development

Successfully merging this pull request may close these issues.