github Agoric/agoric-sdk agoric-upgrade-12-rc0

latest releases: agoric-upgrade-18-rc0, v0.35.0-u18.0, fast-usdc@0.1.1-u18.0...
pre-release12 months ago

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-12-rc0 release. This release is primarily intended to fix state-sync and NPM published packages. It does not change the behavior of any contracts, but includes the smart wallet changes published in the agoric-upgrade-11wf release. It fixes at least the following issues:

  • #8325: enable restore from state-sync with payloads larger than 64 MB
  • #8423: avoid a potential consensus failure when the node is restarted during busy blocks
  • #8321: allow a brand new chain to start with a functioning walletFactory contract
  • #8501: allow usage of outgoing IBC messages in JS contracts
  • #8380: make NPM published packages more usable for dapp development

Additionally the new software contains the following noteworthy changes:

Assuming agoric-upgrade-12-rc0 satisfies all pre-release/testnet validation checks, it will be promoted to agoric-upgrade-12, and recommended for chains to upgrade from the previous agoric-upgrade-11 release. As a state-machine-breaking upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-11 to this new version (after the chain halts due to reaching the height required in a governance proposal).

Unlike the agoric-upgrade-11 release, no data is migrated during this upgrade.

Since the agoric-upgrade-11 release, state-sync snapshots include more data than before. Nodes which have inadvertently pruned this data (e.g. those created from a state-sync before the agoric-upgrade-11 release) will not be able to produce such snapshots, and will need to be restored from state-sync using this release. Please see the forum post for more details.

Discussion for this release will take place in the Agoric community forum.

Tag: agoric-upgrade-12-rc0
Commit: ee5a5fd
Docker: ghcr.io/agoric/agoric-sdk:38

As shown in go.mod this release is based on:

ibc-go v3.4.0
cosmos-sdk v0.45.11
tendermint v0.34.23

How to upgrade

Presuming that your node is running agoric-upgrade-11, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-12 has been reached, your node will halt automatically allowing you to upgrade the agoric stack.

# prepare by installing Go 1.20.2 or higher, Node 16, clang 10 or gcc 10
# stop the agd service
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-12-rc0
yarn install
yarn build
(cd packages/cosmic-swingset && make)
#start the agd service

Do not copy the agd script or Go binary to another location. If you would like to have an executable agd in another location, then create a symlink in that location pointing to agoric-sdk/bin/agd.

Node Version

Node.js LTS (version 16.13.0 or higher).

Golang Version

The agoric-upgrade-12 release requires Go 1.20.2 or higher.

C Compiler Version

In general, Clang version 10 or GCC version 10 required, however this release may work with GCC version 9.

Troubleshooting repoconfig.sh: No such file or directory

Unlike typical cosmos-sdk chains where the daemon is a single executable file, Agoric's use of cosmos-sdk depends on many components of agoric-sdk at runtime. Copying agd to /usr/local/bin or the like is unlikely to produce a working installation. For more detail, see: #7825

Troubleshooting Cannot find dependency ... in systemd

If you have LimitNOFILE=4096 in your systemd unit file, change it to LimitNOFILE=65536. For more detail, see #7817

Specifying --upgrade-info for the software upgrade proposal

The ./scripts/gen-upgrade-proposal.sh is designed to aid in composing a agd tx submit-proposal software-upgrade ... command. In particular, it captures package checksums to verify integrity of downloaded software.

Don't miss a new agoric-sdk release

NewReleases is sending notifications on new releases.