{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "ChannelState", "description": "ContractChannelState is the state of the IBC application's channel. This application only supports one channel.", "type": "object", "required": [ "channel", "channel_status" ], "properties": { "channel": { "description": "The IBC channel, as defined by cosmwasm.", "allOf": [ { "$ref": "#/definitions/IbcChannel" } ] }, "channel_status": { "description": "The status of the channel.", "allOf": [ { "$ref": "#/definitions/ChannelStatus" } ] } }, "additionalProperties": false, "definitions": { "ChannelStatus": { "description": "ChannelState is the state of the IBC channel.", "type": "string", "enum": [ "STATE_UNINITIALIZED_UNSPECIFIED", "STATE_INIT", "STATE_TRYOPEN", "STATE_OPEN", "STATE_CLOSED" ] }, "IbcChannel": { "description": "IbcChannel defines all information on a channel. This is generally used in the hand-shake process, but can be queried directly.", "type": "object", "required": [ "connection_id", "counterparty_endpoint", "endpoint", "order", "version" ], "properties": { "connection_id": { "description": "The connection upon which this channel was created. If this is a multi-hop channel, we only expose the first hop.", "type": "string" }, "counterparty_endpoint": { "$ref": "#/definitions/IbcEndpoint" }, "endpoint": { "$ref": "#/definitions/IbcEndpoint" }, "order": { "$ref": "#/definitions/IbcOrder" }, "version": { "description": "Note: in ibcv3 this may be \"\", in the IbcOpenChannel handshake messages", "type": "string" } } }, "IbcEndpoint": { "type": "object", "required": [ "channel_id", "port_id" ], "properties": { "channel_id": { "type": "string" }, "port_id": { "type": "string" } } }, "IbcOrder": { "description": "IbcOrder defines if a channel is ORDERED or UNORDERED Values come from https://github.com/cosmos/cosmos-sdk/blob/v0.40.0/proto/ibc/core/channel/v1/channel.proto#L69-L80 Naming comes from the protobuf files and go translations.", "type": "string", "enum": [ "ORDER_UNORDERED", "ORDER_ORDERED" ] } } }