use elys_std_deriv::CosmwasmExt;
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.Params")]
pub struct Params {
#[prost(bool, tag = "1")]
pub market_order_enabled: bool,
#[prost(bool, tag = "2")]
pub stake_enabled: bool,
#[prost(bool, tag = "3")]
pub process_orders_enabled: bool,
#[prost(bool, tag = "4")]
pub swap_enabled: bool,
#[prost(bool, tag = "5")]
pub perpetual_enabled: bool,
#[prost(bool, tag = "6")]
pub reward_enabled: bool,
#[prost(bool, tag = "7")]
pub leverage_enabled: bool,
#[prost(uint64, tag = "8")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub limit_process_order: u64,
#[prost(string, tag = "9")]
pub reward_percentage: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub margin_error: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub minimum_deposit: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.LegacyOrderPriceV1")]
pub struct LegacyOrderPriceV1 {
#[prost(string, tag = "1")]
pub base_denom: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub quote_denom: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub rate: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.LegacyTriggerPriceV1")]
pub struct LegacyTriggerPriceV1 {
#[prost(string, tag = "1")]
pub trading_asset_denom: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub rate: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
pub enum SpotOrderType {
Stoploss = 0,
Limitsell = 1,
Limitbuy = 2,
Marketbuy = 3,
}
impl SpotOrderType {
pub fn as_str_name(&self) -> &'static str {
match self {
SpotOrderType::Stoploss => "STOPLOSS",
SpotOrderType::Limitsell => "LIMITSELL",
SpotOrderType::Limitbuy => "LIMITBUY",
SpotOrderType::Marketbuy => "MARKETBUY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STOPLOSS" => Some(Self::Stoploss),
"LIMITSELL" => Some(Self::Limitsell),
"LIMITBUY" => Some(Self::Limitbuy),
"MARKETBUY" => Some(Self::Marketbuy),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
pub enum PerpetualPosition {
Unspecified = 0,
Long = 1,
Short = 2,
}
impl PerpetualPosition {
pub fn as_str_name(&self) -> &'static str {
match self {
PerpetualPosition::Unspecified => "UNSPECIFIED",
PerpetualPosition::Long => "LONG",
PerpetualPosition::Short => "SHORT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNSPECIFIED" => Some(Self::Unspecified),
"LONG" => Some(Self::Long),
"SHORT" => Some(Self::Short),
_ => None,
}
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.Date")]
pub struct Date {
#[prost(uint64, tag = "1")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub height: u64,
#[prost(uint64, tag = "2")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub timestamp: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.SpotOrder")]
pub struct SpotOrder {
#[prost(enumeration = "SpotOrderType", tag = "1")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_type: i32,
#[prost(uint64, tag = "2")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
#[prost(message, optional, tag = "3")]
pub legacy_order_price_v1: ::core::option::Option<LegacyOrderPriceV1>,
#[prost(string, tag = "9")]
pub order_price: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub order_amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
#[prost(string, tag = "5")]
pub owner_address: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub order_target_denom: ::prost::alloc::string::String,
#[prost(enumeration = "Status", tag = "7")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub status: i32,
#[prost(message, optional, tag = "8")]
pub date: ::core::option::Option<Date>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.PerpetualOrder")]
pub struct PerpetualOrder {
#[prost(uint64, tag = "1")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
#[prost(string, tag = "2")]
pub owner_address: ::prost::alloc::string::String,
#[prost(enumeration = "PerpetualOrderType", tag = "3")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub perpetual_order_type: i32,
#[prost(enumeration = "PerpetualPosition", tag = "4")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub position: i32,
#[prost(message, optional, tag = "5")]
pub legacy_trigger_price_v1: ::core::option::Option<LegacyTriggerPriceV1>,
#[prost(string, tag = "14")]
pub trigger_price: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub collateral: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
#[prost(string, tag = "7")]
pub trading_asset: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub leverage: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub take_profit_price: ::prost::alloc::string::String,
#[prost(uint64, tag = "10")]
#[serde(alias = "positionID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub position_id: u64,
#[prost(enumeration = "Status", tag = "11")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub status: i32,
#[prost(string, tag = "12")]
pub stop_loss_price: ::prost::alloc::string::String,
#[prost(uint64, tag = "13")]
#[serde(alias = "poolID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub pool_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.PerpetualOrderExtraInfo")]
pub struct PerpetualOrderExtraInfo {
#[prost(message, optional, tag = "1")]
pub perpetual_order: ::core::option::Option<PerpetualOrder>,
#[prost(message, optional, tag = "2")]
pub position_size: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
#[prost(string, tag = "3")]
pub liquidation_price: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub funding_rate: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub borrow_interest_rate: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
pub enum Status {
Pending = 0,
Executed = 1,
Canceled = 2,
All = 3,
}
impl Status {
pub fn as_str_name(&self) -> &'static str {
match self {
Status::Pending => "PENDING",
Status::Executed => "EXECUTED",
Status::Canceled => "CANCELED",
Status::All => "ALL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PENDING" => Some(Self::Pending),
"EXECUTED" => Some(Self::Executed),
"CANCELED" => Some(Self::Canceled),
"ALL" => Some(Self::All),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
pub enum PerpetualOrderType {
Limitopen = 0,
Limitclose = 1,
Stoplossperp = 2,
}
impl PerpetualOrderType {
pub fn as_str_name(&self) -> &'static str {
match self {
PerpetualOrderType::Limitopen => "LIMITOPEN",
PerpetualOrderType::Limitclose => "LIMITCLOSE",
PerpetualOrderType::Stoplossperp => "STOPLOSSPERP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LIMITOPEN" => Some(Self::Limitopen),
"LIMITCLOSE" => Some(Self::Limitclose),
"STOPLOSSPERP" => Some(Self::Stoplossperp),
_ => None,
}
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.GenesisState")]
pub struct GenesisState {
#[prost(message, optional, tag = "1")]
pub params: ::core::option::Option<Params>,
#[prost(message, repeated, tag = "2")]
pub pending_spot_order_list: ::prost::alloc::vec::Vec<SpotOrder>,
#[prost(uint64, tag = "3")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub pending_spot_order_count: u64,
#[prost(message, repeated, tag = "4")]
pub pending_perpetual_order_list: ::prost::alloc::vec::Vec<PerpetualOrder>,
#[prost(uint64, tag = "5")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub pending_perpetual_order_count: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryParamsRequest")]
#[proto_query(
path = "/elys.tradeshield.Query/Params",
response_type = QueryParamsResponse
)]
pub struct QueryParamsRequest {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryParamsResponse")]
pub struct QueryParamsResponse {
#[prost(message, optional, tag = "1")]
pub params: ::core::option::Option<Params>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryGetPendingSpotOrderRequest")]
#[proto_query(
path = "/elys.tradeshield.Query/PendingSpotOrder",
response_type = QueryGetPendingSpotOrderResponse
)]
pub struct QueryGetPendingSpotOrderRequest {
#[prost(uint64, tag = "1")]
#[serde(alias = "ID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryGetPendingSpotOrderResponse")]
pub struct QueryGetPendingSpotOrderResponse {
#[prost(message, optional, tag = "1")]
pub pending_spot_order: ::core::option::Option<SpotOrder>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryAllPendingSpotOrderRequest")]
#[proto_query(
path = "/elys.tradeshield.Query/PendingSpotOrderAll",
response_type = QueryAllPendingSpotOrderResponse
)]
pub struct QueryAllPendingSpotOrderRequest {
#[prost(message, optional, tag = "1")]
pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryAllPendingSpotOrderResponse")]
pub struct QueryAllPendingSpotOrderResponse {
#[prost(message, repeated, tag = "1")]
pub pending_spot_order: ::prost::alloc::vec::Vec<SpotOrder>,
#[prost(message, optional, tag = "2")]
pub pagination:
::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryGetPendingPerpetualOrderRequest")]
#[proto_query(
path = "/elys.tradeshield.Query/PendingPerpetualOrder",
response_type = QueryGetPendingPerpetualOrderResponse
)]
pub struct QueryGetPendingPerpetualOrderRequest {
#[prost(uint64, tag = "1")]
#[serde(alias = "ID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryGetPendingPerpetualOrderResponse")]
pub struct QueryGetPendingPerpetualOrderResponse {
#[prost(message, optional, tag = "1")]
pub pending_perpetual_order: ::core::option::Option<PerpetualOrderExtraInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryAllPendingPerpetualOrderRequest")]
#[proto_query(
path = "/elys.tradeshield.Query/PendingPerpetualOrderAll",
response_type = QueryAllPendingPerpetualOrderResponse
)]
pub struct QueryAllPendingPerpetualOrderRequest {
#[prost(message, optional, tag = "1")]
pub pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryAllPendingPerpetualOrderResponse")]
pub struct QueryAllPendingPerpetualOrderResponse {
#[prost(message, repeated, tag = "1")]
pub pending_perpetual_order: ::prost::alloc::vec::Vec<PerpetualOrderExtraInfo>,
#[prost(message, optional, tag = "2")]
pub pagination:
::core::option::Option<super::super::cosmos::base::query::v1beta1::PageResponse>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryPendingPerpetualOrderForAddressRequest")]
#[proto_query(
path = "/elys.tradeshield.Query/PendingPerpetualOrderForAddress",
response_type = QueryPendingPerpetualOrderForAddressResponse
)]
pub struct QueryPendingPerpetualOrderForAddressRequest {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
#[prost(enumeration = "Status", tag = "2")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryPendingPerpetualOrderForAddressResponse")]
pub struct QueryPendingPerpetualOrderForAddressResponse {
#[prost(message, repeated, tag = "1")]
pub pending_perpetual_orders: ::prost::alloc::vec::Vec<PerpetualOrderExtraInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryPendingSpotOrderForAddressRequest")]
#[proto_query(
path = "/elys.tradeshield.Query/PendingSpotOrderForAddress",
response_type = QueryPendingSpotOrderForAddressResponse
)]
pub struct QueryPendingSpotOrderForAddressRequest {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
#[prost(enumeration = "Status", tag = "2")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub status: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.QueryPendingSpotOrderForAddressResponse")]
pub struct QueryPendingSpotOrderForAddressResponse {
#[prost(message, repeated, tag = "1")]
pub pending_spot_orders: ::prost::alloc::vec::Vec<SpotOrder>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCreateSpotOrder")]
pub struct MsgCreateSpotOrder {
#[prost(enumeration = "SpotOrderType", tag = "1")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_type: i32,
#[prost(message, optional, tag = "2")]
pub legacy_order_price_v1: ::core::option::Option<LegacyOrderPriceV1>,
#[prost(string, tag = "6")]
pub order_price: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub order_amount: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
#[prost(string, tag = "4")]
pub owner_address: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub order_target_denom: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCreateSpotOrderResponse")]
pub struct MsgCreateSpotOrderResponse {
#[prost(uint64, tag = "1")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgUpdateSpotOrder")]
pub struct MsgUpdateSpotOrder {
#[prost(string, tag = "1")]
pub owner_address: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
#[prost(message, optional, tag = "3")]
pub legacy_order_price_v1: ::core::option::Option<LegacyOrderPriceV1>,
#[prost(string, tag = "4")]
pub order_price: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgUpdateSpotOrderResponse")]
pub struct MsgUpdateSpotOrderResponse {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCancelSpotOrder")]
pub struct MsgCancelSpotOrder {
#[prost(string, tag = "1")]
pub owner_address: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCancelSpotOrderResponse")]
pub struct MsgCancelSpotOrderResponse {
#[prost(uint64, tag = "1")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCancelSpotOrders")]
pub struct MsgCancelSpotOrders {
#[prost(string, tag = "1")]
pub creator: ::prost::alloc::string::String,
#[prost(uint64, repeated, tag = "2")]
#[serde(alias = "spot_orderIDs")]
#[serde(
serialize_with = "crate::serde::as_str_vec::serialize",
deserialize_with = "crate::serde::as_str_vec::deserialize"
)]
pub spot_order_ids: ::prost::alloc::vec::Vec<u64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCancelSpotOrdersResponse")]
pub struct MsgCancelSpotOrdersResponse {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCreatePerpetualOpenOrder")]
pub struct MsgCreatePerpetualOpenOrder {
#[prost(string, tag = "1")]
pub owner_address: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub legacy_trigger_price_v1: ::core::option::Option<LegacyTriggerPriceV1>,
#[prost(string, tag = "10")]
pub trigger_price: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub collateral: ::core::option::Option<super::super::cosmos::base::v1beta1::Coin>,
#[prost(string, tag = "4")]
pub trading_asset: ::prost::alloc::string::String,
#[prost(enumeration = "PerpetualPosition", tag = "5")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub position: i32,
#[prost(string, tag = "6")]
pub leverage: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub take_profit_price: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub stop_loss_price: ::prost::alloc::string::String,
#[prost(uint64, tag = "9")]
#[serde(alias = "poolID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub pool_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCreatePerpetualOpenOrderResponse")]
pub struct MsgCreatePerpetualOpenOrderResponse {
#[prost(uint64, tag = "1")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCreatePerpetualCloseOrder")]
pub struct MsgCreatePerpetualCloseOrder {
#[prost(string, tag = "1")]
pub owner_address: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub legacy_trigger_price_v1: ::core::option::Option<LegacyTriggerPriceV1>,
#[prost(string, tag = "4")]
pub trigger_price: ::prost::alloc::string::String,
#[prost(uint64, tag = "3")]
#[serde(alias = "positionID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub position_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCreatePerpetualCloseOrderResponse")]
pub struct MsgCreatePerpetualCloseOrderResponse {
#[prost(uint64, tag = "1")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgUpdatePerpetualOrder")]
pub struct MsgUpdatePerpetualOrder {
#[prost(string, tag = "1")]
pub owner_address: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
#[prost(message, optional, tag = "3")]
pub legacy_trigger_price_v1: ::core::option::Option<LegacyTriggerPriceV1>,
#[prost(string, tag = "4")]
pub trigger_price: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgUpdatePerpetualOrderResponse")]
pub struct MsgUpdatePerpetualOrderResponse {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCancelPerpetualOrder")]
pub struct MsgCancelPerpetualOrder {
#[prost(string, tag = "1")]
pub owner_address: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCancelPerpetualOrderResponse")]
pub struct MsgCancelPerpetualOrderResponse {
#[prost(uint64, tag = "1")]
#[serde(alias = "orderID")]
#[serde(
serialize_with = "crate::serde::as_str::serialize",
deserialize_with = "crate::serde::as_str::deserialize"
)]
pub order_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCancelPerpetualOrders")]
pub struct MsgCancelPerpetualOrders {
#[prost(string, tag = "1")]
pub owner_address: ::prost::alloc::string::String,
#[prost(uint64, repeated, tag = "2")]
#[serde(alias = "orderIDs")]
#[serde(
serialize_with = "crate::serde::as_str_vec::serialize",
deserialize_with = "crate::serde::as_str_vec::deserialize"
)]
pub order_ids: ::prost::alloc::vec::Vec<u64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgCancelPerpetualOrdersResponse")]
pub struct MsgCancelPerpetualOrdersResponse {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgUpdateParams")]
pub struct MsgUpdateParams {
#[prost(string, tag = "1")]
pub authority: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub params: ::core::option::Option<Params>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgUpdateParamsResponse")]
pub struct MsgUpdateParamsResponse {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgExecuteOrders")]
pub struct MsgExecuteOrders {
#[prost(string, tag = "1")]
pub creator: ::prost::alloc::string::String,
#[prost(uint64, repeated, tag = "2")]
#[serde(alias = "spot_orderIDs")]
#[serde(
serialize_with = "crate::serde::as_str_vec::serialize",
deserialize_with = "crate::serde::as_str_vec::deserialize"
)]
pub spot_order_ids: ::prost::alloc::vec::Vec<u64>,
#[prost(uint64, repeated, tag = "3")]
#[serde(alias = "perpetual_orderIDs")]
#[serde(
serialize_with = "crate::serde::as_str_vec::serialize",
deserialize_with = "crate::serde::as_str_vec::deserialize"
)]
pub perpetual_order_ids: ::prost::alloc::vec::Vec<u64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(
Clone,
PartialEq,
Eq,
::prost::Message,
::serde::Serialize,
::serde::Deserialize,
::schemars::JsonSchema,
CosmwasmExt,
)]
#[proto_message(type_url = "/elys.tradeshield.MsgExecuteOrdersResponse")]
pub struct MsgExecuteOrdersResponse {}
pub struct TradeshieldQuerier<'a, Q: cosmwasm_std::CustomQuery> {
querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>,
}
impl<'a, Q: cosmwasm_std::CustomQuery> TradeshieldQuerier<'a, Q> {
pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self {
Self { querier }
}
pub fn params(&self) -> Result<QueryParamsResponse, cosmwasm_std::StdError> {
QueryParamsRequest {}.query(self.querier)
}
pub fn pending_spot_order(
&self,
id: u64,
) -> Result<QueryGetPendingSpotOrderResponse, cosmwasm_std::StdError> {
QueryGetPendingSpotOrderRequest { id }.query(self.querier)
}
pub fn pending_spot_order_all(
&self,
pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
) -> Result<QueryAllPendingSpotOrderResponse, cosmwasm_std::StdError> {
QueryAllPendingSpotOrderRequest { pagination }.query(self.querier)
}
pub fn pending_perpetual_order(
&self,
id: u64,
) -> Result<QueryGetPendingPerpetualOrderResponse, cosmwasm_std::StdError> {
QueryGetPendingPerpetualOrderRequest { id }.query(self.querier)
}
pub fn pending_perpetual_order_all(
&self,
pagination: ::core::option::Option<super::super::cosmos::base::query::v1beta1::PageRequest>,
) -> Result<QueryAllPendingPerpetualOrderResponse, cosmwasm_std::StdError> {
QueryAllPendingPerpetualOrderRequest { pagination }.query(self.querier)
}
pub fn pending_perpetual_order_for_address(
&self,
address: ::prost::alloc::string::String,
status: i32,
) -> Result<QueryPendingPerpetualOrderForAddressResponse, cosmwasm_std::StdError> {
QueryPendingPerpetualOrderForAddressRequest { address, status }.query(self.querier)
}
pub fn pending_spot_order_for_address(
&self,
address: ::prost::alloc::string::String,
status: i32,
) -> Result<QueryPendingSpotOrderForAddressResponse, cosmwasm_std::StdError> {
QueryPendingSpotOrderForAddressRequest { address, status }.query(self.querier)
}
}