Skip to content

Releases: Agoric/agoric-sdk

agoric-upgrade-16-rc2

10 Jul 04:16
Compare
Choose a tag to compare
agoric-upgrade-16-rc2 Pre-release
Pre-release

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-16-rc2 release. This release is primarily intended to deploy the Orchestration Core feature and fix some performance issues. This is a significant upgrade that marks a major milestone by enabling new functionality for the Agoric chain.

The following new features are included in this release:

  • #8583 and more: Orchestration Core
  • #9388: Reduce the size of state-sync snapshots

The release contains at least the following fixes:

  • #9316: Fix a memory leak that impacted commit time and resulted in missed blocks
  • #9418: State-sync export would temporarily stall the node while initiating a snapshot resulting in missed blocks
  • #9100: Make the snapshots export command usable
  • #9424: Some options like iavl-disable-fastnode were not applied
  • #9179: Avoid unnecessary rebuilds when invoking agd
  • #9620: [new since RC0] Improve handling of ephemeral values
  • #9671: [new since RC1] Adopt VTRANSFER_IBC_EVENT as an action-type

The full set of changes in this release can be found at #9642 and #9678.

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

State-sync

As a change from previous releases, state-sync snapshots now only include minimal data to restore a node. However there are still continued performance issues related to state-sync. In particular, we've observed that on some deployments, the snapshot taking and restoring process can take multiple hours, require about 20GB of temporary free disk space, and 16GB of memory.

In this release, the snapshots export agd command has been fixed, and can now be used to generate a snapshot export of the current application state (while the node is not running). Combined with with other snapshots commands and the tendermint bootstrap-state command, this can be used to restore a node (state-sync pruning) without having to connect the node to the p2p network.

Handling of the iavl-disable-fastnode option

A bug in agoric-upgrade-14 and agoric-upgrade-15 resulted in this configuration option to be ignored, and default to false. As such all nodes will have created a "fast node" index, even if the option was explicitly set to true in the config. This release now honors the option.

Cosmos Upgrade Handler Name

Below are the cosmos upgrade handler names for this release. These names can be used in governance proposals to deploy this upgrade.

for emerynet

agoric-emerynet-8 chain

Cosmos Upgrade Handler Name: agoric-upgrade-16-2
for all other networks
Cosmos Upgrade Handler Name: agoric-upgrade-16

Tags

Below is the git information related to this software release. Note the git tag does not exactly match the cosmos upgrade handler name.

Git Tag: agoric-upgrade-16-rc2
Git Commit: 2eaeab90b4015e355faea534c1c933351d25b1b9
@agoric/cosmos package version: 0.35.0-u16.1
Docker: ghcr.io/agoric/agoric-sdk:46

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

ibc-go v6.3.1
cosmos-sdk v0.46.16
cometbft v0.34.30

How to upgrade

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

Prerequisites

Install supported versions of Go, Node.js, and a compiler such as gcc or clang as documented in the README.

Building

# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-16-rc1
git clean -xdf && git submodule foreach --recursive git clean -xdf
./bin/agd build
# (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.

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.

agoric-upgrade-16-rc1

02 Jul 18:15
Compare
Choose a tag to compare
agoric-upgrade-16-rc1 Pre-release
Pre-release

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-16-rc1 release. This release is primarily intended to deploy the Orchestration Core feature and fix some performance issues. This is a significant upgrade that marks a major milestone by enabling new functionality for the Agoric chain.

The following new features are included in this release:

  • #8583 and more: Orchestration Core
  • #9388: Reduce the size of state-sync snapshots

The release contains at least the following fixes:

  • #9316: Fix a memory leak that impacted commit time and resulted in missed blocks
  • #9418: State-sync export would temporarily stall the node while initiating a snapshot resulting in missed blocks
  • #9100: Make the snapshots export command usable
  • #9424: Some options like iavl-disable-fastnode were not applied
  • #9179: Avoid unnecessary rebuilds when invoking agd
  • #9620: [new since RC0] Improve handling of ephemeral values

The full set of changes in this release can be found at #9642.

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

State-sync

