cw_mtcs: set liquidity sources msg (#62)
This commit is contained in:
parent
cdd5d2d834
commit
8776d88eed
2 changed files with 16 additions and 6 deletions
|
@ -13,8 +13,8 @@ use crate::{
|
||||||
error::ContractError,
|
error::ContractError,
|
||||||
msg::{
|
msg::{
|
||||||
execute::{
|
execute::{
|
||||||
Cw20Transfer, FaucetMintMsg, SubmitObligationMsg, SubmitObligationsMsg,
|
Cw20Transfer, FaucetMintMsg, SetLiquiditySourcesMsg, SubmitObligationMsg,
|
||||||
SubmitSetoffsMsg,
|
SubmitObligationsMsg, SubmitSetoffsMsg,
|
||||||
},
|
},
|
||||||
ExecuteMsg, InstantiateMsg, QueryMsg,
|
ExecuteMsg, InstantiateMsg, QueryMsg,
|
||||||
},
|
},
|
||||||
|
@ -96,7 +96,7 @@ pub fn execute(
|
||||||
for o in obligations {
|
for o in obligations {
|
||||||
execute::submit_obligation(deps.branch(), o.ciphertext, o.digest)?;
|
execute::submit_obligation(deps.branch(), o.ciphertext, o.digest)?;
|
||||||
}
|
}
|
||||||
execute::append_liquidity_sources(deps, liquidity_sources)?;
|
execute::set_liquidity_sources(deps, liquidity_sources)?;
|
||||||
Ok(Response::new())
|
Ok(Response::new())
|
||||||
}
|
}
|
||||||
ExecuteMsg::SubmitSetoffs(attested_msg) => {
|
ExecuteMsg::SubmitSetoffs(attested_msg) => {
|
||||||
|
@ -107,6 +107,9 @@ pub fn execute(
|
||||||
execute::submit_setoffs(deps, env, setoffs_enc)
|
execute::submit_setoffs(deps, env, setoffs_enc)
|
||||||
}
|
}
|
||||||
ExecuteMsg::InitClearing => execute::init_clearing(deps),
|
ExecuteMsg::InitClearing => execute::init_clearing(deps),
|
||||||
|
ExecuteMsg::SetLiquiditySources(SetLiquiditySourcesMsg { liquidity_sources }) => {
|
||||||
|
execute::set_liquidity_sources(deps, liquidity_sources)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,10 +175,10 @@ pub mod execute {
|
||||||
.add_attribute("ciphertext", ciphertext.to_string()))
|
.add_attribute("ciphertext", ciphertext.to_string()))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn append_liquidity_sources(
|
pub fn set_liquidity_sources(
|
||||||
deps: DepsMut,
|
deps: DepsMut,
|
||||||
liquidity_sources: Vec<HexBinary>,
|
liquidity_sources: Vec<HexBinary>,
|
||||||
) -> Result<(), ContractError> {
|
) -> Result<Response, ContractError> {
|
||||||
// validate liquidity sources as public keys
|
// validate liquidity sources as public keys
|
||||||
liquidity_sources
|
liquidity_sources
|
||||||
.iter()
|
.iter()
|
||||||
|
@ -184,11 +187,12 @@ pub mod execute {
|
||||||
// store the liquidity sources
|
// store the liquidity sources
|
||||||
LiquiditySourcesItem::new(¤t_epoch_key(LIQUIDITY_SOURCES_KEY, deps.storage)?)
|
LiquiditySourcesItem::new(¤t_epoch_key(LIQUIDITY_SOURCES_KEY, deps.storage)?)
|
||||||
.update(deps.storage, |mut ls| {
|
.update(deps.storage, |mut ls| {
|
||||||
|
ls.clear();
|
||||||
ls.extend(liquidity_sources);
|
ls.extend(liquidity_sources);
|
||||||
Ok::<_, ContractError>(ls)
|
Ok::<_, ContractError>(ls)
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
Ok(())
|
Ok(Response::default())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn submit_setoffs(
|
pub fn submit_setoffs(
|
||||||
|
|
|
@ -24,6 +24,7 @@ pub enum ExecuteMsg {
|
||||||
SubmitObligations(execute::SubmitObligationsMsg),
|
SubmitObligations(execute::SubmitObligationsMsg),
|
||||||
SubmitSetoffs(AttestedMsg<execute::SubmitSetoffsMsg>),
|
SubmitSetoffs(AttestedMsg<execute::SubmitSetoffsMsg>),
|
||||||
InitClearing,
|
InitClearing,
|
||||||
|
SetLiquiditySources(execute::SetLiquiditySourcesMsg),
|
||||||
}
|
}
|
||||||
|
|
||||||
pub mod execute {
|
pub mod execute {
|
||||||
|
@ -82,6 +83,11 @@ pub mod execute {
|
||||||
user_data
|
user_data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cw_serde]
|
||||||
|
pub struct SetLiquiditySourcesMsg {
|
||||||
|
pub liquidity_sources: Vec<HexBinary>,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cw_serde]
|
#[cw_serde]
|
||||||
|
|
Loading…
Reference in a new issue