From 2e95e2e52c11f058213def01c8aa5e87d7e79502 Mon Sep 17 00:00:00 2001 From: Ali Behjati Date: Tue, 5 Jul 2022 08:22:32 +0000 Subject: [PATCH 1/6] Rename terra to cw --- Cargo.toml | 4 ++-- examples/{terra-contract => cw-contract}/Cargo.toml | 10 +++++----- examples/{terra-contract => cw-contract}/Developing.md | 0 examples/{terra-contract => cw-contract}/README.md | 0 .../{terra-contract => cw-contract}/examples/schema.rs | 0 .../schema/execute_msg.json | 0 .../schema/fetch_price_response.json | 0 .../schema/instantiate_msg.json | 0 .../schema/query_msg.json | 0 .../{terra-contract => cw-contract}/schema/state.json | 0 .../{terra-contract => cw-contract}/src/contract.rs | 0 examples/{terra-contract => cw-contract}/src/lib.rs | 0 examples/{terra-contract => cw-contract}/src/msg.rs | 0 examples/{terra-contract => cw-contract}/src/state.rs | 0 .../{terra-contract => cw-contract}/tools/.gitignore | 0 .../{terra-contract => cw-contract}/tools/deploy.js | 0 .../tools/package-lock.json | 0 .../{terra-contract => cw-contract}/tools/package.json | 0 .../{terra-contract => cw-contract}/tools/query.js | 0 {pyth-sdk-terra => pyth-sdk-cw}/Cargo.toml | 10 +++++----- {pyth-sdk-terra => pyth-sdk-cw}/README.md | 0 {pyth-sdk-terra => pyth-sdk-cw}/examples/schema.rs | 0 .../schema/price_feed_response.json | 0 {pyth-sdk-terra => pyth-sdk-cw}/schema/query_msg.json | 0 {pyth-sdk-terra => pyth-sdk-cw}/src/lib.rs | 0 25 files changed, 12 insertions(+), 12 deletions(-) rename examples/{terra-contract => cw-contract}/Cargo.toml (78%) rename examples/{terra-contract => cw-contract}/Developing.md (100%) rename examples/{terra-contract => cw-contract}/README.md (100%) rename examples/{terra-contract => cw-contract}/examples/schema.rs (100%) rename examples/{terra-contract => cw-contract}/schema/execute_msg.json (100%) rename examples/{terra-contract => cw-contract}/schema/fetch_price_response.json (100%) rename examples/{terra-contract => cw-contract}/schema/instantiate_msg.json (100%) rename examples/{terra-contract => cw-contract}/schema/query_msg.json (100%) rename examples/{terra-contract => cw-contract}/schema/state.json (100%) rename examples/{terra-contract => cw-contract}/src/contract.rs (100%) rename examples/{terra-contract => cw-contract}/src/lib.rs (100%) rename examples/{terra-contract => cw-contract}/src/msg.rs (100%) rename examples/{terra-contract => cw-contract}/src/state.rs (100%) rename examples/{terra-contract => cw-contract}/tools/.gitignore (100%) rename examples/{terra-contract => cw-contract}/tools/deploy.js (100%) rename examples/{terra-contract => cw-contract}/tools/package-lock.json (100%) rename examples/{terra-contract => cw-contract}/tools/package.json (100%) rename examples/{terra-contract => cw-contract}/tools/query.js (100%) rename {pyth-sdk-terra => pyth-sdk-cw}/Cargo.toml (75%) rename {pyth-sdk-terra => pyth-sdk-cw}/README.md (100%) rename {pyth-sdk-terra => pyth-sdk-cw}/examples/schema.rs (100%) rename {pyth-sdk-terra => pyth-sdk-cw}/schema/price_feed_response.json (100%) rename {pyth-sdk-terra => pyth-sdk-cw}/schema/query_msg.json (100%) rename {pyth-sdk-terra => pyth-sdk-cw}/src/lib.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index 0859f58..9ea6f83 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,6 +4,6 @@ members = [ "pyth-sdk", "pyth-sdk-solana", "pyth-sdk-solana/test-contract", - "pyth-sdk-terra", - "examples/terra-contract", + "pyth-sdk-cw", + "examples/cw-contract", ] diff --git a/examples/terra-contract/Cargo.toml b/examples/cw-contract/Cargo.toml similarity index 78% rename from examples/terra-contract/Cargo.toml rename to examples/cw-contract/Cargo.toml index 79a6d6d..18015bc 100644 --- a/examples/terra-contract/Cargo.toml +++ b/examples/cw-contract/Cargo.toml @@ -29,12 +29,12 @@ optimize = """docker run --rm -v "$(pwd)":/code \ """ [dependencies] -cosmwasm-std = { version = "0.16.2" } -cosmwasm-storage = { version = "0.16.0" } -cw-storage-plus = "0.8.0" +cosmwasm-std = { version = "1.0.0" } +cosmwasm-storage = { version = "1.0.0" } +cw-storage-plus = "0.13.4" schemars = "0.8" serde = { version = "1.0", default-features = false, features = ["derive"] } -pyth-sdk-terra = { version = "0.4.0", path = "../../pyth-sdk-terra" } # Remove path and use version only when you use this example on your own. +pyth-sdk-cw = { version = "0.1.0", path = "../../pyth-sdk-cw" } # Remove path and use version only when you use this example on your own. [dev-dependencies] -cosmwasm-schema = { version = "0.16.0" } +cosmwasm-schema = { version = "1.0.0" } diff --git a/examples/terra-contract/Developing.md b/examples/cw-contract/Developing.md similarity index 100% rename from examples/terra-contract/Developing.md rename to examples/cw-contract/Developing.md diff --git a/examples/terra-contract/README.md b/examples/cw-contract/README.md similarity index 100% rename from examples/terra-contract/README.md rename to examples/cw-contract/README.md diff --git a/examples/terra-contract/examples/schema.rs b/examples/cw-contract/examples/schema.rs similarity index 100% rename from examples/terra-contract/examples/schema.rs rename to examples/cw-contract/examples/schema.rs diff --git a/examples/terra-contract/schema/execute_msg.json b/examples/cw-contract/schema/execute_msg.json similarity index 100% rename from examples/terra-contract/schema/execute_msg.json rename to examples/cw-contract/schema/execute_msg.json diff --git a/examples/terra-contract/schema/fetch_price_response.json b/examples/cw-contract/schema/fetch_price_response.json similarity index 100% rename from examples/terra-contract/schema/fetch_price_response.json rename to examples/cw-contract/schema/fetch_price_response.json diff --git a/examples/terra-contract/schema/instantiate_msg.json b/examples/cw-contract/schema/instantiate_msg.json similarity index 100% rename from examples/terra-contract/schema/instantiate_msg.json rename to examples/cw-contract/schema/instantiate_msg.json diff --git a/examples/terra-contract/schema/query_msg.json b/examples/cw-contract/schema/query_msg.json similarity index 100% rename from examples/terra-contract/schema/query_msg.json rename to examples/cw-contract/schema/query_msg.json diff --git a/examples/terra-contract/schema/state.json b/examples/cw-contract/schema/state.json similarity index 100% rename from examples/terra-contract/schema/state.json rename to examples/cw-contract/schema/state.json diff --git a/examples/terra-contract/src/contract.rs b/examples/cw-contract/src/contract.rs similarity index 100% rename from examples/terra-contract/src/contract.rs rename to examples/cw-contract/src/contract.rs diff --git a/examples/terra-contract/src/lib.rs b/examples/cw-contract/src/lib.rs similarity index 100% rename from examples/terra-contract/src/lib.rs rename to examples/cw-contract/src/lib.rs diff --git a/examples/terra-contract/src/msg.rs b/examples/cw-contract/src/msg.rs similarity index 100% rename from examples/terra-contract/src/msg.rs rename to examples/cw-contract/src/msg.rs diff --git a/examples/terra-contract/src/state.rs b/examples/cw-contract/src/state.rs similarity index 100% rename from examples/terra-contract/src/state.rs rename to examples/cw-contract/src/state.rs diff --git a/examples/terra-contract/tools/.gitignore b/examples/cw-contract/tools/.gitignore similarity index 100% rename from examples/terra-contract/tools/.gitignore rename to examples/cw-contract/tools/.gitignore diff --git a/examples/terra-contract/tools/deploy.js b/examples/cw-contract/tools/deploy.js similarity index 100% rename from examples/terra-contract/tools/deploy.js rename to examples/cw-contract/tools/deploy.js diff --git a/examples/terra-contract/tools/package-lock.json b/examples/cw-contract/tools/package-lock.json similarity index 100% rename from examples/terra-contract/tools/package-lock.json rename to examples/cw-contract/tools/package-lock.json diff --git a/examples/terra-contract/tools/package.json b/examples/cw-contract/tools/package.json similarity index 100% rename from examples/terra-contract/tools/package.json rename to examples/cw-contract/tools/package.json diff --git a/examples/terra-contract/tools/query.js b/examples/cw-contract/tools/query.js similarity index 100% rename from examples/terra-contract/tools/query.js rename to examples/cw-contract/tools/query.js diff --git a/pyth-sdk-terra/Cargo.toml b/pyth-sdk-cw/Cargo.toml similarity index 75% rename from pyth-sdk-terra/Cargo.toml rename to pyth-sdk-cw/Cargo.toml index 857e140..c60b03d 100644 --- a/pyth-sdk-terra/Cargo.toml +++ b/pyth-sdk-cw/Cargo.toml @@ -1,6 +1,6 @@ [package] -name = "pyth-sdk-terra" -version = "0.4.0" +name = "pyth-sdk-cw" +version = "0.1.0" authors = ["Pyth Data Foundation"] edition = "2018" license = "Apache-2.0" @@ -11,14 +11,14 @@ keywords = [ "pyth", "terra", "oracle" ] readme = "README.md" [dependencies] -cosmwasm-std = { version = "0.16.0" } -cosmwasm-storage = { version = "0.16.0" } +cosmwasm-std = { version = "1.0.0" } +cosmwasm-storage = { version = "1.0.0" } serde = { version = "1.0.136", features = ["derive"] } pyth-sdk = { path = "../pyth-sdk", version = "0.4.1" } schemars = "0.8.1" [dev-dependencies] -cosmwasm-schema = { version = "0.16.0" } +cosmwasm-schema = { version = "1.0.0" } [lib] crate-type = ["cdylib", "lib"] diff --git a/pyth-sdk-terra/README.md b/pyth-sdk-cw/README.md similarity index 100% rename from pyth-sdk-terra/README.md rename to pyth-sdk-cw/README.md diff --git a/pyth-sdk-terra/examples/schema.rs b/pyth-sdk-cw/examples/schema.rs similarity index 100% rename from pyth-sdk-terra/examples/schema.rs rename to pyth-sdk-cw/examples/schema.rs diff --git a/pyth-sdk-terra/schema/price_feed_response.json b/pyth-sdk-cw/schema/price_feed_response.json similarity index 100% rename from pyth-sdk-terra/schema/price_feed_response.json rename to pyth-sdk-cw/schema/price_feed_response.json diff --git a/pyth-sdk-terra/schema/query_msg.json b/pyth-sdk-cw/schema/query_msg.json similarity index 100% rename from pyth-sdk-terra/schema/query_msg.json rename to pyth-sdk-cw/schema/query_msg.json diff --git a/pyth-sdk-terra/src/lib.rs b/pyth-sdk-cw/src/lib.rs similarity index 100% rename from pyth-sdk-terra/src/lib.rs rename to pyth-sdk-cw/src/lib.rs From d52400a334da29d66102b43976bead1c71e4eee6 Mon Sep 17 00:00:00 2001 From: Ali Behjati Date: Tue, 5 Jul 2022 08:24:00 +0000 Subject: [PATCH 2/6] Fix build --- examples/cw-contract/src/contract.rs | 2 +- examples/cw-contract/src/msg.rs | 2 +- examples/cw-contract/src/state.rs | 2 +- pyth-sdk-cw/examples/schema.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/cw-contract/src/contract.rs b/examples/cw-contract/src/contract.rs index 9f8f1a6..8c1ad09 100644 --- a/examples/cw-contract/src/contract.rs +++ b/examples/cw-contract/src/contract.rs @@ -12,7 +12,7 @@ use cosmwasm_std::{ StdResult, }; -use pyth_sdk_terra::query_price_feed; +use pyth_sdk_cw::query_price_feed; use crate::msg::{ ExecuteMsg, diff --git a/examples/cw-contract/src/msg.rs b/examples/cw-contract/src/msg.rs index f93a580..3a91370 100644 --- a/examples/cw-contract/src/msg.rs +++ b/examples/cw-contract/src/msg.rs @@ -1,4 +1,4 @@ -use pyth_sdk_terra::{ +use pyth_sdk_cw::{ Price, PriceIdentifier, }; diff --git a/examples/cw-contract/src/state.rs b/examples/cw-contract/src/state.rs index c3f9d71..730abba 100644 --- a/examples/cw-contract/src/state.rs +++ b/examples/cw-contract/src/state.rs @@ -6,7 +6,7 @@ use serde::{ }; use cw_storage_plus::Item; -use pyth_sdk_terra::PriceIdentifier; +use pyth_sdk_cw::PriceIdentifier; #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] pub struct State { diff --git a/pyth-sdk-cw/examples/schema.rs b/pyth-sdk-cw/examples/schema.rs index 3562983..129f1da 100644 --- a/pyth-sdk-cw/examples/schema.rs +++ b/pyth-sdk-cw/examples/schema.rs @@ -6,7 +6,7 @@ use cosmwasm_schema::{ use std::env::current_dir; use std::fs::create_dir_all; -use pyth_sdk_terra::{ +use pyth_sdk_cw::{ PriceFeedResponse, QueryMsg, }; From 4ba576b2788e5a43bae1176c29e9a56a06ffac3a Mon Sep 17 00:00:00 2001 From: Ali Behjati Date: Tue, 5 Jul 2022 08:28:57 +0000 Subject: [PATCH 3/6] Update Readme --- pyth-sdk-cw/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pyth-sdk-cw/README.md b/pyth-sdk-cw/README.md index 9dc4a34..0c6e527 100644 --- a/pyth-sdk-cw/README.md +++ b/pyth-sdk-cw/README.md @@ -1,22 +1,22 @@ -# Pyth Network Terra SDK +# Pyth Network CosmosWasm SDK -This crate provides utilities for reading price feeds from the [pyth.network](https://pyth.network/) oracle on the Terra network. -It also includes an [example contract](../examples/terra-contract/) demonstrating how to read price feeds from on-chain Terra applications. +This crate provides utilities for reading price feeds from the [pyth.network](https://pyth.network/) oracle on the CosmWasm ecosystem. +It also includes an [example contract](../examples/terra-contract/) demonstrating how to read price feeds from on-chain CosmWasm applications. ## Installation -Add this crate to the dependencies section of your Terra contract's `Cargo.toml` file: +Add this crate to the dependencies section of your CosmWasm contract's `Cargo.toml` file: ``` [dependencies] -pyth-sdk-terra = { version = "" } +pyth-sdk-cw = { version = "" } ``` -See [pyth-sdk-terra on crates.io](https://crates.io/crates/pyth-sdk-terra) to get the most recent version. +See [pyth-sdk-cw on crates.io](https://crates.io/crates/pyth-sdk-cw) to get the most recent version. ## Usage -Simply call the `query_price_feed` function in your Terra contract with a price feed id: +Simply call the `query_price_feed` function in your CosmWasm contract with a price feed id: ```rust // Pyth network testnet contract address @@ -29,7 +29,7 @@ let current_price: Price = price_feed.get_current_price().ok_or_else(|| StdError println!("current BTC/USD price: ({} +- {}) x 10^{}", current_price.price, current_price.conf, current_price.expo); ``` -`query_price_feed` makes a query to the Pyth Network Terra contract +`query_price_feed` makes a query to the Pyth Network CosmWasm contract This query requires a price feed id that indicates the product whose price should be returned. Each product listed on Pyth Network (e.g., BTC/USD) has its own price feed id; see the [Contracts and Price Feeds](#contracts-and-price-feeds) section below for the possible products and their price feed ids. The result of the query is a `PriceFeed` struct which contains the current price of the product along with additional metadata. @@ -37,7 +37,7 @@ This struct also has some useful functions for manipulating and combining prices ## Off-Chain Queries -You can use the provided schemas in the `schema` directory to directly query the terra contract from off-chain applications. +You can use the provided schemas in the `schema` directory to directly query the CosmWasm contract from off-chain applications. A typical query requires to pass the price feed id as a hex string. it will look like: ``` @@ -52,9 +52,9 @@ By going to the contract address in [Terra Finder](https://finder.terra.money/) ## Contracts and Price Feeds -Pyth is currently only available in Terra testnet. +Pyth is currently only available in Terra Classic testnet. -### Testnet +### Terra Classic testnet The contract address is [`terra1wzs3rgzgjdde3kg7k3aaz6qx7sc5dcwxqe9fuc`](https://finder.terra.money/testnet/address/terra1wzs3rgzgjdde3kg7k3aaz6qx7sc5dcwxqe9fuc). From 039bdf453f88a8a202f62c541067e7586d08c56c Mon Sep 17 00:00:00 2001 From: Ali Behjati Date: Tue, 5 Jul 2022 08:42:33 +0000 Subject: [PATCH 4/6] Update github actions --- .github/workflows/{pyth-sdk-terra.yml => pyth-sdk-cw.yml} | 2 +- ...le-terra-contract.yml => pyth-sdk-example-cw-contract.yml} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename .github/workflows/{pyth-sdk-terra.yml => pyth-sdk-cw.yml} (96%) rename .github/workflows/{pyth-sdk-example-terra-contract.yml => pyth-sdk-example-cw-contract.yml} (92%) diff --git a/.github/workflows/pyth-sdk-terra.yml b/.github/workflows/pyth-sdk-cw.yml similarity index 96% rename from .github/workflows/pyth-sdk-terra.yml rename to .github/workflows/pyth-sdk-cw.yml index 0ad0722..3a5d202 100644 --- a/.github/workflows/pyth-sdk-terra.yml +++ b/.github/workflows/pyth-sdk-cw.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./pyth-sdk-terra + working-directory: ./pyth-sdk-cw steps: - uses: actions/checkout@v2 - name: Install dependencies diff --git a/.github/workflows/pyth-sdk-example-terra-contract.yml b/.github/workflows/pyth-sdk-example-cw-contract.yml similarity index 92% rename from .github/workflows/pyth-sdk-example-terra-contract.yml rename to .github/workflows/pyth-sdk-example-cw-contract.yml index 20dab6c..51a590a 100644 --- a/.github/workflows/pyth-sdk-example-terra-contract.yml +++ b/.github/workflows/pyth-sdk-example-cw-contract.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./examples/terra-contract + working-directory: ./examples/cw-contract steps: - name: Checkout sources uses: actions/checkout@v2 @@ -39,7 +39,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./examples/terra-contract + working-directory: ./examples/cw-contract steps: - name: Checkout sources uses: actions/checkout@v2 From 75dadae96a0e944315a6360f49b6cd7da33fa181 Mon Sep 17 00:00:00 2001 From: Ali Behjati Date: Tue, 5 Jul 2022 08:44:56 +0000 Subject: [PATCH 5/6] Fix github actions --- .github/workflows/pyth-sdk-cw.yml | 4 ++-- .github/workflows/pyth-sdk-example-cw-contract.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pyth-sdk-cw.yml b/.github/workflows/pyth-sdk-cw.yml index 3a5d202..296cab0 100644 --- a/.github/workflows/pyth-sdk-cw.yml +++ b/.github/workflows/pyth-sdk-cw.yml @@ -1,4 +1,4 @@ -name: Terra SDK +name: CW SDK on: push: @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./pyth-sdk-terra + working-directory: ./pyth-sdk-cw steps: - name: Checkout sources uses: actions/checkout@v2 diff --git a/.github/workflows/pyth-sdk-example-cw-contract.yml b/.github/workflows/pyth-sdk-example-cw-contract.yml index 51a590a..9be924a 100644 --- a/.github/workflows/pyth-sdk-example-cw-contract.yml +++ b/.github/workflows/pyth-sdk-example-cw-contract.yml @@ -1,4 +1,4 @@ -name: Pyth SDK Example Terra Contract +name: Pyth SDK Example CW Contract on: push: From 52b831e66dc090ad9456fe7a368d9b5c5476e71b Mon Sep 17 00:00:00 2001 From: Ali Behjati Date: Thu, 7 Jul 2022 08:01:24 +0000 Subject: [PATCH 6/6] Update Readme --- pyth-sdk-cw/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyth-sdk-cw/README.md b/pyth-sdk-cw/README.md index 0c6e527..d8446d1 100644 --- a/pyth-sdk-cw/README.md +++ b/pyth-sdk-cw/README.md @@ -1,4 +1,4 @@ -# Pyth Network CosmosWasm SDK +# Pyth Network CosmWasm SDK This crate provides utilities for reading price feeds from the [pyth.network](https://pyth.network/) oracle on the CosmWasm ecosystem. It also includes an [example contract](../examples/terra-contract/) demonstrating how to read price feeds from on-chain CosmWasm applications.