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

[pull] master from gnolang:master #16

Open
wants to merge 835 commits into
base: master
Choose a base branch
from
Open

[pull] master from gnolang:master #16

wants to merge 835 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jul 4, 2024

  1. chore: portal loop small fixes (#1959)

    Follow up: #2496 
    
    Signed-off-by: moul <[email protected]>
    moul authored Jul 4, 2024
    Configuration menu
    Copy the full SHA
    88a417b View commit details
    Browse the repository at this point in the history
  2. chore(test): update home_filetest.gno due to CI failed (#2498)

    <!-- 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>
    thinhnx-var authored Jul 4, 2024
    Configuration menu
    Copy the full SHA
    b696a09 View commit details
    Browse the repository at this point in the history
  3. chore: make contribs/ Makefile dynamic (#2318)

    Continues #2013
    
    > People should focus on their contributions in the `contribs/MYFOLDER`
    without updating a shared `Makefile` + `.github/contribs/*.yml`.
    
    The CI part has been completed in #2040.
    This pull request handles the Makefile portion.
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    moul authored Jul 4, 2024
    Configuration menu
    Copy the full SHA
    da59516 View commit details
    Browse the repository at this point in the history
  4. chore(gnodev): show link to docs upon 'h' key (#2497)

    I propose we have "h" commandin gnodev mention a link to the full help
    of gnodev. This is a possible implementation.
    
    Tried a few variants, this one seems simple enough:
    
    
    ![ksnip_20240704-134249](https://github.com/gnolang/gno/assets/350354/f97bf22a-1028-45ad-a1b3-3f80b8b3d68f)
    
    @gfanton feel free to suggest changes :)
    
    ---------
    
    Co-authored-by: grepsuzette <[email protected]>
    Co-authored-by: Leon Hudak <[email protected]>
    3 people authored Jul 4, 2024
    Configuration menu
    Copy the full SHA
    5f6b311 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. fix(examples): fix output of uassert.Equal() (#2507)

    Related to #2502
    
    <!-- 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>
    linhpn99 authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    ee69fbd View commit details
    Browse the repository at this point in the history
  2. fix(examples): fix output of urequire.PanicsWithMessage() (#2506)

    Related to #2503
    
    <!-- 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>
    linhpn99 authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    051bdc2 View commit details
    Browse the repository at this point in the history
  3. docs: In the validator FAQ, update planned Test4 launch to Q3 2024 (#…

    …2511)
    
    It is already Q3 2024. The doc should reflect this.
    
    Signed-off-by: Jeff Thompson <[email protected]>
    jefft0 authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    c697ccf View commit details
    Browse the repository at this point in the history
  4. docs: fix typos (#2512)

    docs: fix typos
    
    ---------
    
    Co-authored-by: Morgan Bazalgette <[email protected]>
    omahs and thehowl authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    1c162de View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2024

  1. Configuration menu
    Copy the full SHA
    dea0df1 View commit details
    Browse the repository at this point in the history
  2. fix(gno.land): pre-load all standard libraries in vm.Initialize (#2504)

    Fixes #2283 (with a different approach from #2319)
    
    This PR loads all the standard libraries into the database when
    vm.Initialize is called. It doesn't fully fix the problems that #2319 is
    trying to address, but it does fix the most immediate bug of not being
    able to publish certain packages on portal loop.
    
    With these changes, we don't need a PackageGetter on-chain anymore. All
    packages are already loaded into the store, thus solving the problem
    @jaekwon was talking about
    [here](#2319 (comment))
    at its root.
    
    This PR has a problem, which is that adding loading the entire stdlibs
    in the VM initialization step brings a huge overhead computationally;
    this is not a problem on the node, but it is when testing as it needs to
    happen very often. This translates to 2x slower txtar tests, compared to
    master. On my PC, it adds a 2-3 second overhead whenever running
    Initialize.
    
    I tried working out on a system which could save the data to quickly
    recover it, at least for some cases where we need to Initialize often;
    [see this
    diff](https://gist.github.com/thehowl/cb1ee79e63cf77d3f323730580eb2d18).
    But I didn't get it to work so far; after copying the DB, attempting
    initialization crashes because [ParseMemPackage is being handed a nil
    package, for some
    reason](https://gist.github.com/thehowl/d1efa51858d865fb5beb9c3a9cb0eeef).
    @gfanton, any tips?? :)) I'd want to avoid lazy loading in the node, as
    that's what got us here in the first place.
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] 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>
    
    ---------
    
    Co-authored-by: Manfred Touron <[email protected]>
    thehowl and moul authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    f28444a View commit details
    Browse the repository at this point in the history
  3. feat: add 'gno mod tidy -v --recursive' flags (#2485)

    `cd examples; make tidy` is now instant and verbose.
    
    Signed-off-by: moul <[email protected]>
    moul authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    1169658 View commit details
    Browse the repository at this point in the history
  4. feat: Bound Method Realm support (#1257)

    When a function is called, it's usually enough to get the pkgpath from
    where the function is declared, to find out whether we are switching to
    a new realm or not.
    
    But when the function is a bound method, and the method and declared
    type are defined in a /p/ package, we need to look at the owning
    (persisting) pkgpath of the receiver, if any. When one is found, it uses
    that.
    
    There are some edge cases to consider, I'm not sure if they are all
    fixed, but we will find out.
    Here are some that are considered;
    1. if the receiver is an unpersisted new object with method, declared in
    a p module, it has no realm until it becomes persisted.
    2. nil receivers aren't objects, so even if it were stored in a realm,
    it would be stored by "reference" from a pointervalue which also is not
    an object, so there's no realm to consider even after persistence.
    3. if the method from 1 makes any modifications to the /p/ package's
    block state, it should result in an error and the tx should fail.
    4. if a /p/ declared thing with method gets stored in realm X, it should
    be possible for realm Y to call it, and have it modify realm X (e.g. say
    realm X attached a closure to the thing).
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: moul <[email protected]>
    jaekwon and moul authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    9ced20b View commit details
    Browse the repository at this point in the history
  5. feat: add p/nestedpkg (#2342)

    This package demonstrates a new access control pattern relying on
    package paths.
    
    It considers that the #1107 feature is already implemented to rely on
    the built-in security.
    
    You can see an ongoing usage in #2334.
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    moul authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    77ceda4 View commit details
    Browse the repository at this point in the history
  6. fix: update tx-archive usage in portal loop (#2521)

    ## Description
    
    This update bumps the portal loop to use the latest version of
    `tx-archive` (`v0.3.0`), and fixes a bug where
    the tx-archiver would output stale Amino JSON transactions, that were
    not parsable using the `gnoland genesis` commands or helpers.
    
    <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
    - [ ] 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>
    zivkovicmilos authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    6a7e19f View commit details
    Browse the repository at this point in the history
  7. fix(examples): wrong module name of nestedpkg (#2522)

    <!-- 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>
    linhpn99 authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    30c6368 View commit details
    Browse the repository at this point in the history
  8. feat: improve r/gnoland/valopers implementation (#2509)

    ## Description
    
    This PR improves the gno implementation of the `valopers` Realm.
    
    Waiting on #2380 to add a context-based Govdao pattern before merging.
    
    <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
    - [ ] 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]>
    zivkovicmilos and moul authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    0c69db3 View commit details
    Browse the repository at this point in the history
  9. fix: update golden test zrealm_tests0_stdlibs.gno (#2524)

    ## Description
    
    This PR is a hotfix for `gnovm/tests/files/zrealm_tests0_stdlibs.gno`,
    and updates the golden tests accordingly
    
    <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
    - [ ] 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>
    zivkovicmilos authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    a825344 View commit details
    Browse the repository at this point in the history
  10. fix: Revert "feat: add p/nestedpkg (#2342)" (#2525)

    ## Description
    
    This PR reverts commit 77ceda4, #2342, because of a cyclic `gno.mod`
    import that's causing the node to not be able to generate genesis
    transactions and start.
    
    <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
    - [ ] 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>
    zivkovicmilos authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    25d746f View commit details
    Browse the repository at this point in the history
  11. fix: regenerate output for zrealm_tests0_stdlibs (#2527)

    ## Description
    
    This PR regenerates the output for `zrealm_tests0_stdlibs`, after the
    revert #2525
    
    <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
    - [ ] 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>
    zivkovicmilos authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    b1d778c View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2024

  1. feat: add valset injection through r/sys/validators (#2229)

    ## Description
    
    This PR introduces an `EndBlocker` system for applying validator set
    changes protocol level, based on on-chain events (from the `/r/sys/vals`
    realm).
    
    I've utilized an already existing system:
    - validator set changes still stay managed protocol-level in
    `ConsensusState` -> refactoring this is not a small feat, and saying
    this is an understatement
    - event switch utilized by the node that dumps new block / new
    transaction events
    
    The way this flow essentially works is the following:
    1. An on-chain event happens that indicates a change in the validator
    set (added / removed)
    2. These events (ABCI events) are parsed as soon as they end up in a
    transaction result (are pushed to the event system of the SDK). The
    top-level ABCI event type needs to be`EventTx` (indicating it's a new TX
    result). The underlying tx GnoVM events (`GnoEvent`) need to be from the
    `/r/sys/validators` Realm, and be a validator addition / removal (type
    defined in the Realm)
    4. Events are parsed down into `abci.ValidatorUpdates`, which are
    returned as a result of `EndBlocker`
    5. This `EndBlocker` result is later read by the `ConsensusState`, and
    the validator set changes are applied for the upcoming block in a series
    of existing callbacks. This also keeps proposer priority logic in check.
    
    Blocked by #2130 
    Closes #1823 
    
    ```mermaid
    ---
    title: on-chain validator set injection flow
    ---
    flowchart TD
        subgraph app.go
            nesvw(["Node event switch"]) -. pass all block events .-> collector(["event collector"])
            collector -. subscribes to .-> nesvw
    
            collector -. filter new events .-> collector
    
            EB["func EndBlocker(...)"] == 1: fetch relevant events ==> collector
            collector -. 2: return events, if any .-> EB
        end
    
        subgraph gno.land/r/sys/validators.gno
            GC["func GetChanges(from int64) []validators.Validator"]
    
            addVal["func addValidator(...)"]
            removeVal["func removeValidator(...)"]
            PE["func NewPropExecutor(changesFn) proposal.Executor"]
    
            PE -. calls internally .-> addVal
            PE -. calls internally .-> removeVal
    
            addVal -. std emits ValidatorAdded .-> nesvw
            removeVal -. std emits ValidatorRemoved .-> nesvw
        end
    
        subgraph gno.land/r/gov/dao.gno
            EP["func ExecuteProposal(...)"]
            
    
            EP == executes on-chain ==>PE
        end
    
        subgraph user_proposal.gno
            main("func main() {...}")
            PR["govdao.Propose(...)"]
    
            main -. contains .-> CB
            main -. contains .-> PR
    
            CB("changesFn func() []validators.Validator {...}")
    
            CB== creates ==>PE
            CB("changesFn func() []validators.Validator {...}")
    
            PE == passed into ==> PR
        end
    
        A[/fa:fa-user User\] == gnokey maketx run ==> main
        GDV[/fa:fa-people-group GOVDAO members\] == manually call ==> EP
    
        EB == 3: execute VM call to get changes since last block ==> GC
        GC -. 4: return changes .-> EB
    
        EB -. 5: return response with valset changes .-> EBR([abci.ResponseEndBlock]) -- applied in --> AB
        subgraph Cosmos SDK
            AB["func ApplyBlock(...) {...}"]
        end
    ```
    
    Related: #1945
    
    <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]>
    zivkovicmilos and moul authored Jul 7, 2024
    Configuration menu
    Copy the full SHA
    b5560e2 View commit details
    Browse the repository at this point in the history
  2. chore: update docs/' Makefile and CI (#2534)

    - add 'make build' (embedmd)
    - refactor Makefile (simplified)
    - check on CI that docs/ is "built" (no diff)
    
    Related (but not closing) #2532
    Part of #2529
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    moul authored Jul 7, 2024
    Configuration menu
    Copy the full SHA
    7fe0f20 View commit details
    Browse the repository at this point in the history
  3. fix(gnoweb): footer display (#2462)

    I noticed the footer was not taking its whole height in certain pages
    
    Example: ([r/demo/banktest?help](https://gno.land/r/demo/banktest?help))
    
    
    ![image](https://github.com/gnolang/gno/assets/68433935/72d0e814-7164-488b-ae1b-7c4131873e96)
    
    After this PR:
    
    
    ![image](https://github.com/gnolang/gno/assets/68433935/8608e9f1-54f9-4466-b7be-e2c90da513c1)
    
    The solution seems to be changing the footer's css to `inline-block`
    display instead of `block`
    
    <details><summary>Contributors' checklist...</summary>
    
    - [X] Added new tests, or not needed, or not feasible
    - [X] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [X] Updated the official documentation or not needed
    - [X] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    Co-authored-by: Leon Hudak <[email protected]>
    agherasie and leohhhn authored Jul 7, 2024
    Configuration menu
    Copy the full SHA
    0e48a76 View commit details
    Browse the repository at this point in the history
  4. feat(examples): refactor grc20 (#2529)

    Main changes:
    - rename `AdminToken` -> `Banker`
    - rename `GRC20` -> `Token`
    - remove unused helpers
    - remove vault (temporarily, will be reimplemented)
    - remove the returner ˋerror` when unnecessary
    - use `std.Emit`
    - use uassert for testing
    - better file naming and organization for improved readability
    
    Fixes #2294
    Replaces #2314 (h/t @leohhhn)
    ~Depends on #2534~
    BREAKING CHANGE
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Leon Hudak <[email protected]>
    moul and leohhhn authored Jul 7, 2024
    Configuration menu
    Copy the full SHA
    3affd95 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. ci(portal-loop): run workflow on all changes to misc/loop (#2537)

    The CI workflow was missing `/**` in its syntax
    thehowl authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    1e9260d View commit details
    Browse the repository at this point in the history
  2. chore: fix broken CI (#2538)

    -> #2537
    
    Signed-off-by: moul <[email protected]>
    moul authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    fafc8f6 View commit details
    Browse the repository at this point in the history
  3. fix: rollback docker go versions for portal loop (#2545)

    ## Description
    
    This PR rolls back the docker go library versions, that broke existing
    deployments due to active Docker version mismatches.
    
    <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
    - [ ] 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>
    zivkovicmilos authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    aec02dc View commit details
    Browse the repository at this point in the history
  4. docs: Gno.land to gno.land (#2514)

    Update `Gno.land` to `gno.land`, in order for the documentation to
    conform to the proper lowercase usage
    
    ---------
    
    Co-authored-by: Milos Zivkovic <[email protected]>
    Kouteki and zivkovicmilos authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    8ddf0d8 View commit details
    Browse the repository at this point in the history
  5. feat: new govdao pattern with context (#2380)

    This PR introduces a new pattern for arbitrary govdao proposals using
    Gno code using contexts. It involves wrapping the provided closure with
    a system that configures a `context.Context` with a field indicating
    that the execution occurs in the context of an `approvedByGovDao`
    proposal. This opens the door to a new ACL system, not based on
    `PrevRealm()`, but on a context-based "certification" system.
    
    I believe this pattern makes sense to exist; however, here are some
    drawbacks I can see:
    
    1. `context.Context` is not yet needed (no goroutine support), and we
    may eventually never need this package depending on how we implement
    goroutines internally. (h/t @thehowl)
    2. `context.Context` is used like an environment variable, which
    introduces implicitness—something we usually try to avoid to make Gno a
    very explicit language. Explicitness brings “simplicity” and
    “verifiability.”
    3. The usual Go idiomatic way of using `context` is to pass it as the
    first argument. If this becomes more common, it will result in more
    contracts having exposed functions that are not callable by `maketx
    call` (though they can be called with `maketx run` or via an import).
    
    Depends on #2379  
    Related to #2386
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Antonio Navarro Perez <[email protected]>
    moul and ajnavarro authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    a40ac61 View commit details
    Browse the repository at this point in the history
  6. feat: add watchdog and monit (#2329)

    This PR introduces the `r/gnoland/monit` realm, which can be used by an
    external tool to verify if everything is working well, including:
    - gnokey compatibility (and all the tx/amino/etc)
    - networking (rpc)
    - realm state persistency (counter should be higher than the previous
    value)
    
    In addition to being a good target for an external monitoring agent, the
    realm displays (`Render`) some information, including whether the agent
    appears to be missing.
    
    - [x] improve ownable (depends on #2330)
    - [x] p/demo/watchdog
    - [x] r/gnoland/monit
    - [ ] ~update contribs/autocounterd~ -> let's @gnolang/devops tackle
    this in another PR. -> #1443
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Miloš Živković <[email protected]>
    moul and zivkovicmilos authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    62fc9b4 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c5a79ab View commit details
    Browse the repository at this point in the history
  8. feat: Added missing functionality to govDAO (#2493)

    Co-authored-by: Manfred Touron <[email protected]>
    ajnavarro and moul authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    ebf4d8f View commit details
    Browse the repository at this point in the history
  9. feat: Initialize static blocks before preprocess (#2418)

    This PR introduces a phase 'initStaticBlock' to come before preprocess,
    where the StaticBlock name table is populated with BlockNode.Predefine()
    calls.
    
    initStaticBlock() also does a few other things, including giving default
    names where no names are provided, and making 'init' function names
    unique with numeric suffixes.
    
    ---------
    
    Co-authored-by: Petar Dambovaliev <[email protected]>
    jaekwon and petar-dambovaliev authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    0dc4b6d View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. chore: update homepage (#2552)

    Signed-off-by: moul <[email protected]>
    moul authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    f980fd6 View commit details
    Browse the repository at this point in the history
  2. fix: govDAO: Use GetOrigCaller() to be able to run proposals using Ms…

    …gRun (#2556)
    
    Fixed that and also improve details rendering adding an extra space.
    
    ---------
    
    Signed-off-by: Antonio Navarro Perez <[email protected]>
    ajnavarro authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    a7fd05b View commit details
    Browse the repository at this point in the history
  3. feat: users namespace (#2471)

    Co-authored-by: anarcher <[email protected]>
    Co-authored-by: Manfred Touron <[email protected]>
    3 people authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    abf8af6 View commit details
    Browse the repository at this point in the history
  4. fix(vm): avoid "index out of range" in convertArgToGno (#2500)

    With this gno code:
    
    ```go
    // foo.gno
    func Foo(val uint64)
    ```
    
    Currently, passing an empty string where a numeric argument is expected
    in a vm call such as:
    
    ```go
    msg := MsgCall{
      // (...)
      Func: "Foo",
      Args: []string{""},
    }
    vmkeeper.Call(ctx, msg)
    ```
    
    Will error out with:
    ```
    runtime error: index out of range [0] with length 0
    ```
    
    Because the argument conversion routine accesses the first character to
    see if it's a `+` without first checking the length of the string
    
    This runtime error is confusing IMO and this PR makes the resulting
    error more meaningful, for example:
    
    ```
    error parsing uint64 "": strconv.ParseUint: parsing "": invalid syntax
    ```
    
    also increases `gnoland` code coverage by ~2% as a bonus ;)
    
    ---------
    
    Signed-off-by: Norman Meier <[email protected]>
    n0izn0iz authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    40a4e30 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8446881 View commit details
    Browse the repository at this point in the history
  6. test(gnoclient): Fix a potential bug in the integration test (#2558)

    ![Screenshot from 2024-07-09
    21-48-59](https://github.com/gnolang/gno/assets/167175638/a4429fb7-c277-4296-86fb-f55dfaa924ca)
    
    I'm not sure about the root cause, but it seems like the test node isn't
    ready to handle the request call, so it returns an error. Using the
    result immediately without asserting that there's no error will cause
    this section to panic, leading to a CI that fails randomly
    
    You can see
    https://github.com/gnolang/gno/actions/runs/9855164413/job/27209502761?pr=2518
    
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Morgan <[email protected]>
    linhpn99 and thehowl authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    6432573 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2024

  1. feat: test4 genesis.json and suggested config.toml (#2508)

    ## Description
    
    This PR adds the **test4** `genesis.json` and suggested `config.toml`.
    It also includes a relevant README to highlight important `config.toml`
    params.
    
    ⚠️  **IMPORTANT** ⚠️ 
    
    You can view the genesis transactions that differ from the examples
    folder here:
    
    dev/zivkovicmilos/test4-genesis...dev/zivkovicmilos/test4-genesis-prepared
    
    In case anyone is curious, I extracted the bech32 representation of the
    public keys from the `genesis.json` using this script:
    
    ```go
    package main
    
    import (
    	"fmt"
    
    	_ "github.com/gnolang/gno/gno.land/pkg/gnoland"
    	"github.com/gnolang/gno/tm2/pkg/bft/types"
    )
    
    func main() {
    	path := "../gno/misc/deployments/test4.gno.land/genesis.json"
    
    	doc, err := types.GenesisDocFromFile(path)
    	if err != nil {
    		panic(err)
    	}
    
    	for _, v := range doc.Validators {
    		fmt.Printf("Name: %s\n", v.Name)
    		fmt.Printf("Address: %s\n", v.Address)
    		fmt.Printf("PubKey: %s\n", v.PubKey.String())
    
    		fmt.Printf("\n===========================\n\n")
    	}
    }
    ```
    
    <details><summary>Contributors' checklist...</summary>
    
    - [x] Added new tests, or not needed, or not feasible
    - [x] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [x] Updated the official documentation or not needed
    - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Manfred Touron <[email protected]>
    Co-authored-by: Salvatore Mazzarino <[email protected]>
    Co-authored-by: Blake <[email protected]>
    4 people authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    194903d View commit details
    Browse the repository at this point in the history
  2. chore: add test4 persistent_peers (#2569)

    ## Description
    
    This PR adds the recommended persistent peers for `test4.gno.land`.
    
    <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
    - [ ] 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>
    zivkovicmilos authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    b88d77c View commit details
    Browse the repository at this point in the history
  3. fix(sdk/vm): re-load iavl store from backup if empty (#2568)

    This is a hack; during initialization, the iavlStore is backed up to the
    baseStore, and it is then recovered in Initialize if the iavlStore is
    found to be empty (but there's supposed to be packages inside).
    
    This is a hotfix for test4 non-validator nodes.
    
    It still requires to start up the non-validator node once, with the new
    changes applied, with a fresh db
    thehowl authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    c162dc0 View commit details
    Browse the repository at this point in the history
  4. docs(cmd/gno): sync gno bug template (#2566)

    Update bug template to be consistent with each other
    yukionfire authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    386f8bd View commit details
    Browse the repository at this point in the history
  5. test(cmd/gno): fix TestBugApp (#2572)

    <!-- 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>
    thehowl authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    0a662c4 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2024

  1. chore(test4): add teritori persistent peer (#2575)

    <!-- 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>
    
    Signed-off-by: Norman Meier <[email protected]>
    n0izn0iz authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    f5b8d25 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. feat: add irreverentsimplicity to persistent_peers (#2577)

    <!-- 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>
    irreverentsimplicity authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    98cf003 View commit details
    Browse the repository at this point in the history
  2. docs: add test4 config & update testnets section (#2576)

    ## Description
    
    This PR updates the Network Configuration page for test4, as well as the
    testnets page. It also fixes a broken :::warning block.
    
    <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>
    leohhhn authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    95115c0 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2024

  1. chore(examples): Use uassert/urequire instead of testing in some demo…

    … packages (#2491)
    
    Related with #2481
    
    This PR handles the following tasks:
    
    1. Adds `NotEqual()` and `NotEmpty()` functions to the `p/demo/uassert`
    and `p/demo/ urequire` packages (including unit tests)
    2. Uses `p/demo/uassert` and `p/demo/urequire` packages for writing unit
    tests for some demo packages at `examples/p/demo`
    3. Todo : Do the same things with `examples/r/demo` (done)
    
    <!-- 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>
    linhpn99 authored Jul 14, 2024
    Configuration menu
    Copy the full SHA
    36cf380 View commit details
    Browse the repository at this point in the history
  2. fix(testdata): wrong expectation at gnoweb_airgapped.txtar (#2582)

    This caused a CI failure on the latest commit on the master branch :
    https://github.com/gnolang/gno/actions/runs/9925367874/job/27417714921
    
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Manfred Touron <[email protected]>
    linhpn99 and moul authored Jul 14, 2024
    Configuration menu
    Copy the full SHA
    54260d9 View commit details
    Browse the repository at this point in the history
  3. chore: fix ci (#2587)

    Signed-off-by: moul <[email protected]>
    
    <!-- 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>
    
    Signed-off-by: moul <[email protected]>
    moul authored Jul 14, 2024
    Configuration menu
    Copy the full SHA
    04cc2d5 View commit details
    Browse the repository at this point in the history
  4. feat: r/profile dapp (#1983)

    Following this
    [PR](#181 (comment))
    concerning the creation of a realm `profile` I created this realm which
    allows the creation of profile as well as the associated functions to
    display the information of a profile with an address or a username. I
    have some questions concerning this realm:
    
    - Currently, if a user modifies his username, his old username is not
    freed and is therefore no longer available, even if it is no longer in
    use. Should I free the old username when the user has changed username?
    - To make it possible to search by username and address, I've created a
    second avl tree containing both username and address, so that I can find
    the profile indexed by its address by searching for it by its username.
    This is the most efficient solution I've found. I'd like to get some
    feedback on this and know if I should do things differently so that
    searching by username is more optimized.
    - Do you have any other suggestions for completing the profile fields,
    or other interesting features to add?
    
    Thanks in advance for your feedback
    
    <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>
    
    Closes #181
    
    ---------
    
    Co-authored-by: kazai <kazai@777>
    Co-authored-by: Manfred Touron <[email protected]>
    Co-authored-by: Leon Hudak <[email protected]>
    4 people authored Jul 14, 2024
    Configuration menu
    Copy the full SHA
    5c57f21 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fadf622 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. fix(gnovm): repair selector type aliasing (#2483)

    Closes #2479.
    
    When defining a type alias to a type in another package, the existing
    type is specified with a selector expression. This PR ensures that the
    underlying type being aliased is properly extracted.
    
    <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>
    
    Co-authored-by: Manfred Touron <[email protected]>
    deelawn and moul authored Jul 16, 2024
    Configuration menu
    Copy the full SHA
    5083bcb View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. fix(gnovm): annotate specific reason a value does not implement an in…

    …terface (#2492)
    
    Related to #1684 .
    This is a first draft that will increment the amount of information Gno
    returns in the case of an struct not implementing a defined interface.
    
    ### First Case
    `A non defined function on interface`
    ```go
    package main
    
    type Car interface{
    	Run(speed int)
    }
    
    type Toyota struct {}
    func main(){
    	var car Car = &Toyota{}
    }
    ```
    **Before** we had something like:
    `panic: *main.Toyota does not implement main.Car [recovered]`
    **now**:
    `panic: *main.Toyota does not implement main.Car (missing method Run)
    [recovered]`
    
    ### Second Case
    `A defined function with bad type on function signature`
    ```go
    package main
    
    type Car interface{
    	Run(speed int)
    }
    
    type Toyota struct {}
    
    func (toyota *Toyota) Run(quick bool){
    }
    
    func main(){
    	var car Car = &Toyota{}
    }
    ```
    **Before** we had something like:
    `panic: *main.Toyota does not implement main.Car [recovered]`
    **now**:
    `panic: *main.Toyota does not implement main.Car (wrong type for method
    Run) [recovered]`
    
    ### Third Case
    `A defined function with a pointer receiver but not pointer variable`
    ```go
    package main
    
    type Car interface {
    	Run()
    }
    
    type Toyota struct {
    }
    
    func (t *Toyota) Run() {
    
    }
    
    func main() {
    	var car Car = Toyota{}
    }
    ```
    **Before** we had something like:
    `panic: *main.Toyota does not implement main.Car [recovered]`
    **now**:
    `panic: main.Toyota does not implement main.Car (method Run has pointer
    receiver):`
    
    <!-- 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>
    Villaquiranm authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    447b763 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. docs: Remove slash from test4 endpoint (#2603)

    The trailing slash at the end of the test4 endpoint seems redundant. I
    suggest removing it for consistency
    
    
    https://github.com/gnolang/gno/blob/master/docs/reference/network-config.md?plain=1#L1-L19
    
    <!-- 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
    - [x] Updated the official documentation or not needed
    - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    linhpn99 authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    92e51c2 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. feat: named and unnamed type assignment 3 of 3 (#2367)

    This is the last part of the solution for issue #1141. 
    The  1 of 3 of the solution can be found in PR  #1143.
    The  2 of 3 of the solution can be found in PR #1246 
    
    It decomposes function calls that return multiple values in the
    preprocess.
    
    ### Here is the problem to solve: 
    
    `  u1, n2 = x() `
    
    How do we ensure that the returned multiple values from a function call
    adhere to named and unnamed type assignment specifications?
    Additionally, we want to solve this problem during preprocessing instead
    of at runtime to minimize the impact on runtime performance.
    
    ### The main ideas:
    
        u1, n2 = x()  << decompose the statement to the following two lines 
        // .tmp_1, .tmp_2 := x() 
        // u1, n2 = .tmp_1, .tmp_2
    
    then we can apply name and unname type conversion specs to the second
    line.
        u1, n2 = _tmp_1, _tmp_2
    
    
    ### Here are the example code and the explanation
    
    ```
    // decompose_filetest.gno
    package main
    
      type nat []int
    
      func x() (nat, []int) {
        a := nat{1}
        b := []int{2}
        return a, b
      }
    
      func main() {
        var u1 []int
        var n2 nat
    
        u1, n2 = x() 
        // .tmp_1, .tmp_2 := x() 
        // u1, n2 = .tmp_1, .tmp_2
    
        println(u1)
        println(n2)
    
      }
    
      // Output:
      // slice[(1 int)]
      // (slice[(2 int)] main.nat)
    
    ```
    
    ### Here is the simplified recursive tree of the transformation in the
    preprocess
    
    <img width="1336" alt="image"
    src="https://github.com/gnolang/gno/assets/90544084/306a4770-457d-4131-a82a-2de5c6b0dadf">
    
    ### Here are the major steps involved in this decomposition during
    preprocessing:
    
    - Create hidden temporary name expressions .tmp1, .tmp2. In Go, a
    leading dot is not valid in variable names, ensuring that users cannot
    create names that clash with these hidden variables.
    
    
    - Create two statements in the block: one for defining and one for
    assigning.
    
    ```
     .tmp1, .tmp2 := x() 
     u1, n2 = .tmp_1, .tmp_2
    ```
    
    - Preprocess each newly created statements
    
    - Replace the original statement with the two newly created statements. 
    
    
    ### Here are two additional changes to facilitate above.
    
    - Update the FuncValue's body in `updates := pn.PrepareNewValues(pv)
    `since its source Body has been changed during preprocessing.
    
    - Replace all ` for index := range Body` with `for i:=0; i < len(Body);
    i++` in transcribe.go since the body length might change due to the
    decomposition.
    
    
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <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
    - [ ] Updated the official documentation or not needed
    - [x] No breaking changes were made
    - [x] 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: Miloš Živković <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    3 people authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    1180def View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. feat(gnokey): Print out the transaction hash when maketx executes suc…

    …cessfully (#2309)
    
    Relate to #2303
    
    <!-- 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>
    linhpn99 authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    1fbd373 View commit details
    Browse the repository at this point in the history
  2. fix(tm2): Fix request_id mismatch at http client (#2589)

    It seems this check is not working as intended
    
    The failing CI seems to be an existing issue not caused by these changes
    
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Milos Zivkovic <[email protected]>
    linhpn99 and zivkovicmilos authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    fec2d18 View commit details
    Browse the repository at this point in the history
  3. feat(examples): improve p/demo/ufmt (#2553)

    Co-authored-by: grepsuzette <[email protected]>
    grepsuzette and grepsuzette authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    fa98780 View commit details
    Browse the repository at this point in the history
  4. fix(gnokeykc): gnokeykc maketx {addpkg,call,run} missing because of t…

    …m2 separation (fixes #2373) (#2375)
    
    Fixes #2373. 
    
    Seems `gnokeykc` was indirectly broken in #1483 (when tm2 was made
    completely independent from gno messages as addpkg).
    
    `gnokey` now makes use of `github.com/gnolang/gno/gno.land/pkg/keyscli`
    and this PR proposes to use the same root cmd.
    
    
    https://github.com/gnolang/gno/blob/5fdbce0e1fe533165c0c2009e93695ece677b2bd/gno.land/pkg/keyscli/README.md?plain=1#L1-L12
    grepsuzette authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    4ff6bc7 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. feat(tm2): expose InitChain tx responses (#1941)

    Save and allow to fetch genesis txs responses
    
    ### Before
    
    ```
    ❯ curl 'http://127.0.0.1:26657/block_results?height=0' -s | head -n 20
    {
      "jsonrpc": "2.0",
      "id": "",
      "error": {
        "code": -32603,
        "message": "Internal error",
        "data": "height must be greater than 0"
      }
    }
    ```
    
    ### After
    
    ```
    ❯ curl 'http://127.0.0.1:26657/block_results?height=0' -s | head -n 20
    {
      "jsonrpc": "2.0",
      "id": "",
      "result": {
        "height": "0",
        "results": {
          "deliver_tx": [
            {
              "ResponseBase": {
                "Error": null,
                "Data": null,
                "Events": null,
                "Log": "msg:0,success:true,log:,events:[]",
                "Info": ""
              },
              "GasWanted": "50000",
              "GasUsed": "240261825"
            },
            {
              "ResponseBase": {
    ```
    
    <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>
    
    ---------
    
    Signed-off-by: Norman Meier <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    n0izn0iz and thehowl authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    3aa0f0b View commit details
    Browse the repository at this point in the history
  2. feat(p/uassert, p/diff): Support Diff in p/uassert Package (#2490)

    # Description
    
    Implement the [myers
    algorithm](https://blog.jcoglan.com/2017/02/12/the-myers-diff-algorithm-part-1/)
    to show the difference between two strings. related with #2481
    
    simple demo https://play.gno.land/p/Veoxvg1xwUb
    
    ---------
    
    Co-authored-by: Marc Vertes <[email protected]>
    Co-authored-by: deelawn <[email protected]>
    3 people authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    294ba90 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. feat(gnovm): add /debug command in REPL (#2567)

    ![gno-repl-dbg](https://github.com/gnolang/gno/assets/5792239/1bab47bc-42b3-4378-b99d-58f4a22b43c6)
    
    The REPL /debug command activates the gnovm debugger on the next
    evaluation, allowing interactive debugging of interactive sessions.
    
    One interest of this feature is the capability to run the debugger at no
    other cost also from the Gno playground.
    
    <!-- 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>
    mvertes authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    5f0dc50 View commit details
    Browse the repository at this point in the history
  2. chore(deps): bump the actions group across 1 directory with 10 updates (

    #2593)
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    b1c1c96 View commit details
    Browse the repository at this point in the history
  3. feat(gnovm): enforce formatting of added packages (#2464)

    This PR introduces the concept of automatically formatting packages
    during AddPkg. The advantage is that it's relatively inexpensive since
    we were already parsing the submitted source code AST to apply some
    verification.
    
    I believe that having a consistent official formatting for the Go
    language is one of the things that makes it better, simpler, and more
    readable. I think Gno should strive to be as good as or better than Go
    in this regard.
    
    Another justification for this approach is that Gno is not just the
    language but a platform (gno.land), like a PAAS, and AddPkg can be
    considered the "CD" process, while auto-formatting could be the "CI"
    component, which often go hand-in-hand in "CI/CD".
    
    The biggest drawback I can see is that in practice, the code content may
    not be the same on the publisher's computer and on-chain.
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    moul and thehowl authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    3eaf449 View commit details
    Browse the repository at this point in the history
  4. feat(examples): add two new upgrade examples + refactor existing ones (

    …#2334)
    
    Depends on #2342
    
    cc @jeronimoalbi
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Jerónimo Albi <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    3 people authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    8865638 View commit details
    Browse the repository at this point in the history
  5. feat(r/gnoland/home): add AdminSetOverride (#2583)

    My goal was to implement this for Test 4, but the current upgrade
    strategy does not include contract patching.
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    moul authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    691a1ba View commit details
    Browse the repository at this point in the history
  6. ci: fix broken CI, always test all go code (#2625)

    There's been another CI fail on master just now, because changes in
    examples/ were changing the golden output in gnovm/, but gnovm/ was not
    tested.
    
    This PR implements the suggestion I made in #2531 - ie. not
    discriminating CIs based on the paths of the modified file.
    thehowl authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    0e3c050 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. Configuration menu
    Copy the full SHA
    bf61069 View commit details
    Browse the repository at this point in the history
  2. fix(gnovm): equality on interfaces of underlying pointer types (#2627)

    fixes [this](#2624)
    
    When comparing 2 upcasted pointers, if the types are not the same, they
    are not equal.
    
    ---------
    
    Co-authored-by: deelawn <[email protected]>
    petar-dambovaliev and deelawn authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    137d174 View commit details
    Browse the repository at this point in the history
  3. docs: update expired Discord link, and minor documentation fixes (#2634)

    Update with Discord link that does not expire.  
    Created via Discord channel menu -> Invite People -> Edit invite link ->
    Expire After: "Never" -> Generate a New Link
    
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Morgan <[email protected]>
    gin and thehowl authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    2b8100c View commit details
    Browse the repository at this point in the history
  4. fix(gnoland): update error type for invalid deposit (#2614)

    Should use a more appropriate error type
    
    <!-- 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>
    linhpn99 authored Jul 29, 2024
    Configuration menu
    Copy the full SHA
    e844fc1 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. fix(gnovm): add missing length check in DeclStmt and AssignStmt (#2206)

    Closes #2137 
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Miloš Živković <[email protected]>
    omarsy and zivkovicmilos authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    ee83eaf View commit details
    Browse the repository at this point in the history
  2. fix(r/demo/profile): in fieldHandler, escape bio with `url.QueryEscap…

    …e` (#2642)
    
    In r/demo/profile, if the Bio field is "My bio", then the web render for
    `r/demo/profile:f/g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5/Bio` shows:
    ```
    Bio: My bio [Edit](/r/demo/profile?help&__func=SetStringField&field=Bio&addr=g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5&value=My bio)
    ```
    
    The `[Edit]` link doesn't display properly because of the space in "My
    bio". This PR updates fieldHandler to use `url.QueryEscape`. With this
    fix the web render is as expected with the correct `[Edit]` link:
    ```
    Bio: My bio Edit
    ```
    
    Signed-off-by: Jeff Thompson <[email protected]>
    jefft0 authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    d9925bf View commit details
    Browse the repository at this point in the history
  3. fix(fmt): do not print a second line when printing file to stdout (#2639

    )
    
    closes #2633 
    
    Avoid double printing newline when executing `gno fmt` without the `-w`
    (write) flag.
    
    ---------
    
    Signed-off-by: gfanton <[email protected]>
    gfanton authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    9b11417 View commit details
    Browse the repository at this point in the history
  4. chore(deps): bump the everything-else group across 1 directory with 5…

    … updates (#2612)
    
    Bumps the everything-else group with 5 updates in the / directory:
    
    | Package | From | To |
    | --- | --- | --- |
    | [github.com/btcsuite/btcd/btcec/v2](https://github.com/btcsuite/btcd)
    | `2.3.3` | `2.3.4` |
    | [github.com/gorilla/websocket](https://github.com/gorilla/websocket) |
    `1.5.1` | `1.5.3` |
    | [github.com/mattn/go-runewidth](https://github.com/mattn/go-runewidth)
    | `0.0.15` | `0.0.16` |
    | [go.etcd.io/bbolt](https://github.com/etcd-io/bbolt) | `1.3.9` |
    `1.3.10` |
    | [golang.org/x/tools](https://github.com/golang/tools) | `0.22.0` |
    `0.23.0` |
    
    
    Updates `github.com/btcsuite/btcd/btcec/v2` from 2.3.3 to 2.3.4
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/ff2e03e11233fa25c01cf4acbf76501fc008b31f"><code>ff2e03e</code></a>
    chore: fix some comments for struct field (<a
    href="https://redirect.github.com/btcsuite/btcd/issues/2214">#2214</a>)</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/2134387ba8ff6d33d90afba285c5f0d52f3a0f6b"><code>2134387</code></a>
    Merge pull request <a
    href="https://redirect.github.com/btcsuite/btcd/issues/2208">#2208</a>
    from kcalvinalvin/2024-07-01-close-blockfiles</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/e5d15fddb9c486dfe382bc95dc38d2fd247813bf"><code>e5d15fd</code></a>
    btcec/ecdsa: remove error return value for SignCompact (<a
    href="https://redirect.github.com/btcsuite/btcd/issues/2211">#2211</a>)</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/c9fae1ac7cca6e6d55baec913286e483e28923a9"><code>c9fae1a</code></a>
    ffldb: close block files before deleting them</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/8ed8ef134067e8af529996c4d027913b5945bf13"><code>8ed8ef1</code></a>
    ffldb: refactor out file close code into its own method</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/8b5f2aa6f2cbd6c73d51d3f6c7251c7f48288175"><code>8b5f2aa</code></a>
    ffldb: add check for deleting files that are open</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/4712e20049ebc24c4902049c47aadac27ffdc549"><code>4712e20</code></a>
    ffldb: throw error when attempting to delete an open file</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/d881c686e61db35e332fb0309178152dac589b03"><code>d881c68</code></a>
    Fix the btcctl uptime command</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/139669066ca7631559d45efe25ab5518bb692554"><code>1396690</code></a>
    Sending RPC requests through unix sockets (<a
    href="https://redirect.github.com/btcsuite/btcd/issues/2168">#2168</a>)</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/b2eec96beac53b2d4ffbb4e42de7eba381d28c23"><code>b2eec96</code></a>
    Merge pull request <a
    href="https://redirect.github.com/btcsuite/btcd/issues/2206">#2206</a>
    from guggero/psbt-serialization-fix</li>
    <li>Additional commits viewable in <a
    href="https://github.com/btcsuite/btcd/compare/btcec/v2.3.3...btcec/v2.3.4">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `github.com/gorilla/websocket` from 1.5.1 to 1.5.3
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/gorilla/websocket/releases">github.com/gorilla/websocket's
    releases</a>.</em></p>
    <blockquote>
    <h2>v1.5.3</h2>
    <h2>Important change</h2>
    <p>This reverts the websockets package back to <a
    href="https://github.com/gorilla/websocket/commit/931041c5ee6de24fe9cba1aa16f1a0b910284d6d">https://github.com/gorilla/websocket/commit/931041c5ee6de24fe9cba1aa16f1a0b910284d6d</a></p>
    <h2>What's Changed</h2>
    <ul>
    <li>Fixes subprotocol selection (aling with rfc6455) by <a
    href="https://github.com/KSDaemon"><code>@​KSDaemon</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/823">gorilla/websocket#823</a></li>
    <li>Update README.md, replace master to main by <a
    href="https://github.com/mstmdev"><code>@​mstmdev</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/862">gorilla/websocket#862</a></li>
    <li>Use status code constant by <a
    href="https://github.com/mstmdev"><code>@​mstmdev</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/864">gorilla/websocket#864</a></li>
    <li>conn.go: default close handler should not return ErrCloseSent. by <a
    href="https://github.com/pnx"><code>@​pnx</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/865">gorilla/websocket#865</a></li>
    <li>fix: replace ioutil.readfile with os.readfile by <a
    href="https://github.com/rfyiamcool"><code>@​rfyiamcool</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/868">gorilla/websocket#868</a></li>
    <li>fix: add comment for the readBufferSize and writeBufferSize by <a
    href="https://github.com/rfyiamcool"><code>@​rfyiamcool</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/869">gorilla/websocket#869</a></li>
    <li>Remove noisy printf in NextReader() and beginMessage() by <a
    href="https://github.com/bcreane"><code>@​bcreane</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/878">gorilla/websocket#878</a></li>
    <li>docs(echoreadall): fix function echoReadAll comment by <a
    href="https://github.com/XdpCs"><code>@​XdpCs</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/881">gorilla/websocket#881</a></li>
    <li>make tests parallel by <a
    href="https://github.com/ninedraft"><code>@​ninedraft</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/872">gorilla/websocket#872</a></li>
    <li>Upgrader.Upgrade: use http.ResposnseController by <a
    href="https://github.com/ninedraft"><code>@​ninedraft</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/871">gorilla/websocket#871</a></li>
    <li>Do not handle network error in <code>SetCloseHandler()</code> by <a
    href="https://github.com/nak3"><code>@​nak3</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/863">gorilla/websocket#863</a></li>
    <li>perf: reduce timer in write_control by <a
    href="https://github.com/rfyiamcool"><code>@​rfyiamcool</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/879">gorilla/websocket#879</a></li>
    <li>fix: lint example code by <a
    href="https://github.com/rfyiamcool"><code>@​rfyiamcool</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/890">gorilla/websocket#890</a></li>
    <li>feat: format message type by <a
    href="https://github.com/rfyiamcool"><code>@​rfyiamcool</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/889">gorilla/websocket#889</a></li>
    <li>Remove hideTempErr to allow downstream users to check for errors
    like net.ErrClosed by <a
    href="https://github.com/UnAfraid"><code>@​UnAfraid</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/894">gorilla/websocket#894</a></li>
    <li>Do not timeout when WriteControl deadline is zero in <a
    href="https://redirect.github.com/gorilla/websocket/pull/898">gorilla/websocket#898</a></li>
    <li>Excludes errchecks linter by <a
    href="https://github.com/apoorvajagtap"><code>@​apoorvajagtap</code></a>
    in <a
    href="https://redirect.github.com/gorilla/websocket/pull/904">gorilla/websocket#904</a></li>
    <li>Return errors instead of printing to logs by <a
    href="https://github.com/apoorvajagtap"><code>@​apoorvajagtap</code></a>
    in <a
    href="https://redirect.github.com/gorilla/websocket/pull/897">gorilla/websocket#897</a></li>
    <li>Revert &quot; Update go version &amp; add verification/testing tools
    (<a
    href="https://redirect.github.com/gorilla/websocket/issues/840">#840</a>)&quot;
    by <a
    href="https://github.com/apoorvajagtap"><code>@​apoorvajagtap</code></a>
    in <a
    href="https://redirect.github.com/gorilla/websocket/pull/908">gorilla/websocket#908</a></li>
    <li>Fixes broken random value generation by <a
    href="https://github.com/apoorvajagtap"><code>@​apoorvajagtap</code></a>
    in <a
    href="https://redirect.github.com/gorilla/websocket/pull/926">gorilla/websocket#926</a></li>
    <li>Reverts back to v1.5.0 by <a
    href="https://github.com/apoorvajagtap"><code>@​apoorvajagtap</code></a>
    in <a
    href="https://redirect.github.com/gorilla/websocket/pull/929">gorilla/websocket#929</a></li>
    </ul>
    <h2>New Contributors</h2>
    <ul>
    <li><a href="https://github.com/KSDaemon"><code>@​KSDaemon</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/gorilla/websocket/pull/823">gorilla/websocket#823</a></li>
    <li><a href="https://github.com/mstmdev"><code>@​mstmdev</code></a> made
    their first contribution in <a
    href="https://redirect.github.com/gorilla/websocket/pull/862">gorilla/websocket#862</a></li>
    <li><a href="https://github.com/pnx"><code>@​pnx</code></a> made their
    first contribution in <a
    href="https://redirect.github.com/gorilla/websocket/pull/865">gorilla/websocket#865</a></li>
    <li><a
    href="https://github.com/rfyiamcool"><code>@​rfyiamcool</code></a> made
    their first contribution in <a
    href="https://redirect.github.com/gorilla/websocket/pull/868">gorilla/websocket#868</a></li>
    <li><a href="https://github.com/bcreane"><code>@​bcreane</code></a> made
    their first contribution in <a
    href="https://redirect.github.com/gorilla/websocket/pull/878">gorilla/websocket#878</a></li>
    <li><a href="https://github.com/XdpCs"><code>@​XdpCs</code></a> made
    their first contribution in <a
    href="https://redirect.github.com/gorilla/websocket/pull/881">gorilla/websocket#881</a></li>
    <li><a href="https://github.com/ninedraft"><code>@​ninedraft</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/gorilla/websocket/pull/872">gorilla/websocket#872</a></li>
    <li><a href="https://github.com/nak3"><code>@​nak3</code></a> made their
    first contribution in <a
    href="https://redirect.github.com/gorilla/websocket/pull/863">gorilla/websocket#863</a></li>
    <li><a href="https://github.com/UnAfraid"><code>@​UnAfraid</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/gorilla/websocket/pull/894">gorilla/websocket#894</a></li>
    <li><a
    href="https://github.com/apoorvajagtap"><code>@​apoorvajagtap</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/gorilla/websocket/pull/904">gorilla/websocket#904</a></li>
    </ul>
    <p><strong>Full Changelog</strong>: <a
    href="https://github.com/gorilla/websocket/compare/v1.5.1...v1.5.3">https://github.com/gorilla/websocket/compare/v1.5.1...v1.5.3</a></p>
    <h2>v1.5.2</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>Fixes subprotocol selection (aling with rfc6455) by <a
    href="https://github.com/KSDaemon"><code>@​KSDaemon</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/823">gorilla/websocket#823</a></li>
    <li>Update README.md, replace master to main by <a
    href="https://github.com/mstmdev"><code>@​mstmdev</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/862">gorilla/websocket#862</a></li>
    <li>Use status code constant by <a
    href="https://github.com/mstmdev"><code>@​mstmdev</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/864">gorilla/websocket#864</a></li>
    <li>conn.go: default close handler should not return ErrCloseSent. by <a
    href="https://github.com/pnx"><code>@​pnx</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/865">gorilla/websocket#865</a></li>
    <li>fix: replace ioutil.readfile with os.readfile by <a
    href="https://github.com/rfyiamcool"><code>@​rfyiamcool</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/868">gorilla/websocket#868</a></li>
    <li>fix: add comment for the readBufferSize and writeBufferSize by <a
    href="https://github.com/rfyiamcool"><code>@​rfyiamcool</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/869">gorilla/websocket#869</a></li>
    <li>Remove noisy printf in NextReader() and beginMessage() by <a
    href="https://github.com/bcreane"><code>@​bcreane</code></a> in <a
    href="https://redirect.github.com/gorilla/websocket/pull/878">gorilla/websocket#878</a></li>
    </ul>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/gorilla/websocket/commit/ce903f6d1d961af3a8602f2842c8b1c3fca58c4d"><code>ce903f6</code></a>
    Reverts to v1.5.0</li>
    <li><a
    href="https://github.com/gorilla/websocket/commit/9ec25ca502ec881a7e873d3cdf35da60eab22037"><code>9ec25ca</code></a>
    fixes broken random value generation</li>
    <li><a
    href="https://github.com/gorilla/websocket/commit/1bddf2e0dba6f35492b0f5614905b291cd0ab88d"><code>1bddf2e</code></a>
    bumps go version &amp; removes deprecated module usage</li>
    <li><a
    href="https://github.com/gorilla/websocket/commit/750bf92096b4cd4d75082948a4e143f303a65390"><code>750bf92</code></a>
    adds GHA &amp; Makefile configs</li>
    <li><a
    href="https://github.com/gorilla/websocket/commit/b2c246b2ec6f86b53889c79022fec8dabe0a20bb"><code>b2c246b</code></a>
    Revert &quot; Update go version &amp; add verification/testing tools (<a
    href="https://redirect.github.com/gorilla/websocket/issues/840">#840</a>)&quot;</li>
    <li><a
    href="https://github.com/gorilla/websocket/commit/09a6bab4667fc302c7f23ad770ce48be6fc2d15f"><code>09a6bab</code></a>
    removing error handling while closing connections</li>
    <li><a
    href="https://github.com/gorilla/websocket/commit/58af150309a40ad57463b8087fe33d59d5a490d3"><code>58af150</code></a>
    return errors instead of printing to logs</li>
    <li><a
    href="https://github.com/gorilla/websocket/commit/e5f1a0aad0accdff7dc9131fdcce912e28d8f4d5"><code>e5f1a0a</code></a>
    excludes errchecks linter</li>
    <li><a
    href="https://github.com/gorilla/websocket/commit/b2a86a174473e870c9fcc3eaba8957689090d2cc"><code>b2a86a1</code></a>
    Do not timeout when WriteControl deadline is zero</li>
    <li><a
    href="https://github.com/gorilla/websocket/commit/695e9095ce8736ac99c83939ca6b0fe93768f680"><code>695e909</code></a>
    Remove hideTempErr to allow downstream users to check for errors like
    net.Err...</li>
    <li>Additional commits viewable in <a
    href="https://github.com/gorilla/websocket/compare/v1.5.1...v1.5.3">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `github.com/mattn/go-runewidth` from 0.0.15 to 0.0.16
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/mattn/go-runewidth/commit/6ceadc68530e7bfea8cba17d6523bed32912d4fa"><code>6ceadc6</code></a>
    Support Unicode 15.1.0</li>
    <li>See full diff in <a
    href="https://github.com/mattn/go-runewidth/compare/v0.0.15...v0.0.16">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `go.etcd.io/bbolt` from 1.3.9 to 1.3.10
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/etcd-io/bbolt/releases">go.etcd.io/bbolt's
    releases</a>.</em></p>
    <blockquote>
    <h2>v1.3.10</h2>
    <p>See the <a
    href="https://github.com/etcd-io/bbolt/blob/main/CHANGELOG/CHANGELOG-1.3.md#v13102024-05-06">CHANGELOG</a>
    for more details.</p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/014b0285ccf8585fa12d7caf7f1288397c8f2185"><code>014b028</code></a>
    Merge pull request <a
    href="https://redirect.github.com/etcd-io/bbolt/issues/744">#744</a>
    from ahrtr/cursor_20240502</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/2d48e1df03260d27ae1a2755ce4e539f3258dafc"><code>2d48e1d</code></a>
    Ensure a cursor can continue to iterate elements in reverse direction by
    call...</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/886753c41a212100c059c98f0d9ed86d9efdf6ac"><code>886753c</code></a>
    Merge pull request <a
    href="https://redirect.github.com/etcd-io/bbolt/issues/717">#717</a>
    from henrybear327/fix/remove_UnsafeSlice</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/9e3d732b271881a11759b9fa6df40feca713ef09"><code>9e3d732</code></a>
    Remove UnsafeSlice and use unsafe.Slice</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/2c29534715bddd170041afbda6c11b6abea037a9"><code>2c29534</code></a>
    Merge pull request <a
    href="https://redirect.github.com/etcd-io/bbolt/issues/713">#713</a>
    from henrybear327/cve/CVE-2023-45288-release-1.3</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/9b60c134ede4c009cbbcab4a6541b61a44b7da66"><code>9b60c13</code></a>
    Address linter issues</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/0b59bc131779dc7d37dc1c5d5f14469a3d1be4d9"><code>0b59bc1</code></a>
    Bump go toolchain version to address CVE-2023-45288</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/9f3524b608c9686031b31df551163b6fd1856cba"><code>9f3524b</code></a>
    Merge pull request <a
    href="https://redirect.github.com/etcd-io/bbolt/issues/716">#716</a>
    from henrybear327/feat/introduce-go-version-file</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/67a267830e85e144f29d8bf3a9d84645b4003f53"><code>67a2678</code></a>
    Adopt the .go-version approach for toolchain versioning</li>
    <li>See full diff in <a
    href="https://github.com/etcd-io/bbolt/compare/v1.3.9...v1.3.10">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `golang.org/x/tools` from 0.22.0 to 0.23.0
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/golang/tools/commit/33be3ef892534885002fcfa0ccf4506088a25d59"><code>33be3ef</code></a>
    go.mod: update golang.org/x dependencies</li>
    <li><a
    href="https://github.com/golang/tools/commit/0e7ccc0478c322a6b32fb9f74ebfc42e4f965ee9"><code>0e7ccc0</code></a>
    gopls/internal/golang: provide version info for stdlib in pkgdoc</li>
    <li><a
    href="https://github.com/golang/tools/commit/fcf54632603b8795667b76d7c373201e9536ed10"><code>fcf5463</code></a>
    gopls/internal/server: add counters to inform v0.17.0</li>
    <li><a
    href="https://github.com/golang/tools/commit/70a59b2f224b125b843a948e205c0792dbff4f22"><code>70a59b2</code></a>
    gopls/doc: respond to Hana's review of CL 583316</li>
    <li><a
    href="https://github.com/golang/tools/commit/799a47185df0a37a5e0a95faa9d4b3d693736c5e"><code>799a471</code></a>
    gopls/doc: document all of gopls' features</li>
    <li><a
    href="https://github.com/golang/tools/commit/2e239ad1ba11fe5e5daa1763388fdd7584ae7c6d"><code>2e239ad</code></a>
    gopls/internal/golang: provide version info for stdlib fields</li>
    <li><a
    href="https://github.com/golang/tools/commit/bc15dd8597ecd98beabdb4616a9341905ac3a6da"><code>bc15dd8</code></a>
    gopls/internal/analysis/fillstruct: use package name (not path) in
    UI</li>
    <li><a
    href="https://github.com/golang/tools/commit/72edac2ff315a3d7ecf4ef98f13fda6e6af69478"><code>72edac2</code></a>
    internal/typeparams: fix crash in interface hover with empty type
    set</li>
    <li><a
    href="https://github.com/golang/tools/commit/c0ae6bbd24adc34e4b2ba9ecd75922847f718b27"><code>c0ae6bb</code></a>
    gopls/internal/golang: splitlines: s/parameter/arguments/ in
    CallExpr</li>
    <li><a
    href="https://github.com/golang/tools/commit/5cc2d0b12cd3eee183bbd2f3a901418f482d0579"><code>5cc2d0b</code></a>
    gopls/internal/golang: splitlines: remove workaround for <a
    href="https://redirect.github.com/golang/go/issues/68202">golang/go#68202</a></li>
    <li>Additional commits viewable in <a
    href="https://github.com/golang/tools/compare/v0.22.0...v0.23.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    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 <dependency name> major version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's major version (unless you unignore this specific
    dependency's major version or upgrade to it yourself)
    - `@dependabot ignore <dependency name> minor version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's minor version (unless you unignore this specific
    dependency's minor version or upgrade to it yourself)
    - `@dependabot ignore <dependency name>` will close this group update PR
    and stop Dependabot creating any more for the specific dependency
    (unless you unignore this specific dependency or upgrade to it yourself)
    - `@dependabot unignore <dependency name>` will remove all of the ignore
    conditions of the specified dependency
    - `@dependabot unignore <dependency name> <ignore condition>` will
    remove the ignore condition of the specified dependency and ignore
    conditions
    
    
    </details>
    
    ---------
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
    dependabot[bot] and dependabot[bot] authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    879c4b6 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. ci: fix backwards incompatible change (#2644)

    #2612 for some reason only had two
    checks. Hopefully this has changed with the latest changes to CI.
    thehowl authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    5f28803 View commit details
    Browse the repository at this point in the history
  2. fix(gnovm): fix max names in block check (#2645)

    I noticed this while reviewing #2429. The previous conditional could
    never evaluate to true: `if (1<<16 - 1) < sb.NumNames {`. `sb.NumNames`
    is a `uint16` and the value it is being compared to, `1<<16 - 1` is the
    max uint16 value, so it is impossible the the number of names to be
    greater than this value. Instead, we should check to see if the current
    number of names is the maximum value and panic if this is the case.
    
    <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>
    deelawn authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    14b9015 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. feat(gnovm): add stacktraces and log them in panic messages (#2145)

    Closes #1812 
    #### Summary
    This pull request introduces a new `StackTrace` mechanism to the
    `Machine.Exceptions` class, enhancing its exception handling
    capabilities by generating and appending detailed stacktraces during
    panic situations.
    
     **Panic Handling:**
    - When a panic occurs, the current stack state is copied and appended to
    the exception details.
    - This includes the value of the panic, the last call frame, and the
    copied stack trace.
    
     **Code Example:**
       
    ```go
        package main
    
        func main() {
            f()
        }
    
        func f() {
            defer func() {
                panic("third")
            }()
            defer func() {
                panic("second")
            }()
            panic("first")
        }
      ```
    
     **Sample Output:**
     
     ```
        Stacktrace:
            Exception 0: 
                panic((const ("first" <untyped> string)))
                    main/files/panic0b.gno:14
                f<VPBlock(3,1)>()
                    main/files/panic0b.gno:4
            Exception 1: 
                panic((const ("second" <untyped> string)))
                    main/files/panic0b.gno:12
                f<VPBlock(3,1)>()
                    main/files/panic0b.gno:4
            Exception 2: 
                panic((const ("third" <untyped> string)))
                    main/files/panic0b.gno:9
                f<VPBlock(3,1)>()
                    main/files/panic0b.gno:4
      ```
    
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Morgan <[email protected]>
    omarsy and thehowl authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    56f8357 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. fix(docs): wrong GetOrigCaller usage reference (#2659)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    ## Description
    
    Small fix for the docs.
    
    <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>
    leohhhn authored Aug 5, 2024
    Configuration menu
    Copy the full SHA
    1f58ee4 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. chore: bump gnolang/faucet version to v0.3.1 (#2664)

    ## Description
    
    This PR bumps the `gnolang/faucet` version of `gnofaucet` to `v0.3.1`,
    in order to support the `/health` GET endpoint.
    
    <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
    - [ ] 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>
    zivkovicmilos authored Aug 7, 2024
    Configuration menu
    Copy the full SHA
    0ef28e8 View commit details
    Browse the repository at this point in the history
  2. feat(gnoweb): added link to readme if present (#2461)

    Added a link to the `README.md` file of the realm if it exists 
    
    ![image](https://github.com/gnolang/gno/assets/68433935/8259ebd7-9a15-4647-9280-80618f870fcc)
    To allow for quicker access while browsing gnoweb
    
    This should solve #2458
    
    <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
    - [ ] 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: Lee ByeongJun <[email protected]>
    Co-authored-by: Guilhem Fanton <[email protected]>
    3 people authored Aug 7, 2024
    Configuration menu
    Copy the full SHA
    bbcb2f6 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. Configuration menu
    Copy the full SHA
    36c8b03 View commit details
    Browse the repository at this point in the history
  2. feat: add p/demo/entropy (#2487)

    - Revert partially "feat(stdlibs): add math/rand (#2455)
    (f547d7d)
    - Update p/demo/rand and rename to p/demo/entropy
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Marc Vertes <[email protected]>
    moul and mvertes authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    bd99fbe View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. ci: Full revision of Goreleaser tasks (#2672)

    This PR has different purposes:
    * adding Gnofaucet to Goreleaser task (closes #2557)
    * moving Goreleaser from v 1.26 to v 2.1
    * reducing the verbosity of tasks by merging the different release types
    (latest, nightly, master) into a single goreleaser file
    * adding a fallbacked env variable called `TAG_VERSION`, which label the
    various docker images
      * adding the `nightly` subtask, which is ignored for latest releases
    * skipping publish for master release (NOTE: this part is the one TBC,
    because `master` release is using nightly too, but the variable
    `tag_name` unfortunately cannot be templated, let's see if it can make
    sense or if there is another workaround)
    
    <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>
    sw360cab authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    ff0c177 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. chore(ci): Fix master branch goreleaser (#2686)

    Providing a tuned command to trigger goreleaser on merges in master
    branch
    sw360cab authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    4553879 View commit details
    Browse the repository at this point in the history
  2. chore: fixate golangci-lint CI version to 1.59 (#2693)

    ## Description
    
    This PR fixates the `golangci-lint` CI version to `1.59`, since this is
    the version we utilize for `misc/devdeps` that powers the `make lint`
    directive.
    
    <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
    - [ ] 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>
    zivkovicmilos authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    5b768db View commit details
    Browse the repository at this point in the history
  3. chore(ci): revamping master branch goreleaser (#2694)

    Introducing templating for gorelease when running in master branch
    sw360cab authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    c606efe View commit details
    Browse the repository at this point in the history
  4. feat(examples): implement r/events, p/authorizable (#2372)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    ## Description
    
    This PR adds the r/gnoland/events realm. It handles events gno.land is
    attending dynamically. An admin and modetators can add new events,
    delete old ones, or make changes to existing ones.
    
    <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>
    
    ---------
    
    Co-authored-by: Manfred Touron <[email protected]>
    leohhhn and moul authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    6fd4901 View commit details
    Browse the repository at this point in the history
  5. chore(examples): update home page, add add test for r/events (#2697)

    ## Description
    
    This PR updates the test4 item on the home page, and fixes a small
    rendering bug in the r/events realm, and adds tests to it.
    
    <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>
    leohhhn authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    763bdd1 View commit details
    Browse the repository at this point in the history
  6. chore: update gnolang/faucet version to v0.3.2 (#2701)

    ## Description
    
    This PR bumps the `gnolang/faucet` version to `v0.3.2`, which fixes a
    bug where the middlewares would block a standard endpoints like
    `/health`.
    
    <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
    - [ ] 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>
    zivkovicmilos authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    5d3ec2f View commit details
    Browse the repository at this point in the history
  7. fix: small typo in gnodev documentation (#2680)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <details><summary>Contributors' checklist...</summary>
    
    - [x] Added new tests, or not needed, or not feasible
    - [x] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [x] Updated the official documentation or not needed
    - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    Co-authored-by: Guilhem Fanton <[email protected]>
    aeddi and gfanton authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    25f1c92 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. feat: render .md files from packages (#2540)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    This PR aims to solves #2494 in order to parse `markdown` files from
    packages templates. It currently uses the file extension (from
    `window.location`) to detect if the content is a `md` file in a package
    template.
    
    _Although keeping the extension in the url is not a good practice for
    SEO & UX (because we are using pretty URLs for some other contents and
    are not consistent throughout gnoweb), This should do the work for now
    as short term solution since we are gonna parse `.md` from `go` soon
    with the new gnoweb design/codebase refactor (cc @gfanton)._
    
    It also improves the package file template by removing global JS and
    pushing the `source` content into the main rendering flow from
    `renderer.js`.
    alexiscolin authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    6f7f589 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2024

  1. fix(gnovm): prevent cyclic references in type declarations (#2081)

    Address #2008.
    
    
    In this pull request, we're implementing a special handling for type
    declarations to check cynic dependency. Due to their unique nature, we
    must meticulously search through their fields to identify potential
    cyclic reference.
    
    <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: deelawn <[email protected]>
    ltzmaxwell and deelawn authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    1e0e52c View commit details
    Browse the repository at this point in the history
  2. fix(gnovm): correct comparison between different types (#1890)

    Fixes #1376, fixes
    #2386.
    
    ---------
    
    Co-authored-by: deelawn <[email protected]>
    ltzmaxwell and deelawn authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    8bd07c9 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. fix(gnovm): handle non call expression valuedecl values (#2647)

    Closes #2636.
    
    With a value declaration like `var a, b = ...`, we currently only
    support a call expression on the RHS. This PR supports type assertion
    and index expressions as well.
    
    <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>
    deelawn authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    6214fe9 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2024

  1. chore(gnokey): update long help (#2712)

    ## Description
    
    This PR updates the `gnokey` long help text.
    
    <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>
    leohhhn authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    e6f797b View commit details
    Browse the repository at this point in the history
  2. chore: add a ugnot constant (#2656)

    Was starting to work on GNOT token locking and noticed we had no `ugnot`
    constant in our codebase. This PR adds a ugnot constant and replaces
    ugnot literals in most places.
    deelawn authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    04d5239 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2024

  1. feat(examples): add disperse (v2) (#2613)

    This PR adds a gno version of the [disperse ethereum
    app](https://disperse.app/) to gno.land !
    Another attempt was made in #1414 but
    we have decided to pick up from @leohhhn 's work with @lennyvong and
    made this PR, tested using txtar tests to avoid the situation described
    in #2595
    There is also an older (but functional for the most part) version
    [deployed in
    test4](https://test4.gno.land/r/g1w62226g8hykfmtuasvz80rdf0jl6phgxsphh5v/testing/disperse2?help)
    with a linked [webapp](https://gno-disperse.netlify.app/)
    
    <img width="649" alt="image"
    src="https://github.com/user-attachments/assets/ad26a1a9-0447-4333-858a-253441c457ba">
    
    <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
    - [ ] 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: leohhhn <[email protected]>
    Co-authored-by: Leon Hudak <[email protected]>
    Co-authored-by: lennyvongphouthone <[email protected]>
    Co-authored-by: Guilhem Fanton <[email protected]>
    5 people authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    aae5d49 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2024

  1. feat: p/subscription (#2116)

    I've created this `subscription` package based on this
    [PR](#1025) from @moul, I've
    integrated two types of subscription, a recurring payment subscription
    and a lifetime subscription. Do you have any ideas for other types of
    subscription that would be relevant to this package?
    
    <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]>
    kazai777 and moul authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c8e717a View commit details
    Browse the repository at this point in the history
  2. chore: In doc setting-up-a-new-chain, resetting the chain also, delet…

    …e genesis.json (#2513)
    
    In the docs for setting up a new chain, section "Resetting the chain",
    it's also necessary to delete `genesis.json`. This is the same as [`make
    fclean`](https://github.com/gnolang/gno/blob/ee69fbd6baaa318d1504789df59ec961e1f5075b/gno.land/Makefile#L52).
    
    Signed-off-by: Jeff Thompson <[email protected]>
    jefft0 authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d1c2b3f View commit details
    Browse the repository at this point in the history
  3. chore: gnoclient: Require Caller in Msg. Remove syntax sugar Msgs (#2715

    )
    
    BREAKING CHANGE: The gnoclient API provides "syntax sugar" slices of
    messages like MsgCall. This PR removes them and instead uses the vm
    message definitions directly (without modification). This requires users
    of the gnoclient API to specify all needed fields, including `Caller`
    but it also simplifies the Sign logic. The concerns of message creation
    and message handling are now separated.
    
    * Remove "syntax sugar" `MsgCall`, `MsgSend`, `MsgRun` and
    `MsgAddPackage`.
    * Remove the related `validateMsgCall`, `validateMsgSend`,
    `validateMsgRun` and `validateMsgAddPackage`.
    * In `Call`, etc. change the `msgs` param to use `vm.MsgCall`, etc. Use
    the `ValidateBasic` method of these types.
    * Do not set the `Caller` from the `Signer`. Expect the `Caller` field
    to already be filled in.
    * In client_test.go and integration_test.go, specify the `Caller` where
    needed.
    * In client_test.go error tests, change `expectedError` to a string and
    use `assert.ErrorContains`. (This allows mixing errors that are defined
    by a type with errors defined as singleton objects.)
    * Update contribs/gnodev/pkg/dev/node_state_test.go to use `vm.MsgCall`.
    
    <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
    </details>
    
    ---------
    
    Signed-off-by: Jeff Thompson <[email protected]>
    jefft0 authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    757cc84 View commit details
    Browse the repository at this point in the history
  4. fix: wrong url syntax (#2724)

    <!-- 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>
    
    During a Office hour call in Discord, we have see a error for
    `r/demo/art/millipede`
    cc @leohhhn
    DIGIX666 authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e94f76f View commit details
    Browse the repository at this point in the history
  5. chore: simplify staging (#2018)

    This simplify the staging servers system.
    
    It's using the docker image:
    [watchtower](https://github.com/containrrr/watchtower) to automatically
    pull-update new gno versions.
    
    It's currently deployed on the server: we now have
    
    - https://rpc.staging.gno.land
    - http://rpc.staging.gno.land:26657
    - http://rpc.staging.gno.land:36657 (to be compliant with previous
    version)
    
    <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>
    albttx authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e60e4ca View commit details
    Browse the repository at this point in the history
  6. chore(ci): CI test of portal-loop (#2064)

    <!-- 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>
    albttx authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e2a13e8 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2024

  1. feat: gnobro, a terminal-based realm browser (#2608)

    Co-authored-by: deelawn <[email protected]>
    gfanton and deelawn authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    b7dbed9 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2024

  1. chore: In gnoclient, separate out SignTx and BroadcastTxCommit (#2641)

    We can use `gnokey maketx call`, `gnokey sign` and `gnokey broadcast` to
    make a transaction and sign it separately before broadcast. We want to
    support the same thing in the `gnoclient` API. (And we want to expose
    this API in Gno Native Kit.)
    * Split out new API function `NewCallTx` from `Call`
    * Split out new API function `NewRunTx` from `Run`
    * Split out new API function `NewSendTx` from `Send`
    * Split out new API function `NewAddPackageTx` from `AddPackage`
    * Split out new API functions `SignTx` and `BroadcastTxCommit` from
    `signAndBroadcastTxCommit`
    * In client_test.go and integration_test.go, add code to also test
    signing separately
    
    <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
    </details>
    
    ---------
    
    Signed-off-by: Jeff Thompson <[email protected]>
    jefft0 authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    651f5aa View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2024

  1. feat: In r/demo/users, add ListUsersByPrefix (#1708)

    GnoSocial uses r/demo/users to register users. A typical social app can
    search for other users by name, which requires a search box with partial
    match. The private variable `name2User` is an avl.Tree where the key is
    the user name, and avl.Tree `Iterate` can already iterate by start and
    end values. This PR has 2 commits:
    1. Add a new package p/demo/avlhelpers with the function
    `ListKeysByPrefix` . Also add tests.
    2. Use this in r/demo/users to add `ListUsersByPrefix` to return a list
    of user names starting from the given prefix.
    
    For example, `ListUsersByPrefix("g", 2)` returns a list of 2 names with
    the prefix "g":
    ```
    ["george", "gnofan"]
    ```
    
    In the GnoSocial demo app, we plan to use this in a search box.
    
    <details><summary>Contributors' checklist...</summary>
    
    - [x] Added new tests, or not needed, or not feasible
    - [x] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [x] Updated the official documentation or not needed
    - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Signed-off-by: Jeff Thompson <[email protected]>
    jefft0 authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    e5c1152 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2024

  1. feat(examples): a shifumi (rock, paper, scissors) smart contract (#2629)

    A very simple game as a smart contract. It's possible to play against
    yourself, or another opponent. UI could be improved.
    
    No provision against cheating, no gain or automatic action.
    
    Related to #611.
    
    <img width="1003" alt="Screenshot 2024-07-24 at 16 24 28"
    src="https://github.com/user-attachments/assets/a7c115ae-26c1-4d3b-9446-8571f1d98efb">
    
    <!-- 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>
    mvertes authored Aug 30, 2024
    Configuration menu
    Copy the full SHA
    701ac17 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2024

  1. docs(portal-loop): mention packages can be deployed permissionlessly (#…

    …2747)
    
    Referencing #2744
    
    ---------
    
    Co-authored-by: grepsuzette <[email protected]>
    Co-authored-by: Leon Hudak <[email protected]>
    3 people authored Sep 2, 2024
    Configuration menu
    Copy the full SHA
    68ef445 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2024

  1. chore: remove panic from uverse (#2626)

    This function in uverse is misleading, because it's never actually
    called. Panics are converted to a `*PanicStmt`, not as function calls.
    
    <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>
    thehowl authored Sep 3, 2024
    Configuration menu
    Copy the full SHA
    c82e646 View commit details
    Browse the repository at this point in the history
  2. feat(examples): add r/leon (#2740)

    ## Description
    
    This PR adds v1 of `r/leon` to the examples folder. It contains
    `r/leon/home` & `r/leon/config`.
     
    For context - this is meant to be a personal realm (or set of realms)
    that every gno.land user should have at some point. Later, the idea is
    to have a [special user
    page](#2189) which will fetch the
    `Render()` of `r/username/home`. This will serve like the profile of the
    user; and the home realm will most likely be upgradeable down the line.
    
    The reason I am making this a PR and not simply publishing it to the
    Portal Loop is that it allows for further code changes down the line.
    `examples/` get loaded into genesis first, and all other replayed addpkg
    transactions after that, making it possible to have "upgradeable" realms
    on Portal Loop.
    
    <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>
    leohhhn authored Sep 3, 2024
    Configuration menu
    Copy the full SHA
    65ee7a5 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. fix(gno.land): make gno store cache respect rollbacks (#2319)

    This pull request modifies the current `defaultStore` to support
    transactionality in the same way as our tm2 stores. A few new concepts
    are introduced:
    
    - A `TransactionStore` interface is added, which extends the
    `gnolang.Store` interface to support a Write() method.
    - Together with corresponding implementations allowing for
    transactionality on its cache maps, this means that the Gno store
    retained by the VM keeper is only modified atomically after a
    transaction has completed.
    - The tm2 `BaseApp` has the new "hooks" `BeginTxHook` and `EndTxHook`.
    The former is called right before starting a transaction, and the latter
    is called right after finishing it, together with the transaction
    result.
    - This allows us to plug in the Gno `TransactionalStore` in the
    `sdk.Context` through the `BeginTxHook`; and commit the result, if
    successful, in the `EndTxHook`.
    ## Overview of changes
    
    - `gno.land`
    - `pkg/gnoland/app.go`: the InitChainer is now additionally responsible
    of loading standard libraries. To separate the options related to app
    startup globally, and those to genesis, the InitChainer is now a method
    of its config struct, `InitChainerConfig`, embedded into the
    `AppOptions`.
    - `pkg/gnoland/app.go`: `NewAppOptions` is only used in `NewApp`, where
    most of its fields were modified, anyway. I replaced it by changing the
    `validate()` method to write default values.
    - `pkg/gnoland/node_inmemory.go`,
    `pkg/integration/testing_integration.go`: these changes were made
    necessary to support `gnoland restart` in our txtars, and supporting
    fast reloading of standard libraries (`LoadStdlibCached`).
    - `pkg/sdk/vm/keeper.go`: removed all the code to load standard
    libraries on Initialize, as it's now done in the InitChainer. The hack
    introduced in #2568 is no longer necessary as well. Other changes show
    how the Gno Store is injected and retrieved from the `sdk.Context`.
    - `gnovm/pkg/gnolang/store.go`
    - Fork and SwapStores have been removed, in favour of BeginTransaction.
    BeginTransaction creates a `TransactionalStore`; the
    "transaction-scoped" fields of the defaultStore are swapped with
    "transactional" versions (including the allocator, cacheObjects and
    cacheTypes/cacheNodes - the latter write to a `txLogMap`).
    - ClearObjectCache is still necessary for the case of a transaction with
    multiple messages.
    - The `Map` interface in `txlog` allows us to have a `txLog` data type
    stacked on top of another. This is useful for the cases where we use
    `BeginTransaction` in preprocess. (We previously used `Fork`.) See later
    in the "open questions" section.
    - I added an Iterator method on the `txlog.Map` interface - this will be
    compatible with [RangeFunc](https://go.dev/wiki/RangefuncExperiment),
    once we switch over to [go1.23](https://go.dev/doc/go1.23).
    - `tm2/pkg/sdk`
    - As previously mentioned, two hooks were added on the BaseApp to
    support injecting application code right before starting a transaction
    and then right after ending it; allowing us to inject the code relating
    to the Gno.land store while maintaining the modules decoupled
    - Other
    - `gnovm/pkg/gnolang/machine.go` has a one-line fix for a bug printing
    the machine, whereby it would panic if len(blocks) == 0.
    
    ## Open questions / notes
    
    - TransactionalStore should be a different implementation altogether;
    but decoupling the logic which is used within the stores without doing a
    massive copy-and-paste of the entire defaultStore implementation is
    non-trivial. See [this
    comment](#2319 (comment)),
    and [this PR](#2655) for a draft
    proposed store refactor, which would render the store more modular and
    testable.
    - There is an alternative implementation, which in micro-benchmarks
    would be somewhat faster, in place of the `txLog`; it's still in
    `gnolang/internal/txlog/txlog_test.go` where it also has benchmarks. See
    [1347c5f](1347c5f)
    for the solution which uses `bufferedTxMap`, without using the
    `txlog.Map` interface. The main problem with this approach is that it
    does not support stacking bufferedTxMaps, thus there is a different
    method to be used in preprocess - `preprocessFork()`.
    thehowl authored Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c1a3341 View commit details
    Browse the repository at this point in the history
  2. docs: add Using gnokey tutorial (#2226)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    ## Description
    
    This PR adds the `Using gnokey` tutorial to the documentation. It has
    three sections:
    - State-changing calls (transactions), which covers all Gno message
    types
    - ABCI queries, which covers all currently available query types
    - Making an airgapped transaction, which shows how to use the sign &
    broadcast functionalities in gnokey
    
    [Current state of the
    PR](#2226 (comment))
    
    Closes: #2126 
    
    <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>
    
    ---------
    
    Co-authored-by: deelawn <[email protected]>
    Co-authored-by: Manfred Touron <[email protected]>
    3 people authored Sep 5, 2024
    Configuration menu
    Copy the full SHA
    fc51fc5 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2024

  1. feat(r/gnoland/pages): substitute /game-of-realms with /contribute pa…

    …ge (#2742)
    
    - Updating the gor gno.land webpage to focus on the contributor
    ecosystem
    - Complete overhaul of the page to include bounties, grants, and the
    revised GoR Notable Contribution game
    - Added the contributor profile
    - Added bounties information and process for participating
    - Added grants (TODO add new repo link)
    - Added notable contributions and updated GoR messaging
    
    ---------
    
    Co-authored-by: Morgan Bazalgette <[email protected]>
    Co-authored-by: Leon Hudak <[email protected]>
    Co-authored-by: Manfred Touron <[email protected]>
    4 people authored Sep 6, 2024
    Configuration menu
    Copy the full SHA
    d5015ab View commit details
    Browse the repository at this point in the history
  2. feat(tm2): implement custom encoding/json marshaler on crypto.Address (

    …#2756)
    
    Currently, on any `sdk.Message`, when doing a json.Marshal, the result
    look like:
    
    ```json
    {"amount": [{"denom": "ugnot", "amount": 10000000}], "to_address": [109, 116, 186, 231, 239, 107, 120, 148, 194, 146, 166, 150, 161, 244, 93, 201, 25, 61, 216, 223], "from_address": [70, 139, 48, 165, 116, 79, 88, 170, 84, 108, 231, 73, 227, 127, 127, 98, 252, 214, 167, 152]}
    ```
    
    Now it's returning
    
    ```json
    {"from_address":"g1g69npft5fav254rvuay7xlmlvt7ddfucgvx8xf","to_address":"g1d46t4el0dduffs5j56t2razaeyvnmkxlduduuw","amount":[{"denom":"ugnot","amount":10000000}]}
    ```
    
    This is already done for amino Marshalling, it's not for json.
    
    ---------
    
    Co-authored-by: Morgan Bazalgette <[email protected]>
    albttx and thehowl authored Sep 6, 2024
    Configuration menu
    Copy the full SHA
    9396400 View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. docs(gnokey): add more info on vm/qfile (#2770)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    ## Description
    
    This PR adds more info for the `vm/qfile` query.
    
    <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>
    leohhhn authored Sep 9, 2024
    Configuration menu
    Copy the full SHA
    68b8f54 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. fix(gnovm): correct type comparison for bool type (#2725)

    This closes #2719.
    
    copy from #2719:
    >#1890 introduced strict type
    comparison, which is the correct approach but overlooked the problem
    mentioned above, resulting in the comparison between bool and untyped
    bool. I will provide a fix soon.
    <!-- 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>
    ltzmaxwell authored Sep 11, 2024
    Configuration menu
    Copy the full SHA
    dd2d374 View commit details
    Browse the repository at this point in the history
  2. feat: adding support for arbitrary field (#2717)

    Related to this [PR](#1983) and
    [Manfred's
    idea](#1983 (comment)),
    this PR aims at adding possibility to add arbitrary field to profile.
    
    I keep the same fields list defined in the struct, they would be served
    as "standard/base" fields and all other arbitrary fields are considered
    as "extra".
    
    
    
    <!-- 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>
    
    ---------
    
    Signed-off-by: Norman Meier <[email protected]>
    Co-authored-by: Norman Meier <[email protected]>
    Co-authored-by: n0izn0iz <[email protected]>
    3 people authored Sep 11, 2024
    Configuration menu
    Copy the full SHA
    f04ec89 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. feat(p/demo/merkle): add constructor w/ getter for merkle.Node struct (

    …#2784)
    
    Hello,
    
    This pull request asks to modify the merkle tree package by adding a
    constructor for Node and add Position getter
    The reason is that in my usage, I receive a json string containing the
    merkle proofs that I transform into a merkle.Node struct, but since
    these fields are not exported and no constructor available, I can't do
    it.
    
    Example of the usage of modified pkg:
    
    ```go
    func ClaimJSON(airdropID uint64, proofsJSON string) {
    	nodes, err := json.Unmarshal([]byte(proofsJSON))
    	if err != nil {
    		panic("invalid json proofs")
    	}
    	vals := nodes.MustArray()
    	proofs := make([]merkle.Node, 0, len(vals))
    	for _, val := range vals {
    		obj := val.MustObject()
    		data, err := hex.DecodeString(obj["hash"].MustString())
    		if err != nil {
    			panic("invalid hex encoded hash")
    		}
                    node := merkle.NewNode(data, jsonutil.MustUint8(obj["pos"])
    		proofs = append(proofs, node)
    	}
    	Claim(airdropID, proofs)
    }
    ```
    
    P.S: I thought adding getter and constructor would avoid to break
    contract that already use this like the demo airdrop, it's why i prefer
    this method over exporting field from the struct
    
    -------------------------
    
    Related PRs:
    -
    https://github.com/TERITORI/teritori-dapp/pull/1263/files#diff-2f2cc68375778c01df63bbfb10c4d173f310e653f66e8cb3a4d2c400d1d18aa4
    
    <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>
    MikaelVallenet authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    30e4a59 View commit details
    Browse the repository at this point in the history
  2. feat(examples): add r/morgan/{home,guestbook} (#2345)

    I wanted a simple realm that allows any user to interact with it and see
    something happen. This is a guestbook realm; it allows anyone to leave a
    small message, which will be associated with their address.
    
    It also is a nice showcase of how to effectively do pagination with AVL
    trees. I don't think we have many such examples so far.
    thehowl authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    41e0085 View commit details
    Browse the repository at this point in the history
  3. fix(gnovm): count slice allocations before performing memory allocati…

    …ons (#2781)
    
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    This is to fix the first issue mentioned in #2738.
    
    In short, when allocating and reallocating slices' underlying arrays,
    the VM was building the `TypedValue` slice before making the necessary
    VM allocations. It is important the VM allocations be done before the
    `TypedValue` allocations to ensure the values being allocated won't
    exceed the VM's limit. In extreme cases, unchecked allocations resulted
    in the VM hanging as it tried to allocate massive `TypedValue` slices in
    the go runtime.
    <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>
    deelawn authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    d7407f5 View commit details
    Browse the repository at this point in the history
  4. test(gnoland): test content mismatch for addpkg.txtar (#2766)

    Updated the test content in `addpkg.txtar` test file to correctly align
    with its intended purpose. The test now reflects an addpkg scenario
    instead of only test call
    
    <!-- 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>
    linhpn99 authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    974dc43 View commit details
    Browse the repository at this point in the history
  5. test(gnovm): in eval_test, test all files in gnovm/tests subdirs (#2754)

    Changes the EvalFiles tests to support sub-directories in `gnovm/tests`,
    skipping the `extern` directory as it is used for imports.
    
    Other changes mostly concern not having tests where some output lines
    terminate with spaces:
    
    - Changed FuncValue.String, so that in case of a closure value the
    signature is printed, as shown in the `assign_unnamed_type` tests.
    - Require all directives to be on a new line (mostly for consistency
    with 99% of the testing corpus)
    - use commas in some places instead of spaces; use `;` for end of line
    on `Println` statements when they're supposed to print an empty string.
    - remove the leading space in the `what the firetruck?` tests.
    
    <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>
    thehowl authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    bde8afc View commit details
    Browse the repository at this point in the history
  6. docs(website): more info on /contribute (#2765)

    forgot these as part of #2742 
    
    <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>
    thehowl authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    8f800ec View commit details
    Browse the repository at this point in the history
  7. fix(gnovm): value decl loop (#2074)

    fixes [this](#1849) by splitting
    value declarations with multiple values into single declarations with a
    single value.
    
    <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
    
    ---------
    
    Co-authored-by: Morgan Bazalgette <[email protected]>
    petar-dambovaliev and thehowl authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    aa4bc99 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. chore: mark files generated from genstd as generated (#2785)

    <!-- 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>
    thehowl authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    5244f33 View commit details
    Browse the repository at this point in the history
  2. fix(p/int256): prevent negative zero (#2750)

    # Description
    
    - Added a check to prevent appending a minus sign to zero values. This
    ensures that "0" always returned for zero values.
    - Fix negative number handling in the Arithmetic function
    - Add divide by zero panic in `Div` function
    
    <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
    - [ ] 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>
    notJoon authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    1239f1d View commit details
    Browse the repository at this point in the history
  3. fix(grc20): remove unused interface, fix typo (#2793)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    ## Description
    
    This PR removes a duplicate, unused interface from the GRC20 package,
    and fixes a typo.
    
    <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>
    leohhhn authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    11d29a2 View commit details
    Browse the repository at this point in the history
  4. feat: update page_ecosystem.gno (#2702)

    New updates to ecosystem page
    
    - Added Gno Studio Connect
    - Added links to Flippando and Adena
    - Added Gno Native Kit
    
    ---------
    
    Co-authored-by: Leon Hudak <[email protected]>
    michelleellen and leohhhn authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    2390ec6 View commit details
    Browse the repository at this point in the history
  5. chore(deps): bump the actions group across 1 directory with 2 updates (

    …#2721)
    
    Bumps the actions group with 2 updates in the / directory:
    [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer)
    and [anchore/sbom-action](https://github.com/anchore/sbom-action).
    
    Updates `sigstore/cosign-installer` from 3.5.0 to 3.6.0
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/sigstore/cosign-installer/releases">sigstore/cosign-installer's
    releases</a>.</em></p>
    <blockquote>
    <h2>v3.6.0</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>Bump actions/checkout from 4.1.2 to 4.1.3 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/161">sigstore/cosign-installer#161</a></li>
    <li>Bump actions/checkout from 4.1.3 to 4.1.4 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/162">sigstore/cosign-installer#162</a></li>
    <li>Bump actions/setup-go from 5.0.0 to 5.0.1 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/163">sigstore/cosign-installer#163</a></li>
    <li>Bump actions/checkout from 4.1.4 to 4.1.5 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/164">sigstore/cosign-installer#164</a></li>
    <li>Bump actions/checkout from 4.1.5 to 4.1.6 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/165">sigstore/cosign-installer#165</a></li>
    <li>Bump actions/checkout from 4.1.6 to 4.1.7 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/166">sigstore/cosign-installer#166</a></li>
    <li>Bump actions/setup-go from 5.0.1 to 5.0.2 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/167">sigstore/cosign-installer#167</a></li>
    <li>pin public key used for verification by <a
    href="https://github.com/bobcallaway"><code>@​bobcallaway</code></a> in
    <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/169">sigstore/cosign-installer#169</a></li>
    <li>bump default version to v2.4.0 release by <a
    href="https://github.com/bobcallaway"><code>@​bobcallaway</code></a> in
    <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/168">sigstore/cosign-installer#168</a></li>
    <li>update readme for new release by <a
    href="https://github.com/bobcallaway"><code>@​bobcallaway</code></a> in
    <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/170">sigstore/cosign-installer#170</a></li>
    </ul>
    <p><strong>Full Changelog</strong>: <a
    href="https://github.com/sigstore/cosign-installer/compare/v3...v3.6.0">https://github.com/sigstore/cosign-installer/compare/v3...v3.6.0</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/4959ce089c160fddf62f7b42464195ba1a56d382"><code>4959ce0</code></a>
    update readme for new release (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/170">#170</a>)</li>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/45ffe83c0bb0b269973afccc717a6a81ee8e78c8"><code>45ffe83</code></a>
    bump default version to v2.4.0 release (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/168">#168</a>)</li>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/7e1d9c13192a1847221480cd6151d15e960669d9"><code>7e1d9c1</code></a>
    pin public key used for verification (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/169">#169</a>)</li>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/cc23fe1cf04164ea4c208611cf647a013c6f8cc5"><code>cc23fe1</code></a>
    Bump actions/setup-go from 5.0.1 to 5.0.2 (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/167">#167</a>)</li>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/b235ed95bef2a3cf9f8641bc537bc22c7cb9a3a8"><code>b235ed9</code></a>
    Bump actions/checkout from 4.1.6 to 4.1.7 (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/166">#166</a>)</li>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/b49ef6b125b98c2708965eeb167d89e86aa73ef6"><code>b49ef6b</code></a>
    Bump actions/checkout from 4.1.5 to 4.1.6 (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/165">#165</a>)</li>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/7a59e5acc8f2930fee8c2ed75a4f2faae6c329ce"><code>7a59e5a</code></a>
    Bump actions/checkout from 4.1.4 to 4.1.5 (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/164">#164</a>)</li>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/8d927bd1a9539c7d4b1d943b3e2c3404f69e6f48"><code>8d927bd</code></a>
    Bump actions/setup-go from 5.0.0 to 5.0.1 (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/163">#163</a>)</li>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/8c9caa0770665566557753619ac7be56d41f8896"><code>8c9caa0</code></a>
    Bump actions/checkout from 4.1.3 to 4.1.4 (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/162">#162</a>)</li>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/19351d009d6b451ccfef9ebbb5e31495dd176d24"><code>19351d0</code></a>
    Bump actions/checkout from 4.1.2 to 4.1.3 (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/161">#161</a>)</li>
    <li>See full diff in <a
    href="https://github.com/sigstore/cosign-installer/compare/v3.5.0...v3.6.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `anchore/sbom-action` from 0.17.0 to 0.17.2
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/anchore/sbom-action/releases">anchore/sbom-action's
    releases</a>.</em></p>
    <blockquote>
    <h2>v0.17.2</h2>
    <h2>Changes in v0.17.2</h2>
    <ul>
    <li>Update Syft to v1.11.1 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/485">#485</a>)
    [<a
    href="https://github.com/anchore-actions-token-generator">anchore-actions-token-generator</a>]</li>
    </ul>
    <h2>v0.17.1</h2>
    <h2>Changes in v0.17.1</h2>
    <ul>
    <li>chore(deps): update Syft to v1.11.0 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/483">#483</a>)
    [<a
    href="https://github.com/anchore-actions-token-generator">anchore-actions-token-generator</a>]</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/61119d458adab75f756bc0b9e4bde25725f86a7a"><code>61119d4</code></a>
    chore(deps): update Syft to v1.11.1 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/485">#485</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/ab9d16d4b419c9d1a02df5213fa0ebe965ca5a57"><code>ab9d16d</code></a>
    chore(deps): update Syft to v1.11.0 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/483">#483</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/fe5e7c313de46b71a0d4d583d46928af58e60b2e"><code>fe5e7c3</code></a>
    doc: Updates for the Slack to Discourse migration (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/484">#484</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/f2d02cbcc3489818621f2809e6cae4ce98b19c27"><code>f2d02cb</code></a>
    chore: Create issue template (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/481">#481</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/ca15f999af7d576cfe4ff5493c72b76be9f73424"><code>ca15f99</code></a>
    docs: CODE_OF_CONDUCT.md (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/480">#480</a>)</li>
    <li>See full diff in <a
    href="https://github.com/anchore/sbom-action/compare/v0.17.0...v0.17.2">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    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 <dependency name> major version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's major version (unless you unignore this specific
    dependency's major version or upgrade to it yourself)
    - `@dependabot ignore <dependency name> minor version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's minor version (unless you unignore this specific
    dependency's minor version or upgrade to it yourself)
    - `@dependabot ignore <dependency name>` will close this group update PR
    and stop Dependabot creating any more for the specific dependency
    (unless you unignore this specific dependency or upgrade to it yourself)
    - `@dependabot unignore <dependency name>` will remove all of the ignore
    conditions of the specified dependency
    - `@dependabot unignore <dependency name> <ignore condition>` will
    remove the ignore condition of the specified dependency and ignore
    conditions
    
    
    </details>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    0688c65 View commit details
    Browse the repository at this point in the history
  6. fix(gno.land): refine error message for addpkg operation (#2409)

    This PR introduces `PkgExistError` to replace `InvalidPkgPathError` for
    situations where a package already exists during the `addpkg` operation,
    enhancing clarity and specificity.
    ltzmaxwell authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    22ce48c View commit details
    Browse the repository at this point in the history
  7. fix(gnovm): support len and cap on pointer to array (#2709)

    # Description
    
    closes #2707
    
    The `GetLength()`, `GetCapacity()` method in `TypedValue` has been
    updated to handle pointer type.
    
    <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
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [x] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Morgan Bazalgette <[email protected]>
    notJoon and thehowl authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    2e56ecf View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. chore(deps): bump the everything-else group across 1 directory with 1…

    …7 updates (#2748)
    
    Bumps the everything-else group with 10 updates in the / directory:
    
    | Package | From | To |
    | --- | --- | --- |
    | [dario.cat/mergo](https://github.com/imdario/mergo) | `1.0.0` |
    `1.0.1` |
    | [github.com/btcsuite/btcd/btcutil](https://github.com/btcsuite/btcd) |
    `1.1.5` | `1.1.6` |
    | [github.com/rs/cors](https://github.com/rs/cors) | `1.11.0` | `1.11.1`
    |
    | [github.com/rs/xid](https://github.com/rs/xid) | `1.5.0` | `1.6.0` |
    | [go.etcd.io/bbolt](https://github.com/etcd-io/bbolt) | `1.3.10` |
    `1.3.11` |
    |
    [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go)
    | `1.28.0` | `1.29.0` |
    |
    [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://github.com/open-telemetry/opentelemetry-go)
    | `1.28.0` | `1.29.0` |
    |
    [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp](https://github.com/open-telemetry/opentelemetry-go)
    | `1.28.0` | `1.29.0` |
    | [golang.org/x/mod](https://github.com/golang/mod) | `0.19.0` |
    `0.20.0` |
    | [golang.org/x/tools](https://github.com/golang/tools) | `0.23.0` |
    `0.24.0` |
    
    
    Updates `dario.cat/mergo` from 1.0.0 to 1.0.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/imdario/mergo/releases">dario.cat/mergo's
    releases</a>.</em></p>
    <blockquote>
    <h2>v1.0.1</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>fixes issue <a
    href="https://redirect.github.com/imdario/mergo/issues/187">#187</a> by
    <a href="https://github.com/vsemichev"><code>@​vsemichev</code></a> in
    <a
    href="https://redirect.github.com/darccio/mergo/pull/253">darccio/mergo#253</a></li>
    <li>fix: <code>WithoutDereference</code> should respect non-nil struct
    pointers by <a
    href="https://github.com/joshkaplinsky"><code>@​joshkaplinsky</code></a>
    in <a
    href="https://redirect.github.com/darccio/mergo/pull/251">darccio/mergo#251</a></li>
    </ul>
    <h2>New Contributors</h2>
    <ul>
    <li><a href="https://github.com/vsemichev"><code>@​vsemichev</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/darccio/mergo/pull/253">darccio/mergo#253</a></li>
    <li><a
    href="https://github.com/joshkaplinsky"><code>@​joshkaplinsky</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/darccio/mergo/pull/251">darccio/mergo#251</a></li>
    </ul>
    <p><strong>Full Changelog</strong>: <a
    href="https://github.com/darccio/mergo/compare/v1.0.0...v1.0.1">https://github.com/darccio/mergo/compare/v1.0.0...v1.0.1</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/darccio/mergo/commit/59ea6a9cd9f9c60cb6b1c58476f76cd3172ccebf"><code>59ea6a9</code></a>
    Merge pull request <a
    href="https://redirect.github.com/imdario/mergo/issues/251">#251</a>
    from joshkaplinsky/joshkaplinsky/without-dereference-...</li>
    <li><a
    href="https://github.com/darccio/mergo/commit/96f24afa924ff3b6f024de9f5aa72020078b06f9"><code>96f24af</code></a>
    Merge pull request <a
    href="https://redirect.github.com/imdario/mergo/issues/253">#253</a>
    from vsemichev/master</li>
    <li><a
    href="https://github.com/darccio/mergo/commit/2f1a6156ce0c8b8a6291926b75bc27b9b8fc2bfe"><code>2f1a615</code></a>
    fixes issue <a
    href="https://redirect.github.com/imdario/mergo/issues/187">#187</a>.
    adds test to verify the fix.</li>
    <li><a
    href="https://github.com/darccio/mergo/commit/4da170b81eef59e84cfa68070a73aea40f98ddbd"><code>4da170b</code></a>
    fixes issue <a
    href="https://redirect.github.com/imdario/mergo/issues/187">#187</a>.
    attempt <a
    href="https://redirect.github.com/imdario/mergo/issues/3">#3</a></li>
    <li><a
    href="https://github.com/darccio/mergo/commit/a13a1175be733af04b175c9fe616f594c5e8dfa9"><code>a13a117</code></a>
    fixes issue <a
    href="https://redirect.github.com/imdario/mergo/issues/187">#187</a>.
    attempt <a
    href="https://redirect.github.com/imdario/mergo/issues/2">#2</a></li>
    <li><a
    href="https://github.com/darccio/mergo/commit/6b830ffc3df09a6f22aafd7dfbf5f02d0da2ee22"><code>6b830ff</code></a>
    fixes issue <a
    href="https://redirect.github.com/imdario/mergo/issues/187">#187</a></li>
    <li><a
    href="https://github.com/darccio/mergo/commit/f33862a52373a787536aff7428212ce0ecb0cac0"><code>f33862a</code></a>
    WithoutDereference should respect structs</li>
    <li><a
    href="https://github.com/darccio/mergo/commit/cde9f0ea26cccb1168ee3900cf8ca457bb928c3c"><code>cde9f0e</code></a>
    Merge pull request <a
    href="https://redirect.github.com/imdario/mergo/issues/246">#246</a>
    from darccio/darccio/v1-frozen</li>
    <li><a
    href="https://github.com/darccio/mergo/commit/f1e2fe566a09b85177236eea3f03fc5dab009edc"><code>f1e2fe5</code></a>
    chore: frozen v1</li>
    <li><a
    href="https://github.com/darccio/mergo/commit/7f7b4afa33c905820aa75c473f3f13321dd499b5"><code>7f7b4af</code></a>
    Update FUNDING.yml</li>
    <li>Additional commits viewable in <a
    href="https://github.com/imdario/mergo/compare/v1.0.0...v1.0.1">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `github.com/btcsuite/btcd/btcutil` from 1.1.5 to 1.1.6
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/bda7977a9abc4a27e5c089389f60e5d5117b5433"><code>bda7977</code></a>
    Merge pull request <a
    href="https://redirect.github.com/btcsuite/btcd/issues/2235">#2235</a>
    from AlexsandroRyan/pkg-update-checkmarx-cve</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/913f95b2b258afac7b0139c4a1bef9f7e3c5bddc"><code>913f95b</code></a>
    Updated github.com/btcsuite/btcd to address CVE-2024-34478</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/97400aa23ec3ebc94673c7ce37d14a26b60be9ec"><code>97400aa</code></a>
    Merge pull request <a
    href="https://redirect.github.com/btcsuite/btcd/issues/2225">#2225</a>
    from Crypt-iQ/statusbytes_08062024</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/3eda1a58a24336c4c1aabe953f84b32a03da62cb"><code>3eda1a5</code></a>
    blockchain: copy utxo status bytes to avoid UB</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/b161cd6a199b4e35acec66afc5aad221f05fe1e3"><code>b161cd6</code></a>
    Merge pull request <a
    href="https://redirect.github.com/btcsuite/btcd/issues/2218">#2218</a>
    from guggero/btcec-fix</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/cefeeaa6b6a3d950eff894814e8a45adc898a0f8"><code>cefeeaa</code></a>
    mod+rpcserver: bump to latest version of btcec</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/ff2e03e11233fa25c01cf4acbf76501fc008b31f"><code>ff2e03e</code></a>
    chore: fix some comments for struct field (<a
    href="https://redirect.github.com/btcsuite/btcd/issues/2214">#2214</a>)</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/2134387ba8ff6d33d90afba285c5f0d52f3a0f6b"><code>2134387</code></a>
    Merge pull request <a
    href="https://redirect.github.com/btcsuite/btcd/issues/2208">#2208</a>
    from kcalvinalvin/2024-07-01-close-blockfiles</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/e5d15fddb9c486dfe382bc95dc38d2fd247813bf"><code>e5d15fd</code></a>
    btcec/ecdsa: remove error return value for SignCompact (<a
    href="https://redirect.github.com/btcsuite/btcd/issues/2211">#2211</a>)</li>
    <li><a
    href="https://github.com/btcsuite/btcd/commit/c9fae1ac7cca6e6d55baec913286e483e28923a9"><code>c9fae1a</code></a>
    ffldb: close block files before deleting them</li>
    <li>Additional commits viewable in <a
    href="https://github.com/btcsuite/btcd/compare/btcutil/v1.1.5...btcutil/v1.1.6">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `github.com/rs/cors` from 1.11.0 to 1.11.1
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/rs/cors/commit/a814d7990a5449fcc211a536119d271469cc4157"><code>a814d79</code></a>
    Re-add support for multiple Access-Control-Request-Headers field (fixes
    <a
    href="https://redirect.github.com/rs/cors/issues/184">#184</a>)...</li>
    <li><a
    href="https://github.com/rs/cors/commit/1562b1715b353146f279ff7d445b7412e0f1a842"><code>1562b17</code></a>
    Removed redundant log nil checks (<a
    href="https://redirect.github.com/rs/cors/issues/178">#178</a>)</li>
    <li><a
    href="https://github.com/rs/cors/commit/3d336ea9b505046d343dfb14f09f19fad17673b4"><code>3d336ea</code></a>
    Update all dependencies to latest in examples (<a
    href="https://redirect.github.com/rs/cors/issues/175">#175</a>)</li>
    <li><a
    href="https://github.com/rs/cors/commit/85fc0cac7b03634b6bcf9686f0283858b427d484"><code>85fc0ca</code></a>
    Make Gin wrapper's status configurable and use 204 as default (fixes <a
    href="https://redirect.github.com/rs/cors/issues/145">#145</a>)
    (#...</li>
    <li>See full diff in <a
    href="https://github.com/rs/cors/compare/v1.11.0...v1.11.1">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `github.com/rs/xid` from 1.5.0 to 1.6.0
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/rs/xid/commit/7aed5a87c88ebb644e4e6d077f58147ac42f03b9"><code>7aed5a8</code></a>
    Fix UUID for Darwin hosts (<a
    href="https://redirect.github.com/rs/xid/issues/103">#103</a>)</li>
    <li><a
    href="https://github.com/rs/xid/commit/9d8d29f190786964cf2722e8e4d5c28c754b79ba"><code>9d8d29f</code></a>
    chore(readme): add gleam xid port (<a
    href="https://redirect.github.com/rs/xid/issues/101">#101</a>)</li>
    <li><a
    href="https://github.com/rs/xid/commit/c08f146a206e1999e4c7f2e73987fbaabfbfc7a4"><code>c08f146</code></a>
    Update README.md (<a
    href="https://redirect.github.com/rs/xid/issues/99">#99</a>)</li>
    <li><a
    href="https://github.com/rs/xid/commit/aa67b0c86a8afa78f6fca7a3111d33fef696f90f"><code>aa67b0c</code></a>
    Add a Typescript implementation to docs (<a
    href="https://redirect.github.com/rs/xid/issues/98">#98</a>) (<a
    href="https://redirect.github.com/rs/xid/issues/98">#98</a>)</li>
    <li><a
    href="https://github.com/rs/xid/commit/08be0c9071c0c3cf46e129a5750e3738b2f10d64"><code>08be0c9</code></a>
    Two encoding-related cleanups (<a
    href="https://redirect.github.com/rs/xid/issues/82">#82</a>)</li>
    <li><a
    href="https://github.com/rs/xid/commit/48733d464b58a6ec380621f37e0471aec0475627"><code>48733d4</code></a>
    clarified used encoding --&gt; base32hex (<a
    href="https://redirect.github.com/rs/xid/issues/95">#95</a>)</li>
    <li>See full diff in <a
    href="https://github.com/rs/xid/compare/v1.5.0...v1.6.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `go.etcd.io/bbolt` from 1.3.10 to 1.3.11
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/etcd-io/bbolt/releases">go.etcd.io/bbolt's
    releases</a>.</em></p>
    <blockquote>
    <h2>v1.3.11</h2>
    <p>See the <a
    href="https://github.com/etcd-io/bbolt/blob/main/CHANGELOG/CHANGELOG-1.3.md#v13112024-08-21">CHANGELOG/v1.3.11</a>
    for more details.</p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/d128a10000a9d394686cf45be262a4fe966b03c4"><code>d128a10</code></a>
    Merge pull request <a
    href="https://redirect.github.com/etcd-io/bbolt/issues/823">#823</a>
    from ahrtr/rollback_alloc_20240819_1.3</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/94db72d652120eb0e2361f55c436333644c8c658"><code>94db72d</code></a>
    Rollback alloc map: remove all page ids which are allocated by the
    txid</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/8c9b349866bda3ae448c6a196ee40ca23ed1ecdc"><code>8c9b349</code></a>
    Merge pull request <a
    href="https://redirect.github.com/etcd-io/bbolt/issues/822">#822</a>
    from henrybear327/1.3_go/1.22.0</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/6a0b720300507653dc33175fef934ce264f5ad68"><code>6a0b720</code></a>
    Fix linter reported issues</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/2104bc90f3a3516b1e29180d026a6bd59ff80282"><code>2104bc9</code></a>
    Update golangci-lint to v1.60.1</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/9374ef94d3954a3fbc66dff19012b4097ca54b2d"><code>9374ef9</code></a>
    Bump go toolchain to 1.22.6</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/01f29e9e9cb650796fa626c5c9a6444f65064e52"><code>01f29e9</code></a>
    Merge pull request <a
    href="https://redirect.github.com/etcd-io/bbolt/issues/817">#817</a>
    from fuweid/13-backport-49eb212fa8ab67709ea460df01982...</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/99078466bb2849618c59b73fb6e72efbb57a8258"><code>9907846</code></a>
    tests/robustness: switch to kill if no panic after 10sec</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/1b38fb35d556bfdb465aeed7120b0ee4757363dc"><code>1b38fb3</code></a>
    Merge pull request <a
    href="https://redirect.github.com/etcd-io/bbolt/issues/816">#816</a>
    from fuweid/13-failpoint-backport</li>
    <li><a
    href="https://github.com/etcd-io/bbolt/commit/70ab151d75dbf4411ee6ee99c9aeeef278dbc846"><code>70ab151</code></a>
    Add basic XFS powerfailure tests</li>
    <li>Additional commits viewable in <a
    href="https://github.com/etcd-io/bbolt/compare/v1.3.10...v1.3.11">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `go.opentelemetry.io/otel` from 1.28.0 to 1.29.0
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel's
    changelog</a>.</em></p>
    <blockquote>
    <h2>[1.29.0/0.51.0/0.5.0] 2024-08-23</h2>
    <p>This release is the last to support [Go 1.21].
    The next release will require at least [Go 1.22].</p>
    <h3>Added</h3>
    <ul>
    <li>Add MacOS ARM64 platform to the compatibility testing suite. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5577">#5577</a>)</li>
    <li>Add <code>InstrumentationScope</code> field to <code>SpanStub</code>
    in <code>go.opentelemetry.io/otel/sdk/trace/tracetest</code>, as a
    replacement for the deprecated <code>InstrumentationLibrary</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5627">#5627</a>)</li>
    <li>Make the initial release of
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
    This new module contains an OTLP exporter that transmits log telemetry
    using gRPC.
    This module is unstable and breaking changes may be introduced.
    See our <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">versioning
    policy</a> for more information about these stability guarantees. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5629">#5629</a>)</li>
    <li>Add <code>Walk</code> function to <code>TraceState</code> in
    <code>go.opentelemetry.io/otel/trace</code> to iterate all the key-value
    pairs. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li>Bridge the trace state in
    <code>go.opentelemetry.io/otel/bridge/opencensus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li>Zero value of <code>SimpleProcessor</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> no longer panics. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5665">#5665</a>)</li>
    <li>The <code>FilterProcessor</code> interface type is added in
    <code>go.opentelemetry.io/otel/sdk/log/internal/x</code>.
    This is an optional and experimental interface that log
    <code>Processor</code>s can implement to instruct the
    <code>Logger</code> if a <code>Record</code> will be processed or not.
    It replaces the existing <code>Enabled</code> method that is removed
    from the <code>Processor</code> interface itself.
    It does not fall within the scope of the OpenTelemetry Go versioning and
    stability <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">policy</a>
    and it may be changed in backwards incompatible ways or removed in
    feature releases. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5692">#5692</a>)</li>
    <li>Support [Go 1.23]. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5720">#5720</a>)</li>
    </ul>
    <h3>Changed</h3>
    <ul>
    <li><code>NewMemberRaw</code>, <code>NewKeyProperty</code> and
    <code>NewKeyValuePropertyRaw</code> in
    <code>go.opentelemetry.io/otel/baggage</code> allow UTF-8 string in key.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5132">#5132</a>)</li>
    <li><code>Processor.OnEmit</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> now accepts a pointer to
    <code>Record</code> instead of a value so that the record modifications
    done in a processor are propagated to subsequent registered processors.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5636">#5636</a>)</li>
    <li><code>SimpleProcessor.Enabled</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> now returns
    <code>false</code> if the exporter is <code>nil</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5665">#5665</a>)</li>
    <li>Update the concurrency requirements of <code>Exporter</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5666">#5666</a>)</li>
    <li><code>SimpleProcessor</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> synchronizes
    <code>OnEmit</code> calls. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5666">#5666</a>)</li>
    <li>The <code>Processor</code> interface in
    <code>go.opentelemetry.io/otel/sdk/log</code> no longer includes the
    <code>Enabled</code> method.
    See the <code>FilterProcessor</code> interface type added in
    <code>go.opentelemetry.io/otel/sdk/log/internal/x</code> to continue
    providing this functionality. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5692">#5692</a>)</li>
    <li>The <code>SimpleProcessor</code> type in
    <code>go.opentelemetry.io/otel/sdk/log</code> is no longer comparable.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5693">#5693</a>)</li>
    <li>The <code>BatchProcessor</code> type in
    <code>go.opentelemetry.io/otel/sdk/log</code> is no longer comparable.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5693">#5693</a>)</li>
    </ul>
    <h3>Fixed</h3>
    <ul>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5584">#5584</a>)</li>
    <li>Pass the underlying error rather than a generic retry-able failure
    in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5541">#5541</a>)</li>
    <li>Correct the <code>Tracer</code>, <code>Meter</code>, and
    <code>Logger</code> names used in
    <code>go.opentelemetry.io/otel/example/dice</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/namedtracer</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> name used in
    <code>go.opentelemetry.io/otel/example/opencensus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> and <code>Meter</code> names used in
    <code>go.opentelemetry.io/otel/example/otel-collector</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/passthrough</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Meter</code> name used in
    <code>go.opentelemetry.io/otel/example/prometheus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/zipkin</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5641">#5641</a>)</li>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5650">#5650</a>)</li>
    <li>Stop percent encoding header environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5705">#5705</a>)</li>
    <li>Remove invalid environment variable header keys in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5705">#5705</a>)</li>
    </ul>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/6b1d94f21c0a76ba96f3cdb10fdbc5c110070e1d"><code>6b1d94f</code></a>
    Release v1.29.0/v0.51.0/v0.5.0 (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5732">#5732</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/2a54df7bffb9d66a564064a1192289b43b1fa89e"><code>2a54df7</code></a>
    fix(deps): update module github.com/golangci/golangci-lint to v1.60.3
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5730">#5730</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/4875735fd8070ee20d838f3bc4aef85e3478afc5"><code>4875735</code></a>
    fix(deps): update module github.com/golangci/golangci-lint to v1.60.2
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5711">#5711</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/30fc4074ec781e35e33e93e0ba486af70ff261af"><code>30fc407</code></a>
    fix(deps): update golang.org/x/exp digest to 9b4947d (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5729">#5729</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/9402143b51d74d9fcb818eeb28253ffca8af0d02"><code>9402143</code></a>
    fix(deps): update golang.org/x/exp digest to 778ce7b (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5728">#5728</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/bc48d69cc70823154d9871131df0bbffe72be075"><code>bc48d69</code></a>
    chore(deps): update google.golang.org/genproto/googleapis/rpc digest to
    fc7c0...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/fe02ce73e05bfb95b5ea35afa24e8eb228808de0"><code>fe02ce7</code></a>
    chore(deps): update google.golang.org/genproto/googleapis/api digest to
    fc7c0...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/002c0a4c0352a56ebebc13f3ec20f73c23b348f6"><code>002c0a4</code></a>
    Move <code>log.Processor.Enabled</code> to independent
    <code>FilterProcessor</code> interfaced type...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/fe6c67e7e9b408d7f1e05356e4ccafadf0475b10"><code>fe6c67e</code></a>
    OpenCensus bridge to support TraceState (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/83ae9bd0e338d6899a61d270ac398e51e154f009"><code>83ae9bd</code></a>
    Bugfix: OTLP exporters should not percent decode the key when parsing
    HEADERS...</li>
    <li>Additional commits viewable in <a
    href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.28.0...v1.29.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates
    `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` from
    1.28.0 to 1.29.0
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc's
    changelog</a>.</em></p>
    <blockquote>
    <h2>[1.29.0/0.51.0/0.5.0] 2024-08-23</h2>
    <p>This release is the last to support [Go 1.21].
    The next release will require at least [Go 1.22].</p>
    <h3>Added</h3>
    <ul>
    <li>Add MacOS ARM64 platform to the compatibility testing suite. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5577">#5577</a>)</li>
    <li>Add <code>InstrumentationScope</code> field to <code>SpanStub</code>
    in <code>go.opentelemetry.io/otel/sdk/trace/tracetest</code>, as a
    replacement for the deprecated <code>InstrumentationLibrary</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5627">#5627</a>)</li>
    <li>Make the initial release of
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
    This new module contains an OTLP exporter that transmits log telemetry
    using gRPC.
    This module is unstable and breaking changes may be introduced.
    See our <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">versioning
    policy</a> for more information about these stability guarantees. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5629">#5629</a>)</li>
    <li>Add <code>Walk</code> function to <code>TraceState</code> in
    <code>go.opentelemetry.io/otel/trace</code> to iterate all the key-value
    pairs. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li>Bridge the trace state in
    <code>go.opentelemetry.io/otel/bridge/opencensus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li>Zero value of <code>SimpleProcessor</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> no longer panics. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5665">#5665</a>)</li>
    <li>The <code>FilterProcessor</code> interface type is added in
    <code>go.opentelemetry.io/otel/sdk/log/internal/x</code>.
    This is an optional and experimental interface that log
    <code>Processor</code>s can implement to instruct the
    <code>Logger</code> if a <code>Record</code> will be processed or not.
    It replaces the existing <code>Enabled</code> method that is removed
    from the <code>Processor</code> interface itself.
    It does not fall within the scope of the OpenTelemetry Go versioning and
    stability <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">policy</a>
    and it may be changed in backwards incompatible ways or removed in
    feature releases. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5692">#5692</a>)</li>
    <li>Support [Go 1.23]. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5720">#5720</a>)</li>
    </ul>
    <h3>Changed</h3>
    <ul>
    <li><code>NewMemberRaw</code>, <code>NewKeyProperty</code> and
    <code>NewKeyValuePropertyRaw</code> in
    <code>go.opentelemetry.io/otel/baggage</code> allow UTF-8 string in key.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5132">#5132</a>)</li>
    <li><code>Processor.OnEmit</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> now accepts a pointer to
    <code>Record</code> instead of a value so that the record modifications
    done in a processor are propagated to subsequent registered processors.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5636">#5636</a>)</li>
    <li><code>SimpleProcessor.Enabled</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> now returns
    <code>false</code> if the exporter is <code>nil</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5665">#5665</a>)</li>
    <li>Update the concurrency requirements of <code>Exporter</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5666">#5666</a>)</li>
    <li><code>SimpleProcessor</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> synchronizes
    <code>OnEmit</code> calls. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5666">#5666</a>)</li>
    <li>The <code>Processor</code> interface in
    <code>go.opentelemetry.io/otel/sdk/log</code> no longer includes the
    <code>Enabled</code> method.
    See the <code>FilterProcessor</code> interface type added in
    <code>go.opentelemetry.io/otel/sdk/log/internal/x</code> to continue
    providing this functionality. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5692">#5692</a>)</li>
    <li>The <code>SimpleProcessor</code> type in
    <code>go.opentelemetry.io/otel/sdk/log</code> is no longer comparable.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5693">#5693</a>)</li>
    <li>The <code>BatchProcessor</code> type in
    <code>go.opentelemetry.io/otel/sdk/log</code> is no longer comparable.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5693">#5693</a>)</li>
    </ul>
    <h3>Fixed</h3>
    <ul>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5584">#5584</a>)</li>
    <li>Pass the underlying error rather than a generic retry-able failure
    in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5541">#5541</a>)</li>
    <li>Correct the <code>Tracer</code>, <code>Meter</code>, and
    <code>Logger</code> names used in
    <code>go.opentelemetry.io/otel/example/dice</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/namedtracer</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> name used in
    <code>go.opentelemetry.io/otel/example/opencensus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> and <code>Meter</code> names used in
    <code>go.opentelemetry.io/otel/example/otel-collector</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/passthrough</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Meter</code> name used in
    <code>go.opentelemetry.io/otel/example/prometheus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/zipkin</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5641">#5641</a>)</li>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5650">#5650</a>)</li>
    <li>Stop percent encoding header environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5705">#5705</a>)</li>
    <li>Remove invalid environment variable header keys in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5705">#5705</a>)</li>
    </ul>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/6b1d94f21c0a76ba96f3cdb10fdbc5c110070e1d"><code>6b1d94f</code></a>
    Release v1.29.0/v0.51.0/v0.5.0 (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5732">#5732</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/2a54df7bffb9d66a564064a1192289b43b1fa89e"><code>2a54df7</code></a>
    fix(deps): update module github.com/golangci/golangci-lint to v1.60.3
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5730">#5730</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/4875735fd8070ee20d838f3bc4aef85e3478afc5"><code>4875735</code></a>
    fix(deps): update module github.com/golangci/golangci-lint to v1.60.2
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5711">#5711</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/30fc4074ec781e35e33e93e0ba486af70ff261af"><code>30fc407</code></a>
    fix(deps): update golang.org/x/exp digest to 9b4947d (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5729">#5729</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/9402143b51d74d9fcb818eeb28253ffca8af0d02"><code>9402143</code></a>
    fix(deps): update golang.org/x/exp digest to 778ce7b (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5728">#5728</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/bc48d69cc70823154d9871131df0bbffe72be075"><code>bc48d69</code></a>
    chore(deps): update google.golang.org/genproto/googleapis/rpc digest to
    fc7c0...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/fe02ce73e05bfb95b5ea35afa24e8eb228808de0"><code>fe02ce7</code></a>
    chore(deps): update google.golang.org/genproto/googleapis/api digest to
    fc7c0...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/002c0a4c0352a56ebebc13f3ec20f73c23b348f6"><code>002c0a4</code></a>
    Move <code>log.Processor.Enabled</code> to independent
    <code>FilterProcessor</code> interfaced type...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/fe6c67e7e9b408d7f1e05356e4ccafadf0475b10"><code>fe6c67e</code></a>
    OpenCensus bridge to support TraceState (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/83ae9bd0e338d6899a61d270ac398e51e154f009"><code>83ae9bd</code></a>
    Bugfix: OTLP exporters should not percent decode the key when parsing
    HEADERS...</li>
    <li>Additional commits viewable in <a
    href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.28.0...v1.29.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates
    `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` from
    1.28.0 to 1.29.0
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp's
    changelog</a>.</em></p>
    <blockquote>
    <h2>[1.29.0/0.51.0/0.5.0] 2024-08-23</h2>
    <p>This release is the last to support [Go 1.21].
    The next release will require at least [Go 1.22].</p>
    <h3>Added</h3>
    <ul>
    <li>Add MacOS ARM64 platform to the compatibility testing suite. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5577">#5577</a>)</li>
    <li>Add <code>InstrumentationScope</code> field to <code>SpanStub</code>
    in <code>go.opentelemetry.io/otel/sdk/trace/tracetest</code>, as a
    replacement for the deprecated <code>InstrumentationLibrary</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5627">#5627</a>)</li>
    <li>Make the initial release of
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
    This new module contains an OTLP exporter that transmits log telemetry
    using gRPC.
    This module is unstable and breaking changes may be introduced.
    See our <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">versioning
    policy</a> for more information about these stability guarantees. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5629">#5629</a>)</li>
    <li>Add <code>Walk</code> function to <code>TraceState</code> in
    <code>go.opentelemetry.io/otel/trace</code> to iterate all the key-value
    pairs. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li>Bridge the trace state in
    <code>go.opentelemetry.io/otel/bridge/opencensus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li>Zero value of <code>SimpleProcessor</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> no longer panics. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5665">#5665</a>)</li>
    <li>The <code>FilterProcessor</code> interface type is added in
    <code>go.opentelemetry.io/otel/sdk/log/internal/x</code>.
    This is an optional and experimental interface that log
    <code>Processor</code>s can implement to instruct the
    <code>Logger</code> if a <code>Record</code> will be processed or not.
    It replaces the existing <code>Enabled</code> method that is removed
    from the <code>Processor</code> interface itself.
    It does not fall within the scope of the OpenTelemetry Go versioning and
    stability <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">policy</a>
    and it may be changed in backwards incompatible ways or removed in
    feature releases. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5692">#5692</a>)</li>
    <li>Support [Go 1.23]. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5720">#5720</a>)</li>
    </ul>
    <h3>Changed</h3>
    <ul>
    <li><code>NewMemberRaw</code>, <code>NewKeyProperty</code> and
    <code>NewKeyValuePropertyRaw</code> in
    <code>go.opentelemetry.io/otel/baggage</code> allow UTF-8 string in key.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5132">#5132</a>)</li>
    <li><code>Processor.OnEmit</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> now accepts a pointer to
    <code>Record</code> instead of a value so that the record modifications
    done in a processor are propagated to subsequent registered processors.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5636">#5636</a>)</li>
    <li><code>SimpleProcessor.Enabled</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> now returns
    <code>false</code> if the exporter is <code>nil</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5665">#5665</a>)</li>
    <li>Update the concurrency requirements of <code>Exporter</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5666">#5666</a>)</li>
    <li><code>SimpleProcessor</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> synchronizes
    <code>OnEmit</code> calls. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5666">#5666</a>)</li>
    <li>The <code>Processor</code> interface in
    <code>go.opentelemetry.io/otel/sdk/log</code> no longer includes the
    <code>Enabled</code> method.
    See the <code>FilterProcessor</code> interface type added in
    <code>go.opentelemetry.io/otel/sdk/log/internal/x</code> to continue
    providing this functionality. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5692">#5692</a>)</li>
    <li>The <code>SimpleProcessor</code> type in
    <code>go.opentelemetry.io/otel/sdk/log</code> is no longer comparable.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5693">#5693</a>)</li>
    <li>The <code>BatchProcessor</code> type in
    <code>go.opentelemetry.io/otel/sdk/log</code> is no longer comparable.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5693">#5693</a>)</li>
    </ul>
    <h3>Fixed</h3>
    <ul>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5584">#5584</a>)</li>
    <li>Pass the underlying error rather than a generic retry-able failure
    in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5541">#5541</a>)</li>
    <li>Correct the <code>Tracer</code>, <code>Meter</code>, and
    <code>Logger</code> names used in
    <code>go.opentelemetry.io/otel/example/dice</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/namedtracer</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> name used in
    <code>go.opentelemetry.io/otel/example/opencensus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> and <code>Meter</code> names used in
    <code>go.opentelemetry.io/otel/example/otel-collector</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/passthrough</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Meter</code> name used in
    <code>go.opentelemetry.io/otel/example/prometheus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/zipkin</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5641">#5641</a>)</li>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5650">#5650</a>)</li>
    <li>Stop percent encoding header environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5705">#5705</a>)</li>
    <li>Remove invalid environment variable header keys in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5705">#5705</a>)</li>
    </ul>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/6b1d94f21c0a76ba96f3cdb10fdbc5c110070e1d"><code>6b1d94f</code></a>
    Release v1.29.0/v0.51.0/v0.5.0 (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5732">#5732</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/2a54df7bffb9d66a564064a1192289b43b1fa89e"><code>2a54df7</code></a>
    fix(deps): update module github.com/golangci/golangci-lint to v1.60.3
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5730">#5730</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/4875735fd8070ee20d838f3bc4aef85e3478afc5"><code>4875735</code></a>
    fix(deps): update module github.com/golangci/golangci-lint to v1.60.2
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5711">#5711</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/30fc4074ec781e35e33e93e0ba486af70ff261af"><code>30fc407</code></a>
    fix(deps): update golang.org/x/exp digest to 9b4947d (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5729">#5729</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/9402143b51d74d9fcb818eeb28253ffca8af0d02"><code>9402143</code></a>
    fix(deps): update golang.org/x/exp digest to 778ce7b (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5728">#5728</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/bc48d69cc70823154d9871131df0bbffe72be075"><code>bc48d69</code></a>
    chore(deps): update google.golang.org/genproto/googleapis/rpc digest to
    fc7c0...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/fe02ce73e05bfb95b5ea35afa24e8eb228808de0"><code>fe02ce7</code></a>
    chore(deps): update google.golang.org/genproto/googleapis/api digest to
    fc7c0...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/002c0a4c0352a56ebebc13f3ec20f73c23b348f6"><code>002c0a4</code></a>
    Move <code>log.Processor.Enabled</code> to independent
    <code>FilterProcessor</code> interfaced type...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/fe6c67e7e9b408d7f1e05356e4ccafadf0475b10"><code>fe6c67e</code></a>
    OpenCensus bridge to support TraceState (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/83ae9bd0e338d6899a61d270ac398e51e154f009"><code>83ae9bd</code></a>
    Bugfix: OTLP exporters should not percent decode the key when parsing
    HEADERS...</li>
    <li>Additional commits viewable in <a
    href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.28.0...v1.29.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `go.opentelemetry.io/otel/metric` from 1.28.0 to 1.29.0
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/metric's
    changelog</a>.</em></p>
    <blockquote>
    <h2>[1.29.0/0.51.0/0.5.0] 2024-08-23</h2>
    <p>This release is the last to support [Go 1.21].
    The next release will require at least [Go 1.22].</p>
    <h3>Added</h3>
    <ul>
    <li>Add MacOS ARM64 platform to the compatibility testing suite. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5577">#5577</a>)</li>
    <li>Add <code>InstrumentationScope</code> field to <code>SpanStub</code>
    in <code>go.opentelemetry.io/otel/sdk/trace/tracetest</code>, as a
    replacement for the deprecated <code>InstrumentationLibrary</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5627">#5627</a>)</li>
    <li>Make the initial release of
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
    This new module contains an OTLP exporter that transmits log telemetry
    using gRPC.
    This module is unstable and breaking changes may be introduced.
    See our <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">versioning
    policy</a> for more information about these stability guarantees. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5629">#5629</a>)</li>
    <li>Add <code>Walk</code> function to <code>TraceState</code> in
    <code>go.opentelemetry.io/otel/trace</code> to iterate all the key-value
    pairs. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li>Bridge the trace state in
    <code>go.opentelemetry.io/otel/bridge/opencensus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li>Zero value of <code>SimpleProcessor</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> no longer panics. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5665">#5665</a>)</li>
    <li>The <code>FilterProcessor</code> interface type is added in
    <code>go.opentelemetry.io/otel/sdk/log/internal/x</code>.
    This is an optional and experimental interface that log
    <code>Processor</code>s can implement to instruct the
    <code>Logger</code> if a <code>Record</code> will be processed or not.
    It replaces the existing <code>Enabled</code> method that is removed
    from the <code>Processor</code> interface itself.
    It does not fall within the scope of the OpenTelemetry Go versioning and
    stability <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">policy</a>
    and it may be changed in backwards incompatible ways or removed in
    feature releases. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5692">#5692</a>)</li>
    <li>Support [Go 1.23]. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5720">#5720</a>)</li>
    </ul>
    <h3>Changed</h3>
    <ul>
    <li><code>NewMemberRaw</code>, <code>NewKeyProperty</code> and
    <code>NewKeyValuePropertyRaw</code> in
    <code>go.opentelemetry.io/otel/baggage</code> allow UTF-8 string in key.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5132">#5132</a>)</li>
    <li><code>Processor.OnEmit</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> now accepts a pointer to
    <code>Record</code> instead of a value so that the record modifications
    done in a processor are propagated to subsequent registered processors.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5636">#5636</a>)</li>
    <li><code>SimpleProcessor.Enabled</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> now returns
    <code>false</code> if the exporter is <code>nil</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5665">#5665</a>)</li>
    <li>Update the concurrency requirements of <code>Exporter</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5666">#5666</a>)</li>
    <li><code>SimpleProcessor</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> synchronizes
    <code>OnEmit</code> calls. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5666">#5666</a>)</li>
    <li>The <code>Processor</code> interface in
    <code>go.opentelemetry.io/otel/sdk/log</code> no longer includes the
    <code>Enabled</code> method.
    See the <code>FilterProcessor</code> interface type added in
    <code>go.opentelemetry.io/otel/sdk/log/internal/x</code> to continue
    providing this functionality. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5692">#5692</a>)</li>
    <li>The <code>SimpleProcessor</code> type in
    <code>go.opentelemetry.io/otel/sdk/log</code> is no longer comparable.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5693">#5693</a>)</li>
    <li>The <code>BatchProcessor</code> type in
    <code>go.opentelemetry.io/otel/sdk/log</code> is no longer comparable.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5693">#5693</a>)</li>
    </ul>
    <h3>Fixed</h3>
    <ul>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5584">#5584</a>)</li>
    <li>Pass the underlying error rather than a generic retry-able failure
    in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5541">#5541</a>)</li>
    <li>Correct the <code>Tracer</code>, <code>Meter</code>, and
    <code>Logger</code> names used in
    <code>go.opentelemetry.io/otel/example/dice</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/namedtracer</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> name used in
    <code>go.opentelemetry.io/otel/example/opencensus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> and <code>Meter</code> names used in
    <code>go.opentelemetry.io/otel/example/otel-collector</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/passthrough</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Meter</code> name used in
    <code>go.opentelemetry.io/otel/example/prometheus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct the <code>Tracer</code> names used in
    <code>go.opentelemetry.io/otel/example/zipkin</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5612">#5612</a>)</li>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5641">#5641</a>)</li>
    <li>Correct comments for the priority of the <code>WithEndpoint</code>
    and <code>WithEndpointURL</code> options and their corresponding
    environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5650">#5650</a>)</li>
    <li>Stop percent encoding header environment variables in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5705">#5705</a>)</li>
    <li>Remove invalid environment variable header keys in
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>,
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>
    and
    <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5705">#5705</a>)</li>
    </ul>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/6b1d94f21c0a76ba96f3cdb10fdbc5c110070e1d"><code>6b1d94f</code></a>
    Release v1.29.0/v0.51.0/v0.5.0 (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5732">#5732</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/2a54df7bffb9d66a564064a1192289b43b1fa89e"><code>2a54df7</code></a>
    fix(deps): update module github.com/golangci/golangci-lint to v1.60.3
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5730">#5730</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/4875735fd8070ee20d838f3bc4aef85e3478afc5"><code>4875735</code></a>
    fix(deps): update module github.com/golangci/golangci-lint to v1.60.2
    (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5711">#5711</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/30fc4074ec781e35e33e93e0ba486af70ff261af"><code>30fc407</code></a>
    fix(deps): update golang.org/x/exp digest to 9b4947d (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5729">#5729</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/9402143b51d74d9fcb818eeb28253ffca8af0d02"><code>9402143</code></a>
    fix(deps): update golang.org/x/exp digest to 778ce7b (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5728">#5728</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/bc48d69cc70823154d9871131df0bbffe72be075"><code>bc48d69</code></a>
    chore(deps): update google.golang.org/genproto/googleapis/rpc digest to
    fc7c0...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/fe02ce73e05bfb95b5ea35afa24e8eb228808de0"><code>fe02ce7</code></a>
    chore(deps): update google.golang.org/genproto/googleapis/api digest to
    fc7c0...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/002c0a4c0352a56ebebc13f3ec20f73c23b348f6"><code>002c0a4</code></a>
    Move <code>log.Processor.Enabled</code> to independent
    <code>FilterProcessor</code> interfaced type...</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/fe6c67e7e9b408d7f1e05356e4ccafadf0475b10"><code>fe6c67e</code></a>
    OpenCensus bridge to support TraceState (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li><a
    href="https://github.com/open-telemetry/opentelemetry-go/commit/83ae9bd0e338d6899a61d270ac398e51e154f009"><code>83ae9bd</code></a>
    Bugfix: OTLP exporters should not percent decode the key when parsing
    HEADERS...</li>
    <li>Additional commits viewable in <a
    href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.28.0...v1.29.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `go.opentelemetry.io/otel/sdk` from 1.28.0 to 1.29.0
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/sdk's
    changelog</a>.</em></p>
    <blockquote>
    <h2>[1.29.0/0.51.0/0.5.0] 2024-08-23</h2>
    <p>This release is the last to support [Go 1.21].
    The next release will require at least [Go 1.22].</p>
    <h3>Added</h3>
    <ul>
    <li>Add MacOS ARM64 platform to the compatibility testing suite. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5577">#5577</a>)</li>
    <li>Add <code>InstrumentationScope</code> field to <code>SpanStub</code>
    in <code>go.opentelemetry.io/otel/sdk/trace/tracetest</code>, as a
    replacement for the deprecated <code>InstrumentationLibrary</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5627">#5627</a>)</li>
    <li>Make the initial release of
    <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
    This new module contains an OTLP exporter that transmits log telemetry
    using gRPC.
    This module is unstable and breaking changes may be introduced.
    See our <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">versioning
    policy</a> for more information about these stability guarantees. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5629">#5629</a>)</li>
    <li>Add <code>Walk</code> function to <code>TraceState</code> in
    <code>go.opentelemetry.io/otel/trace</code> to iterate all the key-value
    pairs. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li>Bridge the trace state in
    <code>go.opentelemetry.io/otel/bridge/opencensus</code>. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5651">#5651</a>)</li>
    <li>Zero value of <code>SimpleProcessor</code> in
    <code>go.opentelemetry.io/otel/sdk/log</code> no longer panics. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5665">#5665</a>)</li>
    <li>The <code>FilterProcessor</code> interface type is added in
    <code>go.opentelemetry.io/otel/sdk/log/internal/x</code>.
    This is an optional and experimental interface that log
    <code>Processor</code>s can implement to instruct the
    <code>Logger</code> if a <code>Record</code> will be processed or not.
    It replaces the existing <code>Enabled</code> method that is removed
    from the <code>Processor</code> interface itself.
    It does not fall within the scope of the OpenTelemetry Go versioning and
    stability <a
    href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">policy</a>
    and it may be changed in backwards incompatible ways or removed in
    feature releases. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5692">#5692</a>)</li>
    <li>Support [Go 1.23]. (<a
    href="https://redirect.github.com/open-telemetry/opentelemetry-go/i…
    dependabot[bot] and dependabot[bot] authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    10228c4 View commit details
    Browse the repository at this point in the history
  2. test(gnovm): run initStaticBlocks in BenchmarkPreprocess (#2792)

    fixes #2711
    
    The bug in the benchmark was introduced in #2418, which requires to run
    initStaticBlocks before running Preprocess, in most cases. (in normal
    scenarios, this is run by PredefineFileSet; however this benchmark is
    deep into the internals).
    
    Related: #2716. cc/ @sw360cab 
    
    <!-- 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>
    thehowl authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    5503cca View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. perf(tm2/bft/fail): use sync.Once instead of Getenv on each call (#2805)

    minor change spotted when browsing tm2 code.
    
    fail.Fail is called a lot in hot paths, like in the tm2 state machine.
    This avoids calling os.Getenv each time, which actually does a [bunch of
    stuff](https://github.com/golang/go/blob/ae8708f7441b24dac126122c5365327d29fa0012/src/syscall/env_unix.go#L69-L88),
    even when there is no associated env var.
    thehowl authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    6f3a094 View commit details
    Browse the repository at this point in the history
  2. feat(examples): add p/fqname (#2808)

    Extracted from #2551 (also #2516).
    
    <!-- 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>
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    moul and thehowl authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    01ee5a9 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Configuration menu
    Copy the full SHA
    f87ba5d View commit details
    Browse the repository at this point in the history
  2. fix: Don't emit events from failed transactions (#2806)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    I noticed that we emit events from the VM even when a transaction fails.
    This is very difficult to write tests for because we don't display
    events when a transaction fails, but I was able to verify the following
    behavior BEFORE this fix:
    1. Events emitted for failing transactions are stored in the block
    results
    2. Events emitted by `r/sys/validators` will be processed and the state
    updated as normal, even if the transaction that emitted them fails
    
    Correct me if I'm wrong, but I don't think we want to persist or take
    any other actions on events sourced from failing transactions.
    
    I'm open to suggestions on how to write tests for this, but the fix
    should be self-explanatory.
    
    <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>
    deelawn authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    5450f64 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. feat(examples): add simplest "counter" realm (#2815)

    I must have used this as an example a thousand times, but I just
    realised it doesn't exist as an example.
    
    <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>
    thehowl authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    ca31100 View commit details
    Browse the repository at this point in the history
  2. chore(deps): bump coursier/setup-action from 1.3.5 to 1.3.6 in the ac…

    …tions group (#2810)
    
    Bumps the actions group with 1 update:
    [coursier/setup-action](https://github.com/coursier/setup-action).
    
    Updates `coursier/setup-action` from 1.3.5 to 1.3.6
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/coursier/setup-action/releases">coursier/setup-action's
    releases</a>.</em></p>
    <blockquote>
    <h2>v1.3.6</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.11.15 to
    20.11.28 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/557">coursier/setup-action#557</a></li>
    <li>build(deps): bump undici from 5.28.2 to 5.28.3 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/549">coursier/setup-action#549</a></li>
    <li>build(deps-dev): bump eslint from 8.56.0 to 8.57.0 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/559">coursier/setup-action#559</a></li>
    <li>Update dist by <a
    href="https://github.com/github-actions"><code>@​github-actions</code></a>
    in <a
    href="https://redirect.github.com/coursier/setup-action/pull/558">coursier/setup-action#558</a></li>
    <li>build(deps): bump peter-evans/create-pull-request from 5 to 6 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/543">coursier/setup-action#543</a></li>
    <li>build(deps-dev): bump prettier from 3.2.4 to 3.2.5 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/544">coursier/setup-action#544</a></li>
    <li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
    6.20.0 to 6.21.0 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/546">coursier/setup-action#546</a></li>
    <li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
    from 6.20.0 to 7.0.0 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/548">coursier/setup-action#548</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.11.28 to
    20.11.30 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/560">coursier/setup-action#560</a></li>
    <li>build(deps-dev): bump typescript from 5.3.3 to 5.4.2 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/562">coursier/setup-action#562</a></li>
    <li>build(deps-dev): bump eslint-plugin-github from 4.10.1 to 4.10.2 by
    <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
    <a
    href="https://redirect.github.com/coursier/setup-action/pull/563">coursier/setup-action#563</a></li>
    <li>build(deps-dev): bump typescript from 5.4.2 to 5.4.3 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/564">coursier/setup-action#564</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.11.30 to
    20.12.2 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/566">coursier/setup-action#566</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.12.2 to
    20.12.3 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/568">coursier/setup-action#568</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.12.3 to
    20.12.4 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/569">coursier/setup-action#569</a></li>
    <li>build(deps): bump undici from 5.28.3 to 5.28.4 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/570">coursier/setup-action#570</a></li>
    <li>Update dist by <a
    href="https://github.com/github-actions"><code>@​github-actions</code></a>
    in <a
    href="https://redirect.github.com/coursier/setup-action/pull/571">coursier/setup-action#571</a></li>
    <li>build(deps-dev): bump typescript from 5.4.3 to 5.4.4 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/572">coursier/setup-action#572</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.12.4 to
    20.12.5 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/573">coursier/setup-action#573</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.12.5 to
    20.12.6 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/575">coursier/setup-action#575</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.12.6 to
    20.12.7 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/576">coursier/setup-action#576</a></li>
    <li>build(deps-dev): bump typescript from 5.4.4 to 5.4.5 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/577">coursier/setup-action#577</a></li>
    <li>chore: Update macos CI to use 12 instead of latest by <a
    href="https://github.com/tgodzik"><code>@​tgodzik</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/582">coursier/setup-action#582</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.12.7 to
    20.12.8 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/581">coursier/setup-action#581</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.12.8 to
    20.12.10 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/583">coursier/setup-action#583</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.12.10 to
    20.12.11 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/584">coursier/setup-action#584</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.12.11 to
    20.12.13 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/589">coursier/setup-action#589</a></li>
    <li>build(deps-dev): bump prettier from 3.2.5 to 3.3.0 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/590">coursier/setup-action#590</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.12.13 to
    20.14.0 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/591">coursier/setup-action#591</a></li>
    <li>build(deps-dev): bump eslint-plugin-github from 4.10.2 to 5.0.0 by
    <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
    <a
    href="https://redirect.github.com/coursier/setup-action/pull/592">coursier/setup-action#592</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.14.0 to
    20.14.2 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/595">coursier/setup-action#595</a></li>
    <li>build(deps-dev): bump prettier from 3.3.0 to 3.3.1 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/596">coursier/setup-action#596</a></li>
    <li>build(deps-dev): bump eslint-plugin-github from 5.0.0 to 5.0.1 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/597">coursier/setup-action#597</a></li>
    <li>build(deps-dev): bump prettier 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/coursier/setup-action/pull/598">coursier/setup-action#598</a></li>
    <li>build(deps-dev): bump braces from 3.0.2 to 3.0.3 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/600">coursier/setup-action#600</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.14.2 to
    20.14.5 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/601">coursier/setup-action#601</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.14.5 to
    20.14.6 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/603">coursier/setup-action#603</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.14.6 to
    20.14.7 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/605">coursier/setup-action#605</a></li>
    <li>build(deps-dev): bump typescript from 5.4.5 to 5.5.2 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/604">coursier/setup-action#604</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.14.7 to
    20.14.8 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/606">coursier/setup-action#606</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.14.8 to
    20.14.9 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/608">coursier/setup-action#608</a></li>
    <li>build(deps-dev): bump typescript from 5.5.2 to 5.5.3 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/609">coursier/setup-action#609</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.14.9 to
    20.14.10 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/611">coursier/setup-action#611</a></li>
    <li>build(deps-dev): bump prettier from 3.3.2 to 3.3.3 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/613">coursier/setup-action#613</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.14.10 to
    20.14.11 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/615">coursier/setup-action#615</a></li>
    <li>build(deps-dev): bump typescript from 5.5.3 to 5.5.4 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/616">coursier/setup-action#616</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.14.11 to
    20.14.12 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/618">coursier/setup-action#618</a></li>
    <li>build(deps-dev): bump <code>@​types/node</code> from 20.14.12 to
    22.0.0 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/coursier/setup-action/pull/619">coursier/setup-action#619</a></li>
    </ul>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/coursier/setup-action/commit/0787deaffb0eb8fd3a2fad5953cfae083456a22b"><code>0787dea</code></a>
    build(deps-dev): bump <code>@​types/node</code> from 22.5.4 to
    22.5.5</li>
    <li><a
    href="https://github.com/coursier/setup-action/commit/37623501981afbabe9795d00442f65e260fa83e8"><code>3762350</code></a>
    build(deps-dev): bump eslint-plugin-github from 5.0.1 to 5.0.2</li>
    <li><a
    href="https://github.com/coursier/setup-action/commit/53517270319003a659fecfe0905169dd86d64ba2"><code>5351727</code></a>
    build(deps-dev): bump typescript from 5.5.4 to 5.6.2</li>
    <li><a
    href="https://github.com/coursier/setup-action/commit/63352a177d2274747656ede709805c62da478820"><code>63352a1</code></a>
    build(deps): bump peter-evans/create-pull-request from 6 to 7</li>
    <li><a
    href="https://github.com/coursier/setup-action/commit/c23b91f658affa1aa2bfb3f79fc4167133be6167"><code>c23b91f</code></a>
    build(deps-dev): bump <code>@​types/node</code> from 22.5.3 to
    22.5.4</li>
    <li><a
    href="https://github.com/coursier/setup-action/commit/470a4f14163989d8518bd5bcd8494e71f5cd43a8"><code>470a4f1</code></a>
    build(deps-dev): bump <code>@​types/node</code> from 22.5.2 to
    22.5.3</li>
    <li><a
    href="https://github.com/coursier/setup-action/commit/83da41bbd3a563f0f803111b8009425dd812328d"><code>83da41b</code></a>
    build(deps-dev): bump <code>@​types/node</code> from 22.5.1 to
    22.5.2</li>
    <li><a
    href="https://github.com/coursier/setup-action/commit/c43d82d51a66b101c7b38ec3a98eebea6d891664"><code>c43d82d</code></a>
    build(deps-dev): bump <code>@​types/node</code> from 22.5.0 to
    22.5.1</li>
    <li><a
    href="https://github.com/coursier/setup-action/commit/4b88d7ef351b98b33ad7e39404a2dab2de18aaf6"><code>4b88d7e</code></a>
    Update dist</li>
    <li><a
    href="https://github.com/coursier/setup-action/commit/f804cae3a18a8312c27b976b1fbfaadef05fd021"><code>f804cae</code></a>
    build(deps-dev): bump <code>@​types/node</code> from 22.4.2 to
    22.5.0</li>
    <li>Additional commits viewable in <a
    href="https://github.com/coursier/setup-action/compare/v1.3.5...v1.3.6">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coursier/setup-action&package-manager=github_actions&previous-version=1.3.5&new-version=1.3.6)](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 <dependency name> major version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's major version (unless you unignore this specific
    dependency's major version or upgrade to it yourself)
    - `@dependabot ignore <dependency name> minor version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's minor version (unless you unignore this specific
    dependency's minor version or upgrade to it yourself)
    - `@dependabot ignore <dependency name>` will close this group update PR
    and stop Dependabot creating any more for the specific dependency
    (unless you unignore this specific dependency or upgrade to it yourself)
    - `@dependabot unignore <dependency name>` will remove all of the ignore
    conditions of the specified dependency
    - `@dependabot unignore <dependency name> <ignore condition>` will
    remove the ignore condition of the specified dependency and ignore
    conditions
    
    
    </details>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    1fe3fe7 View commit details
    Browse the repository at this point in the history
  3. feat(examples): add p/printfdebugging (#2809)

    Extracted from #2551.
    
    See #2551 (comment).
    
    <!-- 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>
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    moul authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    35152a6 View commit details
    Browse the repository at this point in the history
  4. docs: updated missing gnofaucet README (#2783)

    The quickstart guide on the gno README had outdated gnofaucet
    information:
    
    https://github.com/gnolang/gno/blob/master/examples/gno.land/r/demo/boards/README.md#alternative-run-a-faucet-to-add-gnot
    
    Refactored and updated the orphaned gnofaucet README from:
    
    https://github.com/gnolang/gno/blob/98cc986cbeb4d911944711a102334eb5d0cb4727/gno.land/cmd/gnofaucet/README.md
    
    <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>
    poroburu authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    dc0cc26 View commit details
    Browse the repository at this point in the history
  5. docs(gno-js): remove wrong param in getFileContent (#2419)

    The example is using a wrong argument (probably copy pasted from the
    previous one above) that doesn't match the function signature (2nd param
    is an optional `height`
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] 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
    - [ ] 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>
    RezaRahemtola authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    9897b66 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2024

  1. feat: Add timezone location support (#2705)

    Closes #2688.
    
    The PR adds support for timezone locations by embedding an [IANA
    timezone database](https://github.com/eggert/tz) that gets loaded into
    memory when gno.land is started. The gno stdlib's time package has been
    updated by porting over code from the go stdlib to support locations.
    
    This feature allows users to create time instances with locations to
    ensure that temporal adjustments result in accurate results by following
    both historical rules and current rules.
    
    <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>
    deelawn authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    ca9eb4b View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. chore(benchmarks): Rehauling Benchmark Workloads (#2716)

    ## Things changes
    
    * using new action plugin:
    [benchmark-action/github-action-benchmark](https://github.com/benchmark-action/github-action-benchmark)
    * previous library was
    [bobheadxi/gobenchdata](https://github.com/bobheadxi/gobenchdata)
    * creating alerts when benchmarks results are worse
    
    ## Things unchanged
    
    * Pushing benchmarks results onto a local branch, then `benchmark`
    repository will fetch from this into his own `gh-pages`
      * direct push is possible but requires PAT token to be used 
    
    ## Things TODO (before merging)
    
    * restore benchmarks actions which were manually disabled directly in
    the `Action` menu in Github
    * drop and recreate branch  `gh-repository`
    * fix benchmark tests in Gno repo (see #2711 and #2714)
    * Evaluate alternative configuration possibilities
    [here](https://github.com/benchmark-action/github-action-benchmark?tab=readme-ov-file#action-inputs)
    
    ## Things to consider (performance)
    
    * Should solve #2432 
    * are resources available in the Github basic runners enough for
    benchmarks?
    * are multiple runs spawned in the same hw conditions?
    * consider using [Larger
    Runner](https://docs.github.com/en/actions/using-github-hosted-runners/using-larger-runners/managing-larger-runners#adding-a-larger-runner-to-an-organization)
    or restoring a [Self-Hosted
    Runner](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-an-organization)
    sw360cab authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    577c462 View commit details
    Browse the repository at this point in the history
  2. test(gno.land): fix TestTestdata/restart_missing_type (#2853)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Morgan <[email protected]>
    omarsy and thehowl authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    a58bb00 View commit details
    Browse the repository at this point in the history
  3. feat(r/demo/users): pre-register test1 user to make interaction with …

    …boards easier (#2823)
    
    Fixes #990. 
    
    <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>
    hthieu1110 authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    0bfa8ff View commit details
    Browse the repository at this point in the history
  4. fix(tm2/iavl/benchmarks): skip benchmarks that run for too long (#2854)

    Fixing some benchmarks that were failing after activating benchmark runs
    at PRs and master.
    
    Signed-off-by: Antonio Navarro <[email protected]>
    ajnavarro authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    f69880b View commit details
    Browse the repository at this point in the history
  5. chore: rename r/manfred -> r/moul (#2820)

    - [x] rename `r/manfred` -> `r/moul`
    - [x] switch from `g1u7y667z64x2h7vc6fmpcprgey4ck233jaww9zq` to
    `g1manfred47kzduec920z88wfr64ylksmdcedlf5` vanity addr
    - [x] create anti-squatting r/manfred
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    moul and thehowl authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    bdc9d0e View commit details
    Browse the repository at this point in the history
  6. fix: stop LevelDB benchmark due to an error (#2857)

    Signed-off-by: Antonio Navarro <[email protected]>
    ajnavarro authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    df0d6b8 View commit details
    Browse the repository at this point in the history
  7. ci: adding support for differentiate github actions self-hosted runne…

    …rs (#2861)
    
    Supporting different labels for Self-hosted runners used for Benchmarks
    test
    sw360cab authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    a0f7028 View commit details
    Browse the repository at this point in the history
  8. chore: address codereview comments from #2754 (#2786)

    sorry, went ahead and merged before pushing the changes from [dylan's
    comments](#2754 (review))
    thehowl authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    7a1a966 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. fix(cmd/gno): pass an ExecContext to MachineOptions in gno run (#2856)

    This fixes: #2834
    
    It tries to hew very closely to how the context is created under `gno
    test` so that there is consistency of results between code that is
    executed in the test and run contexts. Please let me know if there are
    any conventions for the codebase that I should have followed that I did
    not.
    
    I hooked into the portion of the `ExecRun()` that was calling
    `NewMachineWithOptions()`, and instead followed a similar pattern to
    what is defined in `test.go` to configure the machine with a context
    that has reasonable defaults. These, except for the Chain ID (which is
    `dev` when running under `gno test`), are identical to the test
    settings.
    
    This allows packages like `gno.land/p/demo/entropy` to work when code is
    executed with `gno run`, as well as any others which might try to access
    information only available from the context.
    
    A simple piece of code to demonstrate the issue is below. This will fail
    without this change.
    
    ```
    package foo
    
    import (
      "fmt"
      "std"
    )
    
    func main() {
      fmt.Printf("GetHeight(): %d\n", std.GetHeight())
    }
    ```
    
    A test has been added to the tests for the run command, which tries to
    run code similar to the code above within the test.
    
    <details><summary>Contributors' checklist...</summary>
    
    - [X] Added new tests, or not needed, or not feasible
    - [X] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [X] Updated the official documentation or not needed
    - [X] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [X] Added references to related issues and PRs
    - [X] Provided any useful hints for running manual tests
    </details>
    wyhaines authored Sep 27, 2024
    Configuration menu
    Copy the full SHA
    14d4d21 View commit details
    Browse the repository at this point in the history
  2. fix(gnoweb): show contents of source when javascript is disabled (#2860)

    new result:
    
    
    ![image](https://github.com/user-attachments/assets/8bc4c7bc-e500-4f99-9787-dfcb376a30ea)
    
    it wasn't working because the css in app.css was changed from `display:
    none` to `opacity: 0`.
    
    <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>
    thehowl authored Sep 27, 2024
    Configuration menu
    Copy the full SHA
    1e27785 View commit details
    Browse the repository at this point in the history
  3. fix(portal-loop): hotfix revert "chore: rename r/manfred -> r/moul (#…

    …2820)" (#2865)
    
    This reverts commit bdc9d0e.
    
    Waiting for the portal loop to be backed up on a repository that we can
    patch before applying this commit again.
    moul authored Sep 27, 2024
    Configuration menu
    Copy the full SHA
    69400d4 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2024

  1. feat(ops/gnobro): introducing Release workflow for the Gnobro tool (#…

    …2872)
    
    Adding support for releasing the image of Gnobro
    
    Facilitates #2807 
    
    <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
    </details>
    sw360cab authored Sep 30, 2024
    Configuration menu
    Copy the full SHA
    01d9e8d View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2024

  1. fix(tm2): Improve hash comparison messages in consensus error handling (

    #2859)
    
    Relates to #2773
    
    **Description:**  
    This PR enhances the error messaging in the **validateBlock** function
    by formatting the hash values as a hexadecimal string instead of a byte
    array. This change improves readability during consensus failures
    <!-- 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>
    sunspirit99 authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    0e84846 View commit details
    Browse the repository at this point in the history
  2. feat(examples): Implement a two-player Dice Roller game (#2768)

    ## Description:
    
    This PR introduces a basic dice rolling game : **_Dice Roller_**
    
    ## Game Rules:
    
    > 1. Two players each roll a dice once
    > 2. Each roll results in a value between 1 and 6
    > 3. The player with the highest score will win the game
    > 4. If both players roll the same value, the game is a draw
    > 5. No points or stats changes are awarded if you play against yourself
    
    ## Purpose:
    
    - This package serves to illustrate the application of on-chain
    randomness using Gno's `p/demo/entropy` and `rand/math` packages. While
    these packages provide randomness, they are not entirely unpredictable,
    and their usage in this game is intended to showcase their practical
    implementation in Gno's realms
    - Designed with a minimalistic realm to ensure ease of understanding and
    accessibility for newcomers to Gno realm development
    
    ![Screenshot from 2024-09-10
    21-56-59](https://github.com/user-attachments/assets/aa3e4c70-2db4-4949-9a50-2e349d51d9a5)
    
    
    You guys can test this game at :
    https://test4.gno.land/r/g1w6886hdj2tet0seyw6kn8fl92sx06prgd9w9j8/game/v3/diceroller
    
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Leon Hudak <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    3 people authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    fb85d0c View commit details
    Browse the repository at this point in the history
  3. chore(p/grc20): Distinct Event Types for GRC20 Functions (#2749)

    # Description
    
    Currently, the event type for grc20 is uniformly set to `TrasferEvent`
    (execpt for `Approval` function), which necessitated making RPC calls to
    check every block.
    
    Therefore, I have modified it by adding event types for each function to
    distinguish them from one another.
    
    In this case, we can reduce the number of RPC calls by retrieving data
    only when the target event type occurs.
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    Co-authored-by: Morgan <[email protected]>
    notJoon and thehowl authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    4f6ca96 View commit details
    Browse the repository at this point in the history
  4. feat(p/ufmt): Support more formatting verbs (#2351)

    # Description
    
    Support for several new formatting verbs to the `ufmt` package:
    
    `%x`: Outputs byte values as hexadecimal strings. Supports uint8,
    []uint8, and [32]uint8 types.
    `%q`: Outputs quoted strings with proper escaping. Supports string type.
    `%T`: Outputs the type of the value. Supports various built-in types
    using type switching with interface{}.
    
    Particularly in the case of byte slices, previously need to use a loop
    to convert each element to a string one by one, but now there is no need
    for that anymore.
    
    ---------
    
    Co-authored-by: Marc Vertes <[email protected]>
    notJoon and mvertes authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    11a5027 View commit details
    Browse the repository at this point in the history
  5. test(r/demo/tests): add filetest for PrevRealm (#1705)

    PrevRealm was tested from
    `gno/examples/gno.land/r/demo/tests/tests_test.gnotest`.
    As far as I can see in r/demo/tests however, it was not tested for
    *filetests*.
    
    Although `gno test .` passes, depending on whether #1704 is confirmed,
    there may be more filetests to add in this folder (in a different PR I
    guess).
    
    ---------
    
    Co-authored-by: grepsuzette <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    3 people authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    bdd91ce View commit details
    Browse the repository at this point in the history
  6. chore(gnovm/gnofmt): Replace usage of ast.Object with ast.Ident In `g…

    …nofmt` (#2546)
    
    # Description
    
    Removes the usage of the deprecated `ast.Object` type and replaces it
    with `ast.Ident`. Since `ast.Ident` contains name and location
    information, I think it would provide the information that needed in
    most cases.
    notJoon authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    09b6241 View commit details
    Browse the repository at this point in the history
  7. chore(codeowners): add codeowners for boardsv2 (#2883)

    Co-authored-by: Manfred Touron <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    3 people authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    7f39d04 View commit details
    Browse the repository at this point in the history
  8. test(gno.land/sdk/vm): add unit tests for Msg*.ValidateBasic (#2855)

    The `vm Msg` is not yet covered by unit tests
    
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Morgan <[email protected]>
    sunspirit99 and thehowl authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    ee2b1fa View commit details
    Browse the repository at this point in the history
  9. feat(stdlibs): add strings.Replacer (#2816)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    prerequisite of #2802 
    
    This pull request ports the files:
    - replace.go
    - replace_test.go
    
    from the Golang standard library.
    
    I added some tags on the code with the hope it will help to review the
    code and to launch discussion if neccessary.
    I could after remove these changes
    ```go
    // Custom code: XXX_Some_Explanation
    ( code not present on the original go file)
    .
    .
    .
    // End of custom code
    ```
    
     
    
    <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>
    Villaquiranm authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    a2b4d4b View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2024

  1. feat(stdlibs): add package html (#2802)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    related to #1267 
    - Implement html golang package.
    - Added a silly implementation of strings.Replacer:
    Maybe we should optimize it ? I did not wanted to do something complex
    as this is not the main point of 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>
    Villaquiranm authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    47118ef View commit details
    Browse the repository at this point in the history
  2. chore: ci(benchmarks) Feat/benchmarks master push (#2891)

    Restructuring Benchmarks workflow in the following way
    
    * Reducing workflows for benchmarks to a single one (instead of two
    different ones)
    * Workflow is triggered only when PR is finally merged with master
    branch
    * There is a single flow of benchmarks performance to verify
    * Benchmarks do not impact PR 
    * An Alert is automatically added as comment to each commit when
    regressions are introduced respect to previous results
    sw360cab authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    41881ec View commit details
    Browse the repository at this point in the history
  3. ci: change alert-threshold to 120% (#2880)

    Apologies for the whitespace changes; if you disable them, you'll see
    it's a one-line change.
    
    See [alert
    threshold](https://github.com/benchmark-action/github-action-benchmark?tab=readme-ov-file#alert-threshold-optional)
    on the documentation of the action.
    
    <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>
    thehowl authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    e4d7528 View commit details
    Browse the repository at this point in the history
  4. ci(hotfix): yaml whitespace (#2892)

    <!-- 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>
    thehowl authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    14acb90 View commit details
    Browse the repository at this point in the history
  5. chore(docs): fix broken link in tm2/pkg/amino/README.md (#2322)

    This is a broken link:
    
    
    https://github.com/gnolang/gno/blob/3f5a6ad90600fef16a04675d79e4ef8f0e19bf4d/tm2/pkg/amino/README.md?plain=1#L46-L50
    
    PR replaces it with the updated link.
    
    <details><summary>Details</summary>
    <p>
    File was move there:
    
    https://github.com/tendermint/tendermint/blob/main/spec/blockchain/encoding.md
    
    which says it's been moved there:
    
    https://github.com/tendermint/tendermint/blob/main/spec/core/encoding.md
    
    </p>
    </details> 
    
    ---
    For the future, since we have a version in the monorepo and
    gnolang/tendermint2, where is the best place to post PR?
    
    Because gnolang/tendermint2 of course has the same issue
    (https://github.com/gnolang/tendermint2/blob/master/pkgs/amino/README.md)
    
    Co-authored-by: grepsuzette <[email protected]>
    grepsuzette and grepsuzette authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    4b3b419 View commit details
    Browse the repository at this point in the history
  6. ci: remove conflicting option to push benchmark on github pages (#2895)

    Just a small fix to allow publication of benchmark on the repository
    sw360cab authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    8a62a28 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2024

  1. docs: test3 -> portal loop (#2897)

    Update links from test3 to portal loop where appropriate.
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    moul authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    d3049ae View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2024

  1. Configuration menu
    Copy the full SHA
    628f965 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. fix(gnoweb): fix broken link (#2926)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    ## Description
    
    Fixes a broken link. Closes: #2925 
    
    <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>
    leohhhn authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    e5840e2 View commit details
    Browse the repository at this point in the history
  2. chore(gnoweb): update page_contribute.gno (#2922)

    Added the gno.land grants GH repository link to the page
    michelleellen authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    2f60580 View commit details
    Browse the repository at this point in the history
  3. docs(/p/demo/json): update json package README.md (#2921)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    in the three examples provided in the README.md file, there's a useless
    import of "fmt" package.
    
    <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>
    MalekLahbib authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    912a5db View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2024

  1. fix(gnovm): correct type for shift expression (#1775)

    [shift operator where first operand is an untyped bigint always results
    in a bigint](#1462) is not resolved
    by #1426, it's fixed by this one.
    
    =================================================================
    1. This is a fix to /issues/1462;
    3. **NOTE**: This PR should be reviewed following the potential merger
    of #1426, from which it is both decoupled and dependent. #1426 serves as
    base branch of this one.
    4. **NOTE**: Currently, this PR displays all code including that from
    #1426, because it is being compared to the master branch instead of
    differing against #1426 directly.
    
    ---------
    
    Co-authored-by: Morgan <[email protected]>
    Co-authored-by: Marc Vertes <[email protected]>
    3 people authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    d63918f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2c04ff0 View commit details
    Browse the repository at this point in the history
  3. fix(p/demo/uassert): amend ineffective assignment (#2936)

    <!-- 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>
    MalekLahbib authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    d741140 View commit details
    Browse the repository at this point in the history
  4. fix(r/leon/config): fix config bug (#2934)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    ## Description
    
    Fixes a bug in `r/leon/config`.
    
    <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>
    leohhhn authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    679301a View commit details
    Browse the repository at this point in the history
  5. chore: fix issues reported by go vet (#2952)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    Passing `go vet` is the minimum level of code quality for a go project.
    This is addressed here for the full mono-repo. Mainly trivial changes,
    except for a few `copy lock` issues which could be more meaningful (kept
    for a separate pull request).
    
    Addresses #2954 (but not sufficient to close it yet).
    
    Hint for reviewers: it's easier to review each commit individually.
     
    <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>
    mvertes authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    a73cb22 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2024

  1. Configuration menu
    Copy the full SHA
    5444859 View commit details
    Browse the repository at this point in the history
  2. feat(tm2/crypto/keys): In the gnokey CLI, add command to update the p…

    …assword (#2700)
    
    The `Keybase` API supports a method to [change the password of a
    key](https://github.com/gnolang/gno/blob/8a62a28f672d3311163bee75f5e8f10ba3d4d52b/tm2/pkg/crypto/keys/keybase.go#L450).
    It is currently called `Update` which is confusing. This PR renames the
    API function to `Rotate` and adds the "rotate" command to the gnokey
    CLI.
    
    BREAKING CHANGE: The Keybase API function `Update` is renamed to
    `Rotate`. (Note: I haven't seen code using this function, so it should
    be minimal impact.)
    
    <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
    </details>
    
    ---------
    
    Signed-off-by: Jeff Thompson <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    jefft0 and thehowl authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    641d2fd View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2024

  1. chore(ci): reducing folders spinning up benchmarks (#2966)

    Just reduce commits then could trigger benchmarks
    sw360cab authored Oct 17, 2024
    Configuration menu
    Copy the full SHA
    6d986bf View commit details
    Browse the repository at this point in the history
  2. feat(stdlibs): add package strconv (#1464)

    This PR adds the full `strconv` package, implemented as pure Gno code.
    It removes the native functions `Itoa` (and others), and adds support
    for new functions such as `FormatFloat`.
    
    # Summary of changes
    
    - Standard libraries
    - Changes of `strconv` from Go stdlib:
    https://gist.github.com/thehowl/904b42b1ea53fef9b8a0486155c02b73 --
    tldr:
        - removed everything related to complex types.
        - avoid using reflection and dot imports.
    - instead of loading testfp.txt, embed the file directly into the
    source.
        - define min/max explicitly as they're not built-in yet.
        - remove go:build tags.
        - (all of these mostly involve test files.)
      - `unicode`
        - Update tables, so that `strconv` tests succeed.
      - `unicode/utf8`
    - Update to latest go version. Mostly, use `fallback` (as we now
    half-support it) and use `AppendString`.
    - GnoVM
    - PackageInjector is no longer necessary (hallelujah), see #814 for
    context. This justifies the changes in `store.go`, `store_test.go`,
    `nodes.go`, `tests/imports.go`.
      - `gonative.go` and `machine.go` changes improve some error messages.
    - `preprocess.go` changes fix a bug which can be seen in the `for20.gno`
    test. If a `for` loop is labeled, then a bare `break` (ie. without a
    label to break to) would panic, as it wouldn't find any for loop without
    a label (in `findBranchLabel`). I added a regression test as well as a
    couple test showing the error message for when we misplace
    continue/break statements.
    - Tests.
    - `strconv.Itoa` now uses more gas than its existing native
    implementation. This is to be expected; we can consider moving it back
    to a native implementation if we deem it useful for performance, but I
    think it's good for us to work on having as much code implemented
    directly in gno before moving it back to Go for performance.
    
    ---------
    
    Co-authored-by: Manfred Touron <[email protected]>
    thehowl and moul authored Oct 17, 2024
    Configuration menu
    Copy the full SHA
    05cd4f5 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2024

  1. docs: add gno {env,fmt} to go-gno-compatibility (#2974)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    gno env and gno fmt missing in the docs.
    <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
    </details>
    MalekLahbib authored Oct 18, 2024
    Configuration menu
    Copy the full SHA
    5ef7cbf View commit details
    Browse the repository at this point in the history
  2. chore: Run stdlib tests in parallel to make gnovm tests run faster (#…

    …2864)
    
    Check #2826 for more context.
    
    ---------
    
    Signed-off-by: Antonio Navarro <[email protected]>
    ajnavarro authored Oct 18, 2024
    Configuration menu
    Copy the full SHA
    e587167 View commit details
    Browse the repository at this point in the history
  3. fix(gnovm): remove migration code of old GNOHOME (#2978)

    closes #800 
    <!-- 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
    </details>
    Villaquiranm authored Oct 18, 2024
    Configuration menu
    Copy the full SHA
    4d86229 View commit details
    Browse the repository at this point in the history
  4. fix(cmd/aminoscan): set len=0 in a slice initialization (#2971)

    <!-- 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
    - [x] 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
    </details>
    
    
    The intention here should be to initialize a slice with a capacity of
    `len(args)` rather than initializing the length of this slice.
    
    The online demo: https://go.dev/play/p/q1BcVCmvidW
    rusttech authored Oct 18, 2024
    Configuration menu
    Copy the full SHA
    b655cd2 View commit details
    Browse the repository at this point in the history
  5. chore: add alexiscolin as gnoweb reviewer (#2967)

    As I'll be leading the collective efforts around gnoweb, it would be
    helpful if I could be automatically pinged for any PR review related to
    the `gnoweb` folder. This PR adds my GH handle as a codeowner for this
    directory.
    
    Thank you for your help!
    alexiscolin authored Oct 18, 2024
    Configuration menu
    Copy the full SHA
    f6bd2d3 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2024

  1. feat(gnoweb): disable html in markdown (#2964)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    In line with our vision for a HTML-free Gnoweb, this PR disables the
    rendering of HTML within Markdown content. It replaces all elements
    recognized as HTML tags (e.g., `<div>`, `<br>`, `<web-component>`) with
    empty spaces before sending the content to the front-end. The parsing
    still happens via JavaScript, but now without any HTML tags. However,
    HTML tags like ``` `<div>lorem ipsum</div>` ``` can still appear within
    code blocks in Markdown, as usual, but won’t be parsed/read as actual
    HTML.
    
    Additionally, this feature is controlled by the `gnoweb` boolean flag
    `with-html`, which defaults to `false`.
    
    cc @gfanton 
    
    > [!WARNING] 
    > Enabling this feature will break the design of gno.land realms (and
    any other realms relying on HTML), since current layout elements like
    `columns`, `stacks`, or `jumbotrons`... are built with HTML. We will
    need to adopt the new design system expected with `gnoweb2.0` (or future
    `gnoweb1` improvements).
    
    
    ### BEFORE:
    ![127 0 0 1_8888_
    (1)](https://github.com/user-attachments/assets/04328db4-7076-4690-9727-50c33f58954d)
    ### AFTER:
    ![127 0 0 1_8888_
    (2)](https://github.com/user-attachments/assets/b8d9532c-45e6-4a78-b166-2f6d0176bd10)
    
    ---
    ### BEFORE:
    ![127 0 0
    1_8888_r_gnoland_pages](https://github.com/user-attachments/assets/445cbb3f-565b-42af-b794-14f9c682d4ce)
    ### AFTER:
    ![127 0 0 1_8888_r_gnoland_pages
    (1)](https://github.com/user-attachments/assets/ac7131f1-c2d4-42ea-a426-66244782e910)
    
    ---------
    
    Co-authored-by: Manfred Touron <[email protected]>
    alexiscolin and moul authored Oct 20, 2024
    Configuration menu
    Copy the full SHA
    93ece90 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. chore: remove unused flag (#2990)

    Signed-off-by: moul <[email protected]>
    moul authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    24f0a0d View commit details
    Browse the repository at this point in the history
  2. chore(cmd/gnoland): disable --flag-config-path (#2991)

    Not sure about this one. Is anyone using it?
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    moul and thehowl authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    6fafe0e View commit details
    Browse the repository at this point in the history
  3. feat(cmd/gno): lint all files in folder before panicking (#2202)

    This Pull request intents to follow up on #2011. As said on that Pull
    request, currently we show all lint errors on the first analyzed file.
    If in a folder we have `a.gno` & `b.gno` both with lint errors. `gno
    lint | run | test` will only find the errors related to one of those
    files.
    
    **This PR aims to show all the lint errors present on the current
    folder**.
    
    Changes:
    for lint &  test cmd:
    - we modified ParseMemPackage function on gnovm/pkg/gnoland/nodes.go.
    Before this function returned as soon as an error was found while
    Parsing the gno file. So we introduced an error slice to keep track of
    all Parse errors. After parsing all the files we panic with the list of
    errors only if this list is not empty.
    - we did the same on parseMemPackageTests function 
    - create a function printRuntimeError that handles the print of the
    errors inside `catchRuntimeError` function. We did this change in order
    to be able to recursively call the funtion and handle the case of an
    []error type composed of scanner.ErrorList errors.
    
    ### Results
    * running on gnovm/tests/integ/several-files-multiple/errors
    LINT (before):
    ```sh
    several-files-multiple-errors % gno lint .
    file2.gno:3: expected 'IDENT', found '{' (code=2).
    file2.gno:5: expected type, found '}' (code=2).
    ```
    
    LINT (after):
    ```sh
    gno lint .
    file2.gno:3: expected 'IDENT', found '{' (code=2).
    file2.gno:5: expected type, found '}' (code=2).
    main.gno:5: expected ';', found example (code=2).
    main.gno:6: expected '}', found 'EOF' (code=2).
    exit status 1
    ```
    
    <!-- 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>
    Villaquiranm authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    464c7f1 View commit details
    Browse the repository at this point in the history
  4. fix(tm2): avoid mutex copy in marshal and unmarshal methods (#2981)

    Avoid copying of Mutex at several places.
    Add missing lock / unlock calls.
    Improve test coverage for protobuf timestamp and duration.
    
    `go vet` doesn't complain anymore on Mutex copy.
    
    Addresses #2954.
    
    <!-- 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
    </details>
    mvertes authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    a5c1d18 View commit details
    Browse the repository at this point in the history
  5. chore(pages): update bounty Terms & Conditions link (#2982)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    ## Description
    
    By internal request.
    
    <details><summary>Contributors' checklist...</summary>
    
    - [x] Added new tests, or not needed, or not feasible
    - [x] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [x] Updated the official documentation or not needed
    - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [x] Added references to related issues and PRs
    - [x] Provided any useful hints for running manual tests
    </details>
    leohhhn authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    13dfd21 View commit details
    Browse the repository at this point in the history
  6. fix(gonative): add constant information when we define a go native va…

    …lue (#2848)
    
    First part of the fix: #2836
    
    The second part is addressed here:
    #2731
    omarsy authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    88a0c4e View commit details
    Browse the repository at this point in the history
  7. fix(ghverify): fix avl tree iteration in Render and `GetFeedDefinit…

    …ions` (#2933)
    
    This pull request resolves a bug in the iteration logic of the `iterate`
    function from `gno.land/p/demo/avl` (avlTree) as used in two key areas:
    the `Render` function of `gno.land/r/gnoland/ghverify` and the
    `GetFeedDefinitions` function of `gno.land/p/demo/gnorkle/gnorkle`.
    
    ### Problem:
    In both instances, the `iterate` function was returning `true` after
    processing the first item, which prematurely halted the iteration. As a
    result, only the first item was processed, and all subsequent items were
    ignored.
    omarsy authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    af169ff View commit details
    Browse the repository at this point in the history
  8. chore: remove misc/logos (#2965)

    Unmaintained, and we're going in another direction with gnobro anyway.
    thehowl authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    8417ca4 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2024

  1. chore: remove vmkeeper.maxcycles (#2993)

    Let's remove the `vn.maxCycles` variable from the VM keeper so that it
    relies solely on the built-in gas system.
    
    `maxCycles` remains an option on `gno.Machine` for blockchainless and
    gasless experiences.
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Morgan Bazalgette <[email protected]>
    moul and thehowl authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    1154172 View commit details
    Browse the repository at this point in the history
  2. chore(deps): bump the actions group across 1 directory with 2 updates (

    …#2995)
    
    Bumps the actions group with 2 updates in the / directory:
    [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer)
    and [anchore/sbom-action](https://github.com/anchore/sbom-action).
    
    Updates `sigstore/cosign-installer` from 3.6.0 to 3.7.0
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/sigstore/cosign-installer/releases">sigstore/cosign-installer's
    releases</a>.</em></p>
    <blockquote>
    <h2>v3.7.0</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>Bump actions/checkout from 4.1.7 to 4.2.0 by <a
    href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/172">sigstore/cosign-installer#172</a></li>
    <li>bump for latest cosign v2.4.1 release by <a
    href="https://github.com/bobcallaway"><code>@​bobcallaway</code></a> in
    <a
    href="https://redirect.github.com/sigstore/cosign-installer/pull/173">sigstore/cosign-installer#173</a></li>
    </ul>
    <p><strong>Full Changelog</strong>: <a
    href="https://github.com/sigstore/cosign-installer/compare/v3.6.0...v3.7.0">https://github.com/sigstore/cosign-installer/compare/v3.6.0...v3.7.0</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da"><code>dc72c7d</code></a>
    bump for latest cosign v2.4.1 release (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/173">#173</a>)</li>
    <li><a
    href="https://github.com/sigstore/cosign-installer/commit/08bb361e01a71697a353a4d79b633cccf31f5530"><code>08bb361</code></a>
    Bump actions/checkout from 4.1.7 to 4.2.0 (<a
    href="https://redirect.github.com/sigstore/cosign-installer/issues/172">#172</a>)</li>
    <li>See full diff in <a
    href="https://github.com/sigstore/cosign-installer/compare/v3.6.0...v3.7.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `anchore/sbom-action` from 0.17.2 to 0.17.5
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/anchore/sbom-action/releases">anchore/sbom-action's
    releases</a>.</em></p>
    <blockquote>
    <h2>v0.17.5</h2>
    <h2>Changes in v0.17.5</h2>
    <ul>
    <li>chore(deps): update Syft to v1.14.2 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/503">#503</a>)
    [<a
    href="https://github.com/anchore-actions-token-generator">anchore-actions-token-generator</a>]</li>
    </ul>
    <h2>v0.17.4</h2>
    <h2>Changes in v0.17.4</h2>
    <ul>
    <li>chore(deps): update Syft to v1.14.1 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/502">#502</a>)
    [<a
    href="https://github.com/anchore-actions-token-generator">anchore-actions-token-generator</a>]</li>
    </ul>
    <h2>v0.17.3</h2>
    <h2>Changes in v0.17.3</h2>
    <ul>
    <li>chore(deps): update Syft to v1.14.0 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/498">#498</a>)
    [<a
    href="https://github.com/anchore-actions-token-generator">anchore-actions-token-generator</a>]</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/1ca97d9028b51809cf6d3c934c3e160716e1b605"><code>1ca97d9</code></a>
    chore(deps): update Syft to v1.14.2 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/503">#503</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/8d0a6505bf28ced3e85154d13dc6af83299e13f1"><code>8d0a650</code></a>
    chore(deps): update Syft to v1.14.1 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/502">#502</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/f5e124a5e5e1d497a692818ae907d3c45829d033"><code>f5e124a</code></a>
    chore(deps): bump peter-evans/create-pull-request from 6.1.0 to 7.0.5
    (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/493">#493</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/eff08d02ac5d0e2422e16dcd015d6e38fc0c4271"><code>eff08d0</code></a>
    chore: configure changelog-ignore label (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/499">#499</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/18f9bdeed73d2077650049195c23cc2837e584ad"><code>18f9bde</code></a>
    chore: remove snapshot tests; fix deprecation errors for outdated
    packages (#...</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/2e8723687bef46234761baa3b3043f07b02b584b"><code>2e87236</code></a>
    add release docs (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/500">#500</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/4a914bc36a0527cbd2155e1f4665d7cc1e41615b"><code>4a914bc</code></a>
    chore(deps): bump actions/checkout from 4.2.0 to 4.2.1 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/497">#497</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/8cb9966eff29370ee4e117ab5ebd2cf0c79d72f8"><code>8cb9966</code></a>
    chore(deps): update Syft to v1.14.0 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/498">#498</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/beb779bf2267bb1c0ac81cb31db729cdfcc963aa"><code>beb779b</code></a>
    Update README to include bit about permissions near the top (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/496">#496</a>)</li>
    <li><a
    href="https://github.com/anchore/sbom-action/commit/87b31375ff0202fe594a3d320ac9a3da8c4aeb09"><code>87b3137</code></a>
    chore(deps): update Syft to v1.13.0 (<a
    href="https://redirect.github.com/anchore/sbom-action/issues/488">#488</a>)</li>
    <li>Additional commits viewable in <a
    href="https://github.com/anchore/sbom-action/compare/v0.17.2...v0.17.5">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    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 <dependency name> major version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's major version (unless you unignore this specific
    dependency's major version or upgrade to it yourself)
    - `@dependabot ignore <dependency name> minor version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's minor version (unless you unignore this specific
    dependency's minor version or upgrade to it yourself)
    - `@dependabot ignore <dependency name>` will close this group update PR
    and stop Dependabot creating any more for the specific dependency
    (unless you unignore this specific dependency or upgrade to it yourself)
    - `@dependabot unignore <dependency name>` will remove all of the ignore
    conditions of the specified dependency
    - `@dependabot unignore <dependency name> <ignore condition>` will
    remove the ignore condition of the specified dependency and ignore
    conditions
    
    
    </details>
    
    ---------
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
    dependabot[bot] and dependabot[bot] authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    47fb389 View commit details
    Browse the repository at this point in the history
  3. fix(crypto/keys): in dbKeybase.writeInfo, if replacing a name entry, …

    …remove the lookup by the old address (#2685)
    
    This PR fixes the bug demonstrated in
    #2684 :
    * In `dbKeybase.writeInfo`, add an `error` return and propagate this to
    all callers (`writeLocalKey`, etc.) . We need `writeInfo` to do some
    database integrity checks, so it needs to be able to return an error.
    * Update `dbKeybase.writeInfo` as suggested in
    [#2684](#2684) . If an existing name
    entry is being replaced with new `Info`, then remove the "lookup by
    address" entry for the existing address.
    * In `TestKeyManagement`, add a test similar to
    [#2684](#2684) , except that after
    using `CreateAccount` with the same name, expect `GetByAddress` to fail
    for the obsolete address and its (non-existing) public key. (This test
    passes.)
    
    <details><summary>Contributors' checklist...</summary>
    
    - [x] Added new tests, or not needed, or not feasible
    - [x] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [x] Updated the official documentation or not needed
    - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [x] Added references to related issues and PRs
    - [x] Provided any useful hints for running manual tests
    </details>
    
    Signed-off-by: Jeff Thompson <[email protected]>
    jefft0 authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    4b68712 View commit details
    Browse the repository at this point in the history
  4. feat(examples): add interactive realm r/stefann/home (#2918)

    # Description:
    
    This PR finalizes the core functionality of my home realm project,
    focusing on a dynamic and interactive home realm experience, driven by
    GNOT donations. The following key features and enhancements are
    introduced in this PR:
    
    ## Key Features:
    
    - **Dynamic Background Change:**
    - Implemented sequential background changes triggered by GNOT donations.
    Each donation updates the city background in a fixed order, cycling
    through a predefined set of cities. The background change is seamless,
    offering a "traveling" experience for donors.
    
    - **Sponsor Leaderboard:**
    - Added a sponsor leaderboard to showcase the top contributors based on
    their GNOT donations. The list displays the addresses of the top
    sponsors, formatted for readability (first and last characters with
    ellipses), and limits the displayed sponsors to the configurable
    `maxSponsors` setting.
    
    - **Donation Validation:**
    - Introduced a strict GNOT validation check. The system now rejects any
    donation attempts that don't include GNOT, ensuring only valid
    contributions update the state of the realm.
    
    - **Owner Withdrawal of Donations:**
    - Implemented a feature that allows the realm owner to withdraw
    accumulated GNOT donations, providing control over the funds contributed
    by supporters.
    
    - **Home Realm Configurations:**
    - **Cities:** Cities can be dynamically updated to refresh the possible
    backgrounds.
    - **Maximum Sponsors:** Admins can configure the number of sponsors
    shown on the leaderboard with the `maxSponsors` setting.
        - **Jar Link:** Admins can update the link to the donation jar.
    stefann-01 authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    ec222ec View commit details
    Browse the repository at this point in the history
  5. chore(codecov): ignore generated files (#2998)

    The change does not appear to be applied to my PR #2920, so I am opening
    a dedicated PR to make Codecov aware.
    
    Signed-off-by: moul <[email protected]>
    moul authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    5c876f3 View commit details
    Browse the repository at this point in the history
  6. feat(gnovm): handle loop variables (#2429)

    # Problem Definition
    
    The problem originates from the issue described in
    [#1135](#1135). While the full
    scope of the issue is broader, it fundamentally relates to the concept
    of loop variable escapes block where it's defined.
    
    e.g. 1:
    ```go
    package main
    
    import "fmt"
    
    var s1 []*int
    
    func forLoopRef() {
    	defer func() {
    		for i, e := range s1 {
    			fmt.Printf("s1[%d] is: %d\n", i, *e)
    		}
    	}()
    
    	for i := 0; i < 3; i++ {
    		z := i + 1
    		s1 = append(s1, &z)
    	}
    }
    
    func main() {
    	forLoopRef()
    }
    ```
    
    e.g. 2:
    ```go
    package main
    
    type f func()
    
    var fs []f
    
    func forLoopClosure() {
    	defer func() {
    		for _, f := range fs {
    			f()
    		}
    	}()
    
    	for i := 0; i < 3; i++ {
    		z := i
    		fs = append(fs, func() { println(z) })
    	}
    }
    
    func main() {
    	forLoopClosure()
    }
    ```
    
    e.g. 3:
    ```go
    package main
    
    func main() {
    	c := 0
    	closures := []func(){}
    loop:
    	i := c
    	closures = append(closures, func() {
    		println(i)
    	})
    	c += 1
    	if c < 10 {
    		goto loop
    	}
    
    	for _, cl := range closures {
    		cl()
    	}
    }
    ```
    
    
    
    # Solution ideas
    
    - **identify escaped vars in preprocess**:
    Detect situations where a loop variable is defined within a loop
    block(including `for/range` loops or loops constructed using `goto`
    statements), and escapes the block where it's defined.
    
    - **runtime allocation**:
    Allocate a new heap item for the loop variable in each iteration to
    ensure each iteration operates with its unique variable instance.
    
    - **NOTE1**: this is consistent with Go's Strategy:
    "Each iteration has its own separate declared variable (or variables)
    [Go 1.22]. The variable used by the first iteration is declared by the
    init statement. The variable used by each subsequent iteration is
    declared implicitly before executing the post statement and initialized
    to the value of the previous iteration's variable at that moment."
    
    - **NOTE2**: the `loopvar` feature of Go 1.22 is not supported in this
    version, and will be supported in next version.
    
        not supporting capture `i` defined in for/range clause;
    ```go
    	for i := 0; i < 3; i++ {
    		s1 = append(s1, &i)
    	}
    ```
    
    # Implementation Details
    
    **Preprocess Stage(Multi-Phase Preprocessor)**:
    
    - **Phase 1: `initStaticBlocks`**: Establish a cascading scope structure
    where `predefine` is conducted. In this phase Name expressions are
    initially marked as `NameExprTypeDefine`, which may later be upgraded to
    `NameExprTypeHeapDefine` if it is determined that they escape the loop
    block. This phase also supports other processes as a
    prerequisite[#2077](#2077).
       
    - **Phase 2: `preprocess1`**: This represents the original preprocessing
    phase(not going into details).
       
    - **Phase 3: `findGotoLoopDefines`**: By traversing the AST, any name
    expression defined in a loop block (for/range, goto) with the attribute
    `NameExprTypeDefine` is promoted to `NameExprTypeHeapDefine`. This is
    used in later phase.
       
    - **Phase 4: `findLoopUses1`**: Identify the usage of
    `NameExprTypeHeapDefine` name expressions. If a name expression is used
    in a function literal or is referrnced(e.g. &a), and it was previously
    defined as `NameExprTypeHeapDefine`, the `used` name expression is then
    given the attribute `NameExprTypeHeapUse`. This step finalizes whether a
    name expression will be allocated on the heap and used from heap.
    `Closures` represent a particular scenario in this context. Each
    closure, defined by a funcLitExpr that captures variables, is associated
    with a HeapCaptures list. This list consists of NameExprs, which are
    utilized at runtime to obtain the actual variable values for each
    iteration. Correspondingly, within the funcLitExpr block, a list of
    placeholder values are defined. These placeholders are populated during
    the doOpFuncLit phase and subsequently utilized in the `doOpCall` to
    ensure that each iteration uses the correct data.
    
    
    - **Phase 5: `findLoopUses2`**: Convert non-loop uses of loop-defined
    names to `NameExprTypeHeapUse`. Also, demote `NameExprTypeHeapDefine`
    back to `NameExprTypeDefine` if no actual usage is found. Also , as the
    last phase, attributes no longer needed will be cleaned up after this
    phase.
    
    **Runtime Stage**:
    
    1. **Variable Allocation**:
    - Modify the runtime so that encountering a `NameExprTypeHeapDefine`
    triggers the allocation of a new `heapItemValue` for it, which will be
    used by any `NameExprTypeHeapUse`.
    
    2. **Function Literal Handling**:
    - During the execution of `doOpFuncLit`, retrieve the `HeapCapture`
    values (previously allocated heap item values) and fill in the
    placeholder values within the `funcLitExpr` block.
    - When invoking the function (`doOpCall`), the `placeHolder`
    values(fv.Captures) are used to update the execution context, ensuring
    accurate and consistent results across iterations.
    
    ---------
    
    Co-authored-by: ltzMaxwell <[email protected]>
    Co-authored-by: Morgan <[email protected]>
    3 people authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    1a57e81 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. feat(tm2): add sdk/params module (#2920)

    - [x] port x/params -> sdk/params
    b930513
    - [x] inject in vmkeeper + add std.SetConfig
    602245d
    - [x] implement in `gnoland` 783a044
    	- [x] appchain
        - [x] rpc query
        - [x] txtar
    - [x] implement or add comment where we should use it in the existing
    codebase
    	- [x] namespace's realm target
    - [ ] questions
    - [x] do we want a `std.GetConfig` from the contract part? -> No, it
    allows unsafe, complex, and implicit patterns. If you want to get a
    value from another contract, you can either import it or use a registry
    pattern. This approach preserves type safety and other GNOVM
    protections.
    - [ ] do we want to restrict the realms able to call `SetConfig` (only
    `r/sys`), or maybe set an expensive gas price?
    - [x] after discussion with jae
    	- [x] Rename Config -> Param for consistency
    - [x] Remove `interface{}` from the setters and use specific types,
    including in the tm2 implementation (string, uint64, int64, bool, bytes)
    - [x] Remove the `.<type>` suffix addition, but ensure that the type is
    explicitly defined by the user; and remove the table.
    	- [x] Remove the types table from the tm2 implementation
    
    Related #1418 
    Related #1856
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    moul authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    43dd3f3 View commit details
    Browse the repository at this point in the history
  2. fix(tm2): enable coin benchmark tests after fixing panic error (#2884)

    Relate to #907
    
    Make a few small fixes to get this test working
    <!-- 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>
    sunspirit99 authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    e34a8f7 View commit details
    Browse the repository at this point in the history
  3. feat(ghverify): emit event when user request verification (#2778)

    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    related to #2777 
    <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: 6h057 <[email protected]>
    Villaquiranm and omarsy authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    247f2c6 View commit details
    Browse the repository at this point in the history
  4. test(p/uint256): Increase Test Coverage for uint256 Package (#2931)

    # Description
    
    <img width="728" alt="Screenshot 2024-10-10 at 2 53 28 PM"
    src="https://github.com/user-attachments/assets/0c38769d-b80d-4850-b8c9-6bd3c37d8b6f">
    
    Increased the test coverage of the `p/demo/uint256` package. Previously,
    only about 40% was covered, but now it has increased to 90% (checked in
    go).
    
    The existing implementation of the uint256 function is unmodified except
    for modifying it to use the strconv package.
    
    - [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
    - [X] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Morgan <[email protected]>
    notJoon and thehowl authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    5e71837 View commit details
    Browse the repository at this point in the history
  5. test(stdlibs/io): add additional test (#2898)

    # Description
    
    Fixed a failing test in the io package. Additionally, I activated some
    previously commented-out tests by bypassing the need for `os.CreateTemp`
    using `bytes.Buffer`.
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Morgan Bazalgette <[email protected]>
    notJoon and thehowl authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    d961785 View commit details
    Browse the repository at this point in the history
  6. feat(gnovm): add 'gno test -print-events' + cleanup machine between t…

    …ests (#2975)
    
    - [x] add `gno test -print-events` flag for unit tests.
    	Props to @r3v4s for his work on #2071
    - [x] add `// Events:` support in `_filetests.gno`.
    - [x] cleanup `gno.Machine` between unit tests (\o/) .
    
    Fixes #1982 
    Closes #2071 
    Addresses #2007
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    moul authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    f4c4204 View commit details
    Browse the repository at this point in the history
  7. ci: remove unused goreleaser files, ignore chain/ tags (#3004)

    I don't know how to test this, but I think this may fix it. @ajnavarro
    do you have a separate repo / access to the pro token and can see if
    this configuration works?
    
    I removed the other config files as they weren't used, and the
    `nightly:` section as I don't think it's parsed, anyway: it doesn't
    exist in the goreleaser schema.
    thehowl authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    a2e5c3d View commit details
    Browse the repository at this point in the history
  8. ci: fixup goreleaser workflow, again (#3008)

    <!-- 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
    </details>
    
    Co-authored-by: Sergio Maria Matone <[email protected]>
    thehowl and sw360cab authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    4927d4b View commit details
    Browse the repository at this point in the history
  9. ci: fix goreleaser ci again again (#3010)

    <!-- 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
    </details>
    
    ---------
    
    Co-authored-by: Sergio Maria Matone <[email protected]>
    thehowl and sw360cab authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    c2aef42 View commit details
    Browse the repository at this point in the history
  10. feat(stdlibs/std): prohibit getting Banker from a pure package (#2248)

    Related to #2192 
    - Trigger a panic if a p/ attempts to create a banker, but allow
    interaction with an already instantiated banker from r/.
    
    Don't really know if this is the right approach. If you have another
    idea of how to implement this security check please let me know :)
    
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <details><summary>Contributors' checklist...</summary>
    
    - [ ] Added new tests, or not needed, or not feasible
    - [ ] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [ ] Updated the official documentation or not needed
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    - [ ] Added new benchmarks to [generated
    graphs](https://gnoland.github.io/benchmarks), if any. More info
    [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
    </details>
    
    ---------
    
    Co-authored-by: Manfred Touron <[email protected]>
    Villaquiranm and moul authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    520195e View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2024

  1. fix(gnovm): fix issue with locally re-definition (#3014)

    closes: #3013
    <!-- 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
    </details>
    
    ---------
    
    Co-authored-by: Morgan Bazalgette <[email protected]>
    ltzmaxwell and thehowl authored Oct 24, 2024
    Configuration menu
    Copy the full SHA
    287c22e View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2024

  1. chore: remove CODEOWNERS (#3022)

    Remove all teams and individuals in CODEOWNERS
    
    Related to #3019
    Kouteki authored Oct 25, 2024
    Configuration menu
    Copy the full SHA
    a478348 View commit details
    Browse the repository at this point in the history
  2. fix(gnolang): ensure complete Uverse initialization (#2997)

    Fixes #2067.
    
    UverseNode now distinguishes when it's uninitialized, initializing and
    initialized. In combination with calling Uverse() at init, we make sure
    that after package initialization we always have the same result from
    Uverse() and UverseNode() and we don't have issues like those pointed
    out in #2067.
    thehowl authored Oct 25, 2024
    Configuration menu
    Copy the full SHA
    0b2c67e View commit details
    Browse the repository at this point in the history
  3. chore: relocate tm2/std.MemFile in gnovm/std (#2910)

    This PR removes "gno.land" from all `tm2/.../*.go` files.
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    moul authored Oct 25, 2024
    Configuration menu
    Copy the full SHA
    603f6d3 View commit details
    Browse the repository at this point in the history
  4. ci: run gno test with --print-runtime-metrics (#2979)

    Enabling `--print-runtime-metrics` on the CI triggered a bug.
    
    One of our libraries passes without the flag but triggers a panic with
    the message `allocation limit exceeded` when the flag is present. I
    suspect this check occurs with the `gno` CLI when the flag is enabled
    and also on-chain. Therefore, it may be a minor bug affecting local
    development, particularly for unit tests. Regardless, it deserves
    investigation.
    
    ---
    
    Diff too long (47Mb); embedding only the first and last 100 lines.
    
    ```console
    $> go run github.com/gnolang/gno/gnovm/cmd/gno test -v -update-golden-tests -print-runtime-metrics ./examples/gno.land/p/demo/diff
    === RUN   TestMyersDiff
    === RUN   TestMyersDiff/No_difference
    --- PASS: TestMyersDiff/No_difference (0.00s)
    === RUN   TestMyersDiff/Simple_insertion
    --- PASS: TestMyersDiff/Simple_insertion (0.00s)
    === RUN   TestMyersDiff/Simple_deletion
    --- PASS: TestMyersDiff/Simple_deletion (0.00s)
    === RUN   TestMyersDiff/Simple_substitution
    --- PASS: TestMyersDiff/Simple_substitution (0.00s)
    === RUN   TestMyersDiff/Multiple_changes
    --- PASS: TestMyersDiff/Multiple_changes (0.00s)
    === RUN   TestMyersDiff/Prefix_and_suffix
    --- PASS: TestMyersDiff/Prefix_and_suffix (0.00s)
    === RUN   TestMyersDiff/Complete_change
    --- PASS: TestMyersDiff/Complete_change (0.00s)
    === RUN   TestMyersDiff/Empty_strings
    --- PASS: TestMyersDiff/Empty_strings (0.00s)
    === RUN   TestMyersDiff/Old_empty
    --- PASS: TestMyersDiff/Old_empty (0.00s)
    === RUN   TestMyersDiff/New_empty
    --- PASS: TestMyersDiff/New_empty (0.00s)
    === RUN   TestMyersDiff/non-ascii_(Korean_characters)
    --- PASS: TestMyersDiff/non-ascii_(Korean_characters) (0.00s)
    === RUN   TestMyersDiff/Emoji_diff
    --- PASS: TestMyersDiff/Emoji_diff (0.00s)
    === RUN   TestMyersDiff/Mixed_multibyte_and_ASCII
    --- PASS: TestMyersDiff/Mixed_multibyte_and_ASCII (0.00s)
    === RUN   TestMyersDiff/Chinese_characters
    --- PASS: TestMyersDiff/Chinese_characters (0.00s)
    === RUN   TestMyersDiff/Combining_characters
    --- PASS: TestMyersDiff/Combining_characters (0.00s)
    === RUN   TestMyersDiff/Right-to-Left_languages
    --- PASS: TestMyersDiff/Right-to-Left_languages (0.00s)
    === RUN   TestMyersDiff/Normalization_NFC_and_NFD
    --- PASS: TestMyersDiff/Normalization_NFC_and_NFD (0.00s)
    === RUN   TestMyersDiff/Case_sensitivity
    --- PASS: TestMyersDiff/Case_sensitivity (0.00s)
    === RUN   TestMyersDiff/Surrogate_pairs
    --- PASS: TestMyersDiff/Surrogate_pairs (0.00s)
    === RUN   TestMyersDiff/Control_characters
    --- PASS: TestMyersDiff/Control_characters (0.00s)
    === RUN   TestMyersDiff/Mixed_scripts
    --- PASS: TestMyersDiff/Mixed_scripts (0.00s)
    === RUN   TestMyersDiff/Unicode_normalization
    --- PASS: TestMyersDiff/Unicode_normalization (0.00s)
    === RUN   TestMyersDiff/Directional_marks
    --- PASS: TestMyersDiff/Directional_marks (0.00s)
    === RUN   TestMyersDiff/Zero-width_characters
    --- PASS: TestMyersDiff/Zero-width_characters (0.00s)
    === RUN   TestMyersDiff/Worst-case_scenario_(completely_different_strings)
    ./examples/gno.land/p/demo/diff: test pkg: panic: allocation limit exceeded
    stack:
    goroutine 1 [running]:
    runtime/debug.Stack()
    	/nix/store/05saqcgidraqmn4z82prsp7rbj9hjmwm-go-1.22.5/share/go/src/runtime/debug/stack.go:24 +0x64
    main.runTestFiles.func1()
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/cmd/gno/test.go:427 +0x48
    panic({0x102ba10c0?, 0x102d07500?})
    	/nix/store/05saqcgidraqmn4z82prsp7rbj9hjmwm-go-1.22.5/share/go/src/runtime/panic.go:770 +0x124
    github.com/gnolang/gno/gnovm/pkg/gnolang.(*Allocator).Allocate(...)
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/pkg/gnolang/alloc.go:107
    github.com/gnolang/gno/gnovm/pkg/gnolang.(*Allocator).AllocateBlock(...)
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/pkg/gnolang/alloc.go:157
    github.com/gnolang/gno/gnovm/pkg/gnolang.(*Allocator).NewBlock(0x14000010af0, {0x102d27610, 0x14000101b08}, 0x14014a352c0)
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/pkg/gnolang/alloc.go:291 +0x90
    github.com/gnolang/gno/gnovm/pkg/gnolang.(*Machine).doOpExec(0x140003d0908, 0x1?)
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/pkg/gnolang/op_exec.go:519 +0x2880
    github.com/gnolang/gno/gnovm/pkg/gnolang.(*Machine).Run(0x140003d0908)
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/pkg/gnolang/machine.go:1593 +0xaec
    github.com/gnolang/gno/gnovm/pkg/gnolang.(*Machine).Eval(0x140003d0908, {0x102d1da40, 0x1400b1ae2a0})
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/pkg/gnolang/machine.go:884 +0x584
    main.runTestFiles(0x140003d0908, 0x140001a5710, {0x140004acbd8, 0x4}, 0x1, 0x1, {0x0, 0x0}, {0x102d20870, 0x140004ab220})
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/cmd/gno/test.go:453 +0x2ac
    main.gnoTestPkg({0x16ddc2824, 0x1f}, {0x1400043cfd0?, 0x1, 0x0?}, {0x0, 0x0, 0x930abcef00000000?}, 0x14000417a80, {0x102d20870, ...})
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/cmd/gno/test.go:298 +0xe94
    main.execTest(0x14000417a80, {0x1400043cf80?, 0x1?, 0x1?}, {0x102d20870, 0x140004ab220})
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/cmd/gno/test.go:197 +0x35c
    main.newTestCmd.func1({0x0?, 0x140001ae170?}, {0x1400043cf80?, 0x1400040e6c0?, 0x0?})
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/cmd/gno/test.go:98 +0x3c
    github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run(0x14000438f20?, {0x102d136f0?, 0x1033f5e40?})
    	/Users/moul/go/src/github.com/gnolang/gno/tm2/pkg/commands/command.go:255 +0x17c
    github.com/gnolang/gno/tm2/pkg/commands.(*Command).Run(0x14000438f20?, {0x102d136f0?, 0x1033f5e40?})
    	/Users/moul/go/src/github.com/gnolang/gno/tm2/pkg/commands/command.go:259 +0x12c
    github.com/gnolang/gno/tm2/pkg/commands.(*Command).ParseAndRun(0x14000438f20, {0x102d136f0, 0x1033f5e40}, {0x140001ae130?, 0x140004394a0?, 0x14000439550?})
    	/Users/moul/go/src/github.com/gnolang/gno/tm2/pkg/commands/command.go:140 +0x4c
    github.com/gnolang/gno/tm2/pkg/commands.(*Command).Execute(0x102d20870?, {0x102d136f0?, 0x1033f5e40?}, {0x140001ae130?, 0x103311f28?, 0x140000021c0?})
    	/Users/moul/go/src/github.com/gnolang/gno/tm2/pkg/commands/command.go:117 +0x28
    main.main()
    	/Users/moul/go/src/github.com/gnolang/gno/gnovm/cmd/gno/main.go:13 +0x6c
    
    gno machine: Machine:
        CheckTypes: false
        Op: [OpHalt OpBody OpRangeIter OpPopBlock OpBody OpReturn OpBody OpPopResults OpExec OpBody OpPopResults OpExec OpBody OpRangeIter OpPopResults OpBody OpPopResults OpExec OpBody OpPopResults OpExec OpBody OpDefine OpBody OpForLoop OpForLoop]
        Values: (len: 10)
              #9 (MyersDiff func(old string,new string)( []gno.land/p/demo/diff.Edit))
              #8 (func(t *testing.T)(){...} testing.testingFunc)
              #7 (tRunner func(t *testing.T,fn testing.testingFunc,verbose bool)())
              #6 (<*testing.T>.Run(t *testing.T,name string,f testing.testingFunc)( bool) func(name string,f testing.testingFunc)( bool))
              #5 (slice[(struct{("No difference" string),("abc" string),("abc" string),("abc" string)} struct{name string;old string;new string;expected string}),(struct{("Simple insertion" string),("ac" string),("abc" string),("a[+b]c" string)} struct{name string;old string;new string;expected string}),(struct{("Simple deletion" string),("abc" string),("ac" string),("a[-b]c" string)} struct{name string;old string;new string;expected string}),(struct{("Simple substitution" string),("abc" string),("abd" string),("ab[-c][+d]" string)} struct{name string;old string;new string;expected string}),(struct{("Multiple changes" string),("The quick brown fox jumps over the lazy dog" string),("The quick brown cat jumps over the lazy dog" string),("The quick brown [-fox][+cat] jumps over the lazy dog" string)} struct{name string;old string;new string;expected string}),(struct{("Prefix and suffix" string),("Hello, world!" string),("Hello, beautiful world!" string),("Hello, [+beautiful ]world!" string)} struct{name string;old string;new string;expected string}),(struct{("Complete change" string),("abcdef" string),("ghijkl" string),("[-abcdef][+ghijkl]" string)} struct{name string;old string;new string;expected string}),(struct{("Empty strings" string),("" string),("" string),("" string)} struct{name string;old string;new string;expected string}),(struct{("Old empty" string),("" string),("abc" string),("[+abc]" string)} struct{name string;old string;new string;expected string}),(struct{("New empty" string),("abc" string),("" string),("[-abc]" string)} struct{name string;old string;new string;expected string}),(struct{("non-ascii (Korean characters)" string),("ASCII 문자가 아닌 것도 되나?" string),("ASCII 문자가 아닌 것도 됨." string),("ASCII 문자가 아닌 것도 [-되나?][+됨.]" string)} struct{name string;old string;new string;expected string}),(struct{("Emoji diff" string),("Hello 👋 World 🌍" string),("Hello 👋 Beautiful 🌸 World 🌍" string),("Hello 👋 [+Beautiful 🌸 ]World 🌍" string)} struct{name string;old string;new string;expected string}),(struct{("Mixed multibyte and ASCII" string),("こんにちは World" string),("こんばんは World" string),("こん[-にち][+ばん]は World" string)} struct{name string;old string;new string;expected string}),(struct{("Chinese characters" string),("我喜欢编程" string),("我喜欢看书和编程" string),("我喜欢[+看书和]编程" string)} struct{name string;old string;new string;expected string}),(struct{("Combining characters" string),("é" string),("è" string),("e[-́][+̀]" string)} struct{name string;old string;new string;expected string}),(struct{("Right-to-Left languages" string),("שלום" string),("שלום עולם" string),("שלום[+ עולם]" string)} struct{name string;old string;new string;expected string}),(struct{("Normalization NFC and NFD" string),("é" string),("é" string),("[-é][+é]" string)} struct{name string;old string;new string;expected string}),(struct{("Case sensitivity" string),("abc" string),("Abc" string),("[-a][+A]bc" string)} struct{name string;old string;new string;expected string}),(struct{("Surrogate pairs" string),("Hello 🌍" string),("Hello 🌎" string),("Hello [-🌍][+🌎]" string)} struct{name string;old string;new string;expected string}),(struct{("Control characters" string),("Line1\nLine2" string),("Line1\r\nLine2" string),("Line1[+\r]\nLine2" string)} struct{name string;old string;new string;expected string}),(struct{("Mixed scripts" string),("Hello नमस्ते こんにちは" string),("Hello สวัสดี こんにちは" string),("Hello [-नमस्ते][+สวัสดี] こんにちは" string)} struct{name string;old string;new string;expected string}),(struct{("Unicode normalization" string),("é" string),("é" string),("[-é][+é]" string)} struct{name string;old string;new string;expected string}),(struct{("Directional marks" string),("Hello\u200eworld" string),("Hello\u200fworld" string),("Hello[-\u200e][+\u200f]world" string)} struct{name string;old string;new string;expected string}),(struct{("Zero-width characters" string),("ab\u200bc" string),("abc" string),("ab[-\u200b]c" string)} struct{name string;old string;new string;expected string}),(struct{("Worst-case scenario (completely different strings)" string),("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" string),("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" string),("[-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa][+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb]" string)} struct{name string;old string;new string;expected string}),(struct{("Very long strings" string),("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" string),("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" string),("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[-b][+c]aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…
    moul authored Oct 25, 2024
    Configuration menu
    Copy the full SHA
    b849b5a View commit details
    Browse the repository at this point in the history
  5. feat: add p/moul/txlink + p/moul/helplink (#2887)

    This PR aimed to promote the use of a `p/` library for managing special
    help links from contracts.
    
    It also provided an opportunity for me to realize that our discussion
    about changing the `$` symbol would require some parsing and detection
    from the `gnoweb` perspective. If we want a simple library like this
    one, the goal should be to ideally craft a link to the current package
    without specifying the realm path. Relative URLs worked well with `?`,
    but they won't function with `$`.
    
    As an alternative, we can have this package look for
    `std.PrevRealm().PkgAddr` if it is not specified.
    
    cc @jeronimoalbi @thehowl @leohhhn 
    
    Related with #2602
    Related with #2876
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Leon Hudak <[email protected]>
    moul and leohhhn authored Oct 25, 2024
    Configuration menu
    Copy the full SHA
    49e718c View commit details
    Browse the repository at this point in the history
  6. ci: benchmark only BenchmarkBenchdata (#3007)

    A bit radical, but I'm open to other benchmarks we should include.
    
    Essentially, in an effort to have a small amount of meaningful
    benchmarks, I'd like for these to only be those in BenchmarkBenchdata.
    Yes, I recognize this is tooting my own horn, but I think they are good
    benchmarks that tell us, overall, if the GnoVM on a few reference
    programs got slower or faster, and I found them useful in the past while
    doing manual execution.
    
    Most other benchmarks are micro-benchmarks, which aren't likely to
    change often or to give us useful insight. I'm open to suggestions for
    others that make sense to be tracked, but I think it's for the better if
    we keep the number low so the CI for benchmarks can run in just a few
    minutes.
    thehowl authored Oct 25, 2024
    Configuration menu
    Copy the full SHA
    cfbaff2 View commit details
    Browse the repository at this point in the history
  7. ci: add workflow to ensure go.mod files are tidied (#3025)

    <!-- 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
    </details>
    thehowl authored Oct 25, 2024
    Configuration menu
    Copy the full SHA
    2838ad1 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2024

  1. Configuration menu
    Copy the full SHA
    534e652 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2024

  1. ci: don't test verbosely (#3026)

    Let's remove the noise in the tests. This will make sure the logs only
    show the errors when they happen.
    thehowl authored Oct 28, 2024
    Configuration menu
    Copy the full SHA
    d03581e View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2024

  1. chore: move gnoland genesis to contribs/gnogenesis (#3041)

    ## Description
    
    This PR migrates the `gnoland genesis` command suite under
    `contribs/gnogenesis`, after following discussions from #2824, and
    internal discussions.
    
    **BREAKING CHANGE**
    `gnoland genesis` will cease to exist after this PR, instead, you will
    need to use the binary in `contribs/gnogenesis`.
    It's installed by default after running `make install` from the repo
    root.
    
    Closes #2824 
    
    <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
    - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [x] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    </details>
    zivkovicmilos authored Oct 29, 2024
    Configuration menu
    Copy the full SHA
    12bd8da View commit details
    Browse the repository at this point in the history
  2. feat: r/gov/dao v2 (#2581)

    ## Description
    
    This PR introduces an upgrade to the `r/gov/dao` system:
    - it makes it configurable through custom implementations
        - added a `p/demo/simpledao` implementation
    - the implementations are changeable through a govdao proposal
    - adds weighted voting to a govdao example implementation
    
    <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
    - [ ] 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]>
    zivkovicmilos and moul authored Oct 29, 2024
    Configuration menu
    Copy the full SHA
    2a2be39 View commit details
    Browse the repository at this point in the history
  3. chore: remove install.gnogenesis from root makefile (#3045)

    Follow-up to #3041.
    
    Not even `gnoland` is part of the core commands in the root makefile,
    hence it makes no sense for `gnogenesis` to be one of them.
    thehowl authored Oct 29, 2024
    Configuration menu
    Copy the full SHA
    ed91991 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2024

  1. chore: put replaces on gnolang/gno for all go.mods (#3046)

    Everything on this repository should default to always being on the
    latest master branch.
    
    <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>
    thehowl authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    9786fa3 View commit details
    Browse the repository at this point in the history
  2. fix(gnovm): forbid star expression when value is not a pointer (#2984)

    closes: #1088 
    <!-- 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
    </details>
    omarsy authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    850182c View commit details
    Browse the repository at this point in the history
  3. feat(p/json): remove unnecessary code and optimize (#2939)

    # Description
    
    Optimized the JSON package and simplified JSON node creation using the
    builder pattern.
    
    - in `buffer.gno` and `escape.gno` files are modified the use of map for
    lookup tables to use slice array instead.
    - refactor the `Unquote` function in `escape.gno` file
    - modified the existing functions that parsed numbers to use `strconv`
    package, and deleted related files and functions
    - especially, the `eisel_lemire` and `ryu` packages were deleted since
    they were files that had been added to handle `ParseUint` and
    `ParseFloat` in `strconv` package.
    
    ## JSON Generate Example
    
    **Plain JSON**
    
    ```go
    node := Builder().
    	WithString("name", "Alice").
    	WithNumber("age", 30).
    	WithBool("is_student", false).
    	Node()
    
    value, err := Marshal(node)
    if err != nil {
    	t.Errorf("unexpected error: %s", err)
    }
    
    Output:
    {"name":"Alice","age":30,"is_student":false}
    ```
    
    **Nested Structure**
    
    ```go
    node := Builder().
    	WriteString("name", "Alice").
    	WriteObject("address", func(b *NodeBuilder) {
    		b.WriteString("city", "New York").
    		WriteNumber("zipcode", 10001)
    	}).
    	Node()
    // ...
    
    Output:
    {"name":"Alice","address":{"city":"New York","zipcode":10001}}
    ```
    
    ## Benchmark Result for Unquote
    
    **Before**
    
    ```plain
    BenchmarkUnquote-8              	12433488	        98.06 ns/op	     144 B/op	       2 allocs/op
    BenchmarkUnquoteWorstCase-8     	24727736	        50.46 ns/op	      48 B/op	       1 allocs/op
    BenchmarkUnquoteBestCase-8      	22542354	        52.69 ns/op	      48 B/op	       1 allocs/op
    BenchmarkUnquoteEmptyString-8   	394868628	         3.067 ns/op	       0 B/op	       0 allocs/op
    ```
    
    **After**
    
    ```plain
    BenchmarkUnquote-8              	12464704	        96.61 ns/op	     144 B/op	       2 allocs/op
    BenchmarkUnquoteWorstCase-8     	25084070	        48.02 ns/op	      48 B/op	       1 allocs/op
    BenchmarkUnquoteBestCase-8      	23383227	        52.66 ns/op	      48 B/op	       1 allocs/op
    BenchmarkUnquoteEmptyString-8   	400496838	         2.968 ns/op	       0 B/op	       0 allocs/op
    ```
    notJoon authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    494976d View commit details
    Browse the repository at this point in the history
  4. test(gno.land): add unit tests for sdk/vm.vmHandler (#2459)

    ```console
    gnome$ go test -v ./sdk/vm -run TestVmHandler
    === RUN   TestVmHandlerQuery_Eval
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.Echo("hello")
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.PubString
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.ConstString
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.pvString
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.counter
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.GetCounter()
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.Inc()
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.pvEcho("hello")
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.1337
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.13.37
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.float64(1337)
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.myStructInst
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.myStructInst.Foo()
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.myStruct
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.Inc
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.fn()("hi")
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.sl
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.sl[1]
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.println(1234)
    1234
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.doesnotexist
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/doesnotexist.Foo
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.Panic()
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.panic("bar")
    === RUN   TestVmHandlerQuery_Eval/gno.land/r/hello.sl[6]
    --- PASS: TestVmHandlerQuery_Eval (0.03s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.Echo("hello") (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.PubString (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.ConstString (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.pvString (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.counter (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.GetCounter() (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.Inc() (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.pvEcho("hello") (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.1337 (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.13.37 (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.float64(1337) (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.myStructInst (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.myStructInst.Foo() (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.myStruct (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.Inc (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.fn()("hi") (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.sl (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.sl[1] (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.println(1234) (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.doesnotexist (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/doesnotexist.Foo (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.Panic() (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.panic("bar") (0.00s)
        --- PASS: TestVmHandlerQuery_Eval/gno.land/r/hello.sl[6] (0.00s)
    === RUN   TestVmHandlerQuery_Funcs
    === RUN   TestVmHandlerQuery_Funcs/gno.land/r/hello
    === RUN   TestVmHandlerQuery_Funcs/gno.land/r/doesnotexist
    === RUN   TestVmHandlerQuery_Funcs/std
    === RUN   TestVmHandlerQuery_Funcs/strings
    --- PASS: TestVmHandlerQuery_Funcs (0.00s)
        --- PASS: TestVmHandlerQuery_Funcs/gno.land/r/hello (0.00s)
        --- PASS: TestVmHandlerQuery_Funcs/gno.land/r/doesnotexist (0.00s)
        --- PASS: TestVmHandlerQuery_Funcs/std (0.00s)
        --- PASS: TestVmHandlerQuery_Funcs/strings (0.00s)
    === RUN   TestVmHandlerQuery_File
    === RUN   TestVmHandlerQuery_File/gno.land/r/hello/hello.gno
    === RUN   TestVmHandlerQuery_File/gno.land/r/hello/README.md
    === RUN   TestVmHandlerQuery_File/gno.land/r/hello/doesnotexist.gno
    === RUN   TestVmHandlerQuery_File/gno.land/r/hello
    === RUN   TestVmHandlerQuery_File/gno.land/r/doesnotexist
    === RUN   TestVmHandlerQuery_File/gno.land/r/doesnotexist/hello.gno
    --- PASS: TestVmHandlerQuery_File (0.00s)
        --- PASS: TestVmHandlerQuery_File/gno.land/r/hello/hello.gno (0.00s)
        --- PASS: TestVmHandlerQuery_File/gno.land/r/hello/README.md (0.00s)
        --- PASS: TestVmHandlerQuery_File/gno.land/r/hello/doesnotexist.gno (0.00s)
        --- PASS: TestVmHandlerQuery_File/gno.land/r/hello (0.00s)
        --- PASS: TestVmHandlerQuery_File/gno.land/r/doesnotexist (0.00s)
        --- PASS: TestVmHandlerQuery_File/gno.land/r/doesnotexist/hello.gno (0.00s)
    PASS
    ok  	github.com/gnolang/gno/gno.land/pkg/sdk/vm	(cached)
    ```
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    moul authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    e9640ef View commit details
    Browse the repository at this point in the history
  5. fix(gnovm): forbid star expression when value is nil (#3053)

    close: #3052 
    <!-- 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
    </details>
    omarsy authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    8ec556e View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2024

  1. test(gnovm): indented json on filetests's Events: directives (#3055)

    Closer to the current `// Realm:` output, and more git-friendly.
    
    Bigger example in #3003.
    
    Signed-off-by: moul <[email protected]>
    moul authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    2873354 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    af05780 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2024

  1. feat: support metadata for genesis txs (#2941)

    ## Description
    
    This PR introduces metadata support for genesis transactions (such as
    timestamps), in the form of a new Gno genesis state that's easily
    generate-able.
    
    Shoutout to @clockworkgr for sanity checking the idea, and providing
    insights that ultimately led to this PR materializing.
    
    **BREAKING CHANGE**
    The `GnoGenesisState` is now modified, and all functionality that
    references it (ex. `gnogenesis`, `tx-archive`) will need to adapt.
    
    ### What we wanted to accomplish
    
    The Portal Loop does not save "time" information upon restarting (from
    block 0). This means that any transaction that resulted in a Realm /
    Package calling `time.Now()` will get differing results when these same
    transactions are "replayed" as part of the loop (in the genesis state).
    
    We wanted to somehow preserve this timestamp information when the
    transactions (from a previous loop), are executed as part of the genesis
    building process.
    
    For example:
    - Portal Loop chain is on block 100
    - tx A results in a call to `time.Now()`, which returns time T, and
    saves it somewhere (Realm state)
    - the Portal Loop restarts, and uses all the transactions it encountered
    in the past iteration as genesis txs
    - the genesis is generated by executing the transactions
    - when tx A is re-executed (this time as part of the genesis block),
    **it should return time T, as with the original execution context**
    
    It is worth noting that this functionality is something we want in
    `gnodev`, so simple helpers on the Realms to update the timestamps
    wouldn't work.
    
    ### What this PR does
    
    I've tried to follow a couple of principles when working on this PR:
    - don't break backwards compatibility
    - don't modify critical APIs such as the SDK ABCI, but preserve
    existing, working, functionality in its original form
    - don't add another layer to the complexity pancake
    - don't implement a solution that looks (and works) like a hack
    
    I'm not a huge fan of execution hooks, so the solution proposed in this
    PR doesn't rely on any hook mechanism. Not going with the hook approach
    also significantly decreases the complexity and preserves readability.
    
    The base of this solution is enabling execution context modification,
    with minimal / no API changes.
    Having functionality like this, we can tailor the context during
    critical segments such as genesis generation, and we're not just limited
    to timestamps (which is the primary use-case).
    
    We also introduce a new type of `AppState`, called
    `MetadataGenesisState`, where metadata is associated with the
    transactions. We hide the actual `AppState` implementation behind an
    interface, so existing tools and flows don't break, and work as normal.
    
    ### What this PR doesn't do
    
    There is more work to be done if this PR is merged:
    - we need to add support to `tx-archive` for supporting exporting txs
    with metadata. Should be straightforward to do
    - the portal loop also needs to be restarted with this new "mode"
    enabled
    - we need to add support to existing `gnoland genesis` commands to
    support the new `MetadataGenesisState`. It is also straightforward, but
    definitely a bit of work
    - if we want support for something like this in gnodev, the export /
    import code of gnodev also needs to be modified to support the new
    genesis state type (cc @gfanton)
    	- #2943
    
    Related PRs and issues:
    - #2751
    - #2744 
    
    cc @moul @thehowl @jeronimoalbi @ilgooz 
    
    <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
    - [ ] 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]>
    zivkovicmilos and moul authored Nov 4, 2024
    Configuration menu
    Copy the full SHA
    c776e32 View commit details
    Browse the repository at this point in the history
  2. feat: add contribs/gnomigrate (#3063)

    ## Description
    
    This PR introduces a small tool called `gnomigrate`, which will serve as
    a helper for migrating Gno data.
    Currently, it only supports transaction sheet migration from `std.Tx` to
    `gnoland.TxWithMetadata`.
    
    <details><summary>Contributors' checklist...</summary>
    
    - [x] Added new tests, or not needed, or not feasible
    - [x] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [x] Updated the official documentation or not needed
    - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    </details>
    zivkovicmilos authored Nov 4, 2024
    Configuration menu
    Copy the full SHA
    879041f View commit details
    Browse the repository at this point in the history
  3. chore: update tx-archive in portal loop (#3064)

    ## Description
    
    This PR updates the `tx-archive` version in portal loop to use the new
    standard `gnoland.TxWithMetadata` format for transaction sheets.
    
    **BREAKING CHANGE**
    The portal loop will now save transactions with the new metadata format
    
    <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
    - [ ] 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
    </details>
    zivkovicmilos authored Nov 4, 2024
    Configuration menu
    Copy the full SHA
    e3995b9 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2024

  1. chore: tidy misc/loop mod (#3065)

    ## Description
    
    This PR tidies the `misc/loop` `go.mod`. I'm not sure how the CI didn't
    catch this, or why it's green 🤷‍♂️
    
    <details><summary>Contributors' checklist...</summary>
    
    - [x] Added new tests, or not needed, or not feasible
    - [x] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [x] Updated the official documentation or not needed
    - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    </details>
    zivkovicmilos authored Nov 5, 2024
    Configuration menu
    Copy the full SHA
    95df7b0 View commit details
    Browse the repository at this point in the history
  2. fix(tm2): rename methods to avoid conflicts with (un)marshaler interf…

    …aces (#3000)
    
    Amino `codec.MarshallJSON` has the same method name as Go standard
    library `json.Marshaler` interface but with a different signature. This
    is rejected by `go vet`. The same applies for `codec.UnmarshallJSON` vs
    `json.Unmarshaler`. To fix that, we rename `codec.MarshalJSON` to
    `codec.JSONMarshal` and `codec.UnmarshalJSON` to `codec.JSONUnmarshal`.
    
    Now `go vet ./...' pass on the full mono-repo.
    
    Fixes #2954.
    
    BREAKING CHANGE: rename tm2 amino exported methods.
    
    <!-- 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
    </details>
    mvertes authored Nov 5, 2024
    Configuration menu
    Copy the full SHA
    9096ef4 View commit details
    Browse the repository at this point in the history
  3. chore: fix lint issues from go vet (#3069)

    After merge of #3000, a few missing field names in struct literal were
    reported. Fix it. No functional change.
    
    <!-- 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
    </details>
    mvertes authored Nov 5, 2024
    Configuration menu
    Copy the full SHA
    367408a View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2024

  1. feat: change gnoweb to add URL query string to render path (#2876)

    ### Description
    
    This PR introduces a change for _gnoweb_ to also pass the URL query
    string as part of the render path.
    
    Passing the URL query string is required to support arguments when
    rendering realms, which is the case of the AVL pager implementation in
    #2584 that uses "page" and "size".
    
    The PR changes the behavior of realm rendering calls by adding URL query
    arguments as suffix of the `path` argument, so URLs like
    `https://gno.land/r/demo/foo:bar?baz=42` would call `Render(path)` with
    "bar?baz=42" as value of `path`.
    
    It also changes how special _gnoweb_ arguments like `help` of `func` are
    specified which now must be done by using the `$` character, for
    example:
    - `https://gno.land/r/demo/foo$help&func=Bar&name=Baz`
    - `https://gno.land/r/demo/foo:example$tz=Europe/Paris`
    - `https://gno.land/r/demo/foo:example?value=42$tz=Europe/Paris`
    
    Note that `__func` is now `func`, without the underscore prefix.
    
    ### Possible Issues
    
    The change could potentially affect realm or package implementations
    that rely on the render path in cases where the `?` is not expected, for
    example when parsing or splitting it. Because of that there might be
    changes required to handle the case where a caller sends query string
    arguments. Realms and packages should be able to handle render paths
    which could look like `render/path?arg=1&arg=N`.
    
    Links that still use `?`, `help` and `__func` won't work as expected,
    they must be changed to use `$` instead of `?`, and `func` instead of
    `__func`.
    
    Packages `gno.land/p/moul/txlink` and `gno.land/p/moul/helplink` has to
    be refactored to properly generate links.
    
    ---------
    
    Co-authored-by: Leon Hudak <[email protected]>
    Co-authored-by: leohhhn <[email protected]>
    Co-authored-by: Manfred Touron <[email protected]>
    4 people authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    538ebff View commit details
    Browse the repository at this point in the history
  2. test(cmd/gno): prevent nil deref in testMainCaseRun (#3071)

    In `gnovm/cmd/gno/main_test.go`, when an error is expected but none
    happen, the test helper tries to dereference nil, causing a confusing
    test result
    
    Before:
    
    ```
    === RUN   TestModApp/mod_tidy..~..~tests~integ~invalid_module_version1
        main_test.go:92: recover runtime error: invalid memory address or nil pointer dereference
        main_test.go:93: 
            	Error Trace:	/Users/norman/Code/gno/gnovm/cmd/gno/main_test.go:93
            	            				/Users/norman/go/pkg/mod/golang.org/[email protected]/src/runtime/panic.go:770
            	            				/Users/norman/go/pkg/mod/golang.org/[email protected]/src/runtime/panic.go:261
            	            				/Users/norman/go/pkg/mod/golang.org/[email protected]/src/runtime/signal_unix.go:881
            	            				/Users/norman/Code/gno/gnovm/cmd/gno/main_test.go:131
            	Error:      	Should be false
            	Test:       	TestModApp/mod_tidy..~..~tests~integ~invalid_module_version1
            	Messages:   	should not panic
    ```
    
    After:
    
    ```
    === RUN   TestModApp/mod_tidy..~..~tests~integ~invalid_module_version1
        main_test.go:131: err <nil>
        main_test.go:132: 
            	Error Trace:	/Users/norman/Code/gno/gnovm/cmd/gno/main_test.go:132
            	Error:      	Expected value not to be nil.
            	Test:       	TestModApp/mod_tidy..~..~tests~integ~invalid_module_version1
            	Messages:   	err shouldn't be nil
    ```
    
    <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
    </details>
    
    Signed-off-by: Norman Meier <[email protected]>
    n0izn0iz authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    f2928f1 View commit details
    Browse the repository at this point in the history
  3. ci: add a stale bot for PRs (#2804)

    Closes #1445
    
    <!-- please provide a detailed description of the changes made in this
    pull request. -->
    
    <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
    - [ ] 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]>
    3 people authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    724ffc9 View commit details
    Browse the repository at this point in the history
  4. fix(simpledao): reject invalid voting options (#3077)

    <!-- 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
    </details>
    thehowl authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    9dad8f1 View commit details
    Browse the repository at this point in the history
  5. feat(examples): add r/demo/daoweb realm (#3074)

    ## Description
    
    This PR adds a simple JSON adapter for `r/gov/dao/v2`, used by
    [govdao-web](https://govdao.gnoteam.com/).
    
    <details><summary>Contributors' checklist...</summary>
    
    - x ] Added new tests, or not needed, or not feasible
    - [x] Provided an example (e.g. screenshot) to aid review or the PR is
    self-explanatory
    - [x] Updated the official documentation or not needed
    - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
    was included in the description
    - [ ] Added references to related issues and PRs
    - [ ] Provided any useful hints for running manual tests
    </details>
    zivkovicmilos authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    2173b49 View commit details
    Browse the repository at this point in the history
  6. chore: s/Gno.land/gno.land/g (#3047)

    some locations were missed, most importantly on gnoweb.
    
    changes also involve changing the hiring link, which was pointing to
    lever which we don't use anymore, and prettifying the html pages. this
    was done automatically by my text editor; I can revert it if we want a
    cleaner diff.
    thehowl authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    e2e9435 View commit details
    Browse the repository at this point in the history
  7. feat: add p/avl/pager (#2584)

    - add `p/demo/avl/pager`
    - update `r/demo/users`
    
    Hey reviewers, in addition to what you wanted to review, I'm
    specifically curious if you have any better API/usage ideas.
    
    Example:
    https://github.com/gnolang/gno/pull/2584/files#diff-8d5cbbe072737a7f288f74adcaaace11cacc3d31264e6a001515fcae824394e2R33
    
    Related with #447, #599, #868
    
    ---------
    
    Signed-off-by: moul <[email protected]>
    Co-authored-by: Antonio Navarro Perez <[email protected]>
    Co-authored-by: Leon Hudak <[email protected]>
    3 people authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    81a88a2 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2024

  1. Configuration menu
    Copy the full SHA
    9129e4e View commit details
    Browse the repository at this point in the history
  2. fix(gnovm): prevent assignment to non-assignable expressions (#2896)

    closes: #2889
    <!-- 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>
    omarsy authored Nov 7, 2024
    Configuration menu
    Copy the full SHA
    7ef606c View commit details
    Browse the repository at this point in the history