Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

Commit

Permalink
Update GetStorageValueMetadata
Browse files Browse the repository at this point in the history
  • Loading branch information
elizabethengelman committed Jul 19, 2019
1 parent 51915f7 commit 11d947d
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 13 deletions.
18 changes: 10 additions & 8 deletions libraries/shared/storage/utils/value.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,19 @@ const (
type Key string

type StorageValueMetadata struct {
Name string
Keys map[Key]string
Type ValueType
Name string
Keys map[Key]string
Type ValueType
PackedNames map[int]string //name of each item packed and their order
PackedTypes map[int]ValueType //type of each item packed and their order
PackedNames map[int]string //name of each item packed and their order
}

func GetStorageValueMetadata(name string, keys map[Key]string, t ValueType) StorageValueMetadata {
func GetStorageValueMetadata(name string, keys map[Key]string, t ValueType, packedNames map[int]string, packedTypes map[int]ValueType) StorageValueMetadata {
return StorageValueMetadata{
Name: name,
Keys: keys,
Type: t,
Name: name,
Keys: keys,
Type: t,
PackedNames: packedNames,
PackedTypes: packedTypes,
}
}
27 changes: 22 additions & 5 deletions libraries/shared/storage/utils/value_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,33 @@ import (
)

var _ = Describe("Storage value metadata getter", func() {
It("returns a storage value metadata instance with corresponding fields assigned", func() {
It("returns storage value metadata for a single storage variable", func() {
metadataName := "fake_name"
metadataKeys := map[utils.Key]string{"key": "value"}
metadataType := utils.Uint256

expectedMetadata := utils.StorageValueMetadata{
Name: metadataName,
Keys: metadataKeys,
Type: metadataType,
Name: metadataName,
Keys: metadataKeys,
Type: metadataType,
}
Expect(utils.GetStorageValueMetadata(metadataName, metadataKeys, metadataType)).To(Equal(expectedMetadata))
Expect(utils.GetStorageValueMetadata(metadataName, metadataKeys, metadataType, nil, nil)).To(Equal(expectedMetadata))
})

It("returns metadata for a packed storage slot variables", func() {
metadataName := "fake_name"
metadataKeys := map[utils.Key]string{"key": "value"}
metadataType := utils.Uint256
metadataPackedNames := map[int]string{0: "name"}
metadataPackedTypes := map[int]utils.ValueType{0: utils.Uint48}

expectedMetadata := utils.StorageValueMetadata{
Name: metadataName,
Keys: metadataKeys,
Type: metadataType,
PackedTypes: metadataPackedTypes,
PackedNames: metadataPackedNames,
}
Expect(utils.GetStorageValueMetadata(metadataName, metadataKeys, metadataType, metadataPackedNames, metadataPackedTypes)).To(Equal(expectedMetadata))
})
})

0 comments on commit 11d947d

Please sign in to comment.