{ "contract_name": "price-feeds", "contract_version": "0.1.0", "idl_version": "1.0.0", "instantiate": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "InstantiateMsg", "type": "object", "required": [ "denom" ], "properties": { "denom": { "type": "string" } }, "additionalProperties": false }, "execute": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ExecuteMsg", "oneOf": [ { "type": "object", "required": [ "update_price" ], "properties": { "update_price": { "type": "object", "required": [ "price", "symbol" ], "properties": { "price": { "$ref": "#/definitions/Price" }, "symbol": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "request_price_feed" ], "properties": { "request_price_feed": { "type": "object", "required": [ "symbol" ], "properties": { "symbol": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "request_price_feeds" ], "properties": { "request_price_feeds": { "type": "object", "required": [ "request" ], "properties": { "request": { "$ref": "#/definitions/PriceFeedReq" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "receive_prices" ], "properties": { "receive_prices": { "type": "object", "required": [ "prices_response" ], "properties": { "prices_response": { "$ref": "#/definitions/PriceFeedsResponse" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "receive_price" ], "properties": { "receive_price": { "type": "object", "required": [ "price_response" ], "properties": { "price_response": { "$ref": "#/definitions/PriceFeedResponse" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "set_cost_per_request" ], "properties": { "set_cost_per_request": { "type": "object", "required": [ "cost_per_request" ], "properties": { "cost_per_request": { "$ref": "#/definitions/Uint128" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "change_admin" ], "properties": { "change_admin": { "type": "object", "required": [ "address" ], "properties": { "address": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false } ], "definitions": { "Decimal256": { "description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal256(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 115792089237316195423570985008687907853269984665640564039457.584007913129639935 (which is (2^256 - 1) / 10^18)", "type": "string" }, "Price": { "type": "object", "required": [ "price" ], "properties": { "price": { "$ref": "#/definitions/Decimal256" } }, "additionalProperties": false }, "PriceFeedReq": { "type": "object", "required": [ "pairs" ], "properties": { "pairs": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "PriceFeedResponse": { "type": "object", "required": [ "price", "symbol" ], "properties": { "price": { "$ref": "#/definitions/Decimal256" }, "symbol": { "type": "string" } }, "additionalProperties": false }, "PriceFeedsResponse": { "description": "Structure for multiple price feeds response", "type": "object", "required": [ "price_feeds" ], "properties": { "price_feeds": { "type": "array", "items": { "$ref": "#/definitions/PriceFeedResponse" } } }, "additionalProperties": false }, "Uint128": { "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", "type": "string" } } }, "query": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "QueryMsg", "oneOf": [ { "type": "object", "required": [ "get_all_symbols" ], "properties": { "get_all_symbols": { "type": "object", "additionalProperties": false } }, "additionalProperties": false } ] }, "migrate": null, "sudo": null, "responses": { "get_all_symbols": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "Array_of_String", "type": "array", "items": { "type": "string" } } } }