#16 Proposal: Launch Inter Protocol MVP and Hardened JavaScript VM

This is a discussion to start the process for upgrading the Agoric chain to support the Hardened Javascript VM and install Inter Protocol MVP as the first Hardened JavaScript smart contracts.

Inter Protocol is a community organized, decentralized application launching on the Agoric chain that implements the Inter Stable Token (IST). IST is a fully collateralized, cryptocurrency-backed decentralized stable token for the interchain ecosystem on the Agoric chain. IST is designed to maintain parity with the US dollar (USD) for broad accessibility and provide Agoric and the interchain ecosystem users an asset with minimum price volatility. In addition, IST is the native fee token for the Agoric platform and provides some of the core functionality and stability for the Agoric cryptoeconomy.

The Inter Protocol MVP consists of the Parity Stability Module (PSM) along with supporting contracts for governance and smart wallets. The PSM is the initial mechanism to mint IST so that we can bring it to the interchain ecosystem via Inter-Blockchain Protocol (IBC). The PSM contract supports multiple instantiations. Each PSM contract trades IST for a single external stable token and vice versa. The proposed tokens / contracts are:

  • USDC_axl: USDC via Axelar
  • USDC_grv: USDC via Gravity Bridge
  • USDT_axl: USDT via Axelar
  • USDT_grv: USDT via Gravity Bridge

These Hardened JavaScript contracts are based on the Zoe framework, which provides Offer Safety, so that rather than signing messages to “send X assets to the PSM contract”, market participants sign quid-pro-quo offers: “give X only if Y is provided in exchange.” Assets are escrowed in Zoe, not sent to contracts such as the PSM, limiting risk. (Sills, 2019)

Object Capability (OCap) security architecture (Miller, 2006) is the key to making JavaScript safe for blockchains. The Agoric VM provides a distributed Hardened JavaScript runtime which enforces OCap security for safe composition and code reuse. For security assessments of the SwingSet VM kernel, Hardened JavaScript, and more, see Agoric - Security .

The Zoe framework is based on the Electronic Rights Transfer Protocol (ERTP), which provides a standard way to create and exchange fungible and nonfungible digital assets, making it easy to create complex digital assets that are immediately tradable and composable. This upgrade includes an x/vbank Cosmos SDK module to reflect BLD, IST, and interchain assets as ERTP assets, as well as a smart wallet contract to execute Cosmos transactions containing Zoe offers.

The Inter Protocol MVP is the first step in releasing the full mainnet phase 1 Inter Protocol, and out of an abundance of caution the full protocol will be released in stages and exercised between releases. We anticipate that future releases will enable the Automated Market Maker (AMM), Reserve, Vaults & liquidation and BLD Boost. See the Inter Protocol white paper for detailed descriptions at https://inter.trade/whitepaper.

We expect that after a discussion period of 7 days, an on-chain governance proposal will be created. Provided the BLD holders vote to approve the upgrade, the Agoric Hardened JavaScript VM and Inter Protocol smart contracts will be added to the Agoric chain.

References / Resources

Source code: agoric-sdk release pismoA * 2c812d2
pismoA-rc3 * ef8aa3c

Main net IBC denoms:

  • USDC_axl: ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F
  • USDC_grv: ibc/6831292903487E58BF9A195FDDC8A2E626B3DF39B88F4E7F41C935CADBAF54AC
  • USDT_axl: ibc/F2331645B9683116188EF36FC04A809C28BD36B54555E8705A37146D0182F045
  • USDT_grv: ibc/386D09AE31DA7C0C93091BB45D08CB7A0730B1F697CD813F06A5446DCF02EEB2

For more detail, on these, see IBC details for USDC, USDT on Axelar, Gravity

See Inter Protocol MVP Contract Governance - Governance - Agoric Community Forum for capabilities delegated to the Economic Committee

14 Likes

Note: details on how validators can test this upgrade are in preparation, to appear in the next day or so.

p.s. This was delayed a bit due to agoric-upgrade-7-2.

1 Like

Also note that the BLD stakers can add to the list of PSM contracts / tokens by subsequent governance decisions.

This comment was moved to a post under IBC

1 Like

Today, the Agoric team cut the agoric-upgrade-8 release, which is the release candidate software for mainnet-1. As @dckc mentions in this thread, this release will be the first time that the Agoric JavaScript stack is on-chain (!!!), and this upgrade would enable the launch of the Inter Protocol MVP that will make IST available across the Interchain.

Mainnet Release Candidate Software

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 core developers recommend that validators evaluate the following milestones before launching an on-chain governance proposal on the agoric-3 mainnet.

:zero: Choose a testnet lead (or leaders) to create an upgrade proposal and set a blockheight for upgrade. The testnet lead could also create the upgrade proposal on mainnet when the release is qualified.

:one: Exercise the upgrade functionality to ensure that going from ag0 to agD works seamlessly. And whatever you do, do not restart your node in the middle of an upgrade.

:two: Restart your node. Turning it off and turning it back on again is key — but be sure to backup your node before restarting it.

:three: Restore your node successfully from a snapshot of your own. The conversion from ag0 to agD adds one bit of technical complexity — state-sync is not a feature of the network or possible after the upgrade until the core team implements it. It is important that snapshots can be reliably used to get up to speed on the network.

:four: Test IBC transactions, including taking test IST outside of the Agoric network. The details of the IST denom have been captured in Agoric’s chain registry info, and Emerynet is connected to several other testnets in the Interchain. Who will be the first to move test IST outside of the Agoric ecosystem?

:five: Exercise on-chain governance. Once the upgrade is successful, it would be helpful to change parameters or voting quorum to exercise the Cosmos governance tools. After the upgrade, the Agoric team will also exercise mainnet-1 specific governance features on Emerynet.

:six: Take an opportunity to test drive Inter Protocol when the UIs are wired up to the testnet. Shortly after the upgrade, the interfaces for Inter Protocol MVP will be connected to Emerynet. Join the Agoric team in testing core features and functionality that will mint testnet IST.

:seven: Help the Agoric team keep the community informed on testnet progress. Throughout the process, the Agoric team will keep track of how the testnet is progressing – but we’d love for validators to update this thread or share their progress in Discord so that the entire community can follow progress towards launch.

Next Steps

When these testnet milestones are complete and validators have fully qualified the release on Emerynet, any member of the community can submit an on-chain proposal to upgrade agoric-3 from running on ag0 to agD. If you’d like to raise the proposal, let the community know in the thread below.

5 Likes

Step :zero: is all set: thanks to kjnodes, the emerynet (testing) proposal is live: Ping Dashboard

The upgrade height arrives in about 3 1/2 hrs. So now is a good time to build and install agd.

To join the detailed discussion, visit #get-roles on Agoric discord to get the @emerynet role if you have not already.

Milestone :one: is complete! During the upgrade process with Emerynet validators, there were a few hiccups with file paths for validators relying on systemd, and the symlink didn’t perform as expected for some during the upgrade.

The Agoric team has taken note of these issues and will be a) documenting how to work through them for validators in advance of any mainnet proposal, and b) will be considering what guidance to provide on how using Cosmovisor with agD.

After checking in on #Emerynet progress, it is clear that Milestones :two: and :three: are complete.

In addition to this, the Agoric team and has completed Milestones :four:, :five:, :six: by testing Inter Protocol MVP user flows and UIs on Emerynet. (We are also aware of several community members have also independently evaluated the Inter Protocol MVP UIs in this environment.) Throughout the upgrade process, testnet validators and the Agoric team have completed Milestone :seven: of keeping the community updated on testnet progress.

As each of the recommended testnet milestones for qualifying agoric-upgrade-8, aka the pismoA-rc4 release have been reached… :drum: :drum: :drum: :drum:

The Agoric engineering team has removed the “Pre-production release” label from the release, and updated the tag to pismoA. From the updated release notes:

The Agoric engineering team is pleased to publish the pismoA release, otherwise known as the Inter Protocol MVP that is made up of the Parity Stability Module -only, hence the “PSM-o” nickname.

This pismoA release represents the first time that Agoric’s JavaScript stack is eligible to be promoted into a production mainnet environment. All testnet milestones have been met, and the Agoric team anticipates that an on-chain governance proposal to upgrade the agoric-3 chain will be created by the community.

The Agoric team anticipates that a governance proposal to upgrade the agoric-3 chain and launch mainnet-1 (with the Inter Protocol MVP) is imminent. From here on out, it is community participation in governance that will launch mainnet-1, and the best way to prepare for launch is to ensure that your BLD tokens are staked so that you can participate in the upcoming governance vote. :rocket:

1 Like

This just in: Proposal #16 is live! This is the proposal that, if passed, would launch mainnet-1 and install Inter Protocol MVP on the agoric-3 chain. :rocket:

Participation in this vote is what will launch mainnet-1 and Inter Protocol MVP – tokenholders and members of the Agoric community, it’s time to get out the vote!!! :ballot_box: :ballot_box: :ballot_box: :ballot_box: :ballot_box:

Details about how to vote are included in this Twitter thread: https://twitter.com/agoric/status/1584246258209763328

2 Likes

The official upgrade guide for validators to support the agoric-upgrade-8 anticipated at blockheight 7,179,262 has been updated with recommendations from the Agoric team. A link to the unofficial guide from Polkachu is included as well!

Check it out here: ag0 to agd upgrade for mainnet 1 launch · Agoric/agoric-sdk Wiki · GitHub

1 Like

We are ready!

Catch all the details about IST in our Agoric introduction

1 Like

Wow! Over 1800 votes on the formal proposal.

On behalf of all of us at Agoric, thank you for your participation!

2 Likes

Mainnet-1 is live and launched!! :rocket: