Files
nym/common/mixnet-contract/src/msg.rs
T
Bogdan-Ștefan Neacşu 982ee0266c Feature/get own delegations (#748)
* Introduce reverse delegation bucket

* Add client command

* Fix clippy error

* Added tests in queries

* Add tests in transactions

* Migration code. Will be reverted after it's called on testnet

* Replace unwrap with expect

* Move some test code in the right file...

... to remove unnecessary auxiliary function.

* Reduce the scope to migration auxiliary functions

* Rename everything from [node]reverse to reverse[node]

* Fix fmt
2021-08-27 16:02:34 +03:00

107 lines
2.5 KiB
Rust

// Copyright 2021 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0
use crate::StateParams;
use crate::{Gateway, IdentityKey, MixNode};
use cosmwasm_std::Addr;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct InstantiateMsg {}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
BondMixnode {
mix_node: MixNode,
},
UnbondMixnode {},
BondGateway {
gateway: Gateway,
},
UnbondGateway {},
UpdateStateParams(StateParams),
DelegateToMixnode {
mix_identity: IdentityKey,
},
UndelegateFromMixnode {
mix_identity: IdentityKey,
},
DelegateToGateway {
gateway_identity: IdentityKey,
},
UndelegateFromGateway {
gateway_identity: IdentityKey,
},
RewardMixnode {
identity: IdentityKey,
// percentage value in range 0-100
uptime: u32,
},
RewardGateway {
identity: IdentityKey,
// percentage value in range 0-100
uptime: u32,
},
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum QueryMsg {
GetMixNodes {
limit: Option<u32>,
start_after: Option<IdentityKey>,
},
GetGateways {
start_after: Option<IdentityKey>,
limit: Option<u32>,
},
OwnsMixnode {
address: Addr,
},
OwnsGateway {
address: Addr,
},
StateParams {},
GetMixDelegations {
mix_identity: IdentityKey,
start_after: Option<Addr>,
limit: Option<u32>,
},
GetReverseMixDelegations {
delegation_owner: Addr,
start_after: Option<IdentityKey>,
limit: Option<u32>,
},
GetMixDelegation {
mix_identity: IdentityKey,
address: Addr,
},
GetGatewayDelegations {
gateway_identity: IdentityKey,
start_after: Option<Addr>,
limit: Option<u32>,
},
GetReverseGatewayDelegations {
delegation_owner: Addr,
start_after: Option<IdentityKey>,
limit: Option<u32>,
},
GetGatewayDelegation {
gateway_identity: IdentityKey,
address: Addr,
},
LayerDistribution {},
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub struct MigrateMsg {}