Skip to content

Commit

Permalink
added Debug and Display impl for ContractAddress
Browse files Browse the repository at this point in the history
  • Loading branch information
ametel01 committed Dec 23, 2023
1 parent 44cacfd commit 4bc4f7e
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 8 deletions.
15 changes: 15 additions & 0 deletions flex_marketplace/src/lib.cairo
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
use core::fmt::{Display, Error, Formatter, Debug};

impl DisplayContractAddress of Display<starknet::ContractAddress> {
fn fmt(self: @starknet::ContractAddress, ref f: Formatter) -> Result<(), Error> {
write!(f, "{}", *self)
}
}

impl DebugContractAddress of Debug<starknet::ContractAddress> {
fn fmt(self: @starknet::ContractAddress, ref f: Formatter) -> Result<(), Error> {
Display::fmt(self, ref f)
}
}

mod marketplace {
mod launchpad {
mod ERC721_launchpad_migrated;
Expand Down Expand Up @@ -35,3 +49,4 @@ mod marketplace {
mod transfer_manager_ERC1155;
mod transfer_selector_NFT;
}

27 changes: 19 additions & 8 deletions flex_marketplace/src/marketplace/marketplace.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ mod MarketPlace {
ContractAddress, ClassHash, contract_address_const, get_block_timestamp, get_caller_address
};

use flex::{DebugContractAddress, DisplayContractAddress};
use flex::marketplace::{
currency_manager::{ICurrencyManagerDispatcher, ICurrencyManagerDispatcherTrait},
execution_manager::IExecutionManagerDispatcher,
Expand Down Expand Up @@ -335,7 +336,8 @@ mod MarketPlace {
custom_non_fungible_token_recepient: ContractAddress
) {
self.reentrancyguard.start();
assert!(!get_caller_address().is_zero(), "MarketPlace: invalid caller address");
let caller = get_caller_address();
assert!(!caller.is_zero(), "MarketPlace: invalid caller address {:?}", caller);
assert!(maker_ask.is_order_ask, "MarketPlace: maker ask is not an ask order");
assert!(!taker_bid.is_order_ask, "MarketPlace: taker bid is an ask order");

Expand Down Expand Up @@ -419,10 +421,15 @@ mod MarketPlace {
self.reentrancyguard.start();

let caller = get_caller_address();
assert!(!caller.is_zero(), "MarketPlace: invalid caller address");
assert!(!caller.is_zero(), "MarketPlace: invalid caller address {}", caller);
assert!(!maker_bid.is_order_ask, "MarketPlace: maker bid is an ask order");
assert!(taker_ask.is_order_ask, "MarketPlace: taker ask is not an ask order");
assert!(caller == taker_ask.taker, "MarketPlace: caller is not taker");
assert!(
caller == taker_ask.taker,
"MarketPlace: caller {} is not taker {}",
caller,
taker_ask.taker
);

self.validate_order(@maker_bid, maker_bid_signature);

Expand Down Expand Up @@ -489,15 +496,15 @@ mod MarketPlace {
self.reentrancyguard.start();

let caller = get_caller_address();
assert!(!caller.is_zero(), "MarketPlace: invalid caller address");
assert!(!caller.is_zero(), "MarketPlace: invalid caller address {}", caller);
assert!(maker_ask.is_order_ask, "MarketPlace: maker ask is not an ask order");
assert!(!maker_bid.is_order_ask, "MarketPlace: maker bid is an ask order");

let auction_strategy = super::IAuctionStrategyDispatcher {
contract_address: maker_ask.strategy
};
let relayer = auction_strategy.auctionRelayer();
assert!(caller == relayer, "MarketPlace: caller is not relayer");
assert!(caller == relayer, "MarketPlace: caller {} is not relayer {}", caller, relayer);

self.validate_order(@maker_ask, maker_ask_signature);
self.validate_order(@maker_bid, maker_bid_signature);
Expand Down Expand Up @@ -706,7 +713,7 @@ mod MarketPlace {
.transfer_selector_NFT
.read()
.check_transfer_manager_for_token(collection);
assert!(!manager.is_zero(), "MarketPlace: invalid tranfer manager");
assert!(!manager.is_zero(), "MarketPlace: invalid tranfer manager {}", manager);
ITransferManagerNFTDispatcher { contract_address: manager }
.transfer_non_fungible_token(collection, from, to, token_id, amount);
}
Expand Down Expand Up @@ -734,7 +741,9 @@ mod MarketPlace {
*order.nonce
);

assert!(!(*order.signer).is_zero(), "MarketPlace: invalid order signer");
assert!(
!(*order.signer).is_zero(), "MarketPlace: invalid order signer {}", *order.signer
);
assert!(
!(*order.amount).is_zero(), "MarketPlace: invalid order amount {}", *order.amount
);
Expand All @@ -748,7 +757,9 @@ mod MarketPlace {
.currency_manager
.read()
.is_currency_whitelisted(*order.currency);
assert!(currency_whitelisted, "MarketPlace: currency is not whitelisted");
assert!(
currency_whitelisted, "MarketPlace: currency {} is not whitelisted", *order.currency
);

let strategy_whitelisted = self
.execution_manager
Expand Down

0 comments on commit 4bc4f7e

Please sign in to comment.