Releases: Agoric/agoric-sdk
agoric-upgrade-19-rc3
The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-19-rc3
release. This release is primarily intended for contract upgrades, some kernel improvements and misc fixes.
The full set of changes in this release can be found at #11043, #11072, #11090 and #11115. And reviewed in detail as agoric-upgrade-18a...agoric-upgrade-19-rc3
.
This candidate adopts the latest branch from agoric-labs/ibc-go (which backports v7.10.0 changes).
See also: changes from previous release candidate.
Assuming this release satisfies all pre-release/testnet validation checks, it will be promoted to agoric-upgrade-19
, and recommended for chains to upgrade from the previous agoric-upgrade-18a
release. As a chain-halting upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-18a
to this new version (after the chain halts due to reaching the height required in a governance proposal).
State-sync
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.
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.
MAINNET
Cosmos Upgrade Handler Name: agoric-upgrade-19-mainnet
EMERYNET
Cosmos Upgrade Handler Name: agoric-upgrade-19-emerynet
Tags
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-19-rc3
Git Commit: f0ae74b84cb6de3724bfdcd18b4bea7e8199dee1
@agoric/cosmos package version: 0.35.0-u19.2
Docker: ghcr.io/agoric/agoric-sdk:61
As shown in go.mod this release is based on:
ibc-go v6.3.1
cosmos-sdk v0.46.16
cometbft v0.34.35
How to upgrade
Presuming that your node is running agoric-upgrade-18a
, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-19-rc3
has been reached, your node will halt automatically allowing you to upgrade the agoric stack.
Prerequisites
Important
Agoric SDK now requires Golang version 1.22.12 or greater. To check your Golang version, examine the output produced by running go version in your build environment.
Install supported versions of Go, Node.js, and a compiler such as gcc or clang as documented in the README.
Make sure that the environment running the agd service has the same Node.js version as the environment used for building. In particular, if using nvm
to manage Node.js version, the service environment should enable nvm and use the same version.
Building
# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-19-rc3
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 module ... was compiled against a different Node.js version
and SyntaxError
issues
The agd service is not using the same version of Node.js as the one used when building. The most likely cause is that nvm
was used to manage the Node.js version in the shell when building. Either install the required version of Node.js globally using the system's package manager, or enable nvm
in the environment of the agd service.
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.
Fast USDC Release Candidate 2
In testing of RC1 we discovered #11102.
What's Changed
- fix(fast-usdc): disallow all non-positive integer counts in Multiset by @mhofman in #11079
- misc Orchestration improvements for factoring out Fast USDC by @turadg in #11099
- ensure
Advancer
has latestSettler
reference by @0xpatrickdev in #11103
Full Changelog: fast-usdc-rc1...fast-usdc-rc2
agoric-upgrade-19-rc2
The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-19-rc2
release. This release is primarily intended for contract upgrades, some kernel improvements and misc fixes.
The full set of changes in this release can be found at #11043, #11072 and #11090. And reviewed in detail as agoric-upgrade-18a...agoric-upgrade-19-rc2
.
This candidate mainly updates testnet specific config for a core proposal, in addition to fixing and documenting minimal golang version requirements.
See also: changes from previous release candidate.
Assuming this release satisfies all pre-release/testnet validation checks, it will be promoted to agoric-upgrade-19
, and recommended for chains to upgrade from the previous agoric-upgrade-18a
release. As a chain-halting upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-18a
to this new version (after the chain halts due to reaching the height required in a governance proposal).
State-sync
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.
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.
MAINNET
Cosmos Upgrade Handler Name: agoric-upgrade-19-mainnet
EMERYNET
Cosmos Upgrade Handler Name: agoric-upgrade-19-emerynet
DEVNET
Cosmos Upgrade Handler Name: agoric-upgrade-19-devnet
Tags
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-19-rc2
Git Commit: 3a6ed97659c9e55cd759b317d99a92394c6f50d2
@agoric/cosmos package version: 0.35.0-u19.1
Docker: ghcr.io/agoric/agoric-sdk:60
As shown in go.mod this release is based on:
ibc-go v6.3.1
cosmos-sdk v0.46.16
cometbft v0.34.35
How to upgrade
Presuming that your node is running agoric-upgrade-18a
, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-19-rc2
has been reached, your node will halt automatically allowing you to upgrade the agoric stack.
Prerequisites
Important
Agoric SDK now requires Golang version 1.22.12 or greater. To check your Golang version, examine the output produced by running go version in your build environment.
Install supported versions of Go, Node.js, and a compiler such as gcc or clang as documented in the README.
Make sure that the environment running the agd service has the same Node.js version as the environment used for building. In particular, if using nvm
to manage Node.js version, the service environment should enable nvm and use the same version.
Building
# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-19-rc2
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 module ... was compiled against a different Node.js version
and SyntaxError
issues
The agd service is not using the same version of Node.js as the one used when building. The most likely cause is that nvm
was used to manage the Node.js version in the shell when building. Either install the required version of Node.js globally using the system's package manager, or enable nvm
in the environment of the agd service.
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.
Fast USDC Release Candidate
The Agoric OpCo engineering team is pleased to publish the fast-usdc-rc1 release. Following a successful test of the beta release, this contract is suitable for general use.
See also:
- Fast USDC: Accelerating Cross-Chain USDC Transfers on Agoric - Governance CoreEval - Agoric Community Forum
- Fast USDC: Where Speed Meets Smart Financial Automation 20 Feb 2025 in the Agoric Blog
Supplemental assets are taken from the a3p-integration artifact from the a ci job for #11073
What's Changed
- shrink Fast USDC core eval bundle by @turadg in #11004
- feat(fast-usdc): skipAdvance when preconditions fail by @samsiegart in #11005
- fix(vow): report unhandled vow rejections on collection or upgrade by @michaelfig in #10686
- support non-Cosmos addresses in ChainHub by @turadg in #11007
- misc Fast USDC improvements by @turadg in #11049
- fix(fast-usdc): update noble connection info, make new ICA by @dckc in #11025
- chore(fast-usdc): update, test chain policies vs. spreadsheet by @dckc in #11055
- chore: Update feeConfig.variableRate to 0.5%, i.e. 5n/1000n by @dckc in #11054
- test: multichain for Fast USDC noble ICA update by @dckc in #11060
- fix: minted early tracking by @0xpatrickdev in #11066
- Use a single atomicRearrange for liquidityPool repay by @Chris-Hibbert in #11059
- improve error handling by @turadg in #11070
- chore: 0.1% variable rate by @0xpatrickdev in #11073
Full Changelog: fast-usdc-beta-1...fast-usdc-rc1
agoric-upgrade-19-rc1
The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-19-rc1
release. This release is primarily intended for contract upgrades, some kernel improvements and misc fixes.
The full set of changes in this release can be found at #11043 and #11072. And reviewed in detail as agoric-upgrade-18a...agoric-upgrade-19-rc1
.
See also: changes from previous release candidate.
Assuming this release satisfies all pre-release/testnet validation checks, it will be promoted to agoric-upgrade-19
, and recommended for chains to upgrade from the previous agoric-upgrade-18a
release. As a chain-halting upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-18a
to this new version (after the chain halts due to reaching the height required in a governance proposal).
State-sync
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.
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.
MAINNET
Cosmos Upgrade Handler Name: agoric-upgrade-19-mainnet
EMERYNET
Cosmos Upgrade Handler Name: agoric-upgrade-19-emerynet
DEVNET
Cosmos Upgrade Handler Name: agoric-upgrade-19-devnet
Tags
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-19-rc1
Git Commit: a04d2bf43a9753d123954b52c6ba8d35083a3c8f
@agoric/cosmos package version: 0.35.0-u19.1
Docker: ghcr.io/agoric/agoric-sdk:59
As shown in go.mod this release is based on:
ibc-go v6.3.1
cosmos-sdk v0.46.16
cometbft v0.34.35
How to upgrade
Presuming that your node is running agoric-upgrade-18a
, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-19-rc1
has been reached, your node will halt automatically allowing you to upgrade the agoric stack.
Prerequisites
Important
Agoric SDK now requires Golang version 1.22 or greater. To check your Golang version, examine the output produced by running go version in your build environment.
Install supported versions of Go, Node.js, and a compiler such as gcc or clang as documented in the README.
Make sure that the environment running the agd service has the same Node.js version as the environment used for building. In particular, if using nvm
to manage Node.js version, the service environment should enable nvm and use the same version.
Building
# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-19-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 module ... was compiled against a different Node.js version
and SyntaxError
issues
The agd service is not using the same version of Node.js as the one used when building. The most likely cause is that nvm
was used to manage the Node.js version in the shell when building. Either install the required version of Node.js globally using the system's package manager, or enable nvm
in the environment of the agd service.
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-19-rc0
The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-19-rc0
release. This release is primarily intended for contract upgrades, some kernel improvements and misc fixes.
The full set of changes in this release can be found at #11043 and reviewed in detail as agoric-upgrade-18a...agoric-upgrade-19-rc0
.
Assuming this release satisfies all pre-release/testnet validation checks, it will be promoted to agoric-upgrade-19
, and recommended for chains to upgrade from the previous agoric-upgrade-18a
release. As a chain-halting upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-18a
to this new version (after the chain halts due to reaching the height required in a governance proposal).
State-sync
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.
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.
MAINNET
Cosmos Upgrade Handler Name: agoric-upgrade-19-mainnet
DEVNET
Cosmos Upgrade Handler Name: agoric-upgrade-19-devnet
Tags
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-19-rc0
Git Commit: 29e9704c375a06bb617027093b30d2d25faa6471
@agoric/cosmos package version: 0.35.0-u19.0
Docker: ghcr.io/agoric/agoric-sdk:58
As shown in go.mod this release is based on:
ibc-go v6.3.1
cosmos-sdk v0.46.16
cometbft v0.34.35
How to upgrade
Presuming that your node is running agoric-upgrade-18a
, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-19-rc0
has been reached, your node will halt automatically allowing you to upgrade the agoric stack.
Prerequisites
Important
Agoric SDK now requires Golang version 1.22 or greater. To check your Golang version, examine the output produced by running go version in your build environment.
Install supported versions of Go, Node.js, and a compiler such as gcc or clang as documented in the README.
Make sure that the environment running the agd service has the same Node.js version as the environment used for building. In particular, if using nvm
to manage Node.js version, the service environment should enable nvm and use the same version.
Building
# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-19-rc0
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 module ... was compiled against a different Node.js version
and SyntaxError
issues
The agd service is not using the same version of Node.js as the one used when building. The most likely cause is that nvm
was used to manage the Node.js version in the shell when building. Either install the required version of Node.js globally using the system's package manager, or enable nvm
in the environment of the agd service.
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.
Fast USDC Beta 1
The Fast USDC contract is ready for beta testing.
The attached bundles and permit are extracted from a ci job for #10996 :
Artifact a3p-integration has been successfully uploaded! Final size is 4914023 bytes. Artifact ID is 2583542491
Artifact download URL: https://github.com/Agoric/agoric-sdk/actions/runs/13300829272/artifacts/2583542491
The start-fast-usdc.js
asset was built using:
$ cd packages/builders
$ agoric run scripts/fast-usdc/start-fast-usdc.build.js --net MAINNET
...
creating start-fast-usdc-permit.json
creating start-fast-usdc.js
You can now run a governance submission command like:
agd tx gov submit-proposal swingset-core-eval start-fast-usdc-permit.json start-fast-usdc.js \
--title="Enable <something>" --description="Evaluate start-fast-usdc.js" --deposit=1000000ubld \
--gas=auto --gas-adjustment=1.2
Remember to install bundles before submitting the proposal:
agd tx swingset install-bundle @/home/connolly/.agoric/cache/b1-ff51ba7d4abbab92013467813379be4d428b0b7a3f1a6f2ebd06c9b774e0e4e6acfbd6aea9e508d53419c50e13495b314a1b1fb94392ce42ea8feb18de9b3fa7.json
agd tx swingset install-bundle @/home/connolly/.agoric/cache/b1-6f742c9506079a4ad917c50ef15cab85c5d2c8d562c04de72e9a79c2a192ba36e7c88aa365b740a0e1fd1968199289e20ed23ee62dd4a3240da78ebb6763fa34.json
agoric-upgrade-18a
The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-18a
release. This release primarily addresses issues discovered after the agoric-upgrade-18 chain upgrade and includes a CometBFT update to patch a known issue.
The following new features are included in this release:
Important
The CometBFT upgrade requires building the Agoric SDK with Golang version 1.22 or greater. To check your Golang version, examine the output produced by running go version in your build environment.
The full set of changes in this release can be found at #10965 and reviewed in details as agoric-upgrade-18...agoric-upgrade-18a
.
This release has satisfied all pre-release/testnet validation checks, and is now recommended for chains to upgrade from the previous agoric-upgrade-18
release. As a chain-halting upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-18
to this new version (after the chain halts due to reaching the height required in a governance proposal).
State-sync
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.
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-18a
Tags
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-18a
Git Commit: 4e4d2b4dedc5a268178712fc6beb89496518480a
@agoric/cosmos package version: 0.35.0-u18a.0
Docker: ghcr.io/agoric/agoric-sdk:57
As shown in go.mod this release is based on:
ibc-go v6.3.1
cosmos-sdk v0.46.16
cometbft v0.34.35
How to upgrade
Presuming that your node is running agoric-upgrade-18
, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-18a
has been reached, your node will halt automatically allowing you to upgrade the agoric stack.
Prerequisites
Important
Agoric SDK now requires Golang version 1.22 or greater. To check your Golang version, examine the output produced by running go version in your build environment.
Install supported versions of Go, Node.js, and a compiler such as gcc or clang as documented in the README.
Make sure that the environment running the agd service has the same Node.js version as the environment used for building. In particular, if using nvm
to manage Node.js version, the service environment should enable nvm and use the same version.
Building
# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-18a
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 module ... was compiled against a different Node.js version
and SyntaxError
issues
The agd service is not using the same version of Node.js as the one used when building. The most likely cause is that nvm
was used to manage the Node.js version in the shell when building. Either install the required version of Node.js globally using the system's package manager, or enable nvm
in the environment of the agd service.
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-18a-rc0
The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-18a-rc0
release. This release primarily addresses issues discovered after the agoric-upgrade-18 chain upgrade and includes a CometBFT update to patch a known issue.
The following new features are included in this release:
The CometBFT upgrade requires building the Agoric SDK with Golang version 1.22 or greater. To check your Golang version, examine the output produced by running go version in your build environment.
The full set of changes in this release can be found at #10965 and reviewed in details as agoric-upgrade-18...agoric-upgrade-18a-rc0
.
Assuming this release satisfies all pre-release/testnet validation checks, it will be promoted to agoric-upgrade-18a
, and recommended for chains to upgrade from the previous agoric-upgrade-18
release. As a chain-halting upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-18
to this new version (after the chain halts due to reaching the height required in a governance proposal).
State-sync
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.
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-18a
Tags
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-18a-rc0
Git Commit: 4e4d2b4dedc5a268178712fc6beb89496518480a
@agoric/cosmos package version: 0.35.0-u18a.0
Docker: ghcr.io/agoric/agoric-sdk:57
As shown in go.mod this release is based on:
ibc-go v6.3.1
cosmos-sdk v0.46.16
cometbft v0.34.35
How to upgrade
Presuming that your node is running agoric-upgrade-18
, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-18a-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.
Make sure that the environment running the agd service has the same Node.js version as the environment used for building. In particular, if using nvm
to manage Node.js version, the service environment should enable nvm and use the same version.
Building
# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-18a-rc0
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 module ... was compiled against a different Node.js version
and SyntaxError
issues
The agd service is not using the same version of Node.js as the one used when building. The most likely cause is that nvm
was used to manage the Node.js version in the shell when building. Either install the required version of Node.js globally using the system's package manager, or enable nvm
in the environment of the agd service.
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-18
The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-18
release. This release is primarily intended to deploy governance/network upgrades and address validator node performance issues, but also includes some new orchestration functionality.
The following new features are included in this release:
- #10614: Add address hooks support for orchestration. Allows an orchestration contract to be invoked via an incoming IBC transfer (including arguments), enabling more complex and customizable orchestration interactions
- #10133, #10134 and more: enable EC membership changes and change EC slate on mainnet from 6 to 3 members
- #10165 and #10267: Add support for governance configurable idle cleanup when terminating a vat, and support of vat termination through core evals.
The release contains at least the following fixes:
- #10743: a couple memory leaks were identified which caused the block execution to slow down beyond reasonable block times and impact the ability of validators to keep up on the mainnet and devnet chains
- #10742: patch CometBFT to maintain p2p connectivity when ABCI app is blocked
- #8400: Oracle price improvements (reduces memory and diskspace growth for new price feeds)
- #10660: Avoid compounding of work related to vault price notifiers
- #9039: Change processUpgradeVat to delete c-list entries
- #10292: Fixes a case with AmountMath.isGTE involving invitations with common descriptions but distinct instance handles
- #4103: Make xsnap exit quietly upon command pipe EOF
- #10704: use backport of cosmos-sdk v0.46.15
The full set of changes in this release can be found at #10382, #10527, #10548, #10656, #10693, #10716 and #10773, and reviewed in detail as agoric-upgrade-17...agoric-upgrade-18
.
This release has satisfied all pre-release/testnet validation checks, and is now recommended for chains to upgrade from the previous agoric-upgrade-17
release. As a chain-halting upgrade, once approved, all chain validators will need to upgrade from agoric-upgrade-17
to this new version (after the chain halts due to reaching the height required in a governance proposal).
State-sync
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.
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.
For Devnet, use the following upgrade name:
Cosmos Upgrade Handler Name: agoric-upgrade-18-devnet
For Mainnet, use the following upgrade name:
Cosmos Upgrade Handler Name: agoric-upgrade-18-mainnet
Tags
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-18
Git Commit: f8c45b8a2e29a51522a81a6692af25b2d7f6b50f
@agoric/cosmos package version: v0.35.0-u18.5
Docker: ghcr.io/agoric/agoric-sdk:56
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-17
, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-18
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.
Make sure that the environment running the agd service has the same Node.js version as the environment used for building. In particular, if using nvm
to manage Node.js version, the service environment should enable nvm and use the same version.
Building
# (stop the agd service)
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-18
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 module ... was compiled against a different Node.js version
and SyntaxError
issues
The agd service is not using the same version of Node.js as the one used when building. The most likely cause is that nvm
was used to manage the Node.js version in the shell when building. Either install the required version of Node.js globally using the system's package manager, or enable nvm
in the environment of the agd service.
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.