From 713268b91bf061e2b85219fe2c9d65d6fccf6930 Mon Sep 17 00:00:00 2001 From: jhernandezb Date: Wed, 11 Oct 2023 12:00:09 -0600 Subject: [PATCH 1/3] fix airdrop in different denom --- contracts/minters/vending-minter-wl-flex/src/contract.rs | 4 ++-- contracts/minters/vending-minter/src/contract.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contracts/minters/vending-minter-wl-flex/src/contract.rs b/contracts/minters/vending-minter-wl-flex/src/contract.rs index 494a7e84b..bab6fca26 100644 --- a/contracts/minters/vending-minter-wl-flex/src/contract.rs +++ b/contracts/minters/vending-minter-wl-flex/src/contract.rs @@ -619,7 +619,7 @@ fn _execute_mint( let mint_price: Coin = mint_price(deps.as_ref(), is_admin)?; // Exact payment only accepted - let payment = may_pay(&info, &config.mint_price.denom)?; + let payment = may_pay(&info, &mint_price.denom)?; if payment != mint_price.amount { return Err(ContractError::IncorrectPaymentAmount( coin(payment.u128(), &config.mint_price.denom), @@ -1009,7 +1009,7 @@ pub fn mint_price(deps: Deps, is_admin: bool) -> Result { if is_admin { return Ok(coin( factory_params.extension.airdrop_mint_price.amount.u128(), - config.mint_price.denom, + factory_params.extension.airdrop_mint_price.denom, )); } diff --git a/contracts/minters/vending-minter/src/contract.rs b/contracts/minters/vending-minter/src/contract.rs index f105e90dc..da484f29d 100644 --- a/contracts/minters/vending-minter/src/contract.rs +++ b/contracts/minters/vending-minter/src/contract.rs @@ -625,7 +625,7 @@ fn _execute_mint( let mint_price: Coin = mint_price(deps.as_ref(), is_admin)?; // Exact payment only accepted - let payment = may_pay(&info, &config.mint_price.denom)?; + let payment = may_pay(&info, &mint_price.denom)?; if payment != mint_price.amount { return Err(ContractError::IncorrectPaymentAmount( coin(payment.u128(), &config.mint_price.denom), @@ -1045,7 +1045,7 @@ pub fn mint_price(deps: Deps, is_admin: bool) -> Result { if is_admin { return Ok(coin( factory_params.extension.airdrop_mint_price.amount.u128(), - config.mint_price.denom, + factory_params.extension.airdrop_mint_price.denom, )); } From 5a9d9bec9282a01d6a05f739980800591b72aae5 Mon Sep 17 00:00:00 2001 From: jhernandezb Date: Wed, 11 Oct 2023 12:00:27 -0600 Subject: [PATCH 2/3] add attributes to collection instantiation --- contracts/collections/sg721-base/src/contract.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/contracts/collections/sg721-base/src/contract.rs b/contracts/collections/sg721-base/src/contract.rs index 3d7861441..f39d00e0e 100644 --- a/contracts/collections/sg721-base/src/contract.rs +++ b/contracts/collections/sg721-base/src/contract.rs @@ -98,6 +98,9 @@ where Ok(Response::new() .add_attribute("action", "instantiate") .add_attribute("collection_name", info.name) + .add_attribute("collection_symbol", info.symbol) + .add_attribute("collection_creator", collection_info.creator) + .add_attribute("minter", msg.minter) .add_attribute("image", image.to_string())) } From 2167f21ac2459e0f26938fa9c749f2cbcc56929c Mon Sep 17 00:00:00 2001 From: jhernandezb Date: Wed, 11 Oct 2023 12:25:08 -0600 Subject: [PATCH 3/3] update vending minter flex to use ibc fair burn --- .../vending-minter-wl-flex/src/contract.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/contracts/minters/vending-minter-wl-flex/src/contract.rs b/contracts/minters/vending-minter-wl-flex/src/contract.rs index bab6fca26..e510c891e 100644 --- a/contracts/minters/vending-minter-wl-flex/src/contract.rs +++ b/contracts/minters/vending-minter-wl-flex/src/contract.rs @@ -20,11 +20,11 @@ use cw_utils::{may_pay, maybe_addr, nonpayable, parse_reply_instantiate_data}; use rand_core::{RngCore, SeedableRng}; use rand_xoshiro::Xoshiro128PlusPlus; use semver::Version; -use sg1::checked_fair_burn; +use sg1::{checked_fair_burn, ibc_denom_fair_burn}; use sg2::query::Sg2QueryMsg; use sg4::{MinterConfig, Status, StatusResponse, SudoMsg}; use sg721::{ExecuteMsg as Sg721ExecuteMsg, InstantiateMsg as Sg721InstantiateMsg}; -use sg_std::{StargazeMsgWrapper, GENESIS_MINT_START_TIME}; +use sg_std::{StargazeMsgWrapper, GENESIS_MINT_START_TIME, NATIVE_DENOM}; use sg_whitelist_flex::msg::{ ConfigResponse as WhitelistConfigResponse, HasMemberResponse, Member, QueryMsg as WhitelistQueryMsg, @@ -641,7 +641,19 @@ fn _execute_mint( Decimal::bps(factory_params.mint_fee_bps) }; let network_fee = mint_price.amount * mint_fee; - checked_fair_burn(&info, network_fee.u128(), None, &mut res)?; + // use ibc_denom_fair_burn for non native denoms + if mint_price.denom != NATIVE_DENOM { + // only send non-zero amounts + if !network_fee.is_zero() { + ibc_denom_fair_burn( + coin(network_fee.u128(), mint_price.clone().denom), + None, + &mut res, + )?; + } + } else { + checked_fair_burn(&info, network_fee.u128(), None, &mut res)?; + } let mintable_token_mapping = match token_id { Some(token_id) => {