Skip to content

Commit

Permalink
Merge pull request #4099 from ElrondNetwork/fix-indexer-to-work-with-…
Browse files Browse the repository at this point in the history
…es-8

Fix indexer to work with ES 8
  • Loading branch information
gabi-vuls committed May 28, 2022
2 parents a3a78a9 + f33b0b2 commit 149af0c
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 11 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ require (
github.com/ElrondNetwork/arwen-wasm-vm/v1_4 v1.4.34-rc9
github.com/ElrondNetwork/concurrent-map v0.1.3
github.com/ElrondNetwork/covalent-indexer-go v1.0.6
github.com/ElrondNetwork/elastic-indexer-go v1.2.25
github.com/ElrondNetwork/elastic-indexer-go v1.2.28
github.com/ElrondNetwork/elrond-go-core v1.1.15
github.com/ElrondNetwork/elrond-go-crypto v1.0.1
github.com/ElrondNetwork/elrond-go-logger v1.0.7
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ github.com/ElrondNetwork/concurrent-map v0.1.3 h1:j2LtPrNJuerannC1cQDE79STvi/P04
github.com/ElrondNetwork/concurrent-map v0.1.3/go.mod h1:3XwSwn4JHI0lrKxWLZvtp53Emr8BXYTmNQGwcukHJEE=
github.com/ElrondNetwork/covalent-indexer-go v1.0.6 h1:+LNKItUc+Pb7WuTbil3VuiLMmdQ1AY7lBJM476PtVNE=
github.com/ElrondNetwork/covalent-indexer-go v1.0.6/go.mod h1:j3h2g96vqhJAuj3aEX2PWhomae2/o7YfXGEfweNXEeQ=
github.com/ElrondNetwork/elastic-indexer-go v1.2.25 h1:21ala1EQTu/30umkJxLTgIWikA17Iw8bP61EqK4poMo=
github.com/ElrondNetwork/elastic-indexer-go v1.2.25/go.mod h1:XkrkGcomheEZyMC1/OoANQ9KV0OCZF6+UP8lSPRrE9I=
github.com/ElrondNetwork/elastic-indexer-go v1.2.28 h1:mXtyKKKFDIajaivMDBvaryi39KlstqEskXjPIzdJ3yA=
github.com/ElrondNetwork/elastic-indexer-go v1.2.28/go.mod h1:XkrkGcomheEZyMC1/OoANQ9KV0OCZF6+UP8lSPRrE9I=
github.com/ElrondNetwork/elrond-go-core v1.0.0/go.mod h1:FQMem7fFF4+8pQ6lVsBZq6yO+smD0nV23P4bJpmPjTo=
github.com/ElrondNetwork/elrond-go-core v1.1.6/go.mod h1:O9FkkTT2H9kxCzfn40TbhoCDXzGmUrRVusMomhK/Y3g=
github.com/ElrondNetwork/elrond-go-core v1.1.7/go.mod h1:O9FkkTT2H9kxCzfn40TbhoCDXzGmUrRVusMomhK/Y3g=
Expand Down
28 changes: 20 additions & 8 deletions vm/systemSmartContracts/esdt.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ const canAddSpecialRoles = "canAddSpecialRoles"
const canTransferNFTCreateRole = "canTransferNFTCreateRole"
const upgradable = "canUpgrade"
const canCreateMultiShard = "canCreateMultiShard"
const upgradeProperties = "upgradeProperties"

const conversionBase = 10
const metaESDT = "MetaESDT"
Expand Down Expand Up @@ -333,7 +334,7 @@ func (e *esdt) issue(args *vmcommon.ContractCallInput) vmcommon.ReturnCode {
logEntry := &vmcommon.LogEntry{
Identifier: []byte(args.Function),
Address: args.CallerAddr,
Topics: [][]byte{tokenIdentifier, args.Arguments[0], args.Arguments[1], []byte(core.FungibleESDT)},
Topics: [][]byte{tokenIdentifier, args.Arguments[0], args.Arguments[1], []byte(core.FungibleESDT), big.NewInt(int64(numOfDecimals)).Bytes()},
}
e.eei.AddLogEntry(logEntry)

Expand Down Expand Up @@ -367,7 +368,7 @@ func (e *esdt) registerNonFungible(args *vmcommon.ContractCallInput) vmcommon.Re
logEntry := &vmcommon.LogEntry{
Identifier: []byte(args.Function),
Address: args.CallerAddr,
Topics: [][]byte{tokenIdentifier, args.Arguments[0], args.Arguments[1], []byte(core.NonFungibleESDT)},
Topics: [][]byte{tokenIdentifier, args.Arguments[0], args.Arguments[1], []byte(core.NonFungibleESDT), big.NewInt(0).Bytes()},
}
e.eei.AddLogEntry(logEntry)

Expand Down Expand Up @@ -402,7 +403,7 @@ func (e *esdt) registerSemiFungible(args *vmcommon.ContractCallInput) vmcommon.R
logEntry := &vmcommon.LogEntry{
Identifier: []byte(args.Function),
Address: args.CallerAddr,
Topics: [][]byte{tokenIdentifier, args.Arguments[0], args.Arguments[1], []byte(core.SemiFungibleESDT)},
Topics: [][]byte{tokenIdentifier, args.Arguments[0], args.Arguments[1], []byte(core.SemiFungibleESDT), big.NewInt(0).Bytes()},
}
e.eei.AddLogEntry(logEntry)

Expand Down Expand Up @@ -531,7 +532,7 @@ func (e *esdt) registerAndSetRoles(args *vmcommon.ContractCallInput) vmcommon.Re
logEntry := &vmcommon.LogEntry{
Identifier: []byte(args.Function),
Address: args.CallerAddr,
Topics: [][]byte{tokenIdentifier, args.Arguments[0], args.Arguments[1], tokenType},
Topics: [][]byte{tokenIdentifier, args.Arguments[0], args.Arguments[1], tokenType, big.NewInt(int64(numOfDecimals)).Bytes()},
}
e.eei.Finish(tokenIdentifier)
e.eei.AddLogEntry(logEntry)
Expand Down Expand Up @@ -607,7 +608,7 @@ func (e *esdt) changeSFTToMetaESDT(args *vmcommon.ContractCallInput) vmcommon.Re
logEntry := &vmcommon.LogEntry{
Identifier: []byte(args.Function),
Address: args.CallerAddr,
Topics: [][]byte{args.Arguments[0], token.TokenName, token.TickerName, []byte(metaESDT)},
Topics: [][]byte{args.Arguments[0], token.TokenName, token.TickerName, []byte(metaESDT), args.Arguments[1]},
}
e.eei.AddLogEntry(logEntry)

Expand Down Expand Up @@ -646,7 +647,7 @@ func (e *esdt) createNewToken(
Upgradable: true,
CanAddSpecialRoles: true,
}
err = e.upgradeProperties(newESDTToken, properties, true)
err = e.upgradeProperties(tokenIdentifier, newESDTToken, properties, true, owner)
if err != nil {
return nil, nil, err
}
Expand Down Expand Up @@ -710,7 +711,7 @@ func (e *esdt) createNewTokenIdentifier(caller []byte, ticker []byte) ([]byte, e
return nil, vm.ErrCouldNotCreateNewTokenIdentifier
}

func (e *esdt) upgradeProperties(token *ESDTDataV2, args [][]byte, isCreate bool) error {
func (e *esdt) upgradeProperties(tokenIdentifier []byte, token *ESDTDataV2, args [][]byte, isCreate bool, callerAddr []byte) error {
mintBurnable := true
if string(token.TokenType) != core.FungibleESDT {
mintBurnable = false
Expand Down Expand Up @@ -770,6 +771,17 @@ func (e *esdt) upgradeProperties(token *ESDTDataV2, args [][]byte, isCreate bool
}
}

topics := make([][]byte, 0)
nonce := big.NewInt(0)
topics = append(topics, tokenIdentifier, nonce.Bytes())
topics = append(topics, args...)
logEntry := &vmcommon.LogEntry{
Identifier: []byte(upgradeProperties),
Address: callerAddr,
Topics: topics,
}
e.eei.AddLogEntry(logEntry)

return nil
}

Expand Down Expand Up @@ -1317,7 +1329,7 @@ func (e *esdt) controlChanges(args *vmcommon.ContractCallInput) vmcommon.ReturnC
return vmcommon.UserError
}

err := e.upgradeProperties(token, args.Arguments[1:], false)
err := e.upgradeProperties(args.Arguments[0], token, args.Arguments[1:], false, args.CallerAddr)
if err != nil {
e.eei.AddReturnMessage(err.Error())
return vmcommon.UserError
Expand Down

0 comments on commit 149af0c

Please sign in to comment.