Skip to content

Commit

Permalink
updates for v1.5.1
Browse files Browse the repository at this point in the history
  • Loading branch information
juliancwirko committed Feb 27, 2022
1 parent 10231e0 commit a72df8e
Show file tree
Hide file tree
Showing 11 changed files with 49 additions and 28 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### [1.5.1](https://github.com/juliancwirko/elven-nft-minter-sc/releases/tag/v1.5.1) (2022-02-27)
- bugfix related to not correctly handling the `unsetDrop` endpoint. The limits per address per drop were not correct when using `unsetDrop`.
- new query endpoint added `isDropActive`.

### [1.5.0](https://github.com/juliancwirko/elven-nft-minter-sc/releases/tag/v1.5.0) (2022-02-25)
- important performance fixes provided by Dorin (Elrond core dev)
- upgraded to 0.28.0
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "elven-nft-minter"
version = "1.5.0"
version = "1.5.1"
authors = ["Julian Ćwirko <julian.cwirko@gmail.com>"]
edition = "2018"
publish = false
Expand Down
4 changes: 2 additions & 2 deletions meta/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion meta/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "elven-nft-minter-meta"
version = "1.5.0"
version = "1.5.1"
authors = ["Julian Ćwirko <julian.cwirko@gmail.com>"]
edition = "2018"
publish = false
Expand Down
12 changes: 11 additions & 1 deletion output/elven-nft-minter.abi.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
},
"contractCrate": {
"name": "elven-nft-minter",
"version": "1.5.0"
"version": "1.5.1"
},
"framework": {
"name": "elrond-wasm",
Expand Down Expand Up @@ -396,6 +396,16 @@
"type": "bool"
}
]
},
{
"name": "isDropActive",
"mutability": "readonly",
"inputs": [],
"outputs": [
{
"type": "bool"
}
]
}
],
"hasCallback": true,
Expand Down
Binary file modified output/elven-nft-minter.wasm
Binary file not shown.
44 changes: 25 additions & 19 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,11 +171,13 @@ pub trait ElvenTools {
self.amount_of_tokens_per_drop()
.set(&amount_of_tokens_per_drop);

if self.opened_drop().is_empty() {
self.opened_drop().set(1);
if self.last_drop().is_empty() {
self.last_drop().set(1);
} else {
self.opened_drop().update(|sum| *sum += 1);
self.last_drop().update(|sum| *sum += 1);
}

self.is_drop_active().set(true);
}

#[only_owner]
Expand All @@ -184,7 +186,7 @@ pub trait ElvenTools {
self.minted_indexes_by_drop().clear();
self.amount_of_tokens_per_drop().clear();
self.tokens_limit_per_address_per_drop().clear();
self.opened_drop().clear();
self.is_drop_active().set(false);
}

// The owner can change the price, for example, a new price for the next nft drop.
Expand Down Expand Up @@ -366,10 +368,10 @@ pub trait ElvenTools {
);

// Check if there is a drop set and the limits per address for the drop are set
if !self.opened_drop().is_empty() {
let opened_drop_id = self.opened_drop().get();
if self.is_drop_active().get() && !self.last_drop().is_empty() {
let last_drop_id = self.last_drop().get();
let minted_per_address_per_drop = self
.minted_per_address_per_drop(opened_drop_id)
.minted_per_address_per_drop(last_drop_id)
.get(&caller)
.unwrap_or_default();
let tokens_limit_per_address_per_drop = self.tokens_limit_per_address_per_drop().get();
Expand Down Expand Up @@ -453,18 +455,18 @@ pub trait ElvenTools {
self.minted_per_address_total(&caller)
.update(|sum| *sum += 1);

if !self.opened_drop().is_empty() {
let opened_drop_id = self.opened_drop().get();
if self.is_drop_active().get() && !self.last_drop().is_empty() {
let last_drop_id = self.last_drop().get();
let existing_address_value = self
.minted_per_address_per_drop(opened_drop_id)
.minted_per_address_per_drop(last_drop_id)
.get(&caller)
.unwrap_or_default();
if existing_address_value > 0 {
let next_value = existing_address_value + 1;
self.minted_per_address_per_drop(opened_drop_id)
self.minted_per_address_per_drop(last_drop_id)
.insert(caller, next_value);
} else {
self.minted_per_address_per_drop(opened_drop_id)
self.minted_per_address_per_drop(last_drop_id)
.insert(caller, 1);
}
}
Expand Down Expand Up @@ -727,10 +729,10 @@ pub trait ElvenTools {
#[view(getMintedPerAddressPerDrop)]
fn get_minted_per_address_per_drop(&self, address: ManagedAddress) -> u32 {
let minted_per_address_per_drop: u32;
if !self.opened_drop().is_empty() {
let opened_drop_id = self.opened_drop().get();
if self.is_drop_active().get() && !self.last_drop().is_empty() {
let last_drop_id = self.last_drop().get();
minted_per_address_per_drop = self
.minted_per_address_per_drop(opened_drop_id)
.minted_per_address_per_drop(last_drop_id)
.get(&address)
.unwrap_or_default();
} else {
Expand Down Expand Up @@ -782,16 +784,20 @@ pub trait ElvenTools {
#[storage_mapper("isAllowlistEnabled")]
fn is_allowlist_enabled(&self) -> SingleValueMapper<bool>;

#[view(isDropActive)]
#[storage_mapper("isDropActive")]
fn is_drop_active(&self) -> SingleValueMapper<bool>;

#[storage_mapper("lastDrop")]
fn last_drop(&self) -> SingleValueMapper<u16>;

#[storage_mapper("allowlist")]
fn allowlist(&self) -> SetMapper<ManagedAddress>;

#[storage_mapper("mintedPerAddressPerDrop")]
fn minted_per_address_per_drop(&self, id: u16) -> MapMapper<ManagedAddress, u32>;

#[storage_mapper("openedDrop")]
fn opened_drop(&self) -> SingleValueMapper<u16>;

#[storage_mapper("iamgeBaseCid")]
#[storage_mapper("imageBaseCid")]
fn image_base_cid(&self) -> SingleValueMapper<ManagedBuffer>;

#[storage_mapper("metadaBaseCid")]
Expand Down
4 changes: 2 additions & 2 deletions wasm/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion wasm/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "elven-nft-minter-wasm"
version = "1.5.0"
version = "1.5.1"
authors = ["Julian Ćwirko <julian.cwirko@gmail.com>"]
edition = "2018"
publish = false
Expand Down
1 change: 1 addition & 0 deletions wasm/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ elrond_wasm_node::wasm_endpoints! {
getTotalTokensLeft
giveaway
isAllowlistEnabled
isDropActive
issueToken
mint
pauseMinting
Expand Down

0 comments on commit a72df8e

Please sign in to comment.