diff --git a/vm/src/tx_execution/system_sc/system_sc_issue.rs b/vm/src/tx_execution/system_sc/system_sc_issue.rs index cf6f61cb8d..2cb190d95a 100644 --- a/vm/src/tx_execution/system_sc/system_sc_issue.rs +++ b/vm/src/tx_execution/system_sc/system_sc_issue.rs @@ -61,28 +61,3 @@ pub fn issue_non_fungible(tx_context: TxContext) -> (TxContext, TxResult) { (tx_context, tx_result) } - -// todo#1: generate token identifier randomly -// - - - - - - - - - - - - - - - - - - - - - - - - - -// code from mx-chain-go -// - - - - - - - - - - - - - - - - - - - - - - - - - - -// newRandomBase := append(caller, e.eei.BlockChainHook().CurrentRandomSeed()...) -// newRandom := e.hasher.Compute(string(newRandomBase)) -// newRandomForTicker := newRandom[:tickerRandomSequenceLength] - -// tickerPrefix := append(ticker, []byte(tickerSeparator)...) -// newRandomAsBigInt := big.NewInt(0).SetBytes(newRandomForTicker) - -// one := big.NewInt(1) -// for i := 0; i < numOfRetriesForIdentifier; i++ { -// encoded := fmt.Sprintf("%06x", newRandomAsBigInt) -// newIdentifier := append(tickerPrefix, encoded...) -// buff := e.eei.GetStorage(newIdentifier) -// if len(buff) == 0 { -// return newIdentifier, nil -// } -// newRandomAsBigInt.Add(newRandomAsBigInt, one) -// } - -// return nil, vm.ErrCouldNotCreateNewTokenIdentifier diff --git a/vm/src/world_mock/esdt_data.rs b/vm/src/world_mock/esdt_data.rs index e03e822c90..f4eeb29d50 100644 --- a/vm/src/world_mock/esdt_data.rs +++ b/vm/src/world_mock/esdt_data.rs @@ -168,10 +168,8 @@ impl AccountEsdt { pub fn set_special_role(&mut self, token_identifier: &[u8], role: &[u8]) { if let Some(esdt_data) = self.get_mut_by_identifier(token_identifier) { let roles = esdt_data.roles.get(); - if roles.contains(role.to_vec().as_ref()) { - return; - } else { - let mut new_roles = roles.clone(); + if !roles.contains(role.to_vec().as_ref()) { + let mut new_roles = roles; new_roles.push(role.to_vec()); esdt_data.roles = EsdtRoles::new(new_roles); }