Skip to content

Commit

Permalink
elrond-wasm update
Browse files Browse the repository at this point in the history
  • Loading branch information
juliancwirko committed Jul 30, 2022
1 parent a12480f commit 0b7c8c1
Show file tree
Hide file tree
Showing 11 changed files with 110 additions and 71 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@

output/elven-nft-minter-dbg.wasm
output/elven-nft-minter-paths.txt
output/elven-nft-minter.wat
output/elven-nft-minter.imports.json
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### [1.8.0](https://github.com/ElvenTools/elven-nft-minter-sc/releases/tag/v1.8.0) (2022-07-30)
- elrond-wasm framework update to 0.34.1
- added `#[only_user_account]` for some of the endpoints, we want to allow only user interactions there

### [1.7.0](https://github.com/ElvenTools/elven-nft-minter-sc/releases/tag/v1.7.0) (2022-06-18)
- elrond-wasm framework update to 0.32.0
- switched to `UniqueIdMapper`, removed `populateIndexed` (previous, less performant and more expensive solution)
Expand Down
38 changes: 23 additions & 15 deletions Cargo.lock

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

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
[package]
name = "elven-nft-minter"
version = "1.7.0"
authors = ["Julian Ćwirko <julian.[email protected]>"]
version = "1.8.0"
authors = ["Julian Ćwirko <julian.io>"]
edition = "2018"
publish = false

[lib]
path = "src/lib.rs"

[dependencies.elrond-wasm]
version = "0.32.0"
version = "0.34.1"

[dev-dependencies.elrond-wasm-debug]
version = "0.32.0"
version = "0.34.1"

[dev-dependencies]
num-bigint = "0.4.2"
Expand Down
40 changes: 24 additions & 16 deletions meta/Cargo.lock

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

6 changes: 3 additions & 3 deletions meta/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[package]
name = "elven-nft-minter-meta"
version = "1.7.0"
authors = ["Julian Ćwirko <julian.[email protected]>"]
version = "1.8.0"
authors = ["Julian Ćwirko <julian.io>"]
edition = "2018"
publish = false

[dependencies.elven-nft-minter]
path = ".."

[dependencies.elrond-wasm-debug]
version = "0.32.0"
version = "0.34.1"
6 changes: 3 additions & 3 deletions output/elven-nft-minter.abi.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
},
"contractCrate": {
"name": "elven-nft-minter",
"version": "1.7.0",
"git_version": "1bcb329-modified"
"version": "1.8.0",
"git_version": "a12480f-modified"
},
"framework": {
"name": "elrond-wasm",
"version": "0.32.0"
"version": "0.34.1"
}
},
"name": "ElvenTools",
Expand Down
Binary file modified output/elven-nft-minter.wasm
Binary file not shown.
25 changes: 13 additions & 12 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,6 @@ pub trait ElvenTools {
&self
.blockchain()
.get_sc_balance(&EgldOrEsdtTokenIdentifier::egld(), 0),
&[],
);
}

Expand Down Expand Up @@ -285,6 +284,7 @@ pub trait ElvenTools {
}

// Main mint function - requires the payment sum for all tokens to mint.
#[only_user_account]
#[payable("EGLD")]
#[endpoint(mint)]
fn mint(&self, amount_of_tokens: u32) {
Expand Down Expand Up @@ -392,9 +392,7 @@ pub trait ElvenTools {

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

let hash_buffer = self
.crypto()
.sha256(&attributes);
let hash_buffer = self.crypto().sha256(&attributes);

let attributes_hash = hash_buffer.as_managed_buffer();

Expand Down Expand Up @@ -425,7 +423,7 @@ pub trait ElvenTools {
}

self.send()
.direct_esdt(&receiver, &token, nonce, &BigUint::from(NFT_AMOUNT), &[]);
.direct_esdt(&receiver, &token, nonce, &BigUint::from(NFT_AMOUNT));

if payment_amount > 0 {
self.minted_per_address_total(&caller)
Expand All @@ -452,13 +450,14 @@ pub trait ElvenTools {

let owner = self.blockchain().get_owner_address();
self.send()
.direct(&owner, &payment_token, payment_nonce, &payment_amount, &[]);
.direct(&owner, &payment_token, payment_nonce, &payment_amount);
}

// Choose next index to mint here
self.handle_next_index_setup(next_index_to_mint_tuple);
}

#[only_user_account]
#[endpoint(shuffle)]
fn shuffle(&self) {
require!(!self.nft_token_id().is_empty(), "Token not issued!");
Expand All @@ -485,20 +484,24 @@ pub trait ElvenTools {
}

#[callback]
fn issue_callback(&self, #[call_result] result: ManagedAsyncCallResult<EgldOrEsdtTokenIdentifier>) {
fn issue_callback(
&self,
#[call_result] result: ManagedAsyncCallResult<EgldOrEsdtTokenIdentifier>,
) {
match result {
ManagedAsyncCallResult::Ok(token_id) => {
let tokens_number = self.amount_of_tokens_total().get();
self.nft_token_id().set(&token_id.unwrap_esdt());
self.tokens_left_to_mint().set_initial_len(tokens_number.try_into().unwrap());
self.tokens_left_to_mint()
.set_initial_len(tokens_number.try_into().unwrap());
self.shuffle();
}
ManagedAsyncCallResult::Err(_) => {
let caller = self.blockchain().get_owner_address();
let returned = self.call_value().egld_or_single_esdt();
if returned.token_identifier.is_egld() && returned.amount > 0 {
self.send()
.direct(&caller, &returned.token_identifier, 0, &returned.amount, &[]);
.direct(&caller, &returned.token_identifier, 0, &returned.amount);
}
}
}
Expand Down Expand Up @@ -781,9 +784,7 @@ pub trait ElvenTools {
fn next_index_to_mint(&self) -> SingleValueMapper<(usize, usize)>;

#[storage_mapper("tokensLeftToMint")]
fn tokens_left_to_mint(
&self,
) -> UniqueIdMapper<Self::Api>;
fn tokens_left_to_mint(&self) -> UniqueIdMapper<Self::Api>;

#[storage_mapper("isMetadataInUris")]
fn is_metadata_in_uris(&self) -> SingleValueMapper<bool>;
Expand Down
Loading

0 comments on commit 0b7c8c1

Please sign in to comment.