Skip to content

Commit

Permalink
change extension_duration & collector_address, cargo setup
Browse files Browse the repository at this point in the history
  • Loading branch information
hard-nett committed Apr 2, 2024
1 parent b5c057e commit 5f2a3b4
Show file tree
Hide file tree
Showing 11 changed files with 89 additions and 68 deletions.
23 changes: 4 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,22 +47,7 @@ ___

```
39a83f7c258f3a6811d3e9733dd0fc4ec1992097b5b62a8b2be6e2eb0446ad71 auction.wasm
0b9f156b8b3a56061d1bcb438094c83dc81b94f6651250f2a2b8290ed0c80f6d base_factory.wasm
f9005ba905cc68524bb48974e67a1dc66de40e48ebf35495703cc348eff20547 base_minter.wasm
98a6287a1c9e6c677aab726423c99672d470024414afc7c93fa947ab3793e839 earlybird.wasm
0dadbf1c426aa34c02287480432c9f6591497ce0d3bff874abe2fffa4817f7b3 earlybird_flex.wasm
fbc1713f2886f5c04b7df7eb3bfde7d28f6d0c627319f7ff0a293d162ee11cd1 earlybird_immutable.wasm
f78420913eddb55b927e8d091fc0256ef9561028978f1c2e9af9201a7ac9e8af open_edition_factory.wasm
858bfc0c87915c4ae5b363b934a8de4ec37c317419c96465ff2663b8ccaa064d open_edition_minter.wasm
f933ac3776fdf869e0141631ee27c85e54c952adcf72a37f91e026d6b184d690 terp721_base.wasm
b568fb2286f74b990b01180b022bbb4d620d58b3e06fe6246633f5979f88368a terp721_metadata_onchain.wasm
1fee1d90d496d446a7e52e5d86fad7a820549dd808bb3335bb6402ed55099f6f terp721_nt.wasm
dcdea63347ef884a51aa83be4598bdc91d06e921c18ce643636575f7152363f7 terp721_updatable.wasm
a4432cadfadb9277e9ee7d0a832078b63a084e4e5fd2f7e00df4367c9a7b2206 terp_fair_burn.wasm
f5ae2c98e63a58bcce634feeb6b9486aa9334d883587f2fbc0fbc785094815d4 terp_residual_registry.wasm
0c2165a7f83bc08fe86082b3f79b3ddbb2a572d01868e6088224c8ccc4e0b091 terp_splits.wasm
105144dd2b9c6cd1aff9c7c578478966b4a7e2371960fe621894c9538b063c0c vending_factory.wasm
e6c3aeac7955bb297cf8df9a98a8921973f0eb920f44f6a29c7808555ad2c6a3 vending_minter.wasm
5a1b620880cb3160a3891cc9f1c404eaa2de9818427417a62eeb4f3892fb57f9 vending_minter_eb_flex.wasm
```
```

### NOTICE
Please use at your own risk and do not trust, but verify the functionality of these contracts.
13 changes: 12 additions & 1 deletion contracts/revenue/auction/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
# Auctions
# Auctions
Creates an auction upon recieving a `SendNft` response with the auctions desired confiration inculded in the msg.

## Instantitate

## ExecuteMsg

## Query


## NOTICE
This is a heavily modified fork of [Soil Protocol](https://github.com/Soil-Protocol/marketplace-opensource).
16 changes: 8 additions & 8 deletions contracts/revenue/auction/src/auction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ pub fn create_auction(
token_id: token_id.clone(),
seller: seller.clone(),
duration: duration,
extension_duration: config.extension_duration,
min_duration: config.min_duration,
denom: denom.clone(),
reserve_price: reserve_price,
end_time: 0,
Expand Down Expand Up @@ -353,8 +353,8 @@ pub fn place_bid(
auction.amount = bid_amount;

// extension period
if block_time + auction.extension_duration >= auction.end_time {
let end_time = block_time + auction.extension_duration;
if block_time + auction.min_duration >= auction.end_time {
let end_time = block_time + auction.min_duration;
auction.end_time = end_time;
}

Expand Down Expand Up @@ -476,7 +476,7 @@ pub fn settle_auction(
},
amount: protocol_fee,
};
messages.push(protocol_asset.into_msg(config.collector_address.clone())?);
messages.push(protocol_asset.into_msg(config.protocol_addr.clone())?);
}
// royalty
if royalty_fee > Uint128::zero() {
Expand Down Expand Up @@ -646,9 +646,9 @@ pub fn admin_change_config(
min_reserve_price: Uint128,
max_royalty_fee: Decimal,
duration: u64,
extension_duration: u64,
min_duration: u64,
accepted_denom: Vec<String>,
collector_address: String,
protocol_addr: String,
) -> Result<Response, ContractError> {
// check only owner
only_owner(deps.as_ref(), &env, info)?;
Expand All @@ -659,9 +659,9 @@ pub fn admin_change_config(
config.min_reserve_price = min_reserve_price;
config.max_royalty_fee = max_royalty_fee;
config.duration = duration;
config.extension_duration = extension_duration;
config.min_duration = min_duration;
config.accepted_denom = accepted_denom;
config.collector_address = deps.api.addr_validate(&collector_address)?;
config.protocol_addr = deps.api.addr_validate(&protocol_addr)?;

CONFIG.save(deps.storage, &config)?;

Expand Down
13 changes: 6 additions & 7 deletions contracts/revenue/auction/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ pub fn instantiate(
min_reserve_price: msg.min_reserve_price,
max_royalty_fee: msg.max_royalty_fee,
duration: msg.duration,
extension_duration: msg.extension_duration,
min_duration: msg.min_duration,
min_increment: msg.min_increment,
accepted_denom: msg.accepted_denom,
collector_address: deps.api.addr_validate(&msg.collector_address)?,
protocol_addr: deps.api.addr_validate(&msg.protocol_addr)?,
};

CONFIG.save(deps.storage, &config)?;
Expand Down Expand Up @@ -72,9 +72,9 @@ pub fn execute(
min_reserve_price,
max_royalty_fee,
duration,
extension_duration,
min_duration,
accepted_denom,
collector_address,
protocol_addr,
} => admin_change_config(
deps,
env,
Expand All @@ -84,9 +84,9 @@ pub fn execute(
min_reserve_price,
max_royalty_fee,
duration,
extension_duration,
min_duration,
accepted_denom,
collector_address,
protocol_addr,
),
ExecuteMsg::SetRoyaltyFee {
contract_addr,
Expand Down Expand Up @@ -117,7 +117,6 @@ pub fn receive_nft(
is_instant_sale,
}) => {
// need to check that this contract is owner of nft to prevent malicious contract call this function directly

let seller = deps.api.addr_validate(&cw721_msg.sender)?;
let nft_contract = info.sender.clone();
let token_id = cw721_msg.token_id.clone();
Expand Down
6 changes: 3 additions & 3 deletions contracts/revenue/auction/src/querier.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ pub fn query_config(deps: Deps) -> StdResult<ConfigResponse> {
accepted_denom: config.accepted_denom,
duration: config.duration,
min_increment: config.min_increment,
extension_duration: config.extension_duration,
collector_address: config.collector_address.to_string(),
min_duration: config.min_duration,
protocol_addr: config.protocol_addr.to_string(),
max_royalty_fee: config.max_royalty_fee,
})
}
Expand Down Expand Up @@ -76,7 +76,7 @@ fn _query_auction(auction: Auction) -> StdResult<AuctionResponse> {
token_id: auction.token_id,
seller: auction.seller.to_string(),
duration: auction.duration,
extension_duration: auction.extension_duration,
min_duration: auction.min_duration,
denom: auction.denom,
reserve_price: auction.reserve_price,
end_time: auction.end_time,
Expand Down
6 changes: 3 additions & 3 deletions contracts/revenue/auction/src/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ pub struct Config {
pub min_increment: Decimal,
pub max_royalty_fee: Decimal,
pub duration: u64,
pub extension_duration: u64,
pub min_duration: u64,
pub accepted_denom: Vec<String>,
pub collector_address: Addr,
pub protocol_addr: Addr,
}

#[cw_serde]
Expand All @@ -40,7 +40,7 @@ pub struct Auction {
pub auction_type: AuctionType,
pub seller: Addr,
pub duration: u64,
pub extension_duration: u64,
pub min_duration: u64,
pub denom: String,
pub reserve_price: Uint128,
pub end_time: u64,
Expand Down
32 changes: 16 additions & 16 deletions contracts/revenue/auction/src/testing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ fn setup_contract(deps: DepsMut, accepted_denom: Vec<String>) {
min_reserve_price: Uint128::from(1000u128),
min_increment: Decimal::from_str("0.1").unwrap(),
duration: 86400,
extension_duration: 900,
min_duration: 900,
accepted_denom: accepted_denom,
collector_address: "collector".to_string(),
protocol_addr: "collector".to_string(),
max_royalty_fee: Decimal::percent(20), // 20%
};
let info = mock_info("owner", &[]);
Expand All @@ -51,9 +51,9 @@ fn proper_initialization() {
min_reserve_price: Uint128::from(1000u128),
min_increment: Decimal::percent(10),
duration: 86400,
extension_duration: 900,
min_duration: 900,
accepted_denom: vec!["uluna".to_string()],
collector_address: "collector".to_string(),
protocol_addr: "collector".to_string(),
max_royalty_fee: Decimal::percent(20)
}
)
Expand Down Expand Up @@ -130,7 +130,7 @@ fn create_buynow() {
denom: "uluna".to_string(),
amount: Uint128::from(1000000u128),
bidder: None,
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1000000u128),
seller: "satoshi".into(),
Expand All @@ -153,7 +153,7 @@ fn create_buynow() {
denom: "uluna".to_string(),
amount: Uint128::from(1000000u128),
bidder: None,
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1000000u128),
seller: "satoshi".into(),
Expand Down Expand Up @@ -242,7 +242,7 @@ fn create_auction() {
denom: "uluna".to_string(),
amount: Uint128::from(1000000u128),
bidder: None,
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1000000u128),
seller: "satoshi".into(),
Expand All @@ -265,7 +265,7 @@ fn create_auction() {
denom: "uluna".to_string(),
amount: Uint128::from(1000000u128),
bidder: None,
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1000000u128),
seller: "satoshi".into(),
Expand Down Expand Up @@ -344,7 +344,7 @@ fn settle_buynow() {
denom: "uluna".to_string(),
amount: Uint128::from(1_000000u128),
bidder: Some("buyer".to_string()),
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1_000000u128),
seller: "satoshi".into(),
Expand Down Expand Up @@ -428,7 +428,7 @@ fn settle_buynow() {
denom: "uluna".to_string(),
amount: Uint128::from(1_000000u128),
bidder: Some("buyer".to_string()),
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1_000000u128),
seller: "satoshi".into(),
Expand Down Expand Up @@ -539,7 +539,7 @@ fn settle_buynow_with_royalty() {
denom: "uluna".to_string(),
amount: Uint128::from(1_000000u128),
bidder: Some("buyer".to_string()),
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1_000000u128),
seller: "satoshi".into(),
Expand Down Expand Up @@ -632,7 +632,7 @@ fn settle_buynow_with_royalty() {
denom: "uluna".to_string(),
amount: Uint128::from(1_000000u128),
bidder: Some("buyer".to_string()),
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1_000000u128),
seller: "satoshi".into(),
Expand Down Expand Up @@ -725,7 +725,7 @@ fn settle_auction() {
denom: "uluna".to_string(),
amount: Uint128::from(1_000000u128),
bidder: Some("buyer".to_string()),
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1_000000u128),
seller: "satoshi".into(),
Expand Down Expand Up @@ -772,7 +772,7 @@ fn settle_auction() {
denom: "uluna".to_string(),
amount: Uint128::from(1_100000u128),
bidder: Some("fliper".to_string()),
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1_000000u128),
seller: "satoshi".into(),
Expand Down Expand Up @@ -806,7 +806,7 @@ fn settle_auction() {
denom: "uluna".to_string(),
amount: Uint128::from(1_210000u128),
bidder: Some("buyer".to_string()),
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1_000000u128),
seller: "satoshi".into(),
Expand Down Expand Up @@ -891,7 +891,7 @@ fn settle_auction() {
denom: "uluna".to_string(),
amount: Uint128::from(1_210000u128),
bidder: Some("buyer".to_string()),
extension_duration: 900,
min_duration: 900,
nft_contract: "nft".into(),
reserve_price: Uint128::from(1_000000u128),
seller: "satoshi".into(),
Expand Down
14 changes: 7 additions & 7 deletions packages/revenue/marketplace/src/auction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ pub struct InstantiateMsg {
pub min_reserve_price: Uint128,
pub max_royalty_fee: Decimal,
pub duration: u64,
pub extension_duration: u64,
pub min_duration: u64,
pub accepted_denom: Vec<String>,
pub collector_address: String,
pub protocol_addr: String,
}

/// This is like Cw721HandleMsg but we add a Mint command for an owner
Expand All @@ -37,9 +37,9 @@ pub enum ExecuteMsg {
min_reserve_price: Uint128,
max_royalty_fee: Decimal,
duration: u64,
extension_duration: u64,
min_duration: u64,
accepted_denom: Vec<String>,
collector_address: String,
protocol_addr: String,
},
AdminCancelAuction {
auction_id: Uint128,
Expand Down Expand Up @@ -184,9 +184,9 @@ pub struct ConfigResponse {
pub min_reserve_price: Uint128,
pub min_increment: Decimal,
pub duration: u64,
pub extension_duration: u64,
pub min_duration: u64,
pub accepted_denom: Vec<String>,
pub collector_address: String,
pub protocol_addr: String,
pub max_royalty_fee: Decimal,
}

Expand Down Expand Up @@ -214,7 +214,7 @@ pub struct AuctionResponse {
pub token_id: String,
pub seller: String,
pub duration: u64,
pub extension_duration: u64,
pub min_duration: u64,
pub denom: String,
pub reserve_price: Uint128,
pub end_time: u64,
Expand Down
4 changes: 2 additions & 2 deletions scripts/auctions/src/deploy_auction_mainnet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ const wallet = create_wallet(MNEMONIC);
protocol_fee: '0.02', // Protocol Fee to 2 Percent
min_increment: "0.1", // Minimum Bid to 10% above the price
duration: 86400, // Duration of the auction to one day (denominated in second)
extension_duration: 300, // Extension duration for bidding 5 minute (denominated in seconds)
min_duration: 300, // Extension duration for bidding 5 minute (denominated in seconds)
accepted_denom: ['uluna','ibc/B3504E092456BA618CC28AC671A71FB08C6CA0FD0BE7C8A5B5A3E2DD933CC9E4','ibc/CBF67A2BCF6CAE343FDF251E510C8E18C361FC02B23430C121116E0811835DEF'],
min_reserve_price: '1000', // Minimum Price is 1 Luna
max_royalty_fee: '0.2', // Maximum Royalty Fee is 20%
collector_address: 'terra1endu7640tu3jf72qxsyd82fxapsyulv8zxqluk' // Royalty Receiving Fee
protocol_addr: 'terra1endu7640tu3jf72qxsyd82fxapsyulv8zxqluk' // Royalty Receiving Fee
},'kw-marketplace')
const auction_addr = result.contract_addr
console.log('auction address is ',auction_addr)
Expand Down
4 changes: 2 additions & 2 deletions scripts/auctions/src/deploy_auction_testnet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ const wallet = create_wallet(MNEMONIC);
protocol_fee: "0.01",
min_increment: "0.1",
duration: 300,
extension_duration: 60,
min_duration: 60,
accepted_denom: ["uluna"],
min_reserve_price: "1000",
max_royalty_fee: "0.2",
collector_address: wallet.key.accAddress,
protocol_addr: wallet.key.accAddress,
}, 'kw-os');
const auction_addr = response.contract_addr;
console.log(auction_addr);
Expand Down
Loading

0 comments on commit 5f2a3b4

Please sign in to comment.