As a change from previous releases, state-sync snapshots now only include minimal data to restore a node. However there are still continued performance issues related to state-sync. In particular, we've observed that on some deployments, the snapshot taking and restoring process can take multiple hours, require about 20GB of temporary free disk space, and 16GB of memory.

In this release, the snapshots export agd command has been fixed, and can now be used to generate a snapshot export of the current application state (while the node is not running). Combined with with other snapshots commands and the tendermint bootstrap-state command, this can be used to restore a node (state-sync pruning) without having to connect the node to the p2p network.

Handling of the iavl-disable-fastnode option

A bug in agoric-upgrade-14 and agoric-upgrade-15 resulted in this configuration option to be ignored, and default to false. As such all nodes will have created a "fast node" index, even if the option was explicitly set to true in the config. This release now honors the option.

Cosmos Upgrade Handler Name

Below is the cosmos upgrade handler name for this release. This is the name that can be used in governance proposals to deploy this upgrade.

Cosmos Upgrade Handler Name: agoric-upgrade-16

Tags

Below is the git information related to this software release. Note the git tag does not exactly match the cosmos upgrade handler name.

Git Tag: agoric-upgrade-16-rc1
Git Commit: bbdf652c3f413381cb352a8a360db1063974fafd
@agoric/cosmos package version: 0.35.0-u16.0
Docker: ghcr.io/agoric/agoric-sdk:45

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

ibc-go v6.3.1
cosmos-sdk v0.46.16
cometbft v0.34.30

How to upgrade

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

Prerequisites

Install supported versions of Go, Node.js, and a compiler such as gcc or clang as documented in the README.

Building

# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-16-rc1
git clean -xdf && git submodule foreach --recursive git clean -xdf
./bin/agd build
# (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.

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.

agoric-upgrade-16-rc0

26 Jun 09:10
Compare
Choose a tag to compare
agoric-upgrade-16-rc0 Pre-release
Pre-release

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-16-rc0 release. This release is primarily intended to deploy the Orchestration Core feature, and fix some performance issue. This is a significant upgrade that marks a major milestone by enabling new functionality for the Agoric chain.

The following new features are included in this release:

  • Orchestration Core (#8583 and more)
  • #9388: Reduce the size of state-sync snapshots

The release contains at least the following fixes:

  • #9316: Fix a memory leak that impacted commit time and resulted in missed blocks
  • #9418: State-sync export would temporarily stall the node while initiating a snapshot resulting in missed blocks
  • #9100: Make the snapshots export command usable
  • #9424: Some options like iavl-disable-fastnode were not applied
  • #9179: Avoid unnecessary rebuilds when invoking agd

The full set of changes in this release can be found at #9588. While changes to vaults were implemented for this release, we recommend that they are not deployed to existing chains at this time using the corresponding basic upgrade plan name (see below).

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

State-sync

As a change from previous releases, state-sync snapshots now only include minimal data to restore a node. However there are still continued performance issues related to state-sync. In particular, we've observed that on some deployments, the snapshot taking and restoring process can take multiple hours, require about 20GB of temporary free disk space, and 16GB of memory.

In this release, the snapshots export agd command has been fixed, and can now be used to generate a snapshot export of the current application state (while the node is not running). Combined with with other snapshots commands and the tendermint bootstrap-state command, this can be used to restore a node (state-sync pruning) without having to connect the node to the p2p network.

Handling of the iavl-disable-fastnode option

A bug in agoric-upgrade-14 and agoric-upgrade-15 resulted in this configuration option to be ignored, and default to false. As such all nodes will have created a "fast node" index, even if the option was explicitly set to true in the config. This release now honors the option.

Cosmos Upgrade Handler Name

In this release, the naming of cosmos upgrade handlers has changed to conditionally apply an upgrade to vaults contracts pre-configured for some well known deployments. Below are the cosmos upgrade handler names for this release. These names can be used in governance proposals to deploy this upgrade.

  • "mainnet" (agoric-3 chain): agoric-upgrade-16-main
  • "devnet" (agoricdev-23 chain): agoric-upgrade-16-devnet
  • "basic": agoric-upgrade-16-basic

Tags

Below is the git information related to this software release. Note the git tag does not exactly match the cosmos upgrade handler name.

Git Tag: agoric-upgrade-16-rc0
Git Commit: 94e82e6d6234466f6c06b56caf072fdd32876807
@agoric/cosmos package version: 0.35.0-u16.0
Docker: ghcr.io/agoric/agoric-sdk:44

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

ibc-go v6.3.1
cosmos-sdk v0.46.16
cometbft v0.34.30

How to upgrade

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

Prerequisites

Install supported versions of Go, Node.js, and a compiler such as gcc or clang as documented in the README.

Building

# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-16-rc0
git clean -xdf && git submodule foreach --recursive git clean -xfd
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.

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.

agoric-upgrade-15

03 May 03:05
Compare
Choose a tag to compare

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-15 release. This release is primarily intended to better isolate CometBFT queries from in-consensus processing, providing more stability for high-throughout RPC node operators.

The following new features are included in this release:

  • #9224: add a feature flag to use the CometBFT "LocalClient"

The release contains at least the following fixes:

  • #9239: enhance smart wallet behavior when invitation creation fails
  • #9276: Event history contains duplicate objects

The full set of changes in this release can be found at #9268.

This release has satisfied all pre-release/testnet validation checks, and is now recommended for chains to upgrade from the previous agoric-upgrade-14 release. As a chain-halting upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-14 to this new version (after the chain halts due to reaching the height required in a governance proposal).

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. We are aware of continued performance issues related to state-sync. In particular, we've observed that on some deployments, the current implementation can require 100 GB of temporary free disk space and 16GB of memory.

Below is the cosmos upgrade handler name for this release. This is the name that can be used in governance proposals to deploy this upgrade.

Cosmos Upgrade Handler Name: agoric-upgrade-15

Below is the git information related to this software release. Note the git tag does not always match the cosmos upgrade handler name.

Git Tag: agoric-upgrade-15
Git Commit: 734e8635002e01b3e27477e93998dda942c7fae8
@agoric/cosmos package version: 0.35.0-u15.0
Docker: ghcr.io/agoric/agoric-sdk:43

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

ibc-go v6.2.1
cosmos-sdk v0.46.16
cometbft v0.34.30

How to upgrade

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

Prerequisites

Install Go 1.20.2 or higher, Node.js 16 or 18, and clang 10 or gcc 10.

Building

# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-15
git clean -xdf
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.

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.

agoric-upgrade-15-rc0

20 Apr 16:07
Compare
Choose a tag to compare
agoric-upgrade-15-rc0 Pre-release
Pre-release

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-15-rc0 release. This release is primarily intended to better isolate CometBFT queries from in-consensus processing, providing more stability for high-throughout RPC node operators.

The following new features are included in this release:

  • #9224: add a feature flag to use the CometBFT "LocalClient"

The release contains at least the following fixes:

  • #9239: enhance smart wallet behavior when invitation creation fails

The full set of changes in this release can be found at #9268.

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

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. We are aware of continued performance issues related to state-sync. In particular, we've observed that on some deployments, the current implementation can require 100 GB of temporary free disk space and 16GB of memory.

Below is the cosmos upgrade handler name for this release. This is the name that can be used in governance proposals to deploy this upgrade.

Cosmos Upgrade Handler Name: agorictest-upgrade-15

Below is the git information related to this software release. Note the git tag and cosmos upgrade handler name differ.

Git Tag: agoric-upgrade-15-rc0
Git Commit: 734e8635002e01b3e27477e93998dda942c7fae8
@agoric/cosmos package version: 0.35.0-u15.0
Docker: ghcr.io/agoric/agoric-sdk:43

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

ibc-go v6.2.1
cosmos-sdk v0.46.16
cometbft v0.34.30

How to upgrade

Presuming that your node is running agoric-upgrade-14, agorictest-upgrade-14, or agorictest-upgrade-14-2, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-15-rc0 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 or 18, clang 10 or gcc 10)
# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-15-rc0
git clean -xdf
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.

Golang Version

