# \[Proposal #71\] agoric-upgrade-14: Interchain stack + smart wallet upgrades

**URL:** <https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633>\
**Category:** Network Upgrades\
**Created:** [February 28, 2024, 12:30am UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633 "2024-02-28T00:30:52Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![JD-Agoric](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/jd-agoric/32/113_2.png) [@JD-Agoric](https://community.agoric.com/u/JD-Agoric)\
**Post date:** [February 28, 2024, 12:30am UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/1 "2024-02-28T00:30:52Z")

</div>

**Changelog** :  
2024-03-14

- Updated the release candidate to rc1
- Updated the Emerynet and Mainnet proposal templates

2024-03-17

- Updated upgrade handler for Emerynet

2024-03-21

- Pre-release tag removed
- Release page updated
- Expected time for upgrade updated

* * *

👋 Hello Agoric Validators & BLD Community,

Agoric OpCo is happy to announce that a new software release, `agoric-upgrade-14`, is available for the agoric-3 chain. 🙌

Release details:

- Incremental Interchain stack upgrades
- Smart wallet upgrades

We’ve prepared the following:

> **[Release agoric-upgrade-14 · Agoric/agoric-sdk](https://github.com/Agoric/agoric-sdk/releases/tag/agoric-upgrade-14)**
>
> 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...

**Upgrade Handlers:**

Emerynet: `agorictest-upgrade-14-2`  
Mainnet: `agoric-upgrade-14`

_Note: The upgrade to cosmos 0.46 includes a new index being created during the upgrade **[Based on tests using a copy of mainnet data](https://github.com/Agoric/agoric-sdk/issues/8875), we estimate this upgrade can take from two to three 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._

### Recommended Testnet Milestones

By running long-lived testnets and using that environment to evaluate software before promoting it to mainnet, validators play a vital role in maintaining a healthy, robust network for the Agoric community. Qualifying or certifying any new software release as production ready requires significant testing, and Agoric OpCo recommends that validators evaluate the following milestones before launching an on-chain governance proposal on the agoric-3 mainnet.

Note: Ensure that you’re up to date on golang and node versions for this release, and that you’ve upgraded to the latest version of Cosmovisor that supports the upgrade handler.

0️⃣ – Choose a testnet coordinator to kick off the Emerynet upgrade. Traditionally, the testnet coordinator submits the on-chain proposal for mainnet software upgrade.

1️⃣ – Evaluate core mainnet functionality. This could include:

- Exercising the new VM functionality of the release by participating in the upgrade
- Restarting your node after a successful upgrade
- Exercising on-chain governance parameters
- Creating a state-sync snapshot
- Spinning up a node using a state-sync snapshot

2️⃣ – Keep the community updated on testnet progress by posting updates to this thread and/or sharing details in Discord so that the community can follow progress towards launch.

3️⃣ – Coordinate with your fellow validators to determine if this release is ready to be promoted to mainnet. When the milestone checklist is completed by validators Agoric OpCo will remove the pre-release tag.

4️⃣ – Testnet Lead (or another validator) create a mainnet proposal, if needed seek support from the community for deposit.

### Calculating an upgrade height

> **[GitHub - Agoric/estimator](https://github.com/agoric/estimator)**
>
> Contribute to Agoric/estimator development by creating an account on GitHub.

### Creating an Emerynet upgrade proposal for rc1:

Use the following release: [Release agoric-upgrade-14-rc1 · Agoric/agoric-sdk · GitHub](https://github.com/Agoric/agoric-sdk/releases/tag/agoric-upgrade-14-rc1)

Confirm the commit hash and upgrade name **BEFORE** submitting a proposal.

Please note the instructions are slightly different than for the initial Emerynet upgrade, in particular the value of `UPGRADE_TO` and `UPGRADE_INFO`.

```auto
# Edit as needed

FROM_WALLET=yourwallet

UPGRADE_HEIGHT="1234-get-blockheight-from-estimator"

# Verify values

UPGRADE_TO="agorictest-upgrade-14-2"

CHAIN_ID="agoric-emerynet-8"

COMMIT_ID=$(git rev-parse HEAD)

ZIP_URL="https://github.com/Agoric/agoric-sdk/archive/${COMMIT_ID}.zip"

CHECKSUM=sha256:$(curl -L "$ZIP_URL" -o- | shasum -a 256 | cut -d' ' -f1)

UPGRADE_INFO="{\"binaries\":{\"any\":\"$ZIP_URL//agoric-sdk-${COMMIT_ID}?checksum=$CHECKSUM\"},\"source\":\"$ZIP_URL?checksum=$CHECKSUM\"}"

agd tx gov submit-proposal software-upgrade $UPGRADE_TO --upgrade-info="$UPGRADE_INFO" --upgrade-height="$UPGRADE_HEIGHT" --title="Upgrade to $UPGRADE_TO" --description="This proposal if voted will upgrade the chain to $UPGRADE_TO" --from=$FROM_WALLET --chain-id=$CHAIN_ID

```

**When the testnet milestones are complete and validators have fully qualified the release on Emerynet, the testnet coordinator should inform Agoric OpCo** to promote the release from rc to final and update tags accordingly, then create and submit a similar on-chain proposal to upgrade the agoric-3 chain to `agoric-upgrade-14`.

### Creating a Mainnet upgrade proposal:

Confirm the commit hash and upgrade name BEFORE submitting a proposal.

Please note the changes to the instructions, in particular the value of `UPGRADE_TO` and `UPGRADE_INFO`.

```auto
# Edit as needed

FROM_WALLET=yourwallet

UPGRADE_HEIGHT="1234-get-blockheight-from-estimator"

# Verify values

UPGRADE_TO="agoric-upgrade-14"

CHAIN_ID="agoric-3"

COMMIT_ID=$(git rev-parse HEAD)

ZIP_URL="[https://github.com/Agoric/agoric-sdk/archive/${COMMIT_ID}.zip](https://github.com/Agoric/agoric-sdk/archive/$%7BCOMMIT_ID%7D.zip)"

CHECKSUM=sha256:$(curl -L "$ZIP_URL" -o- | shasum -a 256 | cut -d' ' -f1)

UPGRADE_INFO="{\"binaries\":{\"any\":\"$ZIP_URL//agoric-sdk-${COMMIT_ID}?checksum=$CHECKSUM\"},\"source\":\"$ZIP_URL?checksum=$CHECKSUM\"}"

agd tx gov submit-proposal software-upgrade $UPGRADE_TO --upgrade-info="$UPGRADE_INFO" --upgrade-height="$UPGRADE_HEIGHT" --title="Upgrade to $UPGRADE_TO" --description="This proposal if voted will upgrade the chain to $UPGRADE_TO" --from=$FROM_WALLET --chain-id=$CHAIN_ID 

```

### Important reminder for anyone generating state-sync snapshots or restoring from state-sync

In order to produce state-sync snapshots, beginning with `agoric-upgrade-11` your node must have a “complete” JS database. If your DB isn’t complete, the state-sync generation process will fail. If you have been running a node continuously since the Mainnet 1B upgrade (`agoric-upgrade-10`), then your DB will be complete.

If you created your node from a state-sync restore before `agoric-upgrade-11`, or if you used a community snapshot that had itself restored from state-sync, then your DB will not be complete. You can restore from state-sync with `agoric-upgrade-14` to obtain a complete DB.

We are aware of continued performance issues related to state-sync. In particular, we’ve observed that on the agoric-3 chain, the current implementation can require 100 GB of free disk space on /tmp and 16GB of memory during a state-sync restore. The process can take over an hour depending on the characteristics of the machine, and we’ve observed that setting a longer trusted blocks window is necessary during restore (e.g. 5000 blocks).

---

<div class="post-metadata">

**Author:** ![JD-Agoric](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/jd-agoric/32/113_2.png) [@JD-Agoric](https://community.agoric.com/u/JD-Agoric)\
**Post date:** [February 29, 2024, 8:42pm UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/2 "2024-02-29T20:42:44Z")

</div>

Update: Emerynet has been successfully upgraded to agorictest-upgrade-14!

The upgrade took ~1hr 34min from chain halt to new blocks.

---

<div class="post-metadata">

**Author:** ![toliaqat](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/toliaqat/32/418_2.png) [@toliaqat](https://community.agoric.com/u/toliaqat)\
**Post date:** [March 4, 2024, 8:37pm UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/3 "2024-03-04T20:37:50Z")

</div>

Completed IBC transfer testing between Emerynet and Devnet in both direction using IBC Go relayer. We had hiccups with using Hermes relayer and filed a bug at Hermes github. Using IBC Go relayer we were able to see the tokens transferred to the accounts.

---

<div class="post-metadata">

**Author:** ![JD-Agoric](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/jd-agoric/32/113_2.png) [@JD-Agoric](https://community.agoric.com/u/JD-Agoric)\
**Post date:** [March 5, 2024, 7:52pm UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/4 "2024-03-05T19:52:42Z")

</div>

Summarizing the state of Emerynet testing:

- Hindsight submitted the Emerynet upgrade proposal

- Upgrade was successful! Passed on Feb 29th

- Kysen Pool [performed the following tests](https://discord.com/channels/585576150827532298/1010261181652545688/1214507728987365386) when moving to a new node:

- [Puneet from the Persistence team](https://discord.com/channels/585576150827532298/1010261181652545688/1214571424556126209) submitted a [proposal to update ICA parameters](https://emerynet.explorer.agoric.net/agoric/gov/36), which also tested the governance functionality on Emerynet. Proposal passed.

---

<div class="post-metadata">

**Author:** ![JD-Agoric](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/jd-agoric/32/113_2.png) [@JD-Agoric](https://community.agoric.com/u/JD-Agoric)\
**Post date:** [March 6, 2024, 5:54pm UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/5 "2024-03-06T17:54:59Z")

</div>

An issue has been reported whereby tx fees are paid twice. The fix for this will require a new `agoric-upgrade-14-rc1` release followed by another upgrade to Emerynet.

> <https://github.com/Agoric/agoric-sdk/issues/9036>
>
> \## Describe the bug
> The Finoa team has reported an anomalous transaction that a…ppears to deduct the tx fee twice, exceeding the amount specified by the signed transaction.
> 
> We noticed that after upgrading to \`agoric-upgrade-14-rc0\`, that the TX fee is paid twice.
> 
> Example of TX:
> https://emerynet.explorer.agoric.net/agoric/tx/F661B7A8E25737AD047B296CFB7EF8624EF786B0E6457B84D16DD3AD09056051
> 
> This is a transfer of \`1 BLD\` from \`agoric10d8rfalktk8n77zzxnqjkrhkw7ka24aw85zlu9\` to \`agoric1ensvnvv03uwedczf5x7y9dcrngk2aaznjgjmrk\` with a desired fee payment of \`0.005 BLD\`.
> 
> But instead of 2 transfer events, it has 3:
> \`0.005 BLD\` was transfered as a fee to \`agoric17xpfvakm2amg962yls6f84z3kell8c5lzyplmt\`
> \`0.005 BLD \`was transfered as a fee to \`agoric1ae0lmtzlgrcnla9xjkpaarq5d5dfez63h3nucl\`
> The desired transfer amount \`1 BLD\` was transfered to the desired destination wallet \`agoric1ensvnvv03uwedczf5x7y9dcrngk2aaznjgjmrk\`.
> 
> The transaction details in the explorer shows that the fee was \`0.01 BLD\`, which is the total of \`2x 0.005 BLD\`.
> This problem is noticed for the first with \`Emerynet\` testnet and was never noticed with Mainnet or other cosmos based chains.

Validators please standby for updates in [Discord Emerynet `#collaboration`](https://discord.com/channels/585576150827532298/1010261181652545688).

---

<div class="post-metadata">

**Author:** ![JD-Agoric](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/jd-agoric/32/113_2.png) [@JD-Agoric](https://community.agoric.com/u/JD-Agoric)\
**Post date:** [March 14, 2024, 7:52pm UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/6 "2024-03-14T19:52:09Z")

</div>

Update:

A new software release, `agoric-upgrade-14-rc1` , is now available with a fix for the double-fee issue found in `rc0` .

> **[Release agoric-upgrade-14-rc1 · Agoric/agoric-sdk](https://github.com/Agoric/agoric-sdk/releases/tag/agoric-upgrade-14-rc1)**
>
> 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 wal...

Validators please review the release and be sure to note the **changes to the proposal templates**. Upgrading to `agoric-upgrade-14-rc1` does not require resetting emerynet, `rc1` can be installed on top of `rc0` .

Agoric Systems engineers recommend performing the milestone tests again to ensure functionality of the new software ahead of mainnet.

The main forum post has been updated accordingly, see changelog.

---

<div class="post-metadata">

**Author:** ![JD-Agoric](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/jd-agoric/32/113_2.png) [@JD-Agoric](https://community.agoric.com/u/JD-Agoric)\
**Post date:** [March 19, 2024, 6:34pm UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/7 "2024-03-19T18:34:52Z")

</div>

Update: Emerynet has successfully been upgraded to `agorictest-upgrade-14-rc1`!

---

<div class="post-metadata">

**Author:** ![JD-Agoric](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/jd-agoric/32/113_2.png) [@JD-Agoric](https://community.agoric.com/u/JD-Agoric)\
**Post date:** [March 21, 2024, 5:05pm UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/8 "2024-03-21T17:05:58Z")

</div>

After a successful testing period on Emerynet and agreement from the Emerynet validators the pre-release tag has been removed, meaning `agoric-upgrade-14` is now mainnet ready!

> **[Release agoric-upgrade-14 · Agoric/agoric-sdk](https://github.com/Agoric/agoric-sdk/releases/tag/agoric-upgrade-14)**
>
> 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...

---

<div class="post-metadata">

**Author:** ![Validatrium](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/validatrium/32/153_2.png) [@Validatrium](https://community.agoric.com/u/Validatrium)\
**Post date:** [March 22, 2024, 8:59am UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/9 "2024-03-22T08:59:22Z")

</div>

Validatrium is ready to upgrade mainnet node once we define the time

---

<div class="post-metadata">

**Author:** ![JD-Agoric](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/jd-agoric/32/113_2.png) [@JD-Agoric](https://community.agoric.com/u/JD-Agoric)\
**Post date:** [March 28, 2024, 3:36pm UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/10 "2024-03-28T15:36:50Z")

</div>

`agoric-upgrade-14` is now in voting period!

> **[Proposal #71 Details - Agoric (BLD) Blockchain Explorer](https://agoric.explorers.guru/proposal/71)**
>
> Delve into the specifics of governance proposals on the Agoric (BLD) blockchain. Participate in discussions, see proposal status and voting process.

---

<div class="post-metadata">

**Author:** ![JD-Agoric](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/jd-agoric/32/113_2.png) [@JD-Agoric](https://community.agoric.com/u/JD-Agoric)\
**Post date:** [April 2, 2024, 5:33pm UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/11 "2024-04-02T17:33:48Z")

</div>

Agoric mainnet will be upgraded to agoric-upgrade-14 today (April 2, 2024) @ ~20:00 UTC 🎉

This upgrade is a significant step forward for the Agoric platform, setting the foundations for the Orchestration API and other upcoming improvements and features.

The upgrade is expected to take ~2-3 hours to complete. During this time, the chain will be halted and non-operational. This will impact all chain functionalities, including interactions with Inter Protocol, IBC transfers, and staking.

This downtime has been planned for and is expected. The time required is due to a large data migration involved in the upgrade. The Agoric OpCo team will be collaborating and coordinating with the Agoric validators to ensure a smooth upgrade.

Thank you for your understanding and patience! We will keep the community updated on the progress of the upgrade and notify when it is completed.

---

<div class="post-metadata">

**Author:** ![JD-Agoric](https://sea1.discourse-cdn.com/flex019/user_avatar/community.agoric.com/jd-agoric/32/113_2.png) [@JD-Agoric](https://community.agoric.com/u/JD-Agoric)\
**Post date:** [April 3, 2024, 1:07am UTC](https://community.agoric.com/t/proposal-71-agoric-upgrade-14-interchain-stack-smart-wallet-upgrades/633/12 "2024-04-03T01:07:58Z")

</div>

`agoric-upgrade-14` was a success! We have blocks!

Big shout out to the Agoric validators working late into their nights (into morning for some) to get through the 2+ hour upgrade!  
🙌
