diff --git a/alphabet/alphabet_contract.go b/alphabet/alphabet_contract.go index 231795b..7a95c74 100644 --- a/alphabet/alphabet_contract.go +++ b/alphabet/alphabet_contract.go @@ -35,6 +35,8 @@ func OnNEP17Payment(from interop.Hash160, amount int, data interface{}) { func _deploy(data interface{}, isUpdate bool) { ctx := storage.GetContext() if isUpdate { + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) storage.Delete(ctx, common.LegacyOwnerKey) return } diff --git a/audit/audit_contract.go b/audit/audit_contract.go index 994cd7f..157dc7a 100644 --- a/audit/audit_contract.go +++ b/audit/audit_contract.go @@ -45,6 +45,8 @@ const ( func _deploy(data interface{}, isUpdate bool) { ctx := storage.GetContext() if isUpdate { + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) storage.Delete(ctx, common.LegacyOwnerKey) return } diff --git a/balance/balance_contract.go b/balance/balance_contract.go index fbf25b0..8c53079 100644 --- a/balance/balance_contract.go +++ b/balance/balance_contract.go @@ -61,6 +61,8 @@ func init() { func _deploy(data interface{}, isUpdate bool) { ctx := storage.GetContext() if isUpdate { + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) storage.Delete(ctx, common.LegacyOwnerKey) return } diff --git a/container/container_contract.go b/container/container_contract.go index cecbe50..f00bbc9 100644 --- a/container/container_contract.go +++ b/container/container_contract.go @@ -84,6 +84,8 @@ func OnNEP11Payment(a interop.Hash160, b int, c []byte, d interface{}) { func _deploy(data interface{}, isUpdate bool) { ctx := storage.GetContext() if isUpdate { + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) storage.Delete(ctx, common.LegacyOwnerKey) return } diff --git a/neofs/neofs_contract.go b/neofs/neofs_contract.go index 14a082d..88d737e 100644 --- a/neofs/neofs_contract.go +++ b/neofs/neofs_contract.go @@ -47,6 +47,9 @@ var ( // _deploy sets up initial alphabet node keys. func _deploy(data interface{}, isUpdate bool) { if isUpdate { + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) + ctx := storage.GetContext() nodes := getNodes(ctx, candidatesKey) storage.Delete(ctx, candidatesKey) diff --git a/neofsid/neofsid_contract.go b/neofsid/neofsid_contract.go index ca28d35..4720c00 100644 --- a/neofsid/neofsid_contract.go +++ b/neofsid/neofsid_contract.go @@ -32,6 +32,8 @@ func _deploy(data interface{}, isUpdate bool) { ctx := storage.GetContext() if isUpdate { + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) storage.Delete(ctx, common.LegacyOwnerKey) return } diff --git a/netmap/netmap_contract.go b/netmap/netmap_contract.go index 7ce831d..4cd36be 100644 --- a/netmap/netmap_contract.go +++ b/netmap/netmap_contract.go @@ -68,6 +68,7 @@ func _deploy(data interface{}, isUpdate bool) { addrContainer interop.Hash160 keys []interop.PublicKey config [][]byte + version int }) ln := len(args.config) @@ -83,6 +84,7 @@ func _deploy(data interface{}, isUpdate bool) { } if isUpdate { + common.CheckVersion(args.version) storage.Delete(ctx, common.LegacyOwnerKey) return } diff --git a/nns/nns_contract.go b/nns/nns_contract.go index 54a8e34..edda2f7 100644 --- a/nns/nns_contract.go +++ b/nns/nns_contract.go @@ -90,6 +90,9 @@ func Update(nef []byte, manifest string, data interface{}) { // _deploy initializes defaults (total supply and registration price) on contract deploy. func _deploy(data interface{}, isUpdate bool) { if isUpdate { + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) + ctx := storage.GetContext() committee := common.CommitteeAddress() it := storage.Find(ctx, []byte{prefixRoot}, storage.KeysOnly|storage.RemovePrefix) diff --git a/processing/processing_contract.go b/processing/processing_contract.go index 1bf6c78..fb81a71 100644 --- a/processing/processing_contract.go +++ b/processing/processing_contract.go @@ -28,6 +28,8 @@ func OnNEP17Payment(from interop.Hash160, amount int, data interface{}) { func _deploy(data interface{}, isUpdate bool) { if isUpdate { + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) return } diff --git a/proxy/proxy_contract.go b/proxy/proxy_contract.go index 9841010..fe357a7 100644 --- a/proxy/proxy_contract.go +++ b/proxy/proxy_contract.go @@ -19,9 +19,11 @@ func OnNEP17Payment(from interop.Hash160, amount int, data interface{}) { } } -func _deploy(_ interface{}, isUpdate bool) { - ctx := storage.GetContext() +func _deploy(data interface{}, isUpdate bool) { if isUpdate { + ctx := storage.GetContext() + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) storage.Delete(ctx, common.LegacyOwnerKey) return } diff --git a/reputation/reputation_contract.go b/reputation/reputation_contract.go index a49475f..c434570 100644 --- a/reputation/reputation_contract.go +++ b/reputation/reputation_contract.go @@ -22,6 +22,9 @@ func _deploy(data interface{}, isUpdate bool) { ctx := storage.GetContext() if isUpdate { + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) + // Storage migration. storage.Delete(ctx, []byte("contractOwner")) diff --git a/subnet/subnet_contract.go b/subnet/subnet_contract.go index 3e7ce6d..99c7fc1 100644 --- a/subnet/subnet_contract.go +++ b/subnet/subnet_contract.go @@ -58,6 +58,8 @@ const ( // _deploy function sets up initial list of inner ring public keys. func _deploy(data interface{}, isUpdate bool) { if isUpdate { + args := data.([]interface{}) + common.CheckVersion(args[len(args)-1].(int)) return }