Skip to content

Commit c2a811f

Browse files
authored
Merge pull request #423 from AssetMantle/deepanshu
Deepanshu
2 parents 334bb3a + f3bb1c8 commit c2a811f

File tree

9 files changed

+108
-8
lines changed

9 files changed

+108
-8
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/AssetMantle/modules
33
go 1.19
44

55
require (
6-
github.com/AssetMantle/schema/go v0.0.0-20230818005323-13dfca1fcce5
6+
github.com/AssetMantle/schema/go v0.0.0-20230818041933-0e4158d6c895
77
github.com/CosmWasm/wasmd v0.30.0
88
github.com/Shopify/sarama v1.19.0
99
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ git.sr.ht/~sircmpwn/go-bare v0.0.0-20210406120253-ab86bc2846d9/go.mod h1:BVJwbDf
5252
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs=
5353
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4=
5454
github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
55-
github.com/AssetMantle/schema/go v0.0.0-20230818005323-13dfca1fcce5 h1:rI+Vu8CCfJipAXmgh7rMQQhzTzA8Fqm+foKFIHr2TaM=
56-
github.com/AssetMantle/schema/go v0.0.0-20230818005323-13dfca1fcce5/go.mod h1:+b+pr5ek9on9CiojcnJQAncPfCqSMeC78XpG+n/VX7o=
55+
github.com/AssetMantle/schema/go v0.0.0-20230818041933-0e4158d6c895 h1:pFhzFuDO8S10lJ/NteojopbevgQx0ULhfR1kh9fcK9M=
56+
github.com/AssetMantle/schema/go v0.0.0-20230818041933-0e4158d6c895/go.mod h1:+b+pr5ek9on9CiojcnJQAncPfCqSMeC78XpG+n/VX7o=
5757
github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM=
5858
github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I=
5959
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo=

x/assets/parameters/unwrap_allowed_coins/parameter.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
)
1717

1818
var ID = constantProperties.UnwrapAllowedCoinsProperty.GetKey()
19-
var Parameter = baseParameters.NewParameter(base.NewMetaProperty(ID, baseData.NewListData(baseData.NewStringData("umntl"))))
19+
var Parameter = baseParameters.NewParameter(base.NewMetaProperty(ID, baseData.NewListData()))
2020

2121
func validator(i interface{}) error {
2222
switch value := i.(type) {

x/assets/parameters/wrap_allowed_coins/parameter.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
)
1717

1818
var ID = constantProperties.WrapAllowedCoinsProperty.GetKey()
19-
var Parameter = baseParameters.NewParameter(base.NewMetaProperty(ID, baseData.NewListData(baseData.NewStringData("umntl"))))
19+
var Parameter = baseParameters.NewParameter(base.NewMetaProperty(ID, baseData.NewListData()))
2020

2121
func validator(i interface{}) error {
2222
switch value := i.(type) {

x/classifications/auxiliaries/define/auxiliary_keeper.go

+4
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ type auxiliaryKeeper struct {
3434
var _ helpers.AuxiliaryKeeper = (*auxiliaryKeeper)(nil)
3535

3636
func (auxiliaryKeeper auxiliaryKeeper) Help(context context.Context, request helpers.AuxiliaryRequest) (helpers.AuxiliaryResponse, error) {
37+
if !auxiliaryKeeper.parameterManager.Fetch(context).GetParameter(constantProperties.DefineEnabledProperty.GetID()).GetMetaProperty().GetData().Get().(data.BooleanData).Get() {
38+
return nil, errorConstants.NotAuthorized.Wrapf("classification defining is not enabled")
39+
}
40+
3741
auxiliaryRequest := auxiliaryRequestFromInterface(request)
3842

3943
totalWeight := sdkTypes.ZeroInt()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Copyright [2021] - [2022], AssetMantle Pte. Ltd. and the code contributors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package define_enabled
5+
6+
import (
7+
baseData "github.com/AssetMantle/schema/go/data/base"
8+
errorConstants "github.com/AssetMantle/schema/go/errors/constants"
9+
baseParameters "github.com/AssetMantle/schema/go/parameters/base"
10+
"github.com/AssetMantle/schema/go/properties/base"
11+
constantProperties "github.com/AssetMantle/schema/go/properties/constants"
12+
13+
baseHelpers "github.com/AssetMantle/modules/helpers/base"
14+
)
15+
16+
var ID = constantProperties.DefineEnabledProperty.GetKey()
17+
var Parameter = baseParameters.NewParameter(base.NewMetaProperty(ID, baseData.NewBooleanData(false)))
18+
19+
func validator(i interface{}) error {
20+
switch value := i.(type) {
21+
case string:
22+
_, err := baseData.PrototypeBooleanData().FromString(value)
23+
return err
24+
default:
25+
return errorConstants.IncorrectFormat.Wrapf("incorrect type for defineEnabled parameter, expected %s type as string, got %T", baseData.NewBooleanData(false).GetTypeID().AsString(), i)
26+
}
27+
}
28+
29+
var ValidatableParameter = baseHelpers.NewValidatableParameter(Parameter, validator)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Copyright [2021] - [2022], AssetMantle Pte. Ltd. and the code contributors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package define_enabled
5+
6+
import (
7+
"testing"
8+
9+
baseData "github.com/AssetMantle/schema/go/data/base"
10+
baseIDs "github.com/AssetMantle/schema/go/ids/base"
11+
baseParameters "github.com/AssetMantle/schema/go/parameters/base"
12+
baseProperties "github.com/AssetMantle/schema/go/properties/base"
13+
)
14+
15+
func Test_validator(t *testing.T) {
16+
type args struct {
17+
i interface{}
18+
}
19+
tests := []struct {
20+
name string
21+
args args
22+
wantError bool
23+
}{
24+
{"-ve incorrectFormat", args{baseIDs.NewStringID("")}, true},
25+
{"+ve", args{Parameter}, false},
26+
{"-ve InvalidParameter", args{baseParameters.NewParameter(baseProperties.NewMetaProperty(baseIDs.NewStringID(""), baseData.NewStringData("")))}, true},
27+
{"+ve with booleanData", args{baseData.NewBooleanData(false)}, false},
28+
{"-ve with different type of Data", args{baseData.NewStringData("stringData")}, true},
29+
{"+ve with true booleanData", args{baseParameters.NewParameter(baseProperties.NewMetaProperty(baseIDs.NewStringID("defineEnabled"), baseData.NewBooleanData(true)))}, false},
30+
{"+ve with false booleanData", args{baseParameters.NewParameter(baseProperties.NewMetaProperty(baseIDs.NewStringID("defineEnabled"), baseData.NewBooleanData(false)))}, false},
31+
{"+ve with incorrect ID", args{baseParameters.NewParameter(baseProperties.NewMetaProperty(baseIDs.NewStringID("ID"), baseData.NewBooleanData(false)))}, true},
32+
{"-ve nil", args{}, true},
33+
}
34+
for _, tt := range tests {
35+
t.Run(tt.name, func(t *testing.T) {
36+
if err := validator(tt.args.i); (err != nil) != tt.wantError {
37+
t.Errorf("validator() error = %v, wantErr %v", err, tt.wantError)
38+
}
39+
})
40+
}
41+
}

x/classifications/parameters/prototype.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ import (
88
baseHelpers "github.com/AssetMantle/modules/helpers/base"
99
"github.com/AssetMantle/modules/x/classifications/constants"
1010
"github.com/AssetMantle/modules/x/classifications/parameters/bond_rate"
11+
"github.com/AssetMantle/modules/x/classifications/parameters/define_enabled"
1112
"github.com/AssetMantle/modules/x/classifications/parameters/max_property_count"
1213
)
1314

1415
func Prototype() helpers.ParameterManager {
15-
return baseHelpers.NewParameterManager(constants.ModuleName, bond_rate.ValidatableParameter, max_property_count.ValidatableParameter)
16+
return baseHelpers.NewParameterManager(constants.ModuleName, bond_rate.ValidatableParameter, define_enabled.ValidatableParameter, max_property_count.ValidatableParameter)
1617
}

x/maintainers/auxiliaries/deputize/auxiliary_keeper.go

+27-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ import (
1010
baseData "github.com/AssetMantle/schema/go/data/base"
1111
"github.com/AssetMantle/schema/go/documents/base"
1212
errorConstants "github.com/AssetMantle/schema/go/errors/constants"
13+
"github.com/AssetMantle/schema/go/ids"
1314
baseIDs "github.com/AssetMantle/schema/go/ids/base"
15+
"github.com/AssetMantle/schema/go/lists"
1416
baseLists "github.com/AssetMantle/schema/go/lists/base"
1517
baseProperties "github.com/AssetMantle/schema/go/properties/base"
1618
constantProperties "github.com/AssetMantle/schema/go/properties/constants"
@@ -103,8 +105,11 @@ func (auxiliaryKeeper auxiliaryKeeper) Help(context context.Context, request hel
103105
return nil, errorConstants.NotAuthorized.Wrapf("maintainer does not have the permission to mutate maintainers")
104106
}
105107

106-
maintainedProperties := mappable.GetMaintainer(Mappable).GetMutables().GetMutablePropertyList().Add(baseLists.AnyPropertiesToProperties(auxiliaryRequest.MaintainedProperties.Get()...)...).Remove(baseLists.AnyPropertiesToProperties(removeMaintainedPropertyList.Get()...)...)
107-
maintainer := base.NewMaintainer(auxiliaryRequest.ToIdentityID, auxiliaryRequest.MaintainedClassificationID, maintainedProperties.GetPropertyIDList(), internalUtilities.SetModulePermissions(auxiliaryRequest.CanAddMaintainer, auxiliaryRequest.CanMutateMaintainer, auxiliaryRequest.CanRemoveMaintainer).Add(baseIDs.StringIDsToIDs(auxiliaryRequest.PermissionIDs)...))
108+
maintainedProperties := mappable.GetMaintainer(Mappable).GetMaintainedProperties().
109+
Add(idListToListData(auxiliaryRequest.MaintainedProperties.GetPropertyIDList())...).
110+
Remove(idListToListData(removeMaintainedPropertyList.GetPropertyIDList())...)
111+
112+
maintainer := base.NewMaintainer(auxiliaryRequest.ToIdentityID, auxiliaryRequest.MaintainedClassificationID, listDataToIDList(maintainedProperties), internalUtilities.SetModulePermissions(auxiliaryRequest.CanAddMaintainer, auxiliaryRequest.CanMutateMaintainer, auxiliaryRequest.CanRemoveMaintainer).Add(baseIDs.StringIDsToIDs(auxiliaryRequest.PermissionIDs)...))
108113

109114
if err := maintainer.ValidateBasic(); err != nil {
110115
return nil, err
@@ -136,3 +141,23 @@ func (auxiliaryKeeper auxiliaryKeeper) Initialize(mapper helpers.Mapper, paramet
136141
func keeperPrototype() helpers.AuxiliaryKeeper {
137142
return auxiliaryKeeper{}
138143
}
144+
145+
func idListToListData(idList lists.IDList) []data.ListableData {
146+
listableData := make([]data.ListableData, len(idList.GetList()))
147+
148+
for i, id := range idList.GetList() {
149+
listableData[i] = baseData.NewIDData(id)
150+
}
151+
152+
return listableData
153+
}
154+
155+
func listDataToIDList(listData data.ListData) lists.IDList {
156+
idList := make([]ids.ID, len(listData.Get()))
157+
158+
for i, datum := range listData.Get() {
159+
idList[i] = datum.Get().(data.IDData).Get()
160+
}
161+
162+
return baseLists.NewIDList(idList...)
163+
}

0 commit comments

Comments
 (0)