The agoric-upgrade-15-rc0 release requires Go 1.20.2 or higher.

Node Version

Node.js 16.13 or higher (previous LTS) or Node.js 18.12 or higher (maintenance LTS).
Please note the current active LTS of Node 20 is not yet officially supported.

C Compiler Version

Clang version 10 or GCC version 10 required.

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.

agoric-upgrade-14

21 Mar 16:48
Compare
Choose a tag to compare

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-14 release. This release is primarily intended to update interchain stack dependencies, and update the Smart wallet and Zoe to support future contract upgrades.

The following new features are included in this release:

  • #7992 and #8095: enable executing JavaScript core proposals during a chain software upgrade
  • #8224: incremental major upgrade of the interchain stack (see new versions below)

The release contains at least the following fixes:

  • #8292, #8293, and #8286: WalletFactory survive upgrades and repair outstanding purses and offers
  • #8387, #8265, and #8263: Zoe survive upgrades and handles upgrades of vatAdmin
  • #9036: eliminate fee double-charge by using configurable decorator

The full set of changes in this release can be found at #9003 and #9073.

The upgrade to cosmos 0.46 includes a new index being created during the upgrade, which we estimate can take from one to two hours for chains with a large IAVL state like the agoric-3 chain.
During that time, no progress is shown on the output, but the process will consume 100% of a CPU core.

This code has satisfied all pre-release/testnet validation checks, and is now recommended for chains to upgrade from the previous agoric-upgrade-13 release. As a state-machine-breaking upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-13 to this new version (after the chain halts due to reaching the height required in a governance proposal).

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. We are aware of continued performance issues related to state-sync. In particular, we've observed that on some deployments, the current implementation can require 100 GB of temporary free disk space and 16GB of memory.

Below is the cosmos upgrade handler name for this release. This is the name that can be used in governance proposals to deploy this upgrade.

Cosmos Upgrade Handler Name: agoric-upgrade-14

Below is the git information related to this software release. Note the git tag and cosmos upgrade handler name differ.

Git Tag: agoric-upgrade-14
Git Commit: d69c011001d300735546dcb74a9ae21e306e4789
@agoric/cosmos package version: 0.35.0-u14.1
Docker: ghcr.io/agoric/agoric-sdk:41

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

ibc-go v6.2.1
cosmos-sdk v0.46.16
cometbft v0.34.30

How to upgrade

Presuming that your node is running agoric-upgrade-13, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-14 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 or 18, clang 10 or gcc 10
# stop the agd service
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-14
git clean -xdf
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 16.13 or higher (previous LTS) or Node.js 18.12 or higher (maintenance LTS).
Please note the current active LTS of Node 20 is not yet officially supported.

Golang Version

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

C Compiler Version

Clang version 10 or GCC version 10 required.

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.

agoric-upgrade-14-rc1

12 Mar 15:05
Compare
Choose a tag to compare
agoric-upgrade-14-rc1 Pre-release
Pre-release

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-14-rc1 release candidate. This release is primarily intended update interchain stack dependencies, and update the Smart wallet and Zoe to support future contract upgrades.

The following new features are included in this release:

  • #7992 and #8095: enable executing JavaScript core proposals during a chain software upgrade
  • #8224: incremental major upgrade of the interchain stack (see new versions below)
  • #9047: [new since RC0] Allow RC1 to installs atop RC0

The release contains at least the following fixes:

  • #8292, #8293, and #8286: WalletFactory survive upgrades and repair outstanding purses and offers
  • #8387, #8265, and #8263: Zoe survive upgrades and handles upgrades of vatAdmin
  • #9036: [new since RC0] eliminate fee double-charge by using configurable decorator

The full set of changes in this release can be found at #9003 and #9073.

The upgrade to cosmos 0.46 includes a new index being created during the upgrade, which we estimate can take from one to two hours for chains with a large IAVL state like the agoric-3 chain.
During that time, no progress is shown on the output, but the process will consume 100% of a CPU core.

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

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. We are aware of continued performance issues related to state-sync. In particular, we've observed that on some deployments, the current implementation can require 100 GB of temporary free disk space and 16GB of memory.

