pyth-crosschain/target_chains/cosmwasm
guibescos 6917c84b0e
[cosmwasm] Use ParsedVaa from wormhole contract (#1237)
* Use ParsedVaa from wormhole contract

* Cleanup

* Pin it

* Test this CI

* Cleanup

* Revert "Test this CI"

This reverts commit 0cb2caedd3d3f7d49d7f53cd0d67fc12be092c2f.

* Use tag
2024-01-24 17:40:15 +00:00
..
contracts [cosmwasm] Use ParsedVaa from wormhole contract (#1237) 2024-01-24 17:40:15 +00:00
deploy-scripts [cosmwasm] Fix release ci (#1243) 2024-01-24 15:47:17 +00:00
devnet [refactor] Convert hyphen to underscore in the directory tree (#524) 2023-01-24 19:06:22 +01:00
examples/cw-contract fix broken links (#945) 2023-07-11 11:41:43 +01:00
sdk/rust chore: cleanup repo 2023-10-18 18:32:42 +02:00
tools feat(contract-manager): add script to fetch account balances 2023-11-21 17:53:43 +01:00
wormhole-stub [target_chains] Add deployment information for neutron mainnet (#930) 2023-06-30 14:33:25 +02:00
.gitignore Wormhole stub (#789) 2023-05-03 20:48:00 +05:30
Cargo.lock [cosmwasm] Use ParsedVaa from wormhole contract (#1237) 2024-01-24 17:40:15 +00:00
Cargo.toml [cosmwasm] Use ParsedVaa from wormhole contract (#1237) 2024-01-24 17:40:15 +00:00
README.md [cosmwasm] CosmWasm integration with contract manager (#1025) 2023-08-25 16:38:42 +02:00

README.md

Pyth CosmWasm

This directory contains the Pyth contract for CosmWasm and utilities to deploy it on CosmWasm chains.

Deployment types

We have two kinds of deployment possible on each chain. Stable and Beta. On mainnets we only deploy the stable version. On testnets we deploy both. The purpose of deploying the stable version on testnets is allowing dApps to test their protocol using real accurate price feeds.

  • Stable deployments are controlled by the upgrade multisig deployed on mainnet and accept price feeds that originate from pythnet.
  • Beta deployments are controlled by the upgrade multisig deployed on devnet and accept price feeds that originate from pythtest-crosschain.

This also means we need to somehow distinguish between stable deployments on testnet and mainnets, otherwise a single governance message can affect both of them and have undesired side effects. We do this on cosmwasm by assigning unique chain ids to the testnet and mainnet.

Deployment

Deploying the CosmWasm contract has three steps:

  1. Upload the code. This step will give you a code id.
  2. Either create a new contract or upgrade an existing one:
    1. Create a new contract that has an address with a code id as its program.
    2. Upgrade an existing contract code id to the new code id using governance messages.
  3. Update contract's admin to itself.

The scripts directory contains the instructions and scripts to perform all the steps.

Permissoned networks:

We currently have two permissioned networks: injective and osmosis. Uploading the code on their mainnet is not possible without an authority or a governance proposal.