Skip to content

Commit

Permalink
Merge pull request #724 from public-awesome/jhernandezb/fix-checked-f…
Browse files Browse the repository at this point in the history
…airburn

sg1: update sender
  • Loading branch information
jhernandezb authored Mar 7, 2025
2 parents 73d6532 + 3b58f4d commit a2cc080
Show file tree
Hide file tree
Showing 21 changed files with 66 additions and 29 deletions.
4 changes: 2 additions & 2 deletions contracts/collections/sg721-updatable/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ pub fn _instantiate(

pub fn execute_enable_updatable(
deps: DepsMut,
_env: Env,
env: Env,
info: MessageInfo,
) -> Result<Response, ContractError> {
let enable_updates = ENABLE_UPDATABLE.load(deps.storage)?;
Expand All @@ -67,7 +67,7 @@ pub fn execute_enable_updatable(
}

// Check fee matches enable updatable fee and add fairburn msg
checked_fair_burn(&info, ENABLE_UPDATABLE_FEE, None, &mut res)?;
checked_fair_burn(&info, &env, ENABLE_UPDATABLE_FEE, None, &mut res)?;

ENABLE_UPDATABLE.save(deps.storage, &true)?;

Expand Down
10 changes: 8 additions & 2 deletions contracts/factories/base-factory/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ pub fn execute(

pub fn execute_create_minter(
deps: DepsMut,
_env: Env,
env: Env,
info: MessageInfo,
msg: BaseMinterCreateMsg,
) -> Result<Response, ContractError> {
Expand All @@ -65,7 +65,13 @@ pub fn execute_create_minter(

let mut res = Response::new();
if params.creation_fee.denom == NATIVE_DENOM {
checked_fair_burn(&info, params.creation_fee.amount.u128(), None, &mut res)?;
checked_fair_burn(
&info,
&env,
params.creation_fee.amount.u128(),
None,
&mut res,
)?;
} else {
transfer_funds_to_launchpad_dao(
&info,
Expand Down
8 changes: 7 additions & 1 deletion contracts/factories/open-edition-factory/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,13 @@ pub fn execute_create_minter(

let mut res = Response::new();
if params.creation_fee.denom == NATIVE_DENOM {
checked_fair_burn(&info, params.creation_fee.amount.u128(), None, &mut res)?;
checked_fair_burn(
&info,
&env,
params.creation_fee.amount.u128(),
None,
&mut res,
)?;
} else {
transfer_funds_to_launchpad_dao(
&info,
Expand Down
10 changes: 8 additions & 2 deletions contracts/factories/token-merge-factory/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ pub fn execute(

pub fn execute_create_minter(
deps: DepsMut,
_env: Env,
env: Env,
info: MessageInfo,
msg: TokenMergeMinterCreateMsg,
) -> Result<Response, ContractError> {
Expand All @@ -68,7 +68,13 @@ pub fn execute_create_minter(

let mut res = Response::new();
if params.creation_fee.denom == NATIVE_DENOM {
checked_fair_burn(&info, params.creation_fee.amount.u128(), None, &mut res)?;
checked_fair_burn(
&info,
&env,
params.creation_fee.amount.u128(),
None,
&mut res,
)?;
} else {
transfer_funds_to_launchpad_dao(
&info,
Expand Down
10 changes: 8 additions & 2 deletions contracts/factories/vending-factory/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ pub fn execute(

pub fn execute_create_minter(
deps: DepsMut,
_env: Env,
env: Env,
info: MessageInfo,
msg: VendingMinterCreateMsg,
) -> Result<Response, ContractError> {
Expand All @@ -65,7 +65,13 @@ pub fn execute_create_minter(

let mut res = Response::new();
if params.creation_fee.denom == NATIVE_DENOM {
checked_fair_burn(&info, params.creation_fee.amount.u128(), None, &mut res)?;
checked_fair_burn(
&info,
&env,
params.creation_fee.amount.u128(),
None,
&mut res,
)?;
} else {
transfer_funds_to_launchpad_dao(
&info,
Expand Down
5 changes: 3 additions & 2 deletions contracts/minters/base-minter/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ pub fn execute(
msg: ExecuteMsg,
) -> Result<Response, ContractError> {
match msg {
ExecuteMsg::Mint { token_uri } => execute_mint_sender(deps, info, token_uri),
ExecuteMsg::Mint { token_uri } => execute_mint_sender(deps, env, info, token_uri),
ExecuteMsg::UpdateStartTradingTime(time) => {
execute_update_start_trading_time(deps, env, info, time)
}
Expand All @@ -111,6 +111,7 @@ pub fn execute(

pub fn execute_mint_sender(
deps: DepsMut,
env: Env,
info: MessageInfo,
token_uri: String,
) -> Result<Response, ContractError> {
Expand Down Expand Up @@ -149,7 +150,7 @@ pub fn execute_mint_sender(
if network_fee != funds_sent {
return Err(ContractError::InvalidMintPrice {});
}
checked_fair_burn(&info, network_fee.u128(), None, &mut res)?;
checked_fair_burn(&info, &env, network_fee.u128(), None, &mut res)?;

// Create mint msgs
let mint_msg = Sg721ExecuteMsg::<Extension, Empty>::Mint {
Expand Down
1 change: 1 addition & 0 deletions contracts/minters/token-merge-minter/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,7 @@ pub fn execute_shuffle(
// Check exact shuffle fee payment included in message
checked_fair_burn(
&info,
&env,
factory_params.shuffle_fee.amount.u128(),
None,
&mut res,
Expand Down
1 change: 1 addition & 0 deletions contracts/minters/vending-minter-featured/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,7 @@ pub fn execute_shuffle(
// Check exact shuffle fee payment included in message
checked_fair_burn(
&info,
&env,
factory_params.extension.shuffle_fee.amount.u128(),
None,
&mut res,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,7 @@ pub fn execute_shuffle(
// Check exact shuffle fee payment included in message
checked_fair_burn(
&info,
&env,
factory_params.extension.shuffle_fee.amount.u128(),
None,
&mut res,
Expand Down
1 change: 1 addition & 0 deletions contracts/minters/vending-minter-merkle-wl/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,7 @@ pub fn execute_shuffle(
// Check exact shuffle fee payment included in message
checked_fair_burn(
&info,
&env,
factory_params.extension.shuffle_fee.amount.u128(),
None,
&mut res,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,7 @@ pub fn execute_shuffle(
// Check exact shuffle fee payment included in message
checked_fair_burn(
&info,
&env,
factory_params.extension.shuffle_fee.amount.u128(),
None,
&mut res,
Expand Down
1 change: 1 addition & 0 deletions contracts/minters/vending-minter-wl-flex/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,7 @@ pub fn execute_shuffle(
// Check exact shuffle fee payment included in message
checked_fair_burn(
&info,
&env,
factory_params.extension.shuffle_fee.amount.u128(),
None,
&mut res,
Expand Down
1 change: 1 addition & 0 deletions contracts/minters/vending-minter/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,7 @@ pub fn execute_shuffle(
// Check exact shuffle fee payment included in message
checked_fair_burn(
&info,
&env,
factory_params.extension.shuffle_fee.amount.u128(),
None,
&mut res,
Expand Down
7 changes: 4 additions & 3 deletions contracts/whitelists/tiered-whitelist-flex/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ pub fn instantiate(
ADMIN_LIST.save(deps.storage, &admin_config)?;

let mut res = Response::new();
checked_fair_burn(&info, creation_fee, None, &mut res)?;
checked_fair_burn(&info, &env, creation_fee, None, &mut res)?;

if config.member_limit < config.num_members {
return Err(ContractError::MembersExceeded {
Expand Down Expand Up @@ -143,7 +143,7 @@ pub fn execute(
ExecuteMsg::AddMembers(msg) => execute_add_members(deps, env, info, msg),
ExecuteMsg::RemoveMembers(msg) => execute_remove_members(deps, env, info, msg),
ExecuteMsg::IncreaseMemberLimit(member_limit) => {
execute_increase_member_limit(deps, info, member_limit)
execute_increase_member_limit(deps, env, info, member_limit)
}
ExecuteMsg::UpdateAdmins { admins } => execute_update_admins(deps, env, info, admins),
ExecuteMsg::Freeze {} => execute_freeze(deps, env, info),
Expand Down Expand Up @@ -359,6 +359,7 @@ pub fn execute_remove_stage(
/// Increase member limit. Must include a fee if crossing 1000, 2000, etc member limit.
pub fn execute_increase_member_limit(
deps: DepsMut,
env: Env,
info: MessageInfo,
member_limit: u32,
) -> Result<Response, ContractError> {
Expand Down Expand Up @@ -389,7 +390,7 @@ pub fn execute_increase_member_limit(

let mut res = Response::new();
if upgrade_fee > 0 {
checked_fair_burn(&info, upgrade_fee, None, &mut res)?
checked_fair_burn(&info, &env, upgrade_fee, None, &mut res)?
}

config.member_limit = member_limit;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ pub fn instantiate(
validate_stages(&env, &msg.stages)?;

let mut res = Response::new();
checked_fair_burn(&info, CREATION_FEE, None, &mut res)?;
checked_fair_burn(&info, &env, CREATION_FEE, None, &mut res)?;

let config = Config { stages: msg.stages };

Expand Down
7 changes: 4 additions & 3 deletions contracts/whitelists/tiered-whitelist/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ pub fn instantiate(
ADMIN_LIST.save(deps.storage, &admin_config)?;

let mut res = Response::new();
checked_fair_burn(&info, creation_fee, None, &mut res)?;
checked_fair_burn(&info, &env, creation_fee, None, &mut res)?;

if config.member_limit < config.num_members {
return Err(ContractError::MembersExceeded {
Expand Down Expand Up @@ -136,7 +136,7 @@ pub fn execute(
ExecuteMsg::AddMembers(msg) => execute_add_members(deps, env, info, msg),
ExecuteMsg::RemoveMembers(msg) => execute_remove_members(deps, env, info, msg),
ExecuteMsg::IncreaseMemberLimit(member_limit) => {
execute_increase_member_limit(deps, info, member_limit)
execute_increase_member_limit(deps, env, info, member_limit)
}
ExecuteMsg::UpdateAdmins { admins } => execute_update_admins(deps, env, info, admins),
ExecuteMsg::Freeze {} => execute_freeze(deps, env, info),
Expand Down Expand Up @@ -359,6 +359,7 @@ pub fn execute_remove_stage(
/// Increase member limit. Must include a fee if crossing 1000, 2000, etc member limit.
pub fn execute_increase_member_limit(
deps: DepsMut,
env: Env,
info: MessageInfo,
member_limit: u32,
) -> Result<Response, ContractError> {
Expand Down Expand Up @@ -389,7 +390,7 @@ pub fn execute_increase_member_limit(

let mut res = Response::new();
if upgrade_fee > 0 {
checked_fair_burn(&info, upgrade_fee, None, &mut res)?
checked_fair_burn(&info, &env, upgrade_fee, None, &mut res)?
}

config.member_limit = member_limit;
Expand Down
7 changes: 4 additions & 3 deletions contracts/whitelists/whitelist-flex/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ pub fn instantiate(
}

let mut res = Response::new();
checked_fair_burn(&info, creation_fee, None, &mut res)?;
checked_fair_burn(&info, &env, creation_fee, None, &mut res)?;

if config.member_limit < config.num_members {
return Err(ContractError::MembersExceeded {
Expand Down Expand Up @@ -151,7 +151,7 @@ pub fn execute(
ExecuteMsg::AddMembers(msg) => execute_add_members(deps, env, info, msg),
ExecuteMsg::RemoveMembers(msg) => execute_remove_members(deps, env, info, msg),
ExecuteMsg::IncreaseMemberLimit(member_limit) => {
execute_increase_member_limit(deps, info, member_limit)
execute_increase_member_limit(deps, env, info, member_limit)
}
ExecuteMsg::UpdateAdmins { admins } => execute_update_admins(deps, env, info, admins),
ExecuteMsg::Freeze {} => execute_freeze(deps, env, info),
Expand Down Expand Up @@ -281,6 +281,7 @@ pub fn execute_remove_members(
/// Increase member limit. Must include a fee if crossing 1000, 2000, etc member limit.
pub fn execute_increase_member_limit(
deps: DepsMut,
env: Env,
info: MessageInfo,
member_limit: u32,
) -> Result<Response, ContractError> {
Expand Down Expand Up @@ -311,7 +312,7 @@ pub fn execute_increase_member_limit(

let mut res = Response::new();
if upgrade_fee > 0 {
checked_fair_burn(&info, upgrade_fee, None, &mut res)?
checked_fair_burn(&info, &env, upgrade_fee, None, &mut res)?
}

config.member_limit = member_limit;
Expand Down
2 changes: 1 addition & 1 deletion contracts/whitelists/whitelist-merkletree/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ pub fn instantiate(
}

let mut res = Response::new();
checked_fair_burn(&info, CREATION_FEE, None, &mut res)?;
checked_fair_burn(&info, &env, CREATION_FEE, None, &mut res)?;

let config = Config {
start_time: msg.start_time,
Expand Down
7 changes: 4 additions & 3 deletions contracts/whitelists/whitelist/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ pub fn instantiate(
}

let mut res = Response::new();
checked_fair_burn(&info, creation_fee, None, &mut res)?;
checked_fair_burn(&info, &env, creation_fee, None, &mut res)?;

if config.member_limit < config.num_members {
return Err(ContractError::MembersExceeded {
Expand Down Expand Up @@ -161,7 +161,7 @@ pub fn execute(
execute_update_per_address_limit(deps, info, per_address_limit)
}
ExecuteMsg::IncreaseMemberLimit(member_limit) => {
execute_increase_member_limit(deps, info, member_limit)
execute_increase_member_limit(deps, env, info, member_limit)
}
ExecuteMsg::UpdateAdmins { admins } => execute_update_admins(deps, env, info, admins),
ExecuteMsg::Freeze {} => execute_freeze(deps, env, info),
Expand Down Expand Up @@ -320,6 +320,7 @@ pub fn execute_update_per_address_limit(
/// Increase member limit. Must include a fee if crossing 1000, 2000, etc member limit.
pub fn execute_increase_member_limit(
deps: DepsMut,
env: Env,
info: MessageInfo,
member_limit: u32,
) -> Result<Response, ContractError> {
Expand Down Expand Up @@ -350,7 +351,7 @@ pub fn execute_increase_member_limit(

let mut res = Response::new();
if upgrade_fee > 0 {
checked_fair_burn(&info, upgrade_fee, None, &mut res)?
checked_fair_burn(&info, &env, upgrade_fee, None, &mut res)?
}

config.member_limit = member_limit;
Expand Down
7 changes: 4 additions & 3 deletions packages/sg1/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use anybuf::Anybuf;
use cosmwasm_std::{
coin, coins, ensure, Addr, BankMsg, Coin, CosmosMsg, Decimal, Event, MessageInfo, Response,
SubMsg, Uint128,
coin, coins, ensure, Addr, BankMsg, Coin, CosmosMsg, Decimal, Env, Event, MessageInfo,
Response, SubMsg, Uint128,
};
use cw_utils::{may_pay, must_pay, PaymentError};
use sg_utils::NATIVE_DENOM;
Expand All @@ -18,6 +18,7 @@ const LIQUIDITY_DAO_ADDRESS: &str =
/// Burn and distribute fees and return an error if the fee is not enough
pub fn checked_fair_burn(
info: &MessageInfo,
env: &Env,
fee: u128,
developer: Option<Addr>,
res: &mut Response,
Expand All @@ -29,7 +30,7 @@ pub fn checked_fair_burn(
};

if payment.u128() != 0u128 {
fair_burn(info.sender.to_string(), fee, developer, res);
fair_burn(env.contract.address.to_string(), fee, developer, res);
}

Ok(())
Expand Down
2 changes: 1 addition & 1 deletion scripts/optimize.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
docker run --rm -v "$(pwd)":/code --platform linux/amd64 \
--mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
cosmwasm/workspace-optimizer:0.12.13
cosmwasm/optimizer:0.16.1

0 comments on commit a2cc080

Please sign in to comment.