Skip to content

Commit

Permalink
remove address and clear allowlist
Browse files Browse the repository at this point in the history
  • Loading branch information
juliancwirko committed Apr 30, 2022
1 parent eb002fc commit 8ffe178
Show file tree
Hide file tree
Showing 11 changed files with 54 additions and 17 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### [1.6.1](https://github.com/ElvenTools/elven-nft-minter-sc/releases/tag/v1.6.1) (2022-04-30)
- new endpoint `clearAllowlist` - It will clear the whole allowlist. The best is to keep max 1300 addresses in the allowlist at a time. Of course, if only you plan to clear it later. If you keep more and want to clear it, you can reach the gas limit for a transaction. So it would be best to split the allowlist per drop, keep it as small as possible and clear it each time.
- new endpoint `removeAllowlistAddress` - removes singe address from allowlist

### [1.6.0](https://github.com/ElvenTools/elven-nft-minter-sc/releases/tag/v1.6.0) (2022-04-24)
- elrond-wasm upgraded to 0.30.0
- allow using a different name for NFT tokens. Till now, it was the name of the collection handler
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.6.0"
version = "1.6.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.6.0"
version = "1.6.1"
authors = ["Julian Ćwirko <julian.cwirko@gmail.com>"]
edition = "2018"
publish = false
Expand Down
21 changes: 20 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.6.0"
"version": "1.6.1"
},
"framework": {
"name": "elrond-wasm",
Expand Down Expand Up @@ -237,6 +237,25 @@
],
"outputs": []
},
{
"name": "clearAllowlist",
"onlyOwner": true,
"mutability": "mutable",
"inputs": [],
"outputs": []
},
{
"name": "removeAllowlistAddress",
"onlyOwner": true,
"mutability": "mutable",
"inputs": [
{
"name": "address",
"type": "Address"
}
],
"outputs": []
},
{
"name": "mint",
"mutability": "mutable",
Expand Down
Binary file modified output/elven-nft-minter.wasm
Binary file not shown.
28 changes: 20 additions & 8 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,12 @@ pub trait ElvenTools {
require!(self.nft_token_id().is_empty(), "Token already issued!");

let nfts_name = match nft_token_name {
OptionalValue::Some(name) => name,
OptionalValue::None => ManagedBuffer::new_from_bytes(b""),
OptionalValue::Some(name) => name,
OptionalValue::None => ManagedBuffer::new_from_bytes(b""),
};

if nfts_name.len() != 0 {
self.nft_token_name().set(&nfts_name);
self.nft_token_name().set(&nfts_name);
}

self.collection_token_name().set(&collection_token_name);
Expand Down Expand Up @@ -309,6 +309,18 @@ pub trait ElvenTools {
self.allowlist().extend(&addresses);
}

#[only_owner]
#[endpoint(clearAllowlist)]
fn clear_allowlist(&self) {
self.allowlist().clear();
}

#[only_owner]
#[endpoint(removeAllowlistAddress)]
fn remove_allowlist_address(&self, address: ManagedAddress) {
self.allowlist().remove(&address);
}

// Main mint function - takes the payment sum for all tokens to mint.
#[payable("EGLD")]
#[endpoint(mint)]
Expand Down Expand Up @@ -423,11 +435,11 @@ pub trait ElvenTools {
let royalties = self.royalties().get();

let attributes = self.build_attributes_buffer(next_index_to_mint_tuple.1);

let hash_buffer = self
.crypto()
.sha256_legacy_managed::<HASH_DATA_BUFFER_LEN>(&attributes);

let attributes_hash = hash_buffer.as_managed_buffer();

let uris = self.build_uris_vec(next_index_to_mint_tuple.1);
Expand Down Expand Up @@ -635,11 +647,11 @@ pub trait ElvenTools {

let token_name_from_storage;
if !self.nft_token_name().is_empty() {
token_name_from_storage = self.nft_token_name().get();
token_name_from_storage = self.nft_token_name().get();
} else {
token_name_from_storage = self.collection_token_name().get();
token_name_from_storage = self.collection_token_name().get();
}

let token_index = self.decimal_to_ascii(index_to_mint);
let hash_sign = ManagedBuffer::new_from_bytes(" #".as_bytes());

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.6.0"
version = "1.6.1"
authors = ["Julian Ćwirko <julian.cwirko@gmail.com>"]
edition = "2018"
publish = false
Expand Down
2 changes: 2 additions & 0 deletions wasm/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ elrond_wasm_node::wasm_endpoints! {
callBack
changeBaseCids
claimScFunds
clearAllowlist
disableAllowlist
enableAllowlist
getAllowlistAddressCheck
Expand All @@ -33,6 +34,7 @@ elrond_wasm_node::wasm_endpoints! {
pauseMinting
populateAllowlist
populateIndexes
removeAllowlistAddress
setDrop
setLocalRoles
setNewPrice
Expand Down

0 comments on commit 8ffe178

Please sign in to comment.