Below is the cosmos upgrade handler name for this release. This is the name that can be used in governance proposals to deploy this upgrade.

Cosmos Upgrade Handler Names:

  • agorictest-upgrade-14
  • agorictest-upgrade-14-2

Below is the git information related to this software release. Note the git tag and cosmos upgrade handler name differ.

Git Tag: agoric-upgrade-14-rc1
Git Commit: d69c011001d300735546dcb74a9ae21e306e4789
@agoric/cosmos package version: 0.35.0-u14.1
Docker: ghcr.io/agoric/agoric-sdk:41

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

ibc-go v6.2.1
cosmos-sdk v0.46.16
cometbft v0.34.30

How to upgrade

Presuming that your node is running agorictest-upgrade-13, once the upgrade height for a subsequent proposal to upgrade to agorictest-upgrade-14 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 or 18, clang 10 or gcc 10
# stop the agd service
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-14-rc1
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 16.13 or higher (previous LTS) or Node.js 18.12 or higher (maintenance LTS).
Please note the current active LTS of Node 20 is not yet officially supported.

Golang Version

The agoric-upgrade-14-rc1 release requires Go 1.20.2 or higher.

C Compiler Version

Clang version 10 or GCC version 10 required.

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.

agoric-upgrade-14-rc0

27 Feb 23:55
Compare
Choose a tag to compare
agoric-upgrade-14-rc0 Pre-release
Pre-release

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-14-rc0 release candidate. This release is primarily intended update interchain stack dependencies, and update the Smart wallet and Zoe to support future contract upgrades.

The following new features are included in this release:

  • #7992 and #8095: enable executing JavaScript core proposals during a chain software upgrade
  • #8224: incremental major upgrade of the interchain stack (see new versions below)

The release contains at least the following fixes:

  • #8292, #8293, and #8286: WalletFactory survive upgrades and repair outstanding purses and offers
  • #8387, #8265, and #8263: Zoe survive upgrades and handles upgrades of vatAdmin

The full set of changes in this release can be found at #8959.

The upgrade to cosmos 0.46 includes a new index being created during the upgrade, which we estimate can take from one to two hours for chains with a large IAVL state like the agoric-3 chain.
During that time, no progress is shown on the output, but the process will consume 100% of a CPU core.

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

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. We are aware of continued performance issues related to state-sync. In particular, we've observed that on some deployments, the current implementation can require 100 GB of temporary free disk space and 16GB of memory.

Below is the cosmos upgrade handler name for this release. This is the name that can be used in governance proposals to deploy this upgrade.

Cosmos Upgrade Handler Name: agorictest-upgrade-14

Below is the git information related to this software release. Note the git tag and cosmos upgrade handler name differ.

Git Tag: agoric-upgrade-14-rc0
Git Commit: b3a6f3374cb3bddab39fc6d6f426429cae6c29c6
@agoric/cosmos package version: 0.35.0-u14.0
Docker: ghcr.io/agoric/agoric-sdk:40

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

ibc-go v6.2.1
cosmos-sdk v0.46.16
cometbft v0.34.30

How to upgrade

Presuming that your node is running agorictest-upgrade-13, once the upgrade height for a subsequent proposal to upgrade to agorictest-upgrade-14 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 or 18, clang 10 or gcc 10
# stop the agd service
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-14-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 16.13 or higher (previous LTS) or Node.js 18.12 or higher (maintenance LTS).
Please note the current active LTS of Node 20 is not yet officially supported.

Golang Version

The agoric-upgrade-14-rc0 release requires Go 1.20.2 or higher.

C Compiler Version

Clang version 10 or GCC version 10 required.

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.

agoric-upgrade-13

15 Dec 18:00
Compare
Choose a tag to compare

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-13 release. This release is primarily intended to offer a new smart wallet provisioning flow, update the interchain stack dependencies, and fix various issues. It does not change the behavior of any JavaScript contracts.

The following new features are included in this release:

  • #8558: automatically provision a smart wallet, charging a beans based provisioning fee
  • #8570: allow to return grants of clawback vesting accounts
  • #8223: incremental upgrade of the interchain stack

The release contains at least the following fixes:

This code has satisfied all pre-release/testnet validation checks, and is now recommended for chains to upgrade from the previous agoric-upgrade-12 release. As a state-machine-breaking upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-12 to this new version (after the chain halts due to reaching the height required in a governance proposal).

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. We are aware of continued performance issues related to state-sync. In particular, we've observed that on some deployments, the current implementation can require 100 GB of free disk space and 16GB of memory. By default state-sync uses /tmp, which can be overridden by setting the TMPDIR environment variable for agd.

Below is the cosmos upgrade handler name for this release. This is the name that can be used in governance proposals to deploy this upgrade.

Cosmos Upgrade Handler Name: agoric-upgrade-13

Below is the git information related to this software release. Note the git tag and cosmos upgrade handler name may differ.

Git Tag: agoric-upgrade-13
Git Commit: 5a6cdeb0c18ae9700d706445acf402f8d1e873c3
@agoric/cosmos package version: 0.35.0-u13.0
Docker: ghcr.io/agoric/agoric-sdk:39

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

ibc-go v4.5.1
cosmos-sdk v0.45.16
cometbft v0.34.27

How to upgrade

Presuming that your node is running agoric-upgrade-12, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-13 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 or 18, clang 10 or gcc 10
# stop the agd service
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-13
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 16.13 or higher (previous LTS) or Node.js 18.12 or higher (maintenance LTS).
Please note the current active LTS of Node 20 is not officially supported.

Node versions >=18.19 introduce a breaking change, and are not supported.

Golang Version

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

C Compiler Version

Clang version 10 or GCC version 10 required.

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

Note about state-sync and temporary files

Both state-sync snapshot generation and restoring from state-sync create large temporary files. The cosmos statesync.temp_dir restore config does not affect the location of all temporary files created during state-sync, and the default temp directory location is used. On most Linux systems, this location is /tmp, and can be changed to a custom location by setting the TMPDIR environment variable for the agd process.

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.

agoric-upgrade-13-rc0

07 Dec 18:42
Compare
Choose a tag to compare
agoric-upgrade-13-rc0 Pre-release
Pre-release

The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-13-rc0 release candidate. This release is primarily intended to offer a new smart wallet provisioning flow, update the interchain stack dependencies, and fix various issues. It does not change the behavior of any JavaScript contracts.

The following new features are included in this release:

  • #8558: automatically provision a smart wallet, charging a beans based provisioning fee
  • #8570: allow to return grants of clawback vesting accounts
  • #8223: incremental upgrade of the interchain stack

The release contains at least the following fixes:

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

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. We are aware of continued performance issues related to state-sync. In particular, we've observed that on some deployments, the current implementation can require 100 GB of free disk space and 16GB of memory. By default state-sync uses /tmp, which can be overridden by setting the TMPDIR environment variable for agd.

Below is the cosmos upgrade handler name for this release. This is the name that can be used in governance proposals to deploy this upgrade.

Cosmos Upgrade Handler Name: agorictest-upgrade-13

Below is the git information related to this software release. Note the git tag and cosmos upgrade handler name differ.

Git Tag: agoric-upgrade-13-rc0
Git Commit: 5a6cdeb0c18ae9700d706445acf402f8d1e873c3
@agoric/cosmos package version: 0.35.0-u13.0
Docker: ghcr.io/agoric/agoric-sdk:39

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

ibc-go v4.5.1
cosmos-sdk v0.45.16
cometbft v0.34.27

How to upgrade

Presuming that your node is running agorictest-upgrade-12, once the upgrade height for a subsequent proposal to upgrade to agorictest-upgrade-13 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 or 18, clang 10 or gcc 10
# stop the agd service
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-13-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 16.13 or higher (previous LTS) or Node.js 18.12 or higher (maintenance LTS).
Please note the current active LTS of Node 20 is not officially supported.

Golang Version

The agoric-upgrade-13-rc0 release requires Go 1.20.2 or higher.

C Compiler Version

Clang version 10 or GCC version 10 required.

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.