diff --git a/README.md b/README.md index d35aaed..5df71fe 100644 --- a/README.md +++ b/README.md @@ -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 -``` \ No newline at end of file +``` + +### NOTICE +Please use at your own risk and do not trust, but verify the functionality of these contracts. \ No newline at end of file diff --git a/contracts/revenue/auction/README.md b/contracts/revenue/auction/README.md index 2e0a856..62d1fb3 100644 --- a/contracts/revenue/auction/README.md +++ b/contracts/revenue/auction/README.md @@ -1 +1,12 @@ -# Auctions \ No newline at end of file +# 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). \ No newline at end of file diff --git a/contracts/revenue/auction/src/auction.rs b/contracts/revenue/auction/src/auction.rs index 855562f..f1613bf 100644 --- a/contracts/revenue/auction/src/auction.rs +++ b/contracts/revenue/auction/src/auction.rs @@ -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, @@ -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; } @@ -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() { @@ -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, - collector_address: String, + protocol_addr: String, ) -> Result { // check only owner only_owner(deps.as_ref(), &env, info)?; @@ -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)?; diff --git a/contracts/revenue/auction/src/contract.rs b/contracts/revenue/auction/src/contract.rs index 7dcab2c..8506eec 100644 --- a/contracts/revenue/auction/src/contract.rs +++ b/contracts/revenue/auction/src/contract.rs @@ -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)?; @@ -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, @@ -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, @@ -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(); diff --git a/contracts/revenue/auction/src/querier.rs b/contracts/revenue/auction/src/querier.rs index feb0cbf..7241ba2 100644 --- a/contracts/revenue/auction/src/querier.rs +++ b/contracts/revenue/auction/src/querier.rs @@ -29,8 +29,8 @@ pub fn query_config(deps: Deps) -> StdResult { 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, }) } @@ -76,7 +76,7 @@ fn _query_auction(auction: Auction) -> StdResult { 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, diff --git a/contracts/revenue/auction/src/state.rs b/contracts/revenue/auction/src/state.rs index 932aa38..6568a64 100644 --- a/contracts/revenue/auction/src/state.rs +++ b/contracts/revenue/auction/src/state.rs @@ -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, - pub collector_address: Addr, + pub protocol_addr: Addr, } #[cw_serde] @@ -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, diff --git a/contracts/revenue/auction/src/testing.rs b/contracts/revenue/auction/src/testing.rs index de63407..7cdcc89 100644 --- a/contracts/revenue/auction/src/testing.rs +++ b/contracts/revenue/auction/src/testing.rs @@ -25,9 +25,9 @@ fn setup_contract(deps: DepsMut, accepted_denom: Vec) { 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", &[]); @@ -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) } ) @@ -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(), @@ -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(), @@ -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(), @@ -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(), @@ -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(), @@ -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(), @@ -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(), @@ -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(), @@ -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(), @@ -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(), @@ -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(), @@ -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(), diff --git a/packages/revenue/marketplace/src/auction.rs b/packages/revenue/marketplace/src/auction.rs index c4c2845..2b03484 100644 --- a/packages/revenue/marketplace/src/auction.rs +++ b/packages/revenue/marketplace/src/auction.rs @@ -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, - pub collector_address: String, + pub protocol_addr: String, } /// This is like Cw721HandleMsg but we add a Mint command for an owner @@ -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, - collector_address: String, + protocol_addr: String, }, AdminCancelAuction { auction_id: Uint128, @@ -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, - pub collector_address: String, + pub protocol_addr: String, pub max_royalty_fee: Decimal, } @@ -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, diff --git a/scripts/auctions/src/deploy_auction_mainnet.ts b/scripts/auctions/src/deploy_auction_mainnet.ts index 3064ac9..81605fc 100644 --- a/scripts/auctions/src/deploy_auction_mainnet.ts +++ b/scripts/auctions/src/deploy_auction_mainnet.ts @@ -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) diff --git a/scripts/auctions/src/deploy_auction_testnet.ts b/scripts/auctions/src/deploy_auction_testnet.ts index 5728b94..f24583a 100644 --- a/scripts/auctions/src/deploy_auction_testnet.ts +++ b/scripts/auctions/src/deploy_auction_testnet.ts @@ -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); diff --git a/scripts/publish-packages.sh b/scripts/publish-packages.sh new file mode 100755 index 0000000..f803ebd --- /dev/null +++ b/scripts/publish-packages.sh @@ -0,0 +1,26 @@ +cd packages/actions/controllers && cargo publish && cd ../.. +sleep 10 +cd packages/actions/ethereum-verify && cargo publish && cd ../.. +sleep 10 +cd packages/actions/mint-hooks && cargo publish && cd ../.. +sleep 10 +cd packages/actions/terp-index-query && cargo publish && cd ../.. +sleep 10 +cd packages/nft/factory-utils && cargo publish && cd ../.. +sleep 10 +cd packages/nft/minter-utils && cargo publish && cd ../.. +sleep 10 +cd packages/nft/terp-metadata && cargo publish && cd ../.. +sleep 10 +cd packages/nft/terp721 && cargo publish && cd ../.. +sleep 10 +cd packages/revenue/marketplace && cargo publish && cd ../.. +sleep 10 +cd packages/revenue/terp-fee && cargo publish && cd ../.. +sleep 10 +cd packages/utils/terp-multi-test && cargo publish && cd ../.. +sleep 10 +cd packages/utils/terp-sdk && cargo publish && cd ../.. +sleep 10 +cd packages/utils/unit-test && cargo publish && cd ../.. +sleep 10