core: adjust storage update fees

Follow neo-project/neo#2033.
This commit is contained in:
Roman Khimov 2020-11-03 22:50:40 +03:00
parent 7121686571
commit d7502debba
2 changed files with 9 additions and 3 deletions

View file

@ -396,8 +396,12 @@ func putWithContextAndFlags(ic *interop.Context, stc *StorageContext, key []byte
if si == nil {
si = &state.StorageItem{}
sizeInc = len(key) + len(value)
} else if len(value) > len(si.Value) {
sizeInc = len(value) - len(si.Value)
} else if len(value) != 0 {
if len(value) <= len(si.Value) {
sizeInc = (len(value)-1)/4 + 1
} else {
sizeInc = (len(si.Value)-1)/4 + 1 + len(value) - len(si.Value)
}
}
if !ic.VM.AddGas(int64(sizeInc) * StoragePrice) {
return errGasLimitExceeded