Skip to content

build(deps): bump github.com/nspcc-dev/neo-go from 0.78.3 to 0.99.2#227

Closed
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/go_modules/github.com/nspcc-dev/neo-go-0.99.2
Closed

build(deps): bump github.com/nspcc-dev/neo-go from 0.78.3 to 0.99.2#227
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/go_modules/github.com/nspcc-dev/neo-go-0.99.2

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Aug 15, 2022

Bumps github.com/nspcc-dev/neo-go from 0.78.3 to 0.99.2.

Release notes

Sourced from github.com/nspcc-dev/neo-go's releases.

Recalibration

This is a 3.4.0-compatible (tested for mainnet and testnet) update to NeoGo that implements all of the required protocol changes, adds a lot of new RPC client interfaces and provides additional service management functions. This is also the first version to support the recently released Go 1.19. Support for Go 1.16 is removed at the same time, so you need Go 1.17+ to build NeoGo now.

With this version you can turn on/off, restart or reconfigure internal node services like RPC or Oracle without full node shutdown/startup. Node operators can send an appropriate Unix signal and that'll do the job. At the same time node operators must resynchronize their nodes when updating to 0.99.2 due to native contract state change.

A number of RPC client's methods are now deprecated (but still available to simplify transition), please explore new APIs, try them and leave feedback in #2597 if any. We expect new APIs to better fit the needs of various backend RPC client use cases while allowing to remove some repetitive code from applications at the same time. This release only contains generic NEP-17 call wrapper, so it doesn't cover all of the things currently provided by the old client API, but this will be fixed in future releases.

New features:

  • signal-based configuration and service reloads (#2612)
  • new APIs in smartcontract package to convert Go types into NEP-14 parameters (#2621, #2632)
  • invoker package to deal with invocations via RPC in various contexts (mostly useful for read-only and/or historic calls when used directly, #2621)
  • hasMethod method in the ContractManagement native contract (#2598, #2619, #2640)
  • actor package that helps in creating and sending transactions to the network via RPC using the same set of signers (can be used directly, but mostly intended to be used by higher-order contract wrappers, #2632, #2637)
  • unwrap package in the RPC client that checks for execution results and converts returned stack items to expected Go types (can be used directly, but more useful when being used by upper-layer contract wrappers, #2638)
  • nep17 RPC client package for simple remote access to NEP-17 contract methods via RPC, both safe and state-changing (#2642)

Behavior changes:

  • smartcontract.Params type and (*Parameter).TryParse APIs were removed completely as unused and not useful (#2621)
  • compiler now rejects unnamed parameter for exported methods (but they didn't work properly anyway, #2601)
  • restored deploy-time out of bounds script checks (#2538, #2619)
  • dynamic scripts (like entry scripts) no longer can emit notifications (#2613)
  • db dump and db restore CLI commands now reject --debug option (it was ignored previously, #2625)

Improvements:

  • manifest correctness check during compilation (#2601)
  • more robust CalledByEntry scope check (#2613)
  • a check for excessive arguments in CLI (#2625)
  • better help messages for CLI commands (#2625)
  • Go 1.19 support (#2634)
  • saved transactions created via CLI (--out) now use the maximum possible ValidUntilBlock values (#2632)
  • RPC server now returns more data about NeoGo-specific protocol extensions in getversion reply (#2632)

Bugs fixed:

  • NEP-6 wallet version was wrong wrt the standard and C# implementation (#2633)
  • smart contract invocations from the CLI didn't compensate for interactive prompt wait time which could lead to transaction expiration before it was sent (#2632)
  • Oracle native contract's finish method reentrancy problem (#2639)

Parametrization

We're updating NeoGo to push out a number of significant updates as well as make it compatible with 3.3.1 version of C# node. The most prominent changes are RPC sessions for iterators returned from invoke* calls, initial bits of RPC client refactoring and support for darwin-arm64 and linux-arm64 platforms. A number of internal changes are less visible from outside, but are also important for future evolution of the code base.

Node operators must resynchronize their nodes to get fully compatible state (which is confirmed to be compatible with 3.3.1 for current mainnet up to block 1932677 and T5 testnet up to block 475938). RPC client users, please review the changes carefully and update your code wrt refactorings made as well as iterator session support.

Subsequent releases will also change RPC client and associated code, we want to make it easier to use as well as extend its functionality (see #2597 for details, comments and suggestions are welcome). 0.99.2 is expected to be released somewhere in August with 3.4.0 C# node compatibility.

New features:

  • getcandidates RPC method to get full list of registered candidates and their voting status (#2587)
  • wallet configuration file support to simplify using CLI non-interactively, use --wallet-config option instead of --wallet if needed (#2559)
  • session-based JSON-RPC iterator API for both server and client with traverseiterator and terminatesession calls; notice that the default server behavior (SessionEnabled: false) is compatible with NeoGo 0.99.0, iterators are expanded the way they were previously, only when sessions are enabled they're returned by the server to the client (#2555)
  • interop package now provides helper methods for proper Hash160, Hash256 and other type comparisons in smart contracts (#2591)

... (truncated)

Changelog

Sourced from github.com/nspcc-dev/neo-go's changelog.

0.99.2 "Recalibration" (12 Aug 2022)

This is a 3.4.0-compatible (tested for mainnet and testnet) update to NeoGo that implements all of the required protocol changes, adds a lot of new RPC client interfaces and provides additional service management functions. This is also the first version to support the recently released Go 1.19. Support for Go 1.16 is removed at the same time, so you need Go 1.17+ to build NeoGo now.

With this version you can turn on/off, restart or reconfigure internal node services like RPC or Oracle without full node shutdown/startup. Node operators can send an appropriate Unix signal and that'll do the job. At the same time node operators must resynchronize their nodes when updating to 0.99.2 due to native contract state change.

A number of RPC client's methods are now deprecated (but still available to simplify transition), please explore new APIs, try them and leave feedback in #2597 if any. We expect new APIs to better fit the needs of various backend RPC client use cases while allowing to remove some repetitive code from applications at the same time. This release only contains generic NEP-17 call wrapper, so it doesn't cover all of the things currently provided by the old client API, but this will be fixed in future releases.

New features:

  • signal-based configuration and service reloads (#2612)
  • new APIs in smartcontract package to convert Go types into NEP-14 parameters (#2621, #2632)
  • invoker package to deal with invocations via RPC in various contexts (mostly useful for read-only and/or historic calls when used directly, #2621)
  • hasMethod method in the ContractManagement native contract (#2598, #2619, #2640)
  • actor package that helps in creating and sending transactions to the network via RPC using the same set of signers (can be used directly, but mostly intended to be used by higher-order contract wrappers, #2632, #2637)
  • unwrap package in the RPC client that checks for execution results and converts returned stack items to expected Go types (can be used directly, but more useful when being used by upper-layer contract wrappers, #2638)
  • nep17 RPC client package for simple remote access to NEP-17 contract methods via RPC, both safe and state-changing (#2642)

Behavior changes:

  • smartcontract.Params type and (*Parameter).TryParse APIs were removed completely as unused and not useful (#2621)
  • compiler now rejects unnamed parameter for exported methods (but they didn't work properly anyway, #2601)
  • restored deploy-time out of bounds script checks (#2538, #2619)
  • dynamic scripts (like entry scripts) no longer can emit notifications (#2613)
  • db dump and db restore CLI commands now reject --debug option (it was

... (truncated)

Commits
  • 10b3c5d CHANGELOG: release 0.99.2
  • db12341 Merge pull request #2642 from nspcc-dev/rpcclient-nep17
  • c967005 rpcclient: add deprecation notices
  • be74cc6 cli: use nep17 wrapper to implement commands
  • 309358c rpcclient: add new NEP-17 wrapper
  • aa80416 Merge pull request #2640 from nspcc-dev/fix-state-diff
  • 94e84f0 core: fix native Management's hasMethod signature
  • 509cdec Merge pull request #2639 from nspcc-dev/oracle-fix
  • bf094df Merge pull request #2638 from nspcc-dev/rpc-unwrap
  • bc3bffe native: fix oracle.finish reentrancy bug
  • Additional commits viewable in compare view

Dependabot compatibility score

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 commands and options

You can trigger Dependabot actions by commenting on this PR:

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

Bumps [github.com/nspcc-dev/neo-go](https://github.com/nspcc-dev/neo-go) from 0.78.3 to 0.99.2.
- [Release notes](https://github.com/nspcc-dev/neo-go/releases)
- [Changelog](https://github.com/nspcc-dev/neo-go/blob/master/CHANGELOG.md)
- [Commits](nspcc-dev/neo-go@v0.78.3...v0.99.2)

---
updated-dependencies:
- dependency-name: github.com/nspcc-dev/neo-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot requested a review from zengchen221 as a code owner August 15, 2022 16:02
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Aug 15, 2022
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Sep 12, 2022

Superseded by #231.

@dependabot dependabot Bot closed this Sep 12, 2022
@dependabot dependabot Bot deleted the dependabot/go_modules/github.com/nspcc-dev/neo-go-0.99.2 branch September 12, 2022 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update Go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants