Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/esdt improvements #5821

Merged
merged 33 commits into from
Apr 11, 2024
Merged

Feat/esdt improvements #5821

merged 33 commits into from
Apr 11, 2024

Conversation

BeniaminDrasovean
Copy link
Contributor

@BeniaminDrasovean BeniaminDrasovean commented Jan 10, 2024

Reasoning behind the pull request

  • Add the possibility to modify some metadata of an already created NFT/SFT/metaESDT
  • Create dynamic NFT/SFT/metaESDT in which an account that does not have the token in its own balance can modify the metaData of the token if it has the proper roles, and when the token interacts with the address that modified the metaData, it will be updated
  • Improve the way NFT metadata is stored

Proposed changes

  • Add new builtIn functions that can be called by an address that has the proper roles. These functions will modify the metaData of a token: ESDTModifyRoyalties, ESDTModifyCreator, ESDTNFTRecreate, ESDTNFTUpdate, ESDTNFTSetNewURIs
  • Create dynamic tokens for which these functions can be called by an address that does not have the token in its own balance.
  • Add posibility to change an SFT/metaESDT to dynamic type
  • Moves the metaData of NFTs from the system account to the account which has the NFT in its balance
  • More info here: https://docs.multiversx.com/tokens/nft-tokens#modify-royalties

Testing procedure

  • Scenarios from integration tests
  • Normal testing procedure

Pre-requisites

Based on the Contributing Guidelines the PR author and the reviewers must check the following requirements are met:

  • was the PR targeted to the correct branch?
  • if this is a larger feature that probably needs more than one PR, is there a feat branch created?
  • if this is a feat branch merging, do all satellite projects have a proper tag inside go.mod?

sasurobert and others added 18 commits October 30, 2023 16:12
# Conflicts:
#	common/enablers/enableEpochsHandler.go
#	common/enablers/epochFlags.go
#	common/interface.go
#	go.mod
#	go.sum
#	sharding/mock/enableEpochsHandlerMock.go
#	testscommon/enableEpochsHandlerMock/enableEpochsHandlerStub.go
…torage-opt

# Conflicts:
#	cmd/node/config/enableEpochs.toml
#	common/constants.go
#	common/enablers/enableEpochsHandler.go
#	config/epochConfig.go
#	config/tomlConfig_test.go
#	go.mod
#	go.sum
#	sharding/mock/enableEpochsHandlerMock.go
ESDT v2 implementations on SystemSC - dynamic tokens and tokenType
Copy link

codecov bot commented Jan 10, 2024

Codecov Report

Attention: Patch coverage is 81.46718% with 48 lines in your changes are missing coverage. Please review.

Project coverage is 78.83%. Comparing base (6d93fee) to head (c3383ee).
Report is 1 commits behind head on rc/v1.7.next1.

Files Patch % Lines
vm/systemSmartContracts/esdt.go 81.17% 37 Missing and 11 partials ⚠️
Additional details and impacted files
@@                Coverage Diff                @@
##           rc/v1.7.next1    #5821      +/-   ##
=================================================
+ Coverage          78.80%   78.83%   +0.03%     
=================================================
  Files                752      752              
  Lines              98013    98254     +241     
=================================================
+ Hits               77238    77461     +223     
- Misses             15553    15559       +6     
- Partials            5222     5234      +12     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

BeniaminDrasovean and others added 8 commits January 30, 2024 14:18
…in-feat/esdt-improvements-30jan

# Conflicts:
#	common/constants.go
#	common/enablers/enableEpochsHandler.go
#	config/epochConfig.go
#	config/tomlConfig_test.go
#	vm/systemSmartContracts/esdt.go
…-improvements-30jan

Merge rc/v1.7.0 in feat/esdt improvements 30jan
…t-improvements-integration

# Conflicts:
#	common/constants.go
#	go.mod
#	go.sum
@sasurobert sasurobert changed the base branch from rc/v1.7.0 to rc/v1.7.next1 March 6, 2024 13:02
@sasurobert sasurobert marked this pull request as ready for review March 6, 2024 13:49
iulianpascalau
iulianpascalau previously approved these changes Mar 6, 2024
sasurobert
sasurobert previously approved these changes Mar 7, 2024
BeniaminDrasovean and others added 3 commits March 28, 2024 11:39
…7.next1-in-feat/esdt-improvements-28mar

# Conflicts:
#	cmd/node/config/enableEpochs.toml
#	common/constants.go
#	common/enablers/enableEpochsHandler.go
#	common/enablers/enableEpochsHandler_test.go
#	config/epochConfig.go
#	config/tomlConfig_test.go
#	go.mod
#	go.sum
#	vm/errors.go
#	vm/systemSmartContracts/esdt.go
…esdt-improvements-28mar

Merge rc/v1.7.next1 in feat/esdt improvements 28mar
Copy link
Collaborator

@gabi-vuls gabi-vuls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Normal allin test: v1.6.15-dev-config-eb2e06c06d -> feat/esdt-improvements

--- Specific errors ---

block hash does not match 1947
wrong nonce in block 942
miniblocks does not match 0
num miniblocks does not match 0
miniblock hash does not match 0
block bodies does not match 0
receipts hash missmatch 0

/------/

--- Statistics ---

Nr. of all ERRORS: 0
Nr. of all WARNS: 273
Nr. of new ERRORS: 0
Nr. of new WARNS: 1
Nr. of PANICS: 0

/------/

--- ERRORS ---

/------/

--- WARNINGS ---

ovh-p03-validator-31 :
Warn: trie recreate error: error = getNodeFromDB error: key not found for key root = 1

/------/

@sasurobert sasurobert merged commit d2ae491 into rc/v1.7.next1 Apr 11, 2024
10 checks passed
@sasurobert sasurobert deleted the feat/esdt-improvements branch April 11, 2024 10:09
@schimih schimih assigned schimih and BeniaminDrasovean and unassigned schimih Nov 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants