diff --git a/app/upgrade.go b/app/upgrade.go index 436c6218d..3d9b296d9 100644 --- a/app/upgrade.go +++ b/app/upgrade.go @@ -209,6 +209,9 @@ func (app *App) registerPawneeUpgradeHandler() { // todo app.GashubKeeper.SetMsgGasParams(ctx, *gashubtypes.NewMsgGasParamsWithFixedGas(sdk.MsgTypeURL(&storagemoduletypes.MsgUpdateDelegatedAgent{}), 1.2e3)) app.GashubKeeper.SetMsgGasParams(ctx, *gashubtypes.NewMsgGasParamsWithFixedGas(sdk.MsgTypeURL(&storagemoduletypes.MsgDelegateCreateObject{}), 1.2e3)) + app.GashubKeeper.SetMsgGasParams(ctx, *gashubtypes.NewMsgGasParamsWithFixedGas(sdk.MsgTypeURL(&storagemoduletypes.MsgDelegateUpdateObjectContent{}), 1.2e3)) + app.GashubKeeper.SetMsgGasParams(ctx, *gashubtypes.NewMsgGasParamsWithFixedGas(sdk.MsgTypeURL(&storagemoduletypes.MsgSealObjectV2{}), 1.2e3)) + return app.mm.RunMigrations(ctx, app.configurator, fromVM) }) diff --git a/e2e/tests/storage_test.go b/e2e/tests/storage_test.go index 58d89bddf..aaeddef62 100644 --- a/e2e/tests/storage_test.go +++ b/e2e/tests/storage_test.go @@ -2537,12 +2537,16 @@ func (s *StorageTestSuite) TestCreateObjectByDelegatedAgents() { s.SendTxBlockWithExpectErrorString(msgDelegateCreateObject, sp.OperatorKey, "has no CreateObject permission of the bucket") statement := &permissiontypes.Statement{ - Actions: []permissiontypes.ActionType{permissiontypes.ACTION_CREATE_OBJECT}, - Effect: permissiontypes.EFFECT_ALLOW, + Actions: []permissiontypes.ActionType{permissiontypes.ACTION_CREATE_OBJECT, permissiontypes.ACTION_UPDATE_OBJECT_CONTENT}, + Effect: permissiontypes.EFFECT_ALLOW, + Resources: []string{fmt.Sprintf("grn:o::%s/*", bucketName)}, } + principal := permissiontypes.NewPrincipalWithAccount(user.GetAddr()) msgPutPolicy := storagetypes.NewMsgPutPolicy(bucketOwner.GetAddr(), types2.NewBucketGRN(bucketName).String(), principal, []*permissiontypes.Statement{statement}, nil) + fmt.Println(types2.NewBucketGRN(bucketName).String()) + s.SendTxBlock(bucketOwner, msgPutPolicy) s.SendTxBlock(sp.OperatorKey, msgDelegateCreateObject) @@ -2558,4 +2562,63 @@ func (s *StorageTestSuite) TestCreateObjectByDelegatedAgents() { s.Require().Equal(bucketOwner.GetAddr().String(), headObjectResp.ObjectInfo.Owner) s.Require().Equal(0, len(headObjectResp.ObjectInfo.Checksums)) + // SP seal object, and update the object checksum + checksum := sdk.Keccak256(buffer.Bytes()) + expectChecksum := [][]byte{checksum, checksum, checksum, checksum, checksum, checksum, checksum} + + gvgId := gvg.Id + msgSealObject := storagetypes.NewMsgSealObjectV2(sp.SealKey.GetAddr(), bucketName, objectName, gvg.Id, nil, expectChecksum) + secondarySigs := make([][]byte, 0) + secondarySPBlsPubKeys := make([]bls.PublicKey, 0) + blsSignHash := storagetypes.NewSecondarySpSealObjectSignDoc(s.GetChainID(), gvgId, headObjectResp.ObjectInfo.Id, storagetypes.GenerateHash(expectChecksum[:])).GetBlsSignHash() + // every secondary sp signs the checksums + for _, spID := range gvg.SecondarySpIds { + sig, err := core.BlsSignAndVerify(s.StorageProviders[spID], blsSignHash) + s.Require().NoError(err) + secondarySigs = append(secondarySigs, sig) + pk, err := bls.PublicKeyFromBytes(s.StorageProviders[spID].BlsKey.PubKey().Bytes()) + s.Require().NoError(err) + secondarySPBlsPubKeys = append(secondarySPBlsPubKeys, pk) + } + aggBlsSig, err := core.BlsAggregateAndVerify(secondarySPBlsPubKeys, blsSignHash, secondarySigs) + s.Require().NoError(err) + msgSealObject.SecondarySpBlsAggSignatures = aggBlsSig + s.T().Logf("msg %s", msgSealObject.String()) + s.SendTxBlock(sp.SealKey, msgSealObject) + + headObjectResp, err = s.Client.HeadObject(ctx, &headObjectReq) + s.Require().NoError(err) + s.Require().Equal(objectName, headObjectResp.ObjectInfo.ObjectName) + s.Require().Equal(user.GetAddr().String(), headObjectResp.ObjectInfo.Creator) + s.Require().Equal(bucketOwner.GetAddr().String(), headObjectResp.ObjectInfo.Owner) + s.Require().Equal(expectChecksum, headObjectResp.ObjectInfo.Checksums) + + // delegate update + var newBuffer bytes.Buffer + for i := 0; i < 2048; i++ { + newBuffer.WriteString(fmt.Sprintf("[%05d] %s\n", i, line)) + } + newPayloadSize := uint64(newBuffer.Len()) + newChecksum := sdk.Keccak256(newBuffer.Bytes()) + newExpectChecksum := [][]byte{newChecksum, newChecksum, newChecksum, newChecksum, newChecksum, newChecksum, newChecksum} + + msgUpdateObject := storagetypes.NewMsgDelegateUpdateObjectContent(sp.OperatorKey.GetAddr(), + user.GetAddr(), bucketName, objectName, newPayloadSize, nil) + s.SendTxBlock(sp.OperatorKey, msgUpdateObject) + s.T().Logf("msgUpdateObject %s", msgUpdateObject.String()) + + // every secondary sp signs the checksums + newSecondarySigs := make([][]byte, 0) + newBlsSignHash := storagetypes.NewSecondarySpSealObjectSignDoc(s.GetChainID(), gvgId, headObjectResp.ObjectInfo.Id, storagetypes.GenerateHash(newExpectChecksum[:])).GetBlsSignHash() + for _, spID := range gvg.SecondarySpIds { + sig, err := core.BlsSignAndVerify(s.StorageProviders[spID], newBlsSignHash) + s.Require().NoError(err) + newSecondarySigs = append(newSecondarySigs, sig) + } + aggBlsSig, err = core.BlsAggregateAndVerify(secondarySPBlsPubKeys, newBlsSignHash, newSecondarySigs) + s.Require().NoError(err) + msgSealObject = storagetypes.NewMsgSealObjectV2(sp.SealKey.GetAddr(), bucketName, objectName, gvg.Id, nil, newExpectChecksum) + msgSealObject.SecondarySpBlsAggSignatures = aggBlsSig + s.T().Logf("msgSealObject %s", msgSealObject.String()) + s.SendTxBlock(sp.SealKey, msgSealObject) } diff --git a/proto/greenfield/storage/events.proto b/proto/greenfield/storage/events.proto index 306744127..58e8b1562 100644 --- a/proto/greenfield/storage/events.proto +++ b/proto/greenfield/storage/events.proto @@ -178,6 +178,10 @@ message EventSealObject { uint32 global_virtual_group_id = 7; // local_virtual_group_id defines the unique id of lvg which the object stored uint32 local_virtual_group_id = 8; + // checksums define the total checksums of the object which generated by redundancy + // SP might set the checksum of object if it was delegated created by SP, which checksum + // will not be available until sealing object. + repeated bytes checksums = 9; } // EventCopyObject is emitted on MsgCopyObject diff --git a/proto/greenfield/storage/tx.proto b/proto/greenfield/storage/tx.proto index 5373b1c6c..c7b760f78 100644 --- a/proto/greenfield/storage/tx.proto +++ b/proto/greenfield/storage/tx.proto @@ -28,6 +28,7 @@ service Msg { // basic operation of object rpc CreateObject(MsgCreateObject) returns (MsgCreateObjectResponse); rpc SealObject(MsgSealObject) returns (MsgSealObjectResponse); + rpc SealObjectV2(MsgSealObjectV2) returns (MsgSealObjectV2Response); rpc RejectSealObject(MsgRejectSealObject) returns (MsgRejectSealObjectResponse); rpc CopyObject(MsgCopyObject) returns (MsgCopyObjectResponse); rpc DeleteObject(MsgDeleteObject) returns (MsgDeleteObjectResponse); @@ -38,6 +39,7 @@ service Msg { rpc UpdateObjectContent(MsgUpdateObjectContent) returns (MsgUpdateObjectContentResponse); rpc CancelUpdateObjectContent(MsgCancelUpdateObjectContent) returns (MsgCancelUpdateObjectContentResponse); rpc DelegateCreateObject(MsgDelegateCreateObject) returns (MsgDelegateCreateObjectResponse); + rpc DelegateUpdateObjectContent(MsgDelegateUpdateObjectContent) returns (MsgDelegateUpdateObjectContentResponse); // basic operation of group rpc CreateGroup(MsgCreateGroup) returns (MsgCreateGroupResponse); @@ -192,6 +194,33 @@ message MsgSealObject { message MsgSealObjectResponse {} +message MsgSealObjectV2 { + option (cosmos.msg.v1.signer) = "operator"; + + // operator defines the account address of primary SP + string operator = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + + // bucket_name defines the name of the bucket where the object is stored. + string bucket_name = 2; + + // object_name defines the name of object to be sealed. + string object_name = 3; + + // global_virtual_group_id defines the id of global virtual group + uint32 global_virtual_group_id = 4; + + // secondary_sp_bls_agg_signatures defines the aggregate bls signature of the secondary sp that can + // acknowledge that the payload data has received and stored. + bytes secondary_sp_bls_agg_signatures = 5; + + // (optional) checksums define the total checksums of the object which generated by redundancy + // SP might set the checksum of object if it was delegated created by SP, which checksum + // will not be available until sealing object. + repeated bytes expect_checksums = 6; +} + +message MsgSealObjectV2Response {} + message MsgRejectSealObject { option (cosmos.msg.v1.signer) = "operator"; @@ -714,6 +743,25 @@ message MsgDelegateCreateObjectResponse { ]; } +message MsgDelegateUpdateObjectContent { + option (cosmos.msg.v1.signer) = "operator"; + // operator defines the account address of the operator, it is the delegated agent that allows to creat object under bucket. + string operator = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + // updater defines the account address of the object updater. + string updater = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + // bucket_name defines the name of the bucket where the object is stored. + string bucket_name = 3; + // object_name defines the name of object + string object_name = 4; + // payload_size defines size of the object's payload + uint64 payload_size = 5; + // content_type define the format of the object which should be a standard MIME type. + string content_type = 6; + // expect_checksums defines a list of hashes which was generate by redundancy algorithm. + repeated bytes expect_checksums = 7; +} + +message MsgDelegateUpdateObjectContentResponse {} message MsgUpdateDelegatedAgent { option (cosmos.msg.v1.signer) = "operator"; @@ -728,5 +776,4 @@ message MsgUpdateDelegatedAgent { repeated string agents_to_remove = 4 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } -message MsgUpdateDelegatedAgentResponse { -} \ No newline at end of file +message MsgUpdateDelegatedAgentResponse {} \ No newline at end of file diff --git a/x/permission/types/types.go b/x/permission/types/types.go index a4852aaf6..ae16f3734 100644 --- a/x/permission/types/types.go +++ b/x/permission/types/types.go @@ -28,12 +28,13 @@ var ( ACTION_UPDATE_BUCKET_INFO: true, ACTION_DELETE_BUCKET: true, - ACTION_CREATE_OBJECT: true, - ACTION_DELETE_OBJECT: true, - ACTION_GET_OBJECT: true, - ACTION_COPY_OBJECT: true, - ACTION_EXECUTE_OBJECT: true, - ACTION_LIST_OBJECT: true, + ACTION_CREATE_OBJECT: true, + ACTION_DELETE_OBJECT: true, + ACTION_GET_OBJECT: true, + ACTION_COPY_OBJECT: true, + ACTION_EXECUTE_OBJECT: true, + ACTION_LIST_OBJECT: true, + ACTION_UPDATE_OBJECT_CONTENT: true, ACTION_TYPE_ALL: true, } @@ -41,24 +42,26 @@ var ( ACTION_UPDATE_BUCKET_INFO: true, ACTION_DELETE_BUCKET: true, - ACTION_CREATE_OBJECT: true, - ACTION_DELETE_OBJECT: true, - ACTION_GET_OBJECT: true, - ACTION_COPY_OBJECT: true, - ACTION_EXECUTE_OBJECT: true, - ACTION_LIST_OBJECT: true, - ACTION_UPDATE_OBJECT_INFO: true, + ACTION_CREATE_OBJECT: true, + ACTION_DELETE_OBJECT: true, + ACTION_GET_OBJECT: true, + ACTION_COPY_OBJECT: true, + ACTION_EXECUTE_OBJECT: true, + ACTION_LIST_OBJECT: true, + ACTION_UPDATE_OBJECT_INFO: true, + ACTION_UPDATE_OBJECT_CONTENT: true, ACTION_TYPE_ALL: true, } ObjectAllowedActions = map[ActionType]bool{ - ACTION_UPDATE_OBJECT_INFO: true, - ACTION_CREATE_OBJECT: true, - ACTION_DELETE_OBJECT: true, - ACTION_GET_OBJECT: true, - ACTION_COPY_OBJECT: true, - ACTION_EXECUTE_OBJECT: true, - ACTION_LIST_OBJECT: true, + ACTION_UPDATE_OBJECT_INFO: true, + ACTION_CREATE_OBJECT: true, + ACTION_DELETE_OBJECT: true, + ACTION_GET_OBJECT: true, + ACTION_COPY_OBJECT: true, + ACTION_EXECUTE_OBJECT: true, + ACTION_LIST_OBJECT: true, + ACTION_UPDATE_OBJECT_CONTENT: true, ACTION_TYPE_ALL: true, } diff --git a/x/storage/keeper/keeper.go b/x/storage/keeper/keeper.go index e73cb09e6..184decb2b 100644 --- a/x/storage/keeper/keeper.go +++ b/x/storage/keeper/keeper.go @@ -569,31 +569,57 @@ func (k Keeper) CreateObject( // primary sp sp := k.MustGetPrimarySPForBucket(ctx, bucketInfo) + creator := operator + if opts.Delegated { + creator = opts.Creator + if operator.String() != sp.OperatorAddress { + // 3rd party must provide checksums + if opts.Checksums == nil { + return sdkmath.ZeroUint(), types.ErrObjectChecksumsMissing + } else { + if len(opts.Checksums) != int(1+k.GetExpectSecondarySPNumForECObject(ctx, ctx.BlockTime().Unix())) { + return sdkmath.ZeroUint(), gnfderrors.ErrInvalidChecksum.Wrapf("ExpectChecksums missing, expect: %d, actual: %d", + 1+k.RedundantParityChunkNum(ctx)+k.RedundantDataChunkNum(ctx), + len(opts.Checksums)) + } + } + } + allowed := false + for _, delegatedAgent := range bucketInfo.DelegatedAgentAddresses { + if operator.String() == delegatedAgent { + allowed = true + } + } + if !allowed { + return sdkmath.ZeroUint(), types.ErrAccessDenied.Wrap("the delegatee address is not allowed to create object") + } + } // verify permission verifyOpts := &permtypes.VerifyOptions{ WantedSize: &payloadSize, } - effect := k.VerifyBucketPermission(ctx, bucketInfo, operator, permtypes.ACTION_CREATE_OBJECT, verifyOpts) + effect := k.VerifyBucketPermission(ctx, bucketInfo, creator, permtypes.ACTION_CREATE_OBJECT, verifyOpts) if effect != permtypes.EFFECT_ALLOW { - return sdkmath.ZeroUint(), types.ErrAccessDenied.Wrapf("The operator(%s) has no CreateObject permission of the bucket(%s)", + return sdkmath.ZeroUint(), types.ErrAccessDenied.Wrapf("The creator(%s) has no CreateObject permission of the bucket(%s)", operator.String(), bucketName) } - var creator sdk.AccAddress - if !operator.Equals(sdk.MustAccAddressFromHex(bucketInfo.Owner)) { - creator = operator + // set objectInfo creator to empty if same as owner + objectInfoCreator := creator + if objectInfoCreator.Equals(sdk.MustAccAddressFromHex(bucketInfo.Owner)) { + objectInfoCreator = sdk.AccAddress{} } - // check approval - if opts.PrimarySpApproval.ExpiredHeight < uint64(ctx.BlockHeight()) { - return sdkmath.ZeroUint(), errors.Wrapf(types.ErrInvalidApproval, "The approval of sp is expired.") - } - - err = k.VerifySPAndSignature(ctx, sp, opts.ApprovalMsgBytes, opts.PrimarySpApproval.Sig, operator) - if err != nil { - return sdkmath.ZeroUint(), err - } + //// check approval + //if opts.PrimarySpApproval.ExpiredHeight < uint64(ctx.BlockHeight()) { + // return sdkmath.ZeroUint(), errors.Wrapf(types.ErrInvalidApproval, "The approval of sp is expired.") + //} + // + //err = k.VerifySPAndSignature(ctx, sp, opts.ApprovalMsgBytes, opts.PrimarySpApproval.Sig, operator) + //if err != nil { + // return sdkmath.ZeroUint(), err + //} objectKey := types.GetObjectKey(bucketName, objectName) if store.Has(objectKey) { @@ -612,7 +638,7 @@ func (k Keeper) CreateObject( // construct objectInfo objectInfo := types.ObjectInfo{ Owner: bucketInfo.Owner, - Creator: creator.String(), + Creator: objectInfoCreator.String(), BucketName: bucketName, ObjectName: objectName, PayloadSize: payloadSize, @@ -646,125 +672,6 @@ func (k Keeper) CreateObject( store.Set(objectKey, k.objectSeq.EncodeSequence(objectInfo.Id)) store.Set(types.GetObjectByIDKey(objectInfo.Id), obz) - if err = ctx.EventManager().EmitTypedEvents(&types.EventCreateObject{ - Creator: operator.String(), - Owner: objectInfo.Owner, - BucketName: bucketInfo.BucketName, - ObjectName: objectInfo.ObjectName, - BucketId: bucketInfo.Id, - ObjectId: objectInfo.Id, - CreateAt: objectInfo.CreateAt, - PayloadSize: objectInfo.PayloadSize, - Visibility: objectInfo.Visibility, - PrimarySpId: sp.Id, - ContentType: objectInfo.ContentType, - Status: objectInfo.ObjectStatus, - RedundancyType: objectInfo.RedundancyType, - SourceType: objectInfo.SourceType, - Checksums: objectInfo.Checksums, - LocalVirtualGroupId: objectInfo.LocalVirtualGroupId, - }); err != nil { - return objectInfo.Id, err - } - return objectInfo.Id, nil -} - -func (k Keeper) DelegateCreateObject( - ctx sdk.Context, delegatee, creator sdk.AccAddress, bucketName, objectName string, payloadSize uint64, - opts types.CreateObjectOptions, -) (sdkmath.Uint, error) { - store := ctx.KVStore(k.storeKey) - - // check payload size - if payloadSize > k.MaxPayloadSize(ctx) { - return sdkmath.ZeroUint(), types.ErrTooLargeObject - } - - // check bucket - bucketInfo, found := k.GetBucketInfo(ctx, bucketName) - if !found { - return sdkmath.ZeroUint(), types.ErrNoSuchBucket - } - err := bucketInfo.CheckBucketStatus() - if err != nil { - return sdkmath.ZeroUint(), err - } - - // primary sp - sp := k.MustGetPrimarySPForBucket(ctx, bucketInfo) - - allowed := false - _ = false - // check if the delegated agent is the primary SP. - for _, delegatedAgent := range bucketInfo.DelegatedAgentAddresses { - if delegatee.String() == delegatedAgent { - allowed = true - if delegatee.String() == sp.OperatorAddress { - _ = true - } - } - } - if !allowed { - return sdkmath.ZeroUint(), fmt.Errorf("the delegatee address is not allowed to create object") - } - - // verify permission of creator - verifyOpts := &permtypes.VerifyOptions{ - WantedSize: &payloadSize, - } - effect := k.VerifyBucketPermission(ctx, bucketInfo, creator, permtypes.ACTION_CREATE_OBJECT, verifyOpts) - if effect != permtypes.EFFECT_ALLOW { - return sdkmath.ZeroUint(), types.ErrAccessDenied.Wrapf("The creator(%s) has no CreateObject permission of the bucket(%s)", - creator.String(), bucketName) - } - objectKey := types.GetObjectKey(bucketName, objectName) - if store.Has(objectKey) { - return sdkmath.ZeroUint(), types.ErrObjectAlreadyExists - } - // check payload size, the empty object doesn't need sealed - var objectStatus types.ObjectStatus - if payloadSize == 0 { - // empty object does not interact with sp - objectStatus = types.OBJECT_STATUS_SEALED - } else { - objectStatus = types.OBJECT_STATUS_CREATED - } - // construct objectInfo - objectInfo := types.ObjectInfo{ - Owner: bucketInfo.Owner, - Creator: creator.String(), - BucketName: bucketName, - ObjectName: objectName, - PayloadSize: payloadSize, - Visibility: opts.Visibility, - ContentType: opts.ContentType, - Id: k.GenNextObjectID(ctx), - CreateAt: ctx.BlockTime().Unix(), - ObjectStatus: objectStatus, - RedundancyType: opts.RedundancyType, - SourceType: opts.SourceType, - Checksums: opts.Checksums, - } - if objectInfo.PayloadSize == 0 { - _, err := k.SealEmptyObjectOnVirtualGroup(ctx, bucketInfo, &objectInfo) - if err != nil { - return sdkmath.ZeroUint(), err - } - } else { - // Lock Fee - err = k.LockObjectStoreFee(ctx, bucketInfo, &objectInfo) - if err != nil { - return sdkmath.ZeroUint(), err - } - } - - bbz := k.cdc.MustMarshal(bucketInfo) - store.Set(types.GetBucketByIDKey(bucketInfo.Id), bbz) - - obz := k.cdc.MustMarshal(&objectInfo) - store.Set(objectKey, k.objectSeq.EncodeSequence(objectInfo.Id)) - store.Set(types.GetObjectByIDKey(objectInfo.Id), obz) - if err = ctx.EventManager().EmitTypedEvents(&types.EventCreateObject{ Creator: creator.String(), Owner: objectInfo.Owner, @@ -873,6 +780,7 @@ func (k Keeper) MustGetShadowObjectInfo(ctx sdk.Context, bucketName, objectName type SealObjectOptions struct { GlobalVirtualGroupId uint32 SecondarySpBlsSignatures []byte + Checksums [][]byte } func (k Keeper) SealObject( @@ -899,6 +807,13 @@ func (k Keeper) SealObject( if !found { return types.ErrNoSuchObject } + + if objectInfo.Checksums == nil { + if opts.Checksums == nil { + return types.ErrObjectChecksumsMissing + } + objectInfo.Checksums = opts.Checksums + } store := ctx.KVStore(k.storeKey) prevPayloadSize := objectInfo.PayloadSize @@ -920,6 +835,12 @@ func (k Keeper) SealObject( shadowObjectInfo := k.MustGetShadowObjectInfo(ctx, bucketName, objectName) objectInfo.UpdatedAt = shadowObjectInfo.UpdatedAt // the updated_at in objetInfo will not be visible until the object is sealed. objectInfo.Version = shadowObjectInfo.Version + if shadowObjectInfo.Checksums == nil { + if opts.Checksums == nil { + return types.ErrObjectChecksumsMissing + } + shadowObjectInfo.Checksums = opts.Checksums + } objectInfo.Checksums = shadowObjectInfo.Checksums objectInfo.PayloadSize = shadowObjectInfo.PayloadSize objectInfo.UpdatedBy = shadowObjectInfo.Operator @@ -989,6 +910,7 @@ func (k Keeper) SealObject( Status: objectInfo.ObjectStatus, GlobalVirtualGroupId: opts.GlobalVirtualGroupId, LocalVirtualGroupId: objectInfo.LocalVirtualGroupId, + Checksums: objectInfo.Checksums, }); err != nil { return err } @@ -2549,27 +2471,52 @@ func (k Keeper) UpdateObjectContent( return types.ErrObjectIsUpdating.Wrapf("The object is already being updated") } // check permission - effect := k.VerifyObjectPermission(ctx, bucketInfo, objectInfo, operator, permtypes.ACTION_UPDATE_OBJECT_CONTENT) + var updater sdk.AccAddress + if opts.Delegated { + updater = opts.Updater + } else { + updater = operator + } + effect := k.VerifyObjectPermission(ctx, bucketInfo, objectInfo, updater, permtypes.ACTION_UPDATE_OBJECT_CONTENT) if effect != permtypes.EFFECT_ALLOW { return types.ErrAccessDenied.Wrapf( - "The operator(%s) has no updateObjectContent permission of the bucket(%s), object(%s)", - operator.String(), bucketName, objectName) + "The updater(%s) has no updateObjectContent permission of the bucket(%s), object(%s)", + updater.String(), bucketName, objectName) } - // check payload size if payloadSize > k.MaxPayloadSize(ctx) { return types.ErrTooLargeObject } - // primary sp sp := k.MustGetPrimarySPForBucket(ctx, bucketInfo) // a sp is not in service, neither in maintenance if sp.Status != sptypes.STATUS_IN_SERVICE && !k.fromSpMaintenanceAcct(sp, operator) { return errors.Wrap(types.ErrNoSuchStorageProvider, "the storage provider is not in service") } - + if opts.Delegated { + if operator.String() != sp.OperatorAddress { + // 3rd party must provide checksums + if opts.Checksums == nil { + return types.ErrObjectChecksumsMissing + } else { + if len(opts.Checksums) != int(1+k.GetExpectSecondarySPNumForECObject(ctx, ctx.BlockTime().Unix())) { + return gnfderrors.ErrInvalidChecksum.Wrapf("ExpectChecksums missing, expect: %d, actual: %d", + 1+k.RedundantParityChunkNum(ctx)+k.RedundantDataChunkNum(ctx), + len(opts.Checksums)) + } + } + } + allowed := false + for _, delegatedAgent := range bucketInfo.DelegatedAgentAddresses { + if operator.String() == delegatedAgent { + allowed = true + } + } + if !allowed { + return types.ErrAccessDenied.Wrap("the delegatee's address is not allowed to create object") + } + } nextVersion := objectInfo.Version + 1 - if payloadSize == 0 { internalBucketInfo := k.MustGetInternalBucketInfo(ctx, bucketInfo.Id) err := k.UnChargeObjectStoreFee(ctx, bucketInfo, k.MustGetInternalBucketInfo(ctx, bucketInfo.Id), objectInfo) @@ -2581,12 +2528,11 @@ func (k Keeper) UpdateObjectContent( if err != nil { return err } - objectInfo.UpdatedAt = ctx.BlockTime().Unix() objectInfo.Version = nextVersion objectInfo.PayloadSize = 0 objectInfo.Checksums = opts.Checksums - objectInfo.UpdatedBy = operator.String() + objectInfo.UpdatedBy = updater.String() objectInfo.ContentType = opts.ContentType _, err = k.SealEmptyObjectOnVirtualGroup(ctx, bucketInfo, objectInfo) @@ -2596,7 +2542,7 @@ func (k Keeper) UpdateObjectContent( } else { objectInfo.IsUpdating = true shadowObjectInfo := &types.ShadowObjectInfo{ - Operator: operator.String(), + Operator: updater.String(), Id: objectInfo.Id, PayloadSize: payloadSize, Checksums: opts.Checksums, @@ -2614,9 +2560,8 @@ func (k Keeper) UpdateObjectContent( obz := k.cdc.MustMarshal(objectInfo) store.Set(types.GetObjectKey(bucketName, objectName), k.objectSeq.EncodeSequence(objectInfo.Id)) store.Set(types.GetObjectByIDKey(objectInfo.Id), obz) - if err = ctx.EventManager().EmitTypedEvents(&types.EventUpdateObjectContent{ - Operator: operator.String(), + Operator: updater.String(), ObjectId: objectInfo.Id, PayloadSize: payloadSize, Checksums: opts.Checksums, diff --git a/x/storage/keeper/msg_server.go b/x/storage/keeper/msg_server.go index f49406011..a8b720701 100644 --- a/x/storage/keeper/msg_server.go +++ b/x/storage/keeper/msg_server.go @@ -768,21 +768,16 @@ func (k msgServer) CancelUpdateObjectContent(goCtx context.Context, msg *storage func (k msgServer) DelegateCreateObject(goCtx context.Context, msg *storagetypes.MsgDelegateCreateObject) (*storagetypes.MsgDelegateCreateObjectResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - delegatedAddr := sdk.MustAccAddressFromHex(msg.Operator) + operatorAddr := sdk.MustAccAddressFromHex(msg.Operator) creatorAddr := sdk.MustAccAddressFromHex(msg.Creator) - if msg.ExpectChecksums != nil { - if len(msg.ExpectChecksums) != int(1+k.GetExpectSecondarySPNumForECObject(ctx, ctx.BlockTime().Unix())) { - return nil, gnfderrors.ErrInvalidChecksum.Wrapf("ExpectChecksums missing, expect: %d, actual: %d", - 1+k.Keeper.RedundantParityChunkNum(ctx)+k.Keeper.RedundantDataChunkNum(ctx), - len(msg.ExpectChecksums)) - } - } - id, err := k.Keeper.DelegateCreateObject(ctx, delegatedAddr, creatorAddr, msg.BucketName, msg.ObjectName, msg.PayloadSize, storagetypes.CreateObjectOptions{ + id, err := k.Keeper.CreateObject(ctx, operatorAddr, msg.BucketName, msg.ObjectName, msg.PayloadSize, storagetypes.CreateObjectOptions{ SourceType: types.SOURCE_TYPE_ORIGIN, Visibility: msg.Visibility, ContentType: msg.ContentType, RedundancyType: msg.RedundancyType, Checksums: msg.ExpectChecksums, + Delegated: true, + Creator: creatorAddr, }) if err != nil { return nil, err @@ -792,6 +787,38 @@ func (k msgServer) DelegateCreateObject(goCtx context.Context, msg *storagetypes }, nil } +func (k msgServer) DelegateUpdateObjectContent(goCtx context.Context, msg *storagetypes.MsgDelegateUpdateObjectContent) (*storagetypes.MsgDelegateUpdateObjectContentResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + operatorAddr := sdk.MustAccAddressFromHex(msg.Operator) + updaterAddr := sdk.MustAccAddressFromHex(msg.Updater) + err := k.Keeper.UpdateObjectContent(ctx, operatorAddr, msg.BucketName, msg.ObjectName, msg.PayloadSize, storagetypes.UpdateObjectOptions{ + ContentType: msg.ContentType, + Checksums: msg.ExpectChecksums, + Delegated: true, + Updater: updaterAddr, + }) + if err != nil { + return nil, err + } + return &types.MsgDelegateUpdateObjectContentResponse{}, nil +} + +func (k msgServer) SealObjectV2(goCtx context.Context, msg *storagetypes.MsgSealObjectV2) (*storagetypes.MsgSealObjectV2Response, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + spSealAcc := sdk.MustAccAddressFromHex(msg.Operator) + + err := k.Keeper.SealObject(ctx, spSealAcc, msg.BucketName, msg.ObjectName, SealObjectOptions{ + GlobalVirtualGroupId: msg.GlobalVirtualGroupId, + SecondarySpBlsSignatures: msg.SecondarySpBlsAggSignatures, + Checksums: msg.ExpectChecksums, + }) + if err != nil { + return nil, err + } + return &types.MsgSealObjectV2Response{}, nil +} + func (k Keeper) verifyGVGSignatures(ctx sdk.Context, bucketID math.Uint, dstSP *sptypes.StorageProvider, gvgMappings []*storagetypes.GVGMapping) error { // verify secondary sp signature for _, newLvg2gvg := range gvgMappings { diff --git a/x/storage/types/codec.go b/x/storage/types/codec.go index 1eee98226..1a26b1a1d 100644 --- a/x/storage/types/codec.go +++ b/x/storage/types/codec.go @@ -127,6 +127,12 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgUpdateDelegatedAgent{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSealObjectV2{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgDelegateUpdateObjectContent{}, + ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) } diff --git a/x/storage/types/errors.go b/x/storage/types/errors.go index 32509e1c7..fb1a1fab3 100644 --- a/x/storage/types/errors.go +++ b/x/storage/types/errors.go @@ -34,6 +34,8 @@ var ( ErrUpdateObjectNotAllowed = errors.Register(ModuleName, 1126, "Object is not allowed to update") ErrObjectIsUpdating = errors.Register(ModuleName, 1127, "Object is being updated") ErrObjectIsNotUpdating = errors.Register(ModuleName, 1128, "Object is not being updated") + ErrObjectChecksumsPresent = errors.Register(ModuleName, 1129, "Object checksums is present") + ErrObjectChecksumsMissing = errors.Register(ModuleName, 1130, "Object checksums is missing") ErrInvalidCrossChainPackage = errors.Register(ModuleName, 3000, "invalid cross chain package") ErrAlreadyMirrored = errors.Register(ModuleName, 3001, "resource is already mirrored") diff --git a/x/storage/types/events.pb.go b/x/storage/types/events.pb.go index faddbb2b3..42d16a15a 100644 --- a/x/storage/types/events.pb.go +++ b/x/storage/types/events.pb.go @@ -650,6 +650,10 @@ type EventSealObject struct { GlobalVirtualGroupId uint32 `protobuf:"varint,7,opt,name=global_virtual_group_id,json=globalVirtualGroupId,proto3" json:"global_virtual_group_id,omitempty"` // local_virtual_group_id defines the unique id of lvg which the object stored LocalVirtualGroupId uint32 `protobuf:"varint,8,opt,name=local_virtual_group_id,json=localVirtualGroupId,proto3" json:"local_virtual_group_id,omitempty"` + // checksums define the total checksums of the object which generated by redundancy + // SP might set the checksum of object if it was delegated created by SP, which checksum + // will not be available until sealing object. + Checksums [][]byte `protobuf:"bytes,9,rep,name=checksums,proto3" json:"checksums,omitempty"` } func (m *EventSealObject) Reset() { *m = EventSealObject{} } @@ -727,6 +731,13 @@ func (m *EventSealObject) GetLocalVirtualGroupId() uint32 { return 0 } +func (m *EventSealObject) GetChecksums() [][]byte { + if m != nil { + return m.Checksums + } + return nil +} + // EventCopyObject is emitted on MsgCopyObject type EventCopyObject struct { // operator define the account address of operator who copy the object @@ -2706,126 +2717,126 @@ func init() { func init() { proto.RegisterFile("greenfield/storage/events.proto", fileDescriptor_946dcba4f763ddc4) } var fileDescriptor_946dcba4f763ddc4 = []byte{ - // 1891 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5a, 0xcb, 0x8f, 0xdb, 0xc6, - 0x19, 0x37, 0xf5, 0x5a, 0xe9, 0xd3, 0x4a, 0xf2, 0xb2, 0x5b, 0x47, 0xdd, 0x24, 0x5a, 0x85, 0x45, - 0xd3, 0x4d, 0x50, 0x4b, 0x85, 0x93, 0x16, 0xbe, 0x19, 0xbb, 0xeb, 0xb4, 0x10, 0xda, 0x24, 0x2e, - 0xe5, 0xe4, 0xd0, 0x0b, 0x31, 0x22, 0x67, 0x65, 0xd6, 0x14, 0x87, 0x9d, 0x19, 0xed, 0x5a, 0xf9, - 0x07, 0x7a, 0x2a, 0x10, 0xa0, 0x28, 0xd0, 0x5e, 0x72, 0x6d, 0x81, 0xa2, 0x40, 0x0f, 0xb9, 0xf6, - 0xee, 0x63, 0xe2, 0x5e, 0xfa, 0x00, 0xd2, 0xc2, 0xbe, 0x34, 0x05, 0x8a, 0xf6, 0xdc, 0x53, 0xc1, - 0x99, 0x21, 0x45, 0x8a, 0x5a, 0x6b, 0x29, 0xc7, 0xde, 0x75, 0x6e, 0xe2, 0xe8, 0xc7, 0xd1, 0xf7, - 0xf8, 0x7d, 0x8f, 0xf9, 0x46, 0xb0, 0x3b, 0xa6, 0x18, 0xfb, 0x47, 0x2e, 0xf6, 0x9c, 0x3e, 0xe3, - 0x84, 0xa2, 0x31, 0xee, 0xe3, 0x63, 0xec, 0x73, 0xd6, 0x0b, 0x28, 0xe1, 0x44, 0xd7, 0xe7, 0x80, - 0x9e, 0x02, 0xec, 0x7c, 0xcd, 0x26, 0x6c, 0x42, 0x98, 0x25, 0x10, 0x7d, 0xf9, 0x20, 0xe1, 0x3b, - 0xdb, 0x63, 0x32, 0x26, 0x72, 0x3d, 0xfc, 0xa4, 0x56, 0x77, 0xc7, 0x84, 0x8c, 0x3d, 0xdc, 0x17, - 0x4f, 0xa3, 0xe9, 0x51, 0x9f, 0xbb, 0x13, 0xcc, 0x38, 0x9a, 0x04, 0x31, 0x60, 0x2e, 0x06, 0xc5, - 0x8c, 0x4c, 0xa9, 0x8d, 0xfb, 0x7c, 0x16, 0x60, 0xb6, 0x04, 0x10, 0xc9, 0x69, 0x93, 0xc9, 0x84, - 0xf8, 0x0a, 0xd0, 0x59, 0x02, 0x48, 0x6c, 0x60, 0xfc, 0xa9, 0x04, 0x5b, 0x6f, 0x85, 0x8a, 0x1d, - 0x52, 0x8c, 0x38, 0x3e, 0x98, 0xda, 0x77, 0x31, 0xd7, 0x7b, 0x50, 0x26, 0x27, 0x3e, 0xa6, 0x6d, - 0xad, 0xab, 0xed, 0xd5, 0x0e, 0xda, 0x0f, 0x3e, 0xbe, 0xba, 0xad, 0xf4, 0xd9, 0x77, 0x1c, 0x8a, - 0x19, 0x1b, 0x72, 0xea, 0xfa, 0x63, 0x53, 0xc2, 0xf4, 0x5d, 0xa8, 0x8f, 0xc4, 0x9b, 0x96, 0x8f, - 0x26, 0xb8, 0x5d, 0x08, 0xdf, 0x32, 0x41, 0x2e, 0xbd, 0x83, 0x26, 0x58, 0x3f, 0x00, 0x38, 0x76, - 0x99, 0x3b, 0x72, 0x3d, 0x97, 0xcf, 0xda, 0xc5, 0xae, 0xb6, 0xd7, 0xbc, 0x66, 0xf4, 0xb2, 0x36, - 0xec, 0xbd, 0x1f, 0xa3, 0x6e, 0xcf, 0x02, 0x6c, 0x26, 0xde, 0xd2, 0x5f, 0x84, 0x9a, 0x2d, 0x84, - 0xb4, 0x10, 0x6f, 0x97, 0xba, 0xda, 0x5e, 0xd1, 0xac, 0xca, 0x85, 0x7d, 0xae, 0x5f, 0x87, 0x9a, - 0x92, 0xc0, 0x75, 0xda, 0x65, 0x21, 0xf5, 0x8b, 0xf7, 0x3f, 0xdb, 0xbd, 0xf4, 0xd7, 0xcf, 0x76, - 0x4b, 0xef, 0xb9, 0x3e, 0x7f, 0xf0, 0xf1, 0xd5, 0xba, 0xd2, 0x20, 0x7c, 0x34, 0xab, 0x12, 0x3d, - 0x70, 0xf4, 0x1b, 0x50, 0x97, 0x86, 0xb5, 0x42, 0xbb, 0xb4, 0x2b, 0x42, 0xb6, 0xce, 0x32, 0xd9, - 0x86, 0x02, 0x26, 0xe5, 0x62, 0xf1, 0x67, 0xfd, 0x5b, 0xa0, 0xdb, 0x77, 0x10, 0x1d, 0x63, 0xc7, - 0xa2, 0x18, 0x39, 0xd6, 0x4f, 0xa7, 0x84, 0xa3, 0xf6, 0x46, 0x57, 0xdb, 0x2b, 0x99, 0x97, 0xd5, - 0x37, 0x26, 0x46, 0xce, 0x8f, 0xc2, 0x75, 0x7d, 0x1f, 0x5a, 0x01, 0x9a, 0x4d, 0xb0, 0xcf, 0x2d, - 0x24, 0x4d, 0xd9, 0xae, 0xae, 0x30, 0x72, 0x53, 0xbd, 0xa0, 0x56, 0x75, 0x03, 0x1a, 0x01, 0x75, - 0x27, 0x88, 0xce, 0x2c, 0x16, 0x84, 0xfa, 0xd6, 0xba, 0xda, 0x5e, 0xc3, 0xac, 0xab, 0xc5, 0x61, - 0x30, 0x70, 0xf4, 0x03, 0xe8, 0x8c, 0x3d, 0x32, 0x42, 0x9e, 0x75, 0xec, 0x52, 0x3e, 0x45, 0x9e, - 0x35, 0xa6, 0x64, 0x1a, 0x58, 0x47, 0x68, 0xe2, 0x7a, 0xb3, 0xf0, 0x25, 0x10, 0x2f, 0xed, 0x48, - 0xd4, 0xfb, 0x12, 0xf4, 0xfd, 0x10, 0xf3, 0x3d, 0x01, 0x19, 0x38, 0xfa, 0x75, 0xa8, 0x30, 0x8e, - 0xf8, 0x94, 0xb5, 0xeb, 0xc2, 0x28, 0xdd, 0x65, 0x46, 0x91, 0x8c, 0x19, 0x0a, 0x9c, 0xa9, 0xf0, - 0xc6, 0xaf, 0x0a, 0x8a, 0x55, 0x37, 0xb1, 0x87, 0x63, 0x56, 0xbd, 0x09, 0x55, 0x12, 0x60, 0x8a, - 0x38, 0x59, 0x4d, 0xac, 0x18, 0x39, 0xe7, 0x62, 0x61, 0x2d, 0x2e, 0x16, 0x33, 0x5c, 0x4c, 0x51, - 0xa5, 0x94, 0x87, 0x2a, 0xab, 0x8d, 0x5a, 0x5e, 0x65, 0x54, 0xe3, 0x67, 0x45, 0xf8, 0xaa, 0x30, - 0xcd, 0x7b, 0x81, 0x13, 0x07, 0xdc, 0xc0, 0x3f, 0x22, 0x6b, 0x9a, 0x67, 0x65, 0xe8, 0xa5, 0xd4, - 0x2d, 0xe6, 0x51, 0x77, 0x39, 0xb1, 0x4b, 0xa7, 0x10, 0xfb, 0x9b, 0x59, 0x62, 0x8b, 0x38, 0xcc, - 0xd0, 0x37, 0x9d, 0x0b, 0x2a, 0x6b, 0xe5, 0x82, 0xd5, 0x9e, 0xd8, 0x58, 0xe9, 0x89, 0xdf, 0x6a, - 0x70, 0x45, 0x92, 0xd4, 0x65, 0x36, 0xf1, 0xb9, 0xeb, 0x4f, 0x23, 0xa6, 0xa6, 0x6c, 0xa6, 0xe5, - 0xb1, 0xd9, 0x4a, 0x77, 0x5c, 0x81, 0x0a, 0xc5, 0x88, 0x11, 0x5f, 0x31, 0x53, 0x3d, 0x85, 0xd9, - 0xcd, 0x11, 0xc1, 0x92, 0xc8, 0x6e, 0x72, 0x61, 0x9f, 0x1b, 0xbf, 0xa8, 0xa4, 0xb2, 0xf4, 0xbb, - 0xa3, 0x9f, 0x60, 0x9b, 0xeb, 0xd7, 0x60, 0x43, 0xe4, 0xbf, 0x33, 0xf0, 0x25, 0x02, 0x7e, 0xf1, - 0xd1, 0xb4, 0x0b, 0x75, 0x22, 0xc4, 0x91, 0x80, 0x92, 0x04, 0xc8, 0xa5, 0x2c, 0xff, 0x2a, 0x79, - 0x6c, 0x79, 0x1d, 0x6a, 0x6a, 0x6b, 0xe5, 0xcf, 0x55, 0x6f, 0x4a, 0xf4, 0xc0, 0xc9, 0x66, 0xc8, - 0x6a, 0x36, 0x43, 0xbe, 0x02, 0x9b, 0x01, 0x9a, 0x79, 0x04, 0x39, 0x16, 0x73, 0x3f, 0xc0, 0x22, - 0x89, 0x96, 0xcc, 0xba, 0x5a, 0x1b, 0xba, 0x1f, 0x2c, 0x56, 0x2d, 0x58, 0x8b, 0xa9, 0xaf, 0xc0, - 0x66, 0x48, 0xae, 0x30, 0x2c, 0x44, 0x7d, 0xa9, 0x0b, 0x03, 0xd5, 0xd5, 0x9a, 0x28, 0x20, 0xa9, - 0xc2, 0xb6, 0x99, 0x29, 0x6c, 0x51, 0x12, 0x6e, 0x9c, 0x9e, 0x84, 0x25, 0x21, 0xd2, 0x49, 0x58, - 0xff, 0x01, 0xb4, 0x28, 0x76, 0xa6, 0xbe, 0x83, 0x7c, 0x7b, 0x26, 0x7f, 0xbc, 0x79, 0xba, 0x0a, - 0x66, 0x0c, 0x15, 0x2a, 0x34, 0x69, 0xea, 0x79, 0xb1, 0x4a, 0xb6, 0x72, 0x57, 0xc9, 0x97, 0xa0, - 0x66, 0xdf, 0xc1, 0xf6, 0x5d, 0x36, 0x9d, 0xb0, 0xf6, 0xe5, 0x6e, 0x71, 0x6f, 0xd3, 0x9c, 0x2f, - 0xe8, 0x6f, 0xc0, 0x15, 0x8f, 0xd8, 0x99, 0x70, 0x76, 0x9d, 0xf6, 0x96, 0xf0, 0xdc, 0x57, 0xc4, - 0xb7, 0xc9, 0x30, 0x1e, 0x38, 0xc6, 0x7f, 0x34, 0x78, 0x41, 0x46, 0x05, 0xf2, 0x6d, 0xec, 0xa5, - 0x62, 0xe3, 0x29, 0x25, 0xd3, 0x05, 0xb6, 0x17, 0x33, 0x6c, 0xcf, 0x30, 0xaf, 0x94, 0x65, 0x5e, - 0x8a, 0xd7, 0x95, 0x1c, 0xbc, 0x36, 0x3e, 0x2f, 0x40, 0x4b, 0x68, 0x3c, 0xc4, 0xc8, 0x3b, 0x67, - 0x4d, 0x53, 0x5a, 0x94, 0xf3, 0x44, 0xe7, 0x9c, 0xd2, 0x95, 0x9c, 0x94, 0xfe, 0x0e, 0xbc, 0xb0, - 0x34, 0xed, 0xc7, 0xf9, 0x7e, 0x3b, 0x9b, 0xef, 0x07, 0xce, 0x63, 0xd8, 0x55, 0x3d, 0x9d, 0x5d, - 0x1f, 0x15, 0x95, 0xad, 0x0f, 0x49, 0x30, 0x7b, 0x22, 0x5b, 0xbf, 0x0a, 0x2d, 0x46, 0x6d, 0x2b, - 0x6b, 0xef, 0x06, 0xa3, 0xf6, 0xc1, 0xdc, 0xe4, 0x0a, 0x97, 0x35, 0x7b, 0x88, 0x7b, 0x77, 0x6e, - 0xf9, 0x57, 0xa1, 0xe5, 0x30, 0x9e, 0xda, 0x4f, 0xa6, 0xdd, 0x86, 0xc3, 0x78, 0x7a, 0xbf, 0x10, - 0x97, 0xdc, 0xaf, 0x1c, 0xe3, 0x12, 0xfb, 0xdd, 0x80, 0x46, 0xe2, 0x77, 0xcf, 0xc6, 0xc9, 0x7a, - 0x2c, 0x92, 0x68, 0xa1, 0x1b, 0x89, 0x1f, 0x3a, 0x5b, 0xb2, 0xae, 0xc7, 0x32, 0xac, 0xeb, 0xa0, - 0xff, 0x69, 0xa9, 0x26, 0xf3, 0x22, 0x85, 0x43, 0x29, 0x4f, 0x38, 0x9c, 0xae, 0x7c, 0xf9, 0x74, - 0xe5, 0xff, 0xa9, 0xa9, 0x36, 0xd2, 0xc4, 0x22, 0x4e, 0x2e, 0x58, 0x3e, 0xc8, 0x65, 0x80, 0x97, - 0x01, 0x8e, 0x08, 0xb5, 0xa6, 0xa2, 0x21, 0x16, 0x4a, 0x57, 0xcd, 0xda, 0x11, 0xa1, 0xb2, 0x43, - 0x5e, 0xda, 0xa7, 0x29, 0x5d, 0x17, 0xa4, 0xd6, 0x96, 0x35, 0xbf, 0x73, 0xa1, 0x0a, 0x79, 0x84, - 0x5a, 0xab, 0x4f, 0xfb, 0x79, 0x21, 0xd5, 0xdc, 0x2b, 0x7e, 0x3f, 0xc5, 0xe6, 0xfe, 0x29, 0x7a, - 0x25, 0xdd, 0xfc, 0x94, 0xd7, 0x69, 0x7e, 0x8c, 0xff, 0x6a, 0x70, 0x39, 0xd1, 0xb7, 0x0a, 0xf2, - 0xe6, 0x1e, 0x2e, 0xbc, 0x0c, 0x20, 0x23, 0x22, 0x61, 0x83, 0x9a, 0x58, 0x11, 0x1a, 0x7e, 0x17, - 0xaa, 0x71, 0xc0, 0x9c, 0xe1, 0x78, 0xb3, 0x31, 0x56, 0x45, 0x61, 0xa1, 0xa3, 0x29, 0xe5, 0xee, - 0x68, 0xb6, 0xa1, 0x8c, 0xef, 0x71, 0x8a, 0x54, 0x52, 0x95, 0x0f, 0xc6, 0xaf, 0x23, 0x95, 0x65, - 0x56, 0x5a, 0x50, 0xb9, 0xb0, 0x8e, 0xca, 0xc5, 0xc7, 0xa9, 0x5c, 0x3a, 0xbb, 0xca, 0xc6, 0x5f, - 0x34, 0x55, 0xd2, 0x7e, 0x88, 0xd1, 0xb1, 0x12, 0xed, 0x06, 0x34, 0x27, 0x78, 0x32, 0xc2, 0x34, - 0x3e, 0xb5, 0xad, 0x72, 0x4b, 0x43, 0xe2, 0xa3, 0xe3, 0xdc, 0x05, 0xd1, 0xed, 0xdf, 0x05, 0x95, - 0x25, 0x64, 0xe8, 0x09, 0xe5, 0xde, 0x16, 0x82, 0x3e, 0xa3, 0xb9, 0xc3, 0xd3, 0xd1, 0x4b, 0xbf, - 0x15, 0xf9, 0x87, 0x59, 0x9c, 0x84, 0x3e, 0x6a, 0x97, 0xbb, 0xc5, 0xbd, 0xfa, 0xb5, 0xd7, 0x97, - 0x31, 0x55, 0x18, 0x20, 0xa1, 0xfa, 0x4d, 0xcc, 0x91, 0xeb, 0x99, 0x9b, 0x6a, 0x87, 0xdb, 0x64, - 0xdf, 0x71, 0xf4, 0x9b, 0xb0, 0x95, 0xd8, 0x51, 0xe6, 0xae, 0x76, 0xa5, 0x5b, 0x7c, 0xac, 0x92, - 0xad, 0x78, 0x0b, 0xc9, 0x6b, 0xe3, 0x6f, 0x85, 0xb8, 0x00, 0xf9, 0xf8, 0xe4, 0x4b, 0x63, 0xee, - 0x85, 0xac, 0x50, 0xce, 0x9d, 0x15, 0x6e, 0xc2, 0x86, 0x32, 0x95, 0xb0, 0x69, 0x3e, 0x47, 0x45, - 0xaf, 0x1a, 0xbf, 0x8c, 0x6a, 0x5e, 0x06, 0xa3, 0x7f, 0x1b, 0x2a, 0x12, 0xb5, 0xd2, 0xb8, 0x0a, - 0xa7, 0x0f, 0xa0, 0x85, 0xef, 0x05, 0x2e, 0x45, 0xdc, 0x25, 0xbe, 0xc5, 0x5d, 0x95, 0x45, 0xeb, - 0xd7, 0x76, 0x7a, 0x72, 0x00, 0xdd, 0x8b, 0x06, 0xd0, 0xbd, 0xdb, 0xd1, 0x00, 0xfa, 0xa0, 0xf4, - 0xe1, 0xdf, 0x77, 0x35, 0xb3, 0x39, 0x7f, 0x31, 0xfc, 0xca, 0xf8, 0x97, 0x96, 0x2a, 0x70, 0x42, - 0xba, 0xb7, 0xc2, 0xbc, 0xf7, 0x7c, 0x7b, 0x7d, 0x79, 0x2a, 0xbf, 0x1f, 0x35, 0x98, 0x6f, 0xbb, - 0x94, 0x12, 0xfa, 0x44, 0x53, 0xcc, 0x7c, 0x63, 0xba, 0x5c, 0x53, 0x49, 0x03, 0x1a, 0x0e, 0x66, - 0xdc, 0xb2, 0xef, 0x20, 0xd7, 0x9f, 0xb7, 0x8d, 0xf5, 0x70, 0xf1, 0x30, 0x5c, 0x1b, 0x38, 0xc6, - 0x1f, 0xa2, 0xa3, 0x72, 0x52, 0x15, 0x13, 0xb3, 0xa9, 0xc7, 0xc3, 0x4e, 0x47, 0x1d, 0xc7, 0x34, - 0xf1, 0x62, 0x74, 0xd8, 0x3a, 0x67, 0x91, 0x3f, 0x4f, 0x5b, 0xff, 0xb9, 0xed, 0x6e, 0xcf, 0xa2, - 0xeb, 0xa7, 0x69, 0xf7, 0x48, 0x5d, 0x9f, 0xd4, 0x3d, 0xe7, 0xac, 0xd3, 0x1f, 0xa3, 0x46, 0x48, - 0xea, 0x74, 0xa1, 0x7a, 0xbf, 0x8c, 0xfc, 0xa5, 0xac, 0xfc, 0xbf, 0x8b, 0x52, 0x70, 0x42, 0xfe, - 0x15, 0x2e, 0x39, 0x47, 0x69, 0x8f, 0x15, 0x81, 0x86, 0x1c, 0x79, 0xf8, 0x16, 0xf1, 0x5c, 0x7b, - 0x76, 0xe8, 0x61, 0xe4, 0x4f, 0x03, 0x7d, 0x07, 0xaa, 0x23, 0x8f, 0xd8, 0x77, 0xdf, 0x99, 0x4e, - 0x84, 0xbc, 0x45, 0x33, 0x7e, 0x0e, 0xcb, 0x9d, 0x3a, 0xcd, 0xb8, 0xfe, 0x11, 0x51, 0x65, 0x61, - 0x69, 0xb9, 0x93, 0x65, 0x3f, 0x3c, 0xcb, 0x98, 0xe0, 0xc4, 0x9f, 0x8d, 0x07, 0x1a, 0x6c, 0x2b, - 0x2b, 0x8d, 0x65, 0x9d, 0x78, 0x86, 0x69, 0x32, 0xd7, 0x6d, 0xc6, 0x6b, 0xb0, 0xe5, 0x30, 0x6e, - 0x2d, 0x9b, 0xce, 0x35, 0x1d, 0xc6, 0x6f, 0xcd, 0x07, 0x74, 0xc6, 0xef, 0x35, 0xd8, 0x49, 0x0c, - 0x16, 0x2f, 0xba, 0x6a, 0x21, 0x55, 0xdb, 0x89, 0x61, 0x80, 0x94, 0x17, 0x5f, 0x54, 0x69, 0x3f, - 0x2a, 0xc0, 0x4b, 0x6a, 0xb0, 0x36, 0x09, 0x42, 0x22, 0x5d, 0x78, 0xea, 0xac, 0xbe, 0x6d, 0x2a, - 0xad, 0xbc, 0x4c, 0x7d, 0x0d, 0xb6, 0x18, 0xb5, 0x17, 0xe8, 0x27, 0xd3, 0x66, 0x93, 0x51, 0x3b, - 0x49, 0x3f, 0x0b, 0xea, 0x6a, 0xc8, 0xcb, 0x6f, 0xa3, 0x71, 0x18, 0xbf, 0xd1, 0xdd, 0xbf, 0x9a, - 0x70, 0xc4, 0xcf, 0xfa, 0x9b, 0x50, 0xe2, 0x68, 0xcc, 0x54, 0xe0, 0x76, 0x97, 0x0f, 0xf6, 0x55, - 0x77, 0x8a, 0xc6, 0xcc, 0x14, 0x68, 0xe3, 0x37, 0x05, 0xc5, 0x97, 0xe4, 0x98, 0xe2, 0x50, 0xde, - 0x48, 0xac, 0x69, 0xfd, 0xf5, 0x07, 0x2d, 0x4f, 0x7e, 0xc3, 0xb4, 0x78, 0x93, 0x53, 0xce, 0xde, - 0xe4, 0xa4, 0x6e, 0x1f, 0x2a, 0x8b, 0xb7, 0x0f, 0x6d, 0xd8, 0x38, 0xc6, 0x94, 0xb9, 0xc4, 0x17, - 0x93, 0xcb, 0xa2, 0x19, 0x3d, 0x1a, 0x9f, 0x16, 0x61, 0xf7, 0x34, 0x4b, 0x0d, 0xa7, 0xb6, 0x1d, - 0x1e, 0x80, 0x9f, 0x4b, 0x83, 0xa5, 0xee, 0xa4, 0xca, 0xd9, 0x3b, 0xa9, 0xd7, 0x61, 0x2b, 0xa0, - 0xf8, 0xd8, 0x4a, 0x19, 0xb6, 0x22, 0x0c, 0xdb, 0x0a, 0xbf, 0xb8, 0x95, 0x30, 0xee, 0x1e, 0x5c, - 0xf6, 0xf1, 0x49, 0x1a, 0x2a, 0xff, 0xfe, 0xd0, 0xf4, 0xf1, 0x49, 0x12, 0xf9, 0x0d, 0x68, 0x8a, - 0x5d, 0xe7, 0xbe, 0xa8, 0x0a, 0x5f, 0x34, 0xc2, 0xd5, 0xc3, 0xd8, 0x1f, 0x5f, 0x87, 0x46, 0xb8, - 0xe1, 0x1c, 0x55, 0x13, 0xa8, 0x4d, 0x1f, 0x9f, 0x1c, 0x2e, 0x73, 0x1a, 0xa4, 0x9c, 0x16, 0x96, - 0x61, 0x39, 0x4b, 0x74, 0x2c, 0xc4, 0xc5, 0x85, 0x5b, 0xd1, 0xac, 0xa9, 0x95, 0x7d, 0x1e, 0x96, - 0xac, 0x4e, 0x22, 0xbb, 0x7f, 0x71, 0x31, 0x70, 0x8e, 0x1d, 0xd9, 0xc1, 0xe0, 0xfe, 0xc3, 0x8e, - 0xf6, 0xc9, 0xc3, 0x8e, 0xf6, 0x8f, 0x87, 0x1d, 0xed, 0xc3, 0x47, 0x9d, 0x4b, 0x9f, 0x3c, 0xea, - 0x5c, 0xfa, 0xf3, 0xa3, 0xce, 0xa5, 0x1f, 0xf7, 0xc7, 0x2e, 0xbf, 0x33, 0x1d, 0xf5, 0x6c, 0x32, - 0xe9, 0x8f, 0xfc, 0xd1, 0x55, 0xd1, 0x45, 0xf4, 0x13, 0x7f, 0x0b, 0xba, 0x97, 0xfe, 0x63, 0xd0, - 0xa8, 0x22, 0x4e, 0x83, 0x6f, 0xfc, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x4f, 0x67, 0x5e, 0xc0, 0x04, - 0x25, 0x00, 0x00, + // 1895 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5a, 0xcb, 0x8f, 0x23, 0x47, + 0x19, 0xdf, 0xf6, 0x6b, 0xec, 0xf2, 0xd8, 0xde, 0x69, 0x86, 0x8d, 0x99, 0x24, 0x1e, 0xa7, 0x11, + 0x61, 0x12, 0xb1, 0x36, 0xda, 0x04, 0xb4, 0xb7, 0xd5, 0xcc, 0x6c, 0x40, 0x16, 0x24, 0x59, 0xda, + 0x9b, 0x1c, 0xb8, 0xb4, 0xca, 0xdd, 0x35, 0xde, 0x66, 0xbb, 0xbb, 0x9a, 0xaa, 0xea, 0x99, 0x75, + 0xfe, 0x01, 0x4e, 0x48, 0x91, 0x10, 0x12, 0x5c, 0x72, 0x05, 0x09, 0x21, 0x71, 0xc8, 0x95, 0xfb, + 0x1e, 0x93, 0xe5, 0xc2, 0x43, 0x0a, 0x68, 0xf7, 0x02, 0x48, 0x08, 0xce, 0x9c, 0x50, 0x3d, 0xba, + 0xdd, 0xed, 0xf6, 0xac, 0xa7, 0xbd, 0x99, 0xcc, 0x2c, 0x37, 0xd7, 0xe7, 0xaf, 0xca, 0xdf, 0xe3, + 0xf7, 0x3d, 0xea, 0x2b, 0x83, 0xdd, 0x29, 0x41, 0x28, 0x38, 0x72, 0x91, 0xe7, 0x0c, 0x29, 0xc3, + 0x04, 0x4e, 0xd1, 0x10, 0x1d, 0xa3, 0x80, 0xd1, 0x41, 0x48, 0x30, 0xc3, 0xba, 0x3e, 0x67, 0x18, + 0x28, 0x86, 0x9d, 0xaf, 0xd8, 0x98, 0xfa, 0x98, 0x5a, 0x82, 0x63, 0x28, 0x17, 0x92, 0x7d, 0x67, + 0x7b, 0x8a, 0xa7, 0x58, 0xd2, 0xf9, 0x27, 0x45, 0xdd, 0x9d, 0x62, 0x3c, 0xf5, 0xd0, 0x50, 0xac, + 0x26, 0xd1, 0xd1, 0x90, 0xb9, 0x3e, 0xa2, 0x0c, 0xfa, 0x61, 0xc2, 0x30, 0x17, 0x83, 0x20, 0x8a, + 0x23, 0x62, 0xa3, 0x21, 0x9b, 0x85, 0x88, 0x2e, 0x61, 0x88, 0xe5, 0xb4, 0xb1, 0xef, 0xe3, 0x40, + 0x31, 0xf4, 0x96, 0x30, 0xa4, 0x0e, 0x30, 0xfe, 0x50, 0x01, 0x5b, 0x6f, 0x71, 0xc5, 0x0e, 0x09, + 0x82, 0x0c, 0x1d, 0x44, 0xf6, 0x7d, 0xc4, 0xf4, 0x01, 0xa8, 0xe2, 0x93, 0x00, 0x91, 0xae, 0xd6, + 0xd7, 0xf6, 0x1a, 0x07, 0xdd, 0x47, 0x1f, 0x5f, 0xdf, 0x56, 0xfa, 0xec, 0x3b, 0x0e, 0x41, 0x94, + 0x8e, 0x19, 0x71, 0x83, 0xa9, 0x29, 0xd9, 0xf4, 0x5d, 0xd0, 0x9c, 0x88, 0x9d, 0x56, 0x00, 0x7d, + 0xd4, 0x2d, 0xf1, 0x5d, 0x26, 0x90, 0xa4, 0x77, 0xa0, 0x8f, 0xf4, 0x03, 0x00, 0x8e, 0x5d, 0xea, + 0x4e, 0x5c, 0xcf, 0x65, 0xb3, 0x6e, 0xb9, 0xaf, 0xed, 0xb5, 0x6f, 0x18, 0x83, 0xbc, 0x0d, 0x07, + 0xef, 0x27, 0x5c, 0x77, 0x67, 0x21, 0x32, 0x53, 0xbb, 0xf4, 0x17, 0x41, 0xc3, 0x16, 0x42, 0x5a, + 0x90, 0x75, 0x2b, 0x7d, 0x6d, 0xaf, 0x6c, 0xd6, 0x25, 0x61, 0x9f, 0xe9, 0x37, 0x41, 0x43, 0x49, + 0xe0, 0x3a, 0xdd, 0xaa, 0x90, 0xfa, 0xc5, 0x87, 0x9f, 0xed, 0x5e, 0xf9, 0xf3, 0x67, 0xbb, 0x95, + 0xf7, 0xdc, 0x80, 0x3d, 0xfa, 0xf8, 0x7a, 0x53, 0x69, 0xc0, 0x97, 0x66, 0x5d, 0x72, 0x8f, 0x1c, + 0xfd, 0x16, 0x68, 0x4a, 0xc3, 0x5a, 0xdc, 0x2e, 0xdd, 0x9a, 0x90, 0xad, 0xb7, 0x4c, 0xb6, 0xb1, + 0x60, 0x93, 0x72, 0xd1, 0xe4, 0xb3, 0xfe, 0x0d, 0xa0, 0xdb, 0xf7, 0x20, 0x99, 0x22, 0xc7, 0x22, + 0x08, 0x3a, 0xd6, 0x8f, 0x23, 0xcc, 0x60, 0x77, 0xa3, 0xaf, 0xed, 0x55, 0xcc, 0xab, 0xea, 0x1b, + 0x13, 0x41, 0xe7, 0x07, 0x9c, 0xae, 0xef, 0x83, 0x4e, 0x08, 0x67, 0x3e, 0x0a, 0x98, 0x05, 0xa5, + 0x29, 0xbb, 0xf5, 0x15, 0x46, 0x6e, 0xab, 0x0d, 0x8a, 0xaa, 0x1b, 0xa0, 0x15, 0x12, 0xd7, 0x87, + 0x64, 0x66, 0xd1, 0x90, 0xeb, 0xdb, 0xe8, 0x6b, 0x7b, 0x2d, 0xb3, 0xa9, 0x88, 0xe3, 0x70, 0xe4, + 0xe8, 0x07, 0xa0, 0x37, 0xf5, 0xf0, 0x04, 0x7a, 0xd6, 0xb1, 0x4b, 0x58, 0x04, 0x3d, 0x6b, 0x4a, + 0x70, 0x14, 0x5a, 0x47, 0xd0, 0x77, 0xbd, 0x19, 0xdf, 0x04, 0xc4, 0xa6, 0x1d, 0xc9, 0xf5, 0xbe, + 0x64, 0xfa, 0x2e, 0xe7, 0xf9, 0x8e, 0x60, 0x19, 0x39, 0xfa, 0x4d, 0x50, 0xa3, 0x0c, 0xb2, 0x88, + 0x76, 0x9b, 0xc2, 0x28, 0xfd, 0x65, 0x46, 0x91, 0x88, 0x19, 0x0b, 0x3e, 0x53, 0xf1, 0x1b, 0xbf, + 0x28, 0x29, 0x54, 0xdd, 0x46, 0x1e, 0x4a, 0x50, 0xf5, 0x26, 0xa8, 0xe3, 0x10, 0x11, 0xc8, 0xf0, + 0x6a, 0x60, 0x25, 0x9c, 0x73, 0x2c, 0x96, 0xd6, 0xc2, 0x62, 0x39, 0x87, 0xc5, 0x0c, 0x54, 0x2a, + 0x45, 0xa0, 0xb2, 0xda, 0xa8, 0xd5, 0x55, 0x46, 0x35, 0x7e, 0x52, 0x06, 0x5f, 0x16, 0xa6, 0x79, + 0x2f, 0x74, 0x92, 0x80, 0x1b, 0x05, 0x47, 0x78, 0x4d, 0xf3, 0xac, 0x0c, 0xbd, 0x8c, 0xba, 0xe5, + 0x22, 0xea, 0x2e, 0x07, 0x76, 0xe5, 0x14, 0x60, 0x7f, 0x3d, 0x0f, 0x6c, 0x11, 0x87, 0x39, 0xf8, + 0x66, 0x73, 0x41, 0x6d, 0xad, 0x5c, 0xb0, 0xda, 0x13, 0x1b, 0x2b, 0x3d, 0xf1, 0x6b, 0x0d, 0x5c, + 0x93, 0x20, 0x75, 0xa9, 0x8d, 0x03, 0xe6, 0x06, 0x51, 0x8c, 0xd4, 0x8c, 0xcd, 0xb4, 0x22, 0x36, + 0x5b, 0xe9, 0x8e, 0x6b, 0xa0, 0x46, 0x10, 0xa4, 0x38, 0x50, 0xc8, 0x54, 0x2b, 0x9e, 0xdd, 0x1c, + 0x11, 0x2c, 0xa9, 0xec, 0x26, 0x09, 0xfb, 0xcc, 0xf8, 0x59, 0x2d, 0x93, 0xa5, 0xdf, 0x9d, 0xfc, + 0x08, 0xd9, 0x4c, 0xbf, 0x01, 0x36, 0x44, 0xfe, 0x3b, 0x03, 0x5e, 0x62, 0xc6, 0xcf, 0x3f, 0x9a, + 0x76, 0x41, 0x13, 0x0b, 0x71, 0x24, 0x43, 0x45, 0x32, 0x48, 0x52, 0x1e, 0x7f, 0xb5, 0x22, 0xb6, + 0xbc, 0x09, 0x1a, 0xea, 0x68, 0xe5, 0xcf, 0x55, 0x3b, 0x25, 0xf7, 0xc8, 0xc9, 0x67, 0xc8, 0x7a, + 0x3e, 0x43, 0xbe, 0x02, 0x36, 0x43, 0x38, 0xf3, 0x30, 0x74, 0x2c, 0xea, 0x7e, 0x80, 0x44, 0x12, + 0xad, 0x98, 0x4d, 0x45, 0x1b, 0xbb, 0x1f, 0x2c, 0x56, 0x2d, 0xb0, 0x16, 0x52, 0x5f, 0x01, 0x9b, + 0x1c, 0x5c, 0x3c, 0x2c, 0x44, 0x7d, 0x69, 0x0a, 0x03, 0x35, 0x15, 0x4d, 0x14, 0x90, 0x4c, 0x61, + 0xdb, 0xcc, 0x15, 0xb6, 0x38, 0x09, 0xb7, 0x4e, 0x4f, 0xc2, 0x12, 0x10, 0xd9, 0x24, 0xac, 0x7f, + 0x0f, 0x74, 0x08, 0x72, 0xa2, 0xc0, 0x81, 0x81, 0x3d, 0x93, 0x3f, 0xde, 0x3e, 0x5d, 0x05, 0x33, + 0x61, 0x15, 0x2a, 0xb4, 0x49, 0x66, 0xbd, 0x58, 0x25, 0x3b, 0x85, 0xab, 0xe4, 0x4b, 0xa0, 0x61, + 0xdf, 0x43, 0xf6, 0x7d, 0x1a, 0xf9, 0xb4, 0x7b, 0xb5, 0x5f, 0xde, 0xdb, 0x34, 0xe7, 0x04, 0xfd, + 0x0d, 0x70, 0xcd, 0xc3, 0x76, 0x2e, 0x9c, 0x5d, 0xa7, 0xbb, 0x25, 0x3c, 0xf7, 0x25, 0xf1, 0x6d, + 0x3a, 0x8c, 0x47, 0x8e, 0xf1, 0x6f, 0x0d, 0xbc, 0x20, 0xa3, 0x02, 0x06, 0x36, 0xf2, 0x32, 0xb1, + 0x71, 0x4e, 0xc9, 0x74, 0x01, 0xed, 0xe5, 0x1c, 0xda, 0x73, 0xc8, 0xab, 0xe4, 0x91, 0x97, 0xc1, + 0x75, 0xad, 0x00, 0xae, 0x79, 0xf1, 0xe8, 0x08, 0x8d, 0xc7, 0x08, 0x7a, 0x17, 0xac, 0x69, 0x46, + 0x8b, 0x6a, 0x91, 0xe8, 0x9c, 0x43, 0xba, 0x56, 0x10, 0xd2, 0xdf, 0x02, 0x2f, 0x2c, 0x4d, 0xfb, + 0x49, 0xbe, 0xdf, 0xce, 0xe7, 0xfb, 0x91, 0xf3, 0x14, 0x74, 0xd5, 0x4f, 0x45, 0x57, 0x16, 0xb0, + 0x8d, 0x05, 0xc0, 0x1a, 0x1f, 0xc5, 0x9e, 0x38, 0xc4, 0xe1, 0xec, 0x99, 0x3c, 0xf1, 0x2a, 0xe8, + 0x50, 0x62, 0x5b, 0x79, 0x6f, 0xb4, 0x28, 0xb1, 0x0f, 0xe6, 0x0e, 0x51, 0x7c, 0x79, 0xa7, 0x70, + 0xbe, 0x77, 0xe7, 0x7e, 0x79, 0x15, 0x74, 0x1c, 0xca, 0x32, 0xe7, 0xc9, 0xa4, 0xdc, 0x72, 0x28, + 0xcb, 0x9e, 0xc7, 0xf9, 0xd2, 0xe7, 0x55, 0x13, 0xbe, 0xd4, 0x79, 0xb7, 0x40, 0x2b, 0xf5, 0xbb, + 0x67, 0x43, 0x6c, 0x33, 0x11, 0x49, 0x34, 0xd8, 0xad, 0xd4, 0x0f, 0x9d, 0x2d, 0x95, 0x37, 0x13, + 0x19, 0xd6, 0x74, 0x9f, 0xf1, 0x5f, 0x2d, 0xd3, 0x82, 0x5e, 0xa6, 0x60, 0xa9, 0x14, 0x09, 0x96, + 0xd3, 0x95, 0xaf, 0x9e, 0xae, 0xfc, 0xdf, 0x35, 0xd5, 0x64, 0x9a, 0x48, 0x44, 0xd1, 0x25, 0xcb, + 0x16, 0x85, 0x0c, 0xf0, 0x32, 0x00, 0x47, 0x98, 0x58, 0x91, 0x68, 0x97, 0x85, 0xd2, 0x75, 0xb3, + 0x71, 0x84, 0x89, 0xec, 0x9f, 0x97, 0x76, 0x71, 0x4a, 0xd7, 0x05, 0xa9, 0xb5, 0x65, 0xad, 0xf1, + 0x5c, 0xa8, 0x52, 0x11, 0xa1, 0xd6, 0xea, 0xe2, 0x7e, 0x5a, 0xca, 0xb4, 0xfe, 0x0a, 0xdf, 0xe7, + 0xd8, 0xfa, 0x9f, 0xa3, 0x57, 0xb2, 0xad, 0x51, 0x75, 0x9d, 0xd6, 0xc8, 0xf8, 0x8f, 0x06, 0xae, + 0xa6, 0xba, 0x5a, 0x01, 0xde, 0xc2, 0xa3, 0x87, 0x97, 0x01, 0x90, 0x11, 0x91, 0xb2, 0x41, 0x43, + 0x50, 0x84, 0x86, 0xdf, 0x06, 0xf5, 0x24, 0x60, 0xce, 0x70, 0xf9, 0xd9, 0x98, 0xaa, 0xec, 0xbf, + 0xd0, 0xef, 0x54, 0x0a, 0xf7, 0x3b, 0xdb, 0xa0, 0x8a, 0x1e, 0x30, 0x02, 0x55, 0x52, 0x95, 0x0b, + 0xe3, 0x97, 0xb1, 0xca, 0x32, 0x2b, 0x2d, 0xa8, 0x5c, 0x5a, 0x47, 0xe5, 0xf2, 0xd3, 0x54, 0xae, + 0x9c, 0x5d, 0x65, 0xe3, 0x4f, 0x9a, 0x2a, 0x69, 0xdf, 0x47, 0xf0, 0x58, 0x89, 0x76, 0x0b, 0xb4, + 0x7d, 0xe4, 0x4f, 0x10, 0x49, 0xee, 0x74, 0xab, 0xdc, 0xd2, 0x92, 0xfc, 0xf1, 0x65, 0xef, 0x92, + 0xe8, 0xf6, 0xaf, 0x92, 0xca, 0x12, 0x32, 0xf4, 0x84, 0x72, 0x6f, 0x0b, 0x41, 0xbf, 0xa0, 0xa9, + 0xc4, 0xf9, 0xe8, 0xa5, 0xdf, 0x89, 0xfd, 0x43, 0x2d, 0x86, 0xb9, 0x8f, 0xba, 0xd5, 0x7e, 0x79, + 0xaf, 0x79, 0xe3, 0xf5, 0x65, 0x48, 0x15, 0x06, 0x48, 0xa9, 0x7e, 0x1b, 0x31, 0xe8, 0x7a, 0xe6, + 0xa6, 0x3a, 0xe1, 0x2e, 0xde, 0x77, 0x1c, 0xfd, 0x36, 0xd8, 0x4a, 0x9d, 0x28, 0x73, 0x57, 0xb7, + 0xd6, 0x2f, 0x3f, 0x55, 0xc9, 0x4e, 0x72, 0x84, 0xc4, 0xb5, 0xf1, 0x97, 0x52, 0x52, 0x80, 0x02, + 0x74, 0xf2, 0x7f, 0x63, 0xee, 0x85, 0xac, 0x50, 0x2d, 0x9c, 0x15, 0x6e, 0x83, 0x0d, 0x65, 0x2a, + 0x61, 0xd3, 0x62, 0x8e, 0x8a, 0xb7, 0x1a, 0x3f, 0x8f, 0x6b, 0x5e, 0x8e, 0x47, 0xff, 0x26, 0xa8, + 0x49, 0xae, 0x95, 0xc6, 0x55, 0x7c, 0xfa, 0x08, 0x74, 0xd0, 0x83, 0xd0, 0x25, 0x90, 0xb9, 0x38, + 0xb0, 0x98, 0xab, 0xb2, 0x68, 0xf3, 0xc6, 0xce, 0x40, 0x8e, 0xa7, 0x07, 0xf1, 0x78, 0x7a, 0x70, + 0x37, 0x1e, 0x4f, 0x1f, 0x54, 0x3e, 0xfc, 0xeb, 0xae, 0x66, 0xb6, 0xe7, 0x1b, 0xf9, 0x57, 0xc6, + 0x3f, 0xb5, 0x4c, 0x81, 0x13, 0xd2, 0xbd, 0xc5, 0xf3, 0xde, 0xf3, 0xed, 0xf5, 0xe5, 0xa9, 0xfc, + 0x61, 0xdc, 0x60, 0xbe, 0xed, 0x12, 0x82, 0xc9, 0x33, 0xcd, 0x38, 0x8b, 0x0d, 0xf1, 0x0a, 0xcd, + 0x2c, 0x0d, 0xd0, 0x72, 0x10, 0x65, 0x96, 0x7d, 0x0f, 0xba, 0xc1, 0xbc, 0x6d, 0x6c, 0x72, 0xe2, + 0x21, 0xa7, 0x8d, 0x1c, 0xe3, 0x77, 0xf1, 0x45, 0x3a, 0xad, 0x8a, 0x89, 0x68, 0xe4, 0x31, 0xde, + 0xe9, 0xa8, 0xcb, 0x9a, 0x26, 0x36, 0xc6, 0x57, 0xb1, 0x0b, 0x16, 0xf9, 0x1f, 0x59, 0xeb, 0x3f, + 0xb7, 0xdd, 0xed, 0x59, 0x74, 0xfd, 0x34, 0xeb, 0x1e, 0xa9, 0xeb, 0xb3, 0xba, 0xe7, 0x82, 0x75, + 0xfa, 0x7d, 0xdc, 0x08, 0x49, 0x9d, 0x2e, 0x55, 0xef, 0x97, 0x93, 0xbf, 0x92, 0x97, 0xff, 0x37, + 0x71, 0x0a, 0x4e, 0xc9, 0xbf, 0xc2, 0x25, 0x17, 0x28, 0xed, 0xb1, 0x02, 0xd0, 0x98, 0x41, 0x0f, + 0xdd, 0xc1, 0x9e, 0x6b, 0xcf, 0x0e, 0x3d, 0x04, 0x83, 0x28, 0xd4, 0x77, 0x40, 0x7d, 0xe2, 0x61, + 0xfb, 0xfe, 0x3b, 0x91, 0x2f, 0xe4, 0x2d, 0x9b, 0xc9, 0x9a, 0x97, 0x3b, 0x75, 0x9b, 0x71, 0x83, + 0x23, 0xac, 0xca, 0xc2, 0xd2, 0x72, 0x27, 0xcb, 0x3e, 0xbf, 0xcb, 0x98, 0xc0, 0x49, 0x3e, 0x1b, + 0x8f, 0x34, 0xb0, 0xad, 0xac, 0x34, 0x95, 0x75, 0xe2, 0x0b, 0x4c, 0x93, 0x85, 0xde, 0x3a, 0x5e, + 0x03, 0x5b, 0x0e, 0x65, 0xd6, 0xb2, 0xd9, 0x5d, 0xdb, 0xa1, 0xec, 0xce, 0x7c, 0x7c, 0x67, 0xfc, + 0x56, 0x03, 0x3b, 0xa9, 0xb1, 0xe3, 0x65, 0x57, 0x8d, 0x43, 0xb5, 0x9b, 0x1a, 0x06, 0x48, 0x79, + 0xd1, 0x65, 0x95, 0xf6, 0xa3, 0x12, 0x78, 0x49, 0x0d, 0xd6, 0xfc, 0x90, 0x03, 0xe9, 0xd2, 0x43, + 0x67, 0xf5, 0x5b, 0x54, 0x65, 0xe5, 0x53, 0xeb, 0x6b, 0x60, 0x8b, 0x12, 0x7b, 0x01, 0x7e, 0x32, + 0x6d, 0xb6, 0x29, 0xb1, 0xd3, 0xf0, 0xb3, 0x40, 0x53, 0x8d, 0x80, 0xd9, 0x5d, 0x38, 0xe5, 0xf1, + 0x1b, 0xff, 0x33, 0x40, 0x4d, 0x38, 0x92, 0xb5, 0xfe, 0x26, 0xa8, 0x30, 0x38, 0xa5, 0x2a, 0x70, + 0xfb, 0xcb, 0xc7, 0xfe, 0xaa, 0x3b, 0x85, 0x53, 0x6a, 0x0a, 0x6e, 0xe3, 0x57, 0x25, 0x85, 0x97, + 0xf4, 0x98, 0xe2, 0x50, 0xbe, 0x57, 0xac, 0x69, 0xfd, 0xf5, 0x07, 0x2d, 0xcf, 0xfe, 0xfe, 0xb4, + 0xf8, 0xce, 0x53, 0xcd, 0xbf, 0xf3, 0x64, 0x46, 0xbd, 0xb5, 0xc5, 0xb7, 0x89, 0x2e, 0xd8, 0x38, + 0x46, 0x84, 0xba, 0x38, 0x10, 0x93, 0xcb, 0xb2, 0x19, 0x2f, 0x8d, 0x4f, 0xcb, 0x60, 0xf7, 0x34, + 0x4b, 0x8d, 0x23, 0xdb, 0xe6, 0x17, 0xe0, 0xe7, 0xd2, 0x60, 0x99, 0x17, 0xab, 0x6a, 0xfe, 0xc5, + 0xea, 0x75, 0xb0, 0x15, 0x12, 0x74, 0x6c, 0x65, 0x0c, 0x5b, 0x13, 0x86, 0xed, 0xf0, 0x2f, 0xee, + 0xa4, 0x8c, 0xbb, 0x07, 0xae, 0x06, 0xe8, 0x24, 0xcb, 0x2a, 0xff, 0x1c, 0xd1, 0x0e, 0xd0, 0x49, + 0x9a, 0xf3, 0x6b, 0xa0, 0x2d, 0x4e, 0x9d, 0xfb, 0xa2, 0x2e, 0x7c, 0xd1, 0xe2, 0xd4, 0xc3, 0xc4, + 0x1f, 0x5f, 0x05, 0x2d, 0x7e, 0xe0, 0xe2, 0x70, 0x7e, 0x33, 0x40, 0x27, 0x87, 0xcb, 0x9c, 0x06, + 0x32, 0x4e, 0xe3, 0x65, 0x58, 0xce, 0x12, 0x1d, 0x0b, 0x32, 0xf1, 0x1c, 0x57, 0x36, 0x1b, 0x8a, + 0xb2, 0xcf, 0x78, 0xc9, 0xea, 0xa5, 0xb2, 0xfb, 0xe7, 0x17, 0x03, 0x17, 0xd8, 0x91, 0x1d, 0x8c, + 0x1e, 0x3e, 0xee, 0x69, 0x9f, 0x3c, 0xee, 0x69, 0x7f, 0x7b, 0xdc, 0xd3, 0x3e, 0x7c, 0xd2, 0xbb, + 0xf2, 0xc9, 0x93, 0xde, 0x95, 0x3f, 0x3e, 0xe9, 0x5d, 0xf9, 0xe1, 0x70, 0xea, 0xb2, 0x7b, 0xd1, + 0x64, 0x60, 0x63, 0x7f, 0x38, 0x09, 0x26, 0xd7, 0x45, 0x17, 0x31, 0x4c, 0xfd, 0x69, 0xe8, 0x41, + 0xf6, 0x6f, 0x43, 0x93, 0x9a, 0xb8, 0x0d, 0xbe, 0xf1, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf9, + 0x82, 0xe2, 0x4e, 0x22, 0x25, 0x00, 0x00, } func (m *EventCreateBucket) Marshal() (dAtA []byte, err error) { @@ -3307,6 +3318,15 @@ func (m *EventSealObject) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Checksums) > 0 { + for iNdEx := len(m.Checksums) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Checksums[iNdEx]) + copy(dAtA[i:], m.Checksums[iNdEx]) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Checksums[iNdEx]))) + i-- + dAtA[i] = 0x4a + } + } if m.LocalVirtualGroupId != 0 { i = encodeVarintEvents(dAtA, i, uint64(m.LocalVirtualGroupId)) i-- @@ -5168,6 +5188,12 @@ func (m *EventSealObject) Size() (n int) { if m.LocalVirtualGroupId != 0 { n += 1 + sovEvents(uint64(m.LocalVirtualGroupId)) } + if len(m.Checksums) > 0 { + for _, b := range m.Checksums { + l = len(b) + n += 1 + l + sovEvents(uint64(l)) + } + } return n } @@ -7649,6 +7675,38 @@ func (m *EventSealObject) Unmarshal(dAtA []byte) error { break } } + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Checksums", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Checksums = append(m.Checksums, make([]byte, postIndex-iNdEx)) + copy(m.Checksums[len(m.Checksums)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) diff --git a/x/storage/types/message.go b/x/storage/types/message.go index 3f39025eb..121fbefc4 100644 --- a/x/storage/types/message.go +++ b/x/storage/types/message.go @@ -28,19 +28,22 @@ const ( TypeMsgUpdateDelegatedAgents = "update_delegated_agents" // For object - TypeMsgCopyObject = "copy_object" - TypeMsgCreateObject = "create_object" - TypeMsgDeleteObject = "delete_object" - TypeMsgSealObject = "seal_object" - TypeMsgRejectSealObject = "reject_seal_object" - TypeMsgCancelCreateObject = "cancel_create_object" - TypeMsgMirrorObject = "mirror_object" - TypeMsgDiscontinueObject = "discontinue_object" - TypeMsgDiscontinueBucket = "discontinue_bucket" - TypeMsgUpdateObjectInfo = "update_object_info" - TypeMsgUpdateObjectContent = "update_object_content" - TypeMsgCancelUpdateObjectContent = "cancel_update_object_content" - TypeMsgDelegateCreateObject = "delegate_create_object" + TypeMsgCopyObject = "copy_object" + TypeMsgCreateObject = "create_object" + TypeMsgDeleteObject = "delete_object" + TypeMsgSealObject = "seal_object" + TypeMsgSealObjectV2 = "seal_object_v2" + + TypeMsgRejectSealObject = "reject_seal_object" + TypeMsgCancelCreateObject = "cancel_create_object" + TypeMsgMirrorObject = "mirror_object" + TypeMsgDiscontinueObject = "discontinue_object" + TypeMsgDiscontinueBucket = "discontinue_bucket" + TypeMsgUpdateObjectInfo = "update_object_info" + TypeMsgUpdateObjectContent = "update_object_content" + TypeMsgCancelUpdateObjectContent = "cancel_update_object_content" + TypeMsgDelegateCreateObject = "delegate_create_object" + TypeMsgDelegateUpdateObjectContent = "delegate_update_object_content" // For group TypeMsgCreateGroup = "create_group" @@ -625,6 +628,76 @@ func (msg *MsgSealObject) ValidateBasic() error { return nil } +func NewMsgSealObjectV2( + operator sdk.AccAddress, bucketName, objectName string, globalVirtualGroupID uint32, + secondarySpBlsSignatures []byte, checksums [][]byte, +) *MsgSealObjectV2 { + return &MsgSealObjectV2{ + Operator: operator.String(), + BucketName: bucketName, + ObjectName: objectName, + GlobalVirtualGroupId: globalVirtualGroupID, + SecondarySpBlsAggSignatures: secondarySpBlsSignatures, + ExpectChecksums: checksums, + } +} + +// Route implements the sdk.Msg interface. +func (msg *MsgSealObjectV2) Route() string { + return RouterKey +} + +// Type implements the sdk.Msg interface. +func (msg *MsgSealObjectV2) Type() string { + return TypeMsgSealObjectV2 +} + +// GetSigners implements the sdk.Msg interface. +func (msg *MsgSealObjectV2) GetSigners() []sdk.AccAddress { + operator, err := sdk.AccAddressFromHexUnsafe(msg.Operator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{operator} +} + +// GetSignBytes returns the message bytes to sign over. +func (msg *MsgSealObjectV2) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +// ValidateBasic implements the sdk.Msg interface. +func (msg *MsgSealObjectV2) ValidateBasic() error { + _, err := sdk.AccAddressFromHexUnsafe(msg.Operator) + if err != nil { + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + + err = s3util.CheckValidBucketName(msg.BucketName) + if err != nil { + return err + } + + err = s3util.CheckValidObjectName(msg.ObjectName) + if err != nil { + return err + } + + if len(msg.GetSecondarySpBlsAggSignatures()) != sdk.BLSSignatureLength { + return errors.Wrap(gnfderrors.ErrInvalidBlsSignature, + fmt.Sprintf("length of signature should be %d", sdk.BLSSignatureLength), + ) + } + + if msg.ExpectChecksums != nil { + if err = s3util.CheckValidExpectChecksums(msg.ExpectChecksums); err != nil { + return err + } + } + return nil +} + func NewMsgCopyObject( operator sdk.AccAddress, srcBucketName, dstBucketName string, srcObjectName, dstObjectName string, timeoutHeight uint64, sig []byte, @@ -1735,17 +1808,14 @@ func (msg *MsgUpdateObjectContent) ValidateBasic() error { if err != nil { return err } - err = s3util.CheckValidObjectName(msg.ObjectName) if err != nil { return err } - err = s3util.CheckValidExpectChecksums(msg.ExpectChecksums) if err != nil { return err } - return nil } @@ -1881,3 +1951,67 @@ func (msg *MsgDelegateCreateObject) ValidateBasic() error { } return nil } + +func NewMsgDelegateUpdateObjectContent( + operator, updater sdk.AccAddress, bucketName, objectName string, payloadSize uint64, + expectChecksums [][]byte) *MsgDelegateUpdateObjectContent { + return &MsgDelegateUpdateObjectContent{ + Operator: operator.String(), + Updater: updater.String(), + BucketName: bucketName, + ObjectName: objectName, + PayloadSize: payloadSize, + ExpectChecksums: expectChecksums, + } +} + +// Route implements the sdk.Msg interface. +func (msg *MsgDelegateUpdateObjectContent) Route() string { + return RouterKey +} + +// Type implements the sdk.Msg interface. +func (msg *MsgDelegateUpdateObjectContent) Type() string { + return TypeMsgDelegateUpdateObjectContent +} + +// GetSigners implements the sdk.Msg interface. +func (msg *MsgDelegateUpdateObjectContent) GetSigners() []sdk.AccAddress { + operator, err := sdk.AccAddressFromHexUnsafe(msg.Operator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{operator} +} + +// GetSignBytes returns the message bytes to sign over. +func (msg *MsgDelegateUpdateObjectContent) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +// ValidateBasic implements the sdk.Msg interface. +func (msg *MsgDelegateUpdateObjectContent) ValidateBasic() error { + _, err := sdk.AccAddressFromHexUnsafe(msg.Operator) + if err != nil { + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + _, err = sdk.AccAddressFromHexUnsafe(msg.Updater) + if err != nil { + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid updater address (%s)", err) + } + err = s3util.CheckValidBucketName(msg.BucketName) + if err != nil { + return err + } + err = s3util.CheckValidObjectName(msg.ObjectName) + if err != nil { + return err + } + if msg.ExpectChecksums != nil { + if err = s3util.CheckValidExpectChecksums(msg.ExpectChecksums); err != nil { + return err + } + } + return nil +} diff --git a/x/storage/types/options.go b/x/storage/types/options.go index 0db2fbaec..a8252a453 100644 --- a/x/storage/types/options.go +++ b/x/storage/types/options.go @@ -1,6 +1,7 @@ package types import ( + sdk "github.com/cosmos/cosmos-sdk/types" time "time" "github.com/bnb-chain/greenfield/types/common" @@ -34,6 +35,8 @@ type CreateObjectOptions struct { Checksums [][]byte PrimarySpApproval *common.Approval ApprovalMsgBytes []byte + Delegated bool + Creator sdk.AccAddress } type CancelCreateObjectOptions struct { @@ -90,4 +93,6 @@ type DeletePolicyOptions struct { type UpdateObjectOptions struct { ContentType string Checksums [][]byte + Delegated bool + Updater sdk.AccAddress } diff --git a/x/storage/types/tx.pb.go b/x/storage/types/tx.pb.go index 11378150d..462998393 100644 --- a/x/storage/types/tx.pb.go +++ b/x/storage/types/tx.pb.go @@ -637,6 +637,135 @@ func (m *MsgSealObjectResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSealObjectResponse proto.InternalMessageInfo +type MsgSealObjectV2 struct { + // operator defines the account address of primary SP + Operator string `protobuf:"bytes,1,opt,name=operator,proto3" json:"operator,omitempty"` + // bucket_name defines the name of the bucket where the object is stored. + BucketName string `protobuf:"bytes,2,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"` + // object_name defines the name of object to be sealed. + ObjectName string `protobuf:"bytes,3,opt,name=object_name,json=objectName,proto3" json:"object_name,omitempty"` + // global_virtual_group_id defines the id of global virtual group + GlobalVirtualGroupId uint32 `protobuf:"varint,4,opt,name=global_virtual_group_id,json=globalVirtualGroupId,proto3" json:"global_virtual_group_id,omitempty"` + // secondary_sp_bls_agg_signatures defines the aggregate bls signature of the secondary sp that can + // acknowledge that the payload data has received and stored. + SecondarySpBlsAggSignatures []byte `protobuf:"bytes,5,opt,name=secondary_sp_bls_agg_signatures,json=secondarySpBlsAggSignatures,proto3" json:"secondary_sp_bls_agg_signatures,omitempty"` + // (optional) checksums define the total checksums of the object which generated by redundancy + // SP might set the checksum of object if it was delegated created by SP, which checksum + // will not be available until sealing object. + ExpectChecksums [][]byte `protobuf:"bytes,6,rep,name=expect_checksums,json=expectChecksums,proto3" json:"expect_checksums,omitempty"` +} + +func (m *MsgSealObjectV2) Reset() { *m = MsgSealObjectV2{} } +func (m *MsgSealObjectV2) String() string { return proto.CompactTextString(m) } +func (*MsgSealObjectV2) ProtoMessage() {} +func (*MsgSealObjectV2) Descriptor() ([]byte, []int) { + return fileDescriptor_ddb71b028305a3cc, []int{10} +} +func (m *MsgSealObjectV2) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSealObjectV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSealObjectV2.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgSealObjectV2) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSealObjectV2.Merge(m, src) +} +func (m *MsgSealObjectV2) XXX_Size() int { + return m.Size() +} +func (m *MsgSealObjectV2) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSealObjectV2.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSealObjectV2 proto.InternalMessageInfo + +func (m *MsgSealObjectV2) GetOperator() string { + if m != nil { + return m.Operator + } + return "" +} + +func (m *MsgSealObjectV2) GetBucketName() string { + if m != nil { + return m.BucketName + } + return "" +} + +func (m *MsgSealObjectV2) GetObjectName() string { + if m != nil { + return m.ObjectName + } + return "" +} + +func (m *MsgSealObjectV2) GetGlobalVirtualGroupId() uint32 { + if m != nil { + return m.GlobalVirtualGroupId + } + return 0 +} + +func (m *MsgSealObjectV2) GetSecondarySpBlsAggSignatures() []byte { + if m != nil { + return m.SecondarySpBlsAggSignatures + } + return nil +} + +func (m *MsgSealObjectV2) GetExpectChecksums() [][]byte { + if m != nil { + return m.ExpectChecksums + } + return nil +} + +type MsgSealObjectV2Response struct { +} + +func (m *MsgSealObjectV2Response) Reset() { *m = MsgSealObjectV2Response{} } +func (m *MsgSealObjectV2Response) String() string { return proto.CompactTextString(m) } +func (*MsgSealObjectV2Response) ProtoMessage() {} +func (*MsgSealObjectV2Response) Descriptor() ([]byte, []int) { + return fileDescriptor_ddb71b028305a3cc, []int{11} +} +func (m *MsgSealObjectV2Response) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSealObjectV2Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSealObjectV2Response.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgSealObjectV2Response) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSealObjectV2Response.Merge(m, src) +} +func (m *MsgSealObjectV2Response) XXX_Size() int { + return m.Size() +} +func (m *MsgSealObjectV2Response) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSealObjectV2Response.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSealObjectV2Response proto.InternalMessageInfo + type MsgRejectSealObject struct { // operator defines the account address of the object owner Operator string `protobuf:"bytes,1,opt,name=operator,proto3" json:"operator,omitempty"` @@ -650,7 +779,7 @@ func (m *MsgRejectSealObject) Reset() { *m = MsgRejectSealObject{} } func (m *MsgRejectSealObject) String() string { return proto.CompactTextString(m) } func (*MsgRejectSealObject) ProtoMessage() {} func (*MsgRejectSealObject) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{10} + return fileDescriptor_ddb71b028305a3cc, []int{12} } func (m *MsgRejectSealObject) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -707,7 +836,7 @@ func (m *MsgRejectSealObjectResponse) Reset() { *m = MsgRejectSealObject func (m *MsgRejectSealObjectResponse) String() string { return proto.CompactTextString(m) } func (*MsgRejectSealObjectResponse) ProtoMessage() {} func (*MsgRejectSealObjectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{11} + return fileDescriptor_ddb71b028305a3cc, []int{13} } func (m *MsgRejectSealObjectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -755,7 +884,7 @@ func (m *MsgCopyObject) Reset() { *m = MsgCopyObject{} } func (m *MsgCopyObject) String() string { return proto.CompactTextString(m) } func (*MsgCopyObject) ProtoMessage() {} func (*MsgCopyObject) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{12} + return fileDescriptor_ddb71b028305a3cc, []int{14} } func (m *MsgCopyObject) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -834,7 +963,7 @@ func (m *MsgCopyObjectResponse) Reset() { *m = MsgCopyObjectResponse{} } func (m *MsgCopyObjectResponse) String() string { return proto.CompactTextString(m) } func (*MsgCopyObjectResponse) ProtoMessage() {} func (*MsgCopyObjectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{13} + return fileDescriptor_ddb71b028305a3cc, []int{15} } func (m *MsgCopyObjectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -876,7 +1005,7 @@ func (m *MsgDeleteObject) Reset() { *m = MsgDeleteObject{} } func (m *MsgDeleteObject) String() string { return proto.CompactTextString(m) } func (*MsgDeleteObject) ProtoMessage() {} func (*MsgDeleteObject) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{14} + return fileDescriptor_ddb71b028305a3cc, []int{16} } func (m *MsgDeleteObject) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -933,7 +1062,7 @@ func (m *MsgDeleteObjectResponse) Reset() { *m = MsgDeleteObjectResponse func (m *MsgDeleteObjectResponse) String() string { return proto.CompactTextString(m) } func (*MsgDeleteObjectResponse) ProtoMessage() {} func (*MsgDeleteObjectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{15} + return fileDescriptor_ddb71b028305a3cc, []int{17} } func (m *MsgDeleteObjectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -977,7 +1106,7 @@ func (m *MsgDiscontinueObject) Reset() { *m = MsgDiscontinueObject{} } func (m *MsgDiscontinueObject) String() string { return proto.CompactTextString(m) } func (*MsgDiscontinueObject) ProtoMessage() {} func (*MsgDiscontinueObject) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{16} + return fileDescriptor_ddb71b028305a3cc, []int{18} } func (m *MsgDiscontinueObject) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1034,7 +1163,7 @@ func (m *MsgDiscontinueObjectResponse) Reset() { *m = MsgDiscontinueObje func (m *MsgDiscontinueObjectResponse) String() string { return proto.CompactTextString(m) } func (*MsgDiscontinueObjectResponse) ProtoMessage() {} func (*MsgDiscontinueObjectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{17} + return fileDescriptor_ddb71b028305a3cc, []int{19} } func (m *MsgDiscontinueObjectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1076,7 +1205,7 @@ func (m *MsgCreateGroup) Reset() { *m = MsgCreateGroup{} } func (m *MsgCreateGroup) String() string { return proto.CompactTextString(m) } func (*MsgCreateGroup) ProtoMessage() {} func (*MsgCreateGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{18} + return fileDescriptor_ddb71b028305a3cc, []int{20} } func (m *MsgCreateGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1134,7 +1263,7 @@ func (m *MsgCreateGroupResponse) Reset() { *m = MsgCreateGroupResponse{} func (m *MsgCreateGroupResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateGroupResponse) ProtoMessage() {} func (*MsgCreateGroupResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{19} + return fileDescriptor_ddb71b028305a3cc, []int{21} } func (m *MsgCreateGroupResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1174,7 +1303,7 @@ func (m *MsgDeleteGroup) Reset() { *m = MsgDeleteGroup{} } func (m *MsgDeleteGroup) String() string { return proto.CompactTextString(m) } func (*MsgDeleteGroup) ProtoMessage() {} func (*MsgDeleteGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{20} + return fileDescriptor_ddb71b028305a3cc, []int{22} } func (m *MsgDeleteGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1224,7 +1353,7 @@ func (m *MsgDeleteGroupResponse) Reset() { *m = MsgDeleteGroupResponse{} func (m *MsgDeleteGroupResponse) String() string { return proto.CompactTextString(m) } func (*MsgDeleteGroupResponse) ProtoMessage() {} func (*MsgDeleteGroupResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{21} + return fileDescriptor_ddb71b028305a3cc, []int{23} } func (m *MsgDeleteGroupResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1270,7 +1399,7 @@ func (m *MsgUpdateGroupMember) Reset() { *m = MsgUpdateGroupMember{} } func (m *MsgUpdateGroupMember) String() string { return proto.CompactTextString(m) } func (*MsgUpdateGroupMember) ProtoMessage() {} func (*MsgUpdateGroupMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{22} + return fileDescriptor_ddb71b028305a3cc, []int{24} } func (m *MsgUpdateGroupMember) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1341,7 +1470,7 @@ func (m *MsgUpdateGroupMemberResponse) Reset() { *m = MsgUpdateGroupMemb func (m *MsgUpdateGroupMemberResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateGroupMemberResponse) ProtoMessage() {} func (*MsgUpdateGroupMemberResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{23} + return fileDescriptor_ddb71b028305a3cc, []int{25} } func (m *MsgUpdateGroupMemberResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1385,7 +1514,7 @@ func (m *MsgRenewGroupMember) Reset() { *m = MsgRenewGroupMember{} } func (m *MsgRenewGroupMember) String() string { return proto.CompactTextString(m) } func (*MsgRenewGroupMember) ProtoMessage() {} func (*MsgRenewGroupMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{24} + return fileDescriptor_ddb71b028305a3cc, []int{26} } func (m *MsgRenewGroupMember) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1449,7 +1578,7 @@ func (m *MsgRenewGroupMemberResponse) Reset() { *m = MsgRenewGroupMember func (m *MsgRenewGroupMemberResponse) String() string { return proto.CompactTextString(m) } func (*MsgRenewGroupMemberResponse) ProtoMessage() {} func (*MsgRenewGroupMemberResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{25} + return fileDescriptor_ddb71b028305a3cc, []int{27} } func (m *MsgRenewGroupMemberResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1489,7 +1618,7 @@ func (m *MsgGroupMember) Reset() { *m = MsgGroupMember{} } func (m *MsgGroupMember) String() string { return proto.CompactTextString(m) } func (*MsgGroupMember) ProtoMessage() {} func (*MsgGroupMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{26} + return fileDescriptor_ddb71b028305a3cc, []int{28} } func (m *MsgGroupMember) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1547,7 +1676,7 @@ func (m *MsgUpdateGroupExtra) Reset() { *m = MsgUpdateGroupExtra{} } func (m *MsgUpdateGroupExtra) String() string { return proto.CompactTextString(m) } func (*MsgUpdateGroupExtra) ProtoMessage() {} func (*MsgUpdateGroupExtra) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{27} + return fileDescriptor_ddb71b028305a3cc, []int{29} } func (m *MsgUpdateGroupExtra) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1611,7 +1740,7 @@ func (m *MsgUpdateGroupExtraResponse) Reset() { *m = MsgUpdateGroupExtra func (m *MsgUpdateGroupExtraResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateGroupExtraResponse) ProtoMessage() {} func (*MsgUpdateGroupExtraResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{28} + return fileDescriptor_ddb71b028305a3cc, []int{30} } func (m *MsgUpdateGroupExtraResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1653,7 +1782,7 @@ func (m *MsgLeaveGroup) Reset() { *m = MsgLeaveGroup{} } func (m *MsgLeaveGroup) String() string { return proto.CompactTextString(m) } func (*MsgLeaveGroup) ProtoMessage() {} func (*MsgLeaveGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{29} + return fileDescriptor_ddb71b028305a3cc, []int{31} } func (m *MsgLeaveGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1710,7 +1839,7 @@ func (m *MsgLeaveGroupResponse) Reset() { *m = MsgLeaveGroupResponse{} } func (m *MsgLeaveGroupResponse) String() string { return proto.CompactTextString(m) } func (*MsgLeaveGroupResponse) ProtoMessage() {} func (*MsgLeaveGroupResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{30} + return fileDescriptor_ddb71b028305a3cc, []int{32} } func (m *MsgLeaveGroupResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1759,7 +1888,7 @@ func (m *MsgUpdateBucketInfo) Reset() { *m = MsgUpdateBucketInfo{} } func (m *MsgUpdateBucketInfo) String() string { return proto.CompactTextString(m) } func (*MsgUpdateBucketInfo) ProtoMessage() {} func (*MsgUpdateBucketInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{31} + return fileDescriptor_ddb71b028305a3cc, []int{33} } func (m *MsgUpdateBucketInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1830,7 +1959,7 @@ func (m *MsgUpdateBucketInfoResponse) Reset() { *m = MsgUpdateBucketInfo func (m *MsgUpdateBucketInfoResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateBucketInfoResponse) ProtoMessage() {} func (*MsgUpdateBucketInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{32} + return fileDescriptor_ddb71b028305a3cc, []int{34} } func (m *MsgUpdateBucketInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1872,7 +2001,7 @@ func (m *MsgCancelCreateObject) Reset() { *m = MsgCancelCreateObject{} } func (m *MsgCancelCreateObject) String() string { return proto.CompactTextString(m) } func (*MsgCancelCreateObject) ProtoMessage() {} func (*MsgCancelCreateObject) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{33} + return fileDescriptor_ddb71b028305a3cc, []int{35} } func (m *MsgCancelCreateObject) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1929,7 +2058,7 @@ func (m *MsgCancelCreateObjectResponse) Reset() { *m = MsgCancelCreateOb func (m *MsgCancelCreateObjectResponse) String() string { return proto.CompactTextString(m) } func (*MsgCancelCreateObjectResponse) ProtoMessage() {} func (*MsgCancelCreateObjectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{34} + return fileDescriptor_ddb71b028305a3cc, []int{36} } func (m *MsgCancelCreateObjectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1976,7 +2105,7 @@ func (m *MsgPutPolicy) Reset() { *m = MsgPutPolicy{} } func (m *MsgPutPolicy) String() string { return proto.CompactTextString(m) } func (*MsgPutPolicy) ProtoMessage() {} func (*MsgPutPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{35} + return fileDescriptor_ddb71b028305a3cc, []int{37} } func (m *MsgPutPolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2048,7 +2177,7 @@ func (m *MsgPutPolicyResponse) Reset() { *m = MsgPutPolicyResponse{} } func (m *MsgPutPolicyResponse) String() string { return proto.CompactTextString(m) } func (*MsgPutPolicyResponse) ProtoMessage() {} func (*MsgPutPolicyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{36} + return fileDescriptor_ddb71b028305a3cc, []int{38} } func (m *MsgPutPolicyResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2090,7 +2219,7 @@ func (m *MsgDeletePolicy) Reset() { *m = MsgDeletePolicy{} } func (m *MsgDeletePolicy) String() string { return proto.CompactTextString(m) } func (*MsgDeletePolicy) ProtoMessage() {} func (*MsgDeletePolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{37} + return fileDescriptor_ddb71b028305a3cc, []int{39} } func (m *MsgDeletePolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2148,7 +2277,7 @@ func (m *MsgDeletePolicyResponse) Reset() { *m = MsgDeletePolicyResponse func (m *MsgDeletePolicyResponse) String() string { return proto.CompactTextString(m) } func (*MsgDeletePolicyResponse) ProtoMessage() {} func (*MsgDeletePolicyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{38} + return fileDescriptor_ddb71b028305a3cc, []int{40} } func (m *MsgDeletePolicyResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2194,7 +2323,7 @@ func (m *MsgMirrorObject) Reset() { *m = MsgMirrorObject{} } func (m *MsgMirrorObject) String() string { return proto.CompactTextString(m) } func (*MsgMirrorObject) ProtoMessage() {} func (*MsgMirrorObject) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{39} + return fileDescriptor_ddb71b028305a3cc, []int{41} } func (m *MsgMirrorObject) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2258,7 +2387,7 @@ func (m *MsgMirrorObjectResponse) Reset() { *m = MsgMirrorObjectResponse func (m *MsgMirrorObjectResponse) String() string { return proto.CompactTextString(m) } func (*MsgMirrorObjectResponse) ProtoMessage() {} func (*MsgMirrorObjectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{40} + return fileDescriptor_ddb71b028305a3cc, []int{42} } func (m *MsgMirrorObjectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2302,7 +2431,7 @@ func (m *MsgMirrorBucket) Reset() { *m = MsgMirrorBucket{} } func (m *MsgMirrorBucket) String() string { return proto.CompactTextString(m) } func (*MsgMirrorBucket) ProtoMessage() {} func (*MsgMirrorBucket) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{41} + return fileDescriptor_ddb71b028305a3cc, []int{43} } func (m *MsgMirrorBucket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2359,7 +2488,7 @@ func (m *MsgUpdateObjectInfoResponse) Reset() { *m = MsgUpdateObjectInfo func (m *MsgUpdateObjectInfoResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateObjectInfoResponse) ProtoMessage() {} func (*MsgUpdateObjectInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{42} + return fileDescriptor_ddb71b028305a3cc, []int{44} } func (m *MsgUpdateObjectInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2404,7 +2533,7 @@ func (m *MsgUpdateObjectInfo) Reset() { *m = MsgUpdateObjectInfo{} } func (m *MsgUpdateObjectInfo) String() string { return proto.CompactTextString(m) } func (*MsgUpdateObjectInfo) ProtoMessage() {} func (*MsgUpdateObjectInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{43} + return fileDescriptor_ddb71b028305a3cc, []int{45} } func (m *MsgUpdateObjectInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2468,7 +2597,7 @@ func (m *MsgMirrorBucketResponse) Reset() { *m = MsgMirrorBucketResponse func (m *MsgMirrorBucketResponse) String() string { return proto.CompactTextString(m) } func (*MsgMirrorBucketResponse) ProtoMessage() {} func (*MsgMirrorBucketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{44} + return fileDescriptor_ddb71b028305a3cc, []int{46} } func (m *MsgMirrorBucketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2512,7 +2641,7 @@ func (m *MsgMirrorGroup) Reset() { *m = MsgMirrorGroup{} } func (m *MsgMirrorGroup) String() string { return proto.CompactTextString(m) } func (*MsgMirrorGroup) ProtoMessage() {} func (*MsgMirrorGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{45} + return fileDescriptor_ddb71b028305a3cc, []int{47} } func (m *MsgMirrorGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2569,7 +2698,7 @@ func (m *MsgMirrorGroupResponse) Reset() { *m = MsgMirrorGroupResponse{} func (m *MsgMirrorGroupResponse) String() string { return proto.CompactTextString(m) } func (*MsgMirrorGroupResponse) ProtoMessage() {} func (*MsgMirrorGroupResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{46} + return fileDescriptor_ddb71b028305a3cc, []int{48} } func (m *MsgMirrorGroupResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2611,7 +2740,7 @@ func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } func (*MsgUpdateParams) ProtoMessage() {} func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{47} + return fileDescriptor_ddb71b028305a3cc, []int{49} } func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2662,7 +2791,7 @@ func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateParamsResponse) ProtoMessage() {} func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{48} + return fileDescriptor_ddb71b028305a3cc, []int{50} } func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2706,7 +2835,7 @@ func (m *MsgMigrateBucket) Reset() { *m = MsgMigrateBucket{} } func (m *MsgMigrateBucket) String() string { return proto.CompactTextString(m) } func (*MsgMigrateBucket) ProtoMessage() {} func (*MsgMigrateBucket) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{49} + return fileDescriptor_ddb71b028305a3cc, []int{51} } func (m *MsgMigrateBucket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2770,7 +2899,7 @@ func (m *MsgMigrateBucketResponse) Reset() { *m = MsgMigrateBucketRespon func (m *MsgMigrateBucketResponse) String() string { return proto.CompactTextString(m) } func (*MsgMigrateBucketResponse) ProtoMessage() {} func (*MsgMigrateBucketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{50} + return fileDescriptor_ddb71b028305a3cc, []int{52} } func (m *MsgMigrateBucketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2815,7 +2944,7 @@ func (m *MsgCompleteMigrateBucket) Reset() { *m = MsgCompleteMigrateBuck func (m *MsgCompleteMigrateBucket) String() string { return proto.CompactTextString(m) } func (*MsgCompleteMigrateBucket) ProtoMessage() {} func (*MsgCompleteMigrateBucket) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{51} + return fileDescriptor_ddb71b028305a3cc, []int{53} } func (m *MsgCompleteMigrateBucket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2879,7 +3008,7 @@ func (m *MsgCompleteMigrateBucketResponse) Reset() { *m = MsgCompleteMig func (m *MsgCompleteMigrateBucketResponse) String() string { return proto.CompactTextString(m) } func (*MsgCompleteMigrateBucketResponse) ProtoMessage() {} func (*MsgCompleteMigrateBucketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{52} + return fileDescriptor_ddb71b028305a3cc, []int{54} } func (m *MsgCompleteMigrateBucketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2920,7 +3049,7 @@ func (m *MsgCancelMigrateBucket) Reset() { *m = MsgCancelMigrateBucket{} func (m *MsgCancelMigrateBucket) String() string { return proto.CompactTextString(m) } func (*MsgCancelMigrateBucket) ProtoMessage() {} func (*MsgCancelMigrateBucket) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{53} + return fileDescriptor_ddb71b028305a3cc, []int{55} } func (m *MsgCancelMigrateBucket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2970,7 +3099,7 @@ func (m *MsgCancelMigrateBucketResponse) Reset() { *m = MsgCancelMigrate func (m *MsgCancelMigrateBucketResponse) String() string { return proto.CompactTextString(m) } func (*MsgCancelMigrateBucketResponse) ProtoMessage() {} func (*MsgCancelMigrateBucketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{54} + return fileDescriptor_ddb71b028305a3cc, []int{56} } func (m *MsgCancelMigrateBucketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3011,7 +3140,7 @@ func (m *MsgRejectMigrateBucket) Reset() { *m = MsgRejectMigrateBucket{} func (m *MsgRejectMigrateBucket) String() string { return proto.CompactTextString(m) } func (*MsgRejectMigrateBucket) ProtoMessage() {} func (*MsgRejectMigrateBucket) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{55} + return fileDescriptor_ddb71b028305a3cc, []int{57} } func (m *MsgRejectMigrateBucket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3061,7 +3190,7 @@ func (m *MsgRejectMigrateBucketResponse) Reset() { *m = MsgRejectMigrate func (m *MsgRejectMigrateBucketResponse) String() string { return proto.CompactTextString(m) } func (*MsgRejectMigrateBucketResponse) ProtoMessage() {} func (*MsgRejectMigrateBucketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{56} + return fileDescriptor_ddb71b028305a3cc, []int{58} } func (m *MsgRejectMigrateBucketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3103,7 +3232,7 @@ func (m *MsgSetTag) Reset() { *m = MsgSetTag{} } func (m *MsgSetTag) String() string { return proto.CompactTextString(m) } func (*MsgSetTag) ProtoMessage() {} func (*MsgSetTag) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{57} + return fileDescriptor_ddb71b028305a3cc, []int{59} } func (m *MsgSetTag) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3160,7 +3289,7 @@ func (m *MsgSetTagResponse) Reset() { *m = MsgSetTagResponse{} } func (m *MsgSetTagResponse) String() string { return proto.CompactTextString(m) } func (*MsgSetTagResponse) ProtoMessage() {} func (*MsgSetTagResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{58} + return fileDescriptor_ddb71b028305a3cc, []int{60} } func (m *MsgSetTagResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3208,7 +3337,7 @@ func (m *MsgUpdateObjectContent) Reset() { *m = MsgUpdateObjectContent{} func (m *MsgUpdateObjectContent) String() string { return proto.CompactTextString(m) } func (*MsgUpdateObjectContent) ProtoMessage() {} func (*MsgUpdateObjectContent) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{59} + return fileDescriptor_ddb71b028305a3cc, []int{61} } func (m *MsgUpdateObjectContent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3286,7 +3415,7 @@ func (m *MsgUpdateObjectContentResponse) Reset() { *m = MsgUpdateObjectC func (m *MsgUpdateObjectContentResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateObjectContentResponse) ProtoMessage() {} func (*MsgUpdateObjectContentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{60} + return fileDescriptor_ddb71b028305a3cc, []int{62} } func (m *MsgUpdateObjectContentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3328,7 +3457,7 @@ func (m *MsgCancelUpdateObjectContent) Reset() { *m = MsgCancelUpdateObj func (m *MsgCancelUpdateObjectContent) String() string { return proto.CompactTextString(m) } func (*MsgCancelUpdateObjectContent) ProtoMessage() {} func (*MsgCancelUpdateObjectContent) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{61} + return fileDescriptor_ddb71b028305a3cc, []int{63} } func (m *MsgCancelUpdateObjectContent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3385,7 +3514,7 @@ func (m *MsgCancelUpdateObjectContentResponse) Reset() { *m = MsgCancelU func (m *MsgCancelUpdateObjectContentResponse) String() string { return proto.CompactTextString(m) } func (*MsgCancelUpdateObjectContentResponse) ProtoMessage() {} func (*MsgCancelUpdateObjectContentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{62} + return fileDescriptor_ddb71b028305a3cc, []int{64} } func (m *MsgCancelUpdateObjectContentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3440,7 +3569,7 @@ func (m *MsgDelegateCreateObject) Reset() { *m = MsgDelegateCreateObject func (m *MsgDelegateCreateObject) String() string { return proto.CompactTextString(m) } func (*MsgDelegateCreateObject) ProtoMessage() {} func (*MsgDelegateCreateObject) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{63} + return fileDescriptor_ddb71b028305a3cc, []int{65} } func (m *MsgDelegateCreateObject) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3540,7 +3669,7 @@ func (m *MsgDelegateCreateObjectResponse) Reset() { *m = MsgDelegateCrea func (m *MsgDelegateCreateObjectResponse) String() string { return proto.CompactTextString(m) } func (*MsgDelegateCreateObjectResponse) ProtoMessage() {} func (*MsgDelegateCreateObjectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{64} + return fileDescriptor_ddb71b028305a3cc, []int{66} } func (m *MsgDelegateCreateObjectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3569,29 +3698,35 @@ func (m *MsgDelegateCreateObjectResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgDelegateCreateObjectResponse proto.InternalMessageInfo -type MsgUpdateDelegatedAgent struct { - // operator defines the account address of the operator, only the bucket owner can update the delegated agent. +type MsgDelegateUpdateObjectContent struct { + // operator defines the account address of the operator, it is the delegated agent that allows to creat object under bucket. Operator string `protobuf:"bytes,1,opt,name=operator,proto3" json:"operator,omitempty"` - // bucket_name defines the name of the bucket. - BucketName string `protobuf:"bytes,2,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"` - // agents_to_add defines the delegated agent addresses to be added - AgentsToAdd []string `protobuf:"bytes,3,rep,name=agents_to_add,json=agentsToAdd,proto3" json:"agents_to_add,omitempty"` - // agents_to_remove defines the delegated agent addresses to be removed - AgentsToRemove []string `protobuf:"bytes,4,rep,name=agents_to_remove,json=agentsToRemove,proto3" json:"agents_to_remove,omitempty"` + // updater defines the account address of the object updater. + Updater string `protobuf:"bytes,2,opt,name=updater,proto3" json:"updater,omitempty"` + // bucket_name defines the name of the bucket where the object is stored. + BucketName string `protobuf:"bytes,3,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"` + // object_name defines the name of object + ObjectName string `protobuf:"bytes,4,opt,name=object_name,json=objectName,proto3" json:"object_name,omitempty"` + // payload_size defines size of the object's payload + PayloadSize uint64 `protobuf:"varint,5,opt,name=payload_size,json=payloadSize,proto3" json:"payload_size,omitempty"` + // content_type define the format of the object which should be a standard MIME type. + ContentType string `protobuf:"bytes,6,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` + // expect_checksums defines a list of hashes which was generate by redundancy algorithm. + ExpectChecksums [][]byte `protobuf:"bytes,7,rep,name=expect_checksums,json=expectChecksums,proto3" json:"expect_checksums,omitempty"` } -func (m *MsgUpdateDelegatedAgent) Reset() { *m = MsgUpdateDelegatedAgent{} } -func (m *MsgUpdateDelegatedAgent) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateDelegatedAgent) ProtoMessage() {} -func (*MsgUpdateDelegatedAgent) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{65} +func (m *MsgDelegateUpdateObjectContent) Reset() { *m = MsgDelegateUpdateObjectContent{} } +func (m *MsgDelegateUpdateObjectContent) String() string { return proto.CompactTextString(m) } +func (*MsgDelegateUpdateObjectContent) ProtoMessage() {} +func (*MsgDelegateUpdateObjectContent) Descriptor() ([]byte, []int) { + return fileDescriptor_ddb71b028305a3cc, []int{67} } -func (m *MsgUpdateDelegatedAgent) XXX_Unmarshal(b []byte) error { +func (m *MsgDelegateUpdateObjectContent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateDelegatedAgent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgDelegateUpdateObjectContent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateDelegatedAgent.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgDelegateUpdateObjectContent.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -3601,54 +3736,185 @@ func (m *MsgUpdateDelegatedAgent) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (m *MsgUpdateDelegatedAgent) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateDelegatedAgent.Merge(m, src) +func (m *MsgDelegateUpdateObjectContent) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDelegateUpdateObjectContent.Merge(m, src) } -func (m *MsgUpdateDelegatedAgent) XXX_Size() int { +func (m *MsgDelegateUpdateObjectContent) XXX_Size() int { return m.Size() } -func (m *MsgUpdateDelegatedAgent) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateDelegatedAgent.DiscardUnknown(m) +func (m *MsgDelegateUpdateObjectContent) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDelegateUpdateObjectContent.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateDelegatedAgent proto.InternalMessageInfo +var xxx_messageInfo_MsgDelegateUpdateObjectContent proto.InternalMessageInfo -func (m *MsgUpdateDelegatedAgent) GetOperator() string { +func (m *MsgDelegateUpdateObjectContent) GetOperator() string { if m != nil { return m.Operator } return "" } -func (m *MsgUpdateDelegatedAgent) GetBucketName() string { +func (m *MsgDelegateUpdateObjectContent) GetUpdater() string { + if m != nil { + return m.Updater + } + return "" +} + +func (m *MsgDelegateUpdateObjectContent) GetBucketName() string { if m != nil { return m.BucketName } return "" } -func (m *MsgUpdateDelegatedAgent) GetAgentsToAdd() []string { +func (m *MsgDelegateUpdateObjectContent) GetObjectName() string { if m != nil { - return m.AgentsToAdd + return m.ObjectName } - return nil + return "" } -func (m *MsgUpdateDelegatedAgent) GetAgentsToRemove() []string { +func (m *MsgDelegateUpdateObjectContent) GetPayloadSize() uint64 { if m != nil { - return m.AgentsToRemove + return m.PayloadSize } - return nil + return 0 } -type MsgUpdateDelegatedAgentResponse struct { +func (m *MsgDelegateUpdateObjectContent) GetContentType() string { + if m != nil { + return m.ContentType + } + return "" +} + +func (m *MsgDelegateUpdateObjectContent) GetExpectChecksums() [][]byte { + if m != nil { + return m.ExpectChecksums + } + return nil +} + +type MsgDelegateUpdateObjectContentResponse struct { +} + +func (m *MsgDelegateUpdateObjectContentResponse) Reset() { + *m = MsgDelegateUpdateObjectContentResponse{} +} +func (m *MsgDelegateUpdateObjectContentResponse) String() string { return proto.CompactTextString(m) } +func (*MsgDelegateUpdateObjectContentResponse) ProtoMessage() {} +func (*MsgDelegateUpdateObjectContentResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ddb71b028305a3cc, []int{68} +} +func (m *MsgDelegateUpdateObjectContentResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDelegateUpdateObjectContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDelegateUpdateObjectContentResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgDelegateUpdateObjectContentResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDelegateUpdateObjectContentResponse.Merge(m, src) +} +func (m *MsgDelegateUpdateObjectContentResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgDelegateUpdateObjectContentResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDelegateUpdateObjectContentResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDelegateUpdateObjectContentResponse proto.InternalMessageInfo + +type MsgUpdateDelegatedAgent struct { + // operator defines the account address of the operator, only the bucket owner can update the delegated agent. + Operator string `protobuf:"bytes,1,opt,name=operator,proto3" json:"operator,omitempty"` + // bucket_name defines the name of the bucket. + BucketName string `protobuf:"bytes,2,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"` + // agents_to_add defines the delegated agent addresses to be added + AgentsToAdd []string `protobuf:"bytes,3,rep,name=agents_to_add,json=agentsToAdd,proto3" json:"agents_to_add,omitempty"` + // agents_to_remove defines the delegated agent addresses to be removed + AgentsToRemove []string `protobuf:"bytes,4,rep,name=agents_to_remove,json=agentsToRemove,proto3" json:"agents_to_remove,omitempty"` +} + +func (m *MsgUpdateDelegatedAgent) Reset() { *m = MsgUpdateDelegatedAgent{} } +func (m *MsgUpdateDelegatedAgent) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateDelegatedAgent) ProtoMessage() {} +func (*MsgUpdateDelegatedAgent) Descriptor() ([]byte, []int) { + return fileDescriptor_ddb71b028305a3cc, []int{69} +} +func (m *MsgUpdateDelegatedAgent) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateDelegatedAgent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateDelegatedAgent.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateDelegatedAgent) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateDelegatedAgent.Merge(m, src) +} +func (m *MsgUpdateDelegatedAgent) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateDelegatedAgent) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateDelegatedAgent.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateDelegatedAgent proto.InternalMessageInfo + +func (m *MsgUpdateDelegatedAgent) GetOperator() string { + if m != nil { + return m.Operator + } + return "" +} + +func (m *MsgUpdateDelegatedAgent) GetBucketName() string { + if m != nil { + return m.BucketName + } + return "" +} + +func (m *MsgUpdateDelegatedAgent) GetAgentsToAdd() []string { + if m != nil { + return m.AgentsToAdd + } + return nil +} + +func (m *MsgUpdateDelegatedAgent) GetAgentsToRemove() []string { + if m != nil { + return m.AgentsToRemove + } + return nil +} + +type MsgUpdateDelegatedAgentResponse struct { } func (m *MsgUpdateDelegatedAgentResponse) Reset() { *m = MsgUpdateDelegatedAgentResponse{} } func (m *MsgUpdateDelegatedAgentResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateDelegatedAgentResponse) ProtoMessage() {} func (*MsgUpdateDelegatedAgentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ddb71b028305a3cc, []int{66} + return fileDescriptor_ddb71b028305a3cc, []int{70} } func (m *MsgUpdateDelegatedAgentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3688,6 +3954,8 @@ func init() { proto.RegisterType((*MsgCreateObjectResponse)(nil), "greenfield.storage.MsgCreateObjectResponse") proto.RegisterType((*MsgSealObject)(nil), "greenfield.storage.MsgSealObject") proto.RegisterType((*MsgSealObjectResponse)(nil), "greenfield.storage.MsgSealObjectResponse") + proto.RegisterType((*MsgSealObjectV2)(nil), "greenfield.storage.MsgSealObjectV2") + proto.RegisterType((*MsgSealObjectV2Response)(nil), "greenfield.storage.MsgSealObjectV2Response") proto.RegisterType((*MsgRejectSealObject)(nil), "greenfield.storage.MsgRejectSealObject") proto.RegisterType((*MsgRejectSealObjectResponse)(nil), "greenfield.storage.MsgRejectSealObjectResponse") proto.RegisterType((*MsgCopyObject)(nil), "greenfield.storage.MsgCopyObject") @@ -3743,6 +4011,8 @@ func init() { proto.RegisterType((*MsgCancelUpdateObjectContentResponse)(nil), "greenfield.storage.MsgCancelUpdateObjectContentResponse") proto.RegisterType((*MsgDelegateCreateObject)(nil), "greenfield.storage.MsgDelegateCreateObject") proto.RegisterType((*MsgDelegateCreateObjectResponse)(nil), "greenfield.storage.MsgDelegateCreateObjectResponse") + proto.RegisterType((*MsgDelegateUpdateObjectContent)(nil), "greenfield.storage.MsgDelegateUpdateObjectContent") + proto.RegisterType((*MsgDelegateUpdateObjectContentResponse)(nil), "greenfield.storage.MsgDelegateUpdateObjectContentResponse") proto.RegisterType((*MsgUpdateDelegatedAgent)(nil), "greenfield.storage.MsgUpdateDelegatedAgent") proto.RegisterType((*MsgUpdateDelegatedAgentResponse)(nil), "greenfield.storage.MsgUpdateDelegatedAgentResponse") } @@ -3750,168 +4020,174 @@ func init() { func init() { proto.RegisterFile("greenfield/storage/tx.proto", fileDescriptor_ddb71b028305a3cc) } var fileDescriptor_ddb71b028305a3cc = []byte{ - // 2575 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x4b, 0x6c, 0x1b, 0xc7, - 0x19, 0x36, 0x1f, 0x92, 0xcc, 0x9f, 0x7a, 0x79, 0xad, 0xc4, 0x34, 0x55, 0x53, 0x34, 0x93, 0x3a, - 0xf2, 0x4b, 0x74, 0x14, 0xd7, 0x70, 0x8d, 0xa0, 0xa8, 0xa4, 0x34, 0x2e, 0x91, 0x28, 0x56, 0x56, - 0xb6, 0x0b, 0xa4, 0x28, 0x98, 0x21, 0x77, 0xbc, 0xde, 0x86, 0xdc, 0xdd, 0xee, 0x2e, 0x65, 0x2b, - 0x05, 0x0a, 0xb4, 0x97, 0x9c, 0x0a, 0x18, 0x48, 0x0f, 0x3d, 0x14, 0x05, 0x5a, 0xa0, 0x40, 0x4f, - 0x45, 0x51, 0xe4, 0x5c, 0xf4, 0x12, 0xc0, 0xe8, 0xc9, 0xc8, 0xa1, 0x28, 0x7a, 0x70, 0x03, 0xbb, - 0x40, 0xd1, 0x6b, 0x2f, 0xbd, 0x16, 0xf3, 0xd8, 0xd9, 0xe1, 0x3e, 0x29, 0x5a, 0x8a, 0x74, 0xb2, - 0x39, 0xf3, 0xcd, 0xcc, 0xff, 0x9e, 0x7f, 0xfe, 0x7f, 0x05, 0x8b, 0xba, 0x83, 0xb1, 0x79, 0xcf, - 0xc0, 0x3d, 0xad, 0xe9, 0x7a, 0x96, 0x83, 0x74, 0xdc, 0xf4, 0x1e, 0xae, 0xd8, 0x8e, 0xe5, 0x59, - 0x8a, 0x12, 0x4c, 0xae, 0xf0, 0xc9, 0xea, 0xa9, 0xae, 0xe5, 0xf6, 0x2d, 0xb7, 0xd9, 0x77, 0xf5, - 0xe6, 0xce, 0xeb, 0xe4, 0x1f, 0x06, 0xae, 0x9e, 0x66, 0x13, 0x6d, 0xfa, 0xab, 0xc9, 0x7e, 0xf0, - 0xa9, 0x05, 0xdd, 0xd2, 0x2d, 0x36, 0x4e, 0xfe, 0xc7, 0x47, 0x97, 0x74, 0xcb, 0xd2, 0x7b, 0xb8, - 0x49, 0x7f, 0x75, 0x06, 0xf7, 0x9a, 0x9e, 0xd1, 0xc7, 0xae, 0x87, 0xfa, 0x36, 0x07, 0xd4, 0x25, - 0xda, 0xba, 0x56, 0xbf, 0x6f, 0x99, 0x4d, 0x64, 0xdb, 0x8e, 0xb5, 0x83, 0x7a, 0x62, 0x8b, 0x08, - 0xe2, 0x81, 0x83, 0x6c, 0x1b, 0x3b, 0x1c, 0xd0, 0x90, 0x00, 0x36, 0x76, 0xfa, 0x86, 0xeb, 0x1a, - 0x96, 0xc9, 0xb1, 0x31, 0x9b, 0xf8, 0x22, 0xc8, 0x04, 0xd8, 0xc8, 0x41, 0x7d, 0x9f, 0xbf, 0x5a, - 0x9c, 0x10, 0x77, 0x6d, 0xcc, 0xe7, 0x1b, 0x7f, 0x2e, 0xc0, 0xdc, 0xa6, 0xab, 0x6f, 0x38, 0x18, - 0x79, 0x78, 0x7d, 0xd0, 0xfd, 0x08, 0x7b, 0xca, 0x2a, 0x4c, 0x75, 0xc9, 0x6f, 0xcb, 0xa9, 0xe4, - 0xea, 0xb9, 0xe5, 0xd2, 0x7a, 0xe5, 0x8b, 0xcf, 0x2e, 0x2f, 0x70, 0xb1, 0xad, 0x69, 0x9a, 0x83, - 0x5d, 0x77, 0xdb, 0x73, 0x0c, 0x53, 0x57, 0x7d, 0xa0, 0xb2, 0x04, 0xe5, 0x0e, 0x5d, 0xdd, 0x36, - 0x51, 0x1f, 0x57, 0xf2, 0x64, 0x9d, 0x0a, 0x6c, 0xe8, 0x3d, 0xd4, 0xc7, 0xca, 0x3a, 0xc0, 0x8e, - 0xe1, 0x1a, 0x1d, 0xa3, 0x67, 0x78, 0xbb, 0x95, 0x42, 0x3d, 0xb7, 0x3c, 0xbb, 0xda, 0x58, 0x89, - 0x6a, 0x71, 0xe5, 0xae, 0x40, 0xdd, 0xde, 0xb5, 0xb1, 0x2a, 0xad, 0x52, 0xd6, 0x60, 0xce, 0x46, - 0xbb, 0x7d, 0x6c, 0x7a, 0x6d, 0xc4, 0xc8, 0xa8, 0x14, 0x33, 0x08, 0x9c, 0xe5, 0x0b, 0xf8, 0xa8, - 0xf2, 0x36, 0x28, 0xb6, 0x63, 0xf4, 0x91, 0xb3, 0xdb, 0x76, 0x6d, 0xb1, 0xcb, 0x44, 0xc6, 0x2e, - 0xf3, 0x7c, 0xcd, 0xb6, 0xed, 0xef, 0xf3, 0x0e, 0x9c, 0x94, 0xf7, 0xe1, 0xba, 0xaf, 0x4c, 0xd6, - 0x73, 0xcb, 0xe5, 0xd5, 0x45, 0x99, 0x2f, 0xae, 0xaf, 0x35, 0x0e, 0x51, 0x4f, 0x04, 0x7b, 0xf1, - 0x21, 0xe5, 0x12, 0x28, 0xdd, 0xfb, 0xc8, 0xd1, 0xb1, 0xd6, 0x76, 0x30, 0xd2, 0xda, 0x3f, 0x1a, - 0x58, 0x1e, 0xaa, 0x4c, 0xd5, 0x73, 0xcb, 0x45, 0x75, 0x9e, 0xcf, 0xa8, 0x18, 0x69, 0xef, 0x93, - 0xf1, 0x1b, 0xd3, 0x3f, 0xfb, 0xf7, 0x1f, 0x2f, 0xf8, 0x82, 0x6f, 0x6c, 0xc3, 0xa9, 0x90, 0xfe, - 0x54, 0xec, 0xda, 0x96, 0xe9, 0x62, 0xe5, 0x3a, 0x94, 0xb8, 0x4e, 0x0c, 0x8d, 0x6b, 0x72, 0xf1, - 0xf1, 0xd3, 0xa5, 0x63, 0xff, 0x78, 0xba, 0x54, 0xbc, 0x63, 0x98, 0xde, 0x17, 0x9f, 0x5d, 0x2e, - 0x73, 0x76, 0xc9, 0x4f, 0xf5, 0x38, 0x43, 0xb7, 0xb4, 0xc6, 0x03, 0x6a, 0x14, 0x6f, 0xe1, 0x1e, - 0x16, 0x46, 0x71, 0x15, 0x8e, 0x5b, 0x36, 0x76, 0x46, 0xb2, 0x0a, 0x81, 0xcc, 0x34, 0x8b, 0x1b, - 0x33, 0x84, 0x19, 0x81, 0x6f, 0x9c, 0xa6, 0xdc, 0xc8, 0x07, 0xfb, 0xdc, 0x34, 0x7e, 0x91, 0x83, - 0x05, 0x32, 0x67, 0xb8, 0x5d, 0xcb, 0xf4, 0x0c, 0x73, 0x70, 0xb0, 0x94, 0x29, 0x2f, 0xc3, 0xa4, - 0x83, 0x91, 0x6b, 0x99, 0xd4, 0x58, 0x4b, 0x2a, 0xff, 0x15, 0xa6, 0xb8, 0x06, 0x5f, 0x8b, 0xa3, - 0x4a, 0x90, 0xfd, 0x2f, 0xd9, 0xc1, 0x6e, 0x75, 0x7e, 0x88, 0xbb, 0x07, 0xe4, 0x60, 0x4b, 0x50, - 0xb6, 0xe8, 0xf6, 0x0c, 0xc0, 0x88, 0x06, 0x36, 0x44, 0x01, 0x67, 0x61, 0xda, 0x46, 0xbb, 0x3d, - 0x0b, 0x69, 0x6d, 0xd7, 0xf8, 0x18, 0x53, 0xd7, 0x29, 0xaa, 0x65, 0x3e, 0xb6, 0x6d, 0x7c, 0x1c, - 0x76, 0xd2, 0x89, 0xb1, 0x9c, 0xf4, 0x2c, 0x4c, 0x13, 0x51, 0x10, 0x27, 0x25, 0x81, 0x86, 0xba, - 0x44, 0x49, 0x2d, 0xf3, 0x31, 0x02, 0x4f, 0x72, 0x9e, 0xa9, 0xb1, 0x9c, 0xe7, 0x3c, 0xcc, 0xe3, - 0x87, 0x36, 0xe1, 0xbb, 0x7b, 0x1f, 0x77, 0x3f, 0x72, 0x07, 0x7d, 0xb7, 0x72, 0xbc, 0x5e, 0x58, - 0x9e, 0x56, 0xe7, 0xd8, 0xf8, 0x86, 0x3f, 0xac, 0xbc, 0x03, 0x73, 0x0e, 0xd6, 0x06, 0xa6, 0x86, - 0xcc, 0xee, 0x2e, 0xa3, 0xae, 0x94, 0xcc, 0xa3, 0x2a, 0xa0, 0x94, 0xc7, 0x59, 0x67, 0xe8, 0x77, - 0x8a, 0x1b, 0x32, 0x2d, 0xcb, 0x6e, 0xc8, 0x15, 0x33, 0xa2, 0x1b, 0x32, 0x74, 0x4b, 0x6b, 0x7c, - 0x9a, 0x87, 0x99, 0x4d, 0x57, 0xdf, 0xc6, 0xa8, 0xc7, 0x2d, 0xe7, 0x80, 0x6c, 0x3d, 0xd3, 0x76, - 0xbe, 0x01, 0xa7, 0xf4, 0x9e, 0xd5, 0x41, 0xbd, 0xf6, 0x8e, 0xe1, 0x78, 0x03, 0xd4, 0x6b, 0xeb, - 0x8e, 0x35, 0xb0, 0x09, 0x47, 0xc4, 0x8c, 0x66, 0xd4, 0x05, 0x36, 0x7d, 0x97, 0xcd, 0xde, 0x24, - 0x93, 0x2d, 0x4d, 0x79, 0x0b, 0x96, 0x5c, 0xdc, 0xb5, 0x4c, 0x8d, 0xab, 0xba, 0xd3, 0x73, 0xdb, - 0x48, 0xd7, 0xdb, 0xae, 0xa1, 0x9b, 0xc8, 0x1b, 0x38, 0x98, 0x85, 0xde, 0x69, 0x75, 0x51, 0xc0, - 0xb6, 0xed, 0xf5, 0x9e, 0xbb, 0xa6, 0xeb, 0xdb, 0x02, 0x12, 0xf6, 0xb8, 0x53, 0xf0, 0xd2, 0x90, - 0x50, 0x84, 0xab, 0xfd, 0x2a, 0x07, 0x27, 0x37, 0x5d, 0x5d, 0xc5, 0x64, 0xf4, 0xf0, 0x85, 0x16, - 0xa6, 0xfb, 0x0c, 0x2c, 0xc6, 0x50, 0x27, 0xa8, 0xff, 0x03, 0x53, 0xf6, 0x86, 0x65, 0xef, 0x72, - 0xba, 0xab, 0x61, 0xba, 0x25, 0xea, 0xce, 0xc1, 0x9c, 0xeb, 0x74, 0xdb, 0x51, 0x0a, 0x67, 0x5c, - 0xa7, 0xbb, 0x1e, 0x10, 0x79, 0x0e, 0xe6, 0x34, 0xd7, 0x1b, 0xc2, 0x31, 0x42, 0x67, 0x34, 0xd7, - 0x1b, 0xc6, 0x91, 0xfd, 0x64, 0x86, 0x8a, 0x62, 0xbf, 0x5b, 0x81, 0x21, 0xf0, 0xfd, 0x64, 0xdc, - 0x84, 0xd8, 0x4f, 0xc2, 0xa9, 0x70, 0x8a, 0xe0, 0xc6, 0xbc, 0x23, 0x17, 0x34, 0xd7, 0xdb, 0x0a, - 0x7b, 0x7a, 0x58, 0x9e, 0xef, 0x53, 0x3b, 0x08, 0xe4, 0xb5, 0x0f, 0x0e, 0xf7, 0xcb, 0x9c, 0x74, - 0xf1, 0x1d, 0x2d, 0xeb, 0x91, 0x6f, 0xc6, 0x90, 0xe5, 0x3c, 0x89, 0xdc, 0x8c, 0x07, 0x4b, 0xfa, - 0x0d, 0x00, 0x21, 0x5f, 0xb7, 0x52, 0xa8, 0x17, 0xb2, 0x04, 0x5c, 0xf2, 0x05, 0xec, 0x4a, 0xb7, - 0x6a, 0x71, 0x4f, 0xb7, 0x6a, 0x88, 0xe5, 0x4f, 0x72, 0x30, 0x2b, 0xe2, 0x2d, 0x8d, 0x36, 0x63, - 0x5d, 0xaa, 0x67, 0x00, 0x58, 0x1c, 0x93, 0x38, 0x2d, 0xd1, 0x11, 0xca, 0xe8, 0x02, 0x4c, 0xe0, - 0x87, 0x9e, 0x83, 0xb8, 0x76, 0xd8, 0x8f, 0x50, 0xe0, 0xdf, 0x82, 0x97, 0x87, 0x09, 0x11, 0x66, - 0x78, 0x0d, 0x8e, 0x8b, 0x20, 0x39, 0x82, 0x15, 0x4e, 0xe9, 0x2c, 0x68, 0x36, 0x3c, 0xca, 0x1a, - 0xd3, 0x34, 0x63, 0x6d, 0x3c, 0x3d, 0xa6, 0x33, 0x17, 0x96, 0x78, 0x85, 0xf2, 0x21, 0x9d, 0x2a, - 0x64, 0xfd, 0x79, 0x9e, 0x9a, 0xd7, 0x1d, 0x5b, 0xf3, 0x59, 0xdc, 0xc4, 0xfd, 0x0e, 0x76, 0xc6, - 0x24, 0xeb, 0x9b, 0x50, 0x66, 0x64, 0x59, 0x0f, 0x4c, 0xec, 0x30, 0xba, 0x52, 0x16, 0x32, 0x1e, - 0x6e, 0x11, 0x6c, 0x88, 0xa3, 0x42, 0x58, 0x5d, 0xdf, 0x85, 0xd9, 0x3e, 0xa5, 0xcc, 0x6d, 0x7b, - 0x16, 0xc9, 0xed, 0x2b, 0xc5, 0x7a, 0x61, 0xb9, 0x1c, 0x7f, 0xbb, 0x6f, 0xba, 0xba, 0xc4, 0x8b, - 0x3a, 0xcd, 0x57, 0xde, 0xb6, 0xd6, 0x34, 0x72, 0x6f, 0x9d, 0x90, 0x76, 0xd2, 0xa8, 0x50, 0x2a, - 0x13, 0xd4, 0xd0, 0x93, 0x29, 0x9d, 0x13, 0x5b, 0x30, 0x29, 0xc6, 0xdb, 0x74, 0x44, 0x8c, 0x42, - 0xce, 0xff, 0xf5, 0xaf, 0x2f, 0x13, 0x3f, 0x38, 0xca, 0x62, 0x7e, 0x13, 0xa6, 0x38, 0xa7, 0x7b, - 0x90, 0xaf, 0xbf, 0x24, 0xe9, 0x52, 0x1c, 0xe6, 0x59, 0xc8, 0xe4, 0xe7, 0xcc, 0xcf, 0x65, 0x71, - 0x5c, 0x81, 0x49, 0xb6, 0x57, 0xa6, 0x30, 0x38, 0x4e, 0x69, 0x01, 0xc9, 0x04, 0x0d, 0x07, 0x79, - 0x86, 0x65, 0xb6, 0xc9, 0x53, 0x9e, 0x8a, 0xa3, 0xbc, 0x5a, 0x5d, 0x61, 0xef, 0xfc, 0x15, 0xff, - 0x9d, 0xbf, 0x72, 0xdb, 0x7f, 0xe7, 0xaf, 0x17, 0x1f, 0xfd, 0x73, 0x29, 0xa7, 0xce, 0x06, 0x0b, - 0xc9, 0x54, 0xe3, 0xaf, 0x4c, 0x47, 0x92, 0x12, 0xbf, 0x43, 0x62, 0xc2, 0x91, 0xd3, 0x91, 0x88, - 0x5c, 0x45, 0x39, 0x72, 0xc5, 0xca, 0x3e, 0xcc, 0x8b, 0x90, 0xfd, 0xef, 0x73, 0x34, 0x21, 0x79, - 0x17, 0xa3, 0x1d, 0x1e, 0x87, 0xf6, 0x2e, 0xfa, 0x03, 0xe3, 0xf0, 0x46, 0x99, 0xf0, 0xc2, 0x8f, - 0xe1, 0x29, 0x61, 0x40, 0x69, 0x70, 0x35, 0xe6, 0x25, 0x7d, 0xb1, 0x74, 0xa7, 0x65, 0xde, 0xb3, - 0x0e, 0xea, 0x66, 0x7c, 0x37, 0xf6, 0x21, 0x5f, 0xa0, 0xc6, 0x56, 0x8b, 0x49, 0x78, 0xee, 0xb4, - 0x4c, 0xef, 0xda, 0xd5, 0xbb, 0xa8, 0x37, 0xc0, 0xd1, 0x87, 0xfe, 0x7e, 0x94, 0x3b, 0xf6, 0xe1, - 0x41, 0x97, 0x66, 0x35, 0x81, 0x44, 0x85, 0xc4, 0x7f, 0x9d, 0x63, 0x69, 0x19, 0x32, 0xbb, 0xb8, - 0x37, 0xf4, 0xea, 0x3d, 0x22, 0x89, 0xd4, 0x12, 0x9c, 0x89, 0xa5, 0x4f, 0x70, 0xf0, 0x97, 0x3c, - 0x4c, 0x6f, 0xba, 0xfa, 0xd6, 0xc0, 0xdb, 0xb2, 0x7a, 0x46, 0x77, 0x77, 0x4c, 0xc2, 0xbf, 0x05, - 0x25, 0xdb, 0x31, 0xcc, 0xae, 0x61, 0xa3, 0x1e, 0x8f, 0x37, 0x75, 0x59, 0xf2, 0x41, 0xcd, 0x6f, - 0x65, 0xcb, 0xc7, 0xa9, 0xc1, 0x12, 0x92, 0xfd, 0x3b, 0xd8, 0xb5, 0x06, 0x4e, 0xd7, 0x67, 0x4a, - 0xfc, 0x56, 0xbe, 0x0d, 0xe0, 0x7a, 0xc8, 0xc3, 0x44, 0xd5, 0x7e, 0x14, 0x4e, 0xda, 0x7c, 0xdb, - 0x07, 0xaa, 0xd2, 0x1a, 0x65, 0x33, 0x1a, 0x13, 0xa7, 0x32, 0x63, 0xe2, 0xf1, 0xc7, 0x4f, 0x97, - 0x72, 0x71, 0x71, 0x31, 0x2c, 0xe3, 0x2d, 0x9a, 0x31, 0x08, 0x09, 0xca, 0x99, 0xb9, 0x4d, 0x47, - 0xfc, 0x87, 0x63, 0x56, 0x66, 0xce, 0xd0, 0x2d, 0xad, 0xf1, 0x27, 0x39, 0x33, 0x3f, 0xaa, 0x7a, - 0x09, 0x8b, 0x61, 0x5b, 0xca, 0xd9, 0xf7, 0x4d, 0x12, 0xff, 0x61, 0x92, 0xd8, 0x34, 0x1c, 0xc7, - 0x72, 0x5e, 0xc8, 0xb5, 0x2e, 0x42, 0xde, 0xd0, 0x78, 0x4c, 0x4e, 0x3d, 0x3c, 0x6f, 0x68, 0x61, - 0x3f, 0x2c, 0x64, 0xf9, 0x61, 0x31, 0x52, 0x43, 0x68, 0xc0, 0x8c, 0x86, 0x5d, 0xaf, 0xdd, 0xbd, - 0x8f, 0x0c, 0x93, 0xb0, 0x3d, 0x41, 0x2b, 0x07, 0x65, 0x32, 0xb8, 0x41, 0xc6, 0x5a, 0x5a, 0xfc, - 0xa3, 0x47, 0x66, 0x55, 0x78, 0xe9, 0x63, 0x59, 0x0c, 0x2f, 0x54, 0x09, 0xdc, 0x5f, 0x31, 0x44, - 0xb8, 0x2c, 0x66, 0x72, 0x29, 0x47, 0x54, 0xc6, 0xe5, 0x50, 0x44, 0xfd, 0x52, 0xce, 0x39, 0x82, - 0xf9, 0x43, 0xab, 0x05, 0x0d, 0xdf, 0x29, 0xc5, 0xfd, 0xb8, 0x53, 0x64, 0x3d, 0x87, 0xea, 0xa7, - 0x9f, 0xb3, 0x0c, 0x90, 0xcd, 0xbd, 0xc8, 0x73, 0x68, 0x4f, 0x6a, 0xce, 0x48, 0xaf, 0xc6, 0x50, - 0x32, 0x7b, 0x5f, 0x49, 0x6c, 0x08, 0x0e, 0x3f, 0x65, 0x96, 0xcc, 0xf4, 0xbb, 0x45, 0x9b, 0x37, - 0xca, 0x35, 0x28, 0xa1, 0x81, 0x77, 0xdf, 0x72, 0x88, 0x88, 0xb3, 0x78, 0x0c, 0xa0, 0xca, 0x75, - 0x98, 0x64, 0xed, 0x9f, 0x20, 0xc3, 0x8d, 0xea, 0x85, 0x9d, 0xb1, 0x5e, 0x24, 0x42, 0x50, 0x39, - 0xfe, 0xc6, 0x2c, 0x21, 0x37, 0xd8, 0x89, 0xab, 0x44, 0x26, 0x4a, 0x10, 0xfc, 0xbf, 0x1c, 0xcc, - 0x53, 0x5e, 0x74, 0x07, 0x1d, 0x70, 0x7f, 0x40, 0x39, 0x0f, 0x27, 0x42, 0x75, 0x24, 0x43, 0xa3, - 0xfa, 0x98, 0x51, 0x67, 0xe5, 0x22, 0x51, 0x4b, 0x4b, 0x2b, 0x39, 0x15, 0xf7, 0xa9, 0xe4, 0x54, - 0x85, 0x4a, 0x98, 0xf1, 0xa0, 0x24, 0x91, 0xa7, 0x93, 0x1b, 0x56, 0xdf, 0x26, 0xf1, 0xfe, 0x2b, - 0x91, 0xce, 0x3a, 0xd4, 0x62, 0xcb, 0xb2, 0xf7, 0x50, 0xdf, 0xe8, 0xed, 0x06, 0xa2, 0xaa, 0x46, - 0xab, 0xb3, 0x6f, 0x53, 0x48, 0x4b, 0x53, 0xd6, 0x60, 0x5a, 0xdf, 0xd1, 0xdb, 0x7d, 0x64, 0xdb, - 0x86, 0xa9, 0xfb, 0xd9, 0x44, 0x2d, 0xce, 0x70, 0x6e, 0xde, 0xbd, 0xb9, 0xc9, 0x60, 0x6a, 0x59, - 0xdf, 0xd1, 0xf9, 0xff, 0x23, 0x6f, 0xba, 0x06, 0xd4, 0x93, 0x04, 0x21, 0xa4, 0xf5, 0x13, 0x56, - 0x36, 0xa1, 0x59, 0xd8, 0x57, 0x21, 0xaa, 0x30, 0x8d, 0x75, 0xa8, 0xc5, 0x9f, 0x1f, 0xa2, 0x90, - 0x95, 0x6b, 0x0f, 0x8f, 0xc2, 0x98, 0xf3, 0x05, 0x85, 0xbf, 0xcd, 0x41, 0x89, 0x56, 0xc2, 0xbd, - 0xdb, 0x48, 0x1f, 0x93, 0x2a, 0x39, 0x9b, 0xc9, 0x87, 0xb2, 0xcc, 0xab, 0x50, 0xf4, 0x90, 0xee, - 0xf2, 0xf7, 0x4b, 0x3d, 0xbe, 0x47, 0xc2, 0xb0, 0xb7, 0x91, 0xee, 0xaa, 0x14, 0x1d, 0x66, 0xe3, - 0x24, 0x9c, 0x10, 0x34, 0x0a, 0xca, 0x1f, 0xe5, 0xa9, 0x70, 0xe5, 0x2b, 0x6d, 0x83, 0xf5, 0x87, - 0x0e, 0xed, 0x56, 0x1b, 0xa1, 0x3b, 0x16, 0xee, 0x6c, 0x4d, 0x44, 0x3b, 0x5b, 0x71, 0xcd, 0xa8, - 0xc9, 0xd8, 0x66, 0x54, 0xbc, 0xba, 0x63, 0x24, 0x22, 0x84, 0xf6, 0xbb, 0x1c, 0x2d, 0x20, 0x31, - 0x9b, 0x3d, 0x42, 0xa2, 0x0b, 0x73, 0x72, 0x0e, 0x5e, 0x4d, 0x23, 0x53, 0xf0, 0xf3, 0xb7, 0x82, - 0x48, 0x8f, 0x75, 0xe4, 0xe1, 0x7d, 0x78, 0x2b, 0x4a, 0x25, 0xe0, 0xfc, 0x98, 0x7d, 0xd5, 0x31, - 0xf2, 0xda, 0xb0, 0xe5, 0x4c, 0x64, 0x5b, 0x4e, 0x4c, 0x4f, 0x74, 0x38, 0xab, 0x9a, 0x1a, 0xab, - 0xf5, 0x7a, 0x58, 0xad, 0xd0, 0x90, 0x01, 0x7c, 0x1f, 0x96, 0x12, 0xf4, 0xba, 0x0f, 0x2d, 0x9a, - 0x9f, 0xe6, 0xa5, 0xc4, 0xc4, 0x3f, 0x43, 0x5b, 0xd3, 0x0f, 0xd0, 0x01, 0xde, 0x84, 0x19, 0x44, - 0xf6, 0x17, 0x65, 0xe5, 0x42, 0x46, 0x25, 0xb8, 0xcc, 0xe0, 0xac, 0x96, 0xbc, 0x0e, 0xf3, 0xc1, - 0x6a, 0x07, 0xf7, 0xad, 0x1d, 0x4c, 0xef, 0xd8, 0xd4, 0x32, 0x8e, 0xbf, 0x81, 0x4a, 0xf1, 0x61, - 0x01, 0x9f, 0xa5, 0x02, 0x8e, 0x13, 0x81, 0x2f, 0xe0, 0xd5, 0xdf, 0x2c, 0x42, 0x61, 0xd3, 0xd5, - 0x95, 0x0f, 0x61, 0x7a, 0xe8, 0xdb, 0x9e, 0x57, 0x12, 0x6a, 0xb5, 0x32, 0xa8, 0x7a, 0x71, 0x04, - 0x90, 0x50, 0xe5, 0x87, 0x30, 0x3d, 0xf4, 0xa1, 0x48, 0xd2, 0x09, 0x32, 0x28, 0xf1, 0x84, 0xb8, - 0x2f, 0x3f, 0x94, 0x1e, 0xcc, 0x47, 0x0a, 0x78, 0xaf, 0x25, 0x6c, 0x10, 0x06, 0x56, 0x9b, 0x23, - 0x02, 0x65, 0x7e, 0x86, 0x1e, 0x95, 0x49, 0xfc, 0xc8, 0xa0, 0x44, 0x7e, 0xe2, 0x9e, 0x34, 0x8a, - 0x05, 0x27, 0xa2, 0x5f, 0xb1, 0x2c, 0x27, 0x49, 0x24, 0x8c, 0xac, 0x5e, 0x19, 0x15, 0x29, 0x0e, - 0x7c, 0x08, 0x0b, 0xb1, 0xfe, 0x72, 0x31, 0x55, 0x36, 0xc3, 0xe0, 0xea, 0x1b, 0x7b, 0x00, 0xcb, - 0xc2, 0x1c, 0x8a, 0xeb, 0xe9, 0xe6, 0xc7, 0x40, 0x19, 0xe6, 0x17, 0x8a, 0x24, 0x1f, 0x00, 0x48, - 0xad, 0xfe, 0xb3, 0x09, 0x4b, 0x03, 0x48, 0xf5, 0x7c, 0x26, 0x44, 0x36, 0xbc, 0xc8, 0xc7, 0x04, - 0x49, 0x86, 0x17, 0x06, 0x26, 0x1a, 0x5e, 0xd2, 0x07, 0x00, 0x84, 0x13, 0xa9, 0xf9, 0x9f, 0xc4, - 0x49, 0x00, 0x49, 0xe4, 0x24, 0xa6, 0x25, 0x2e, 0x9c, 0x34, 0x43, 0x0f, 0x32, 0x28, 0xc3, 0x49, - 0x43, 0x27, 0x38, 0xa0, 0xc4, 0xd4, 0x7c, 0x13, 0x49, 0x8c, 0x40, 0xab, 0xaf, 0x8f, 0x0c, 0x8d, - 0xba, 0x6a, 0x06, 0x57, 0x32, 0x28, 0xc3, 0x55, 0x43, 0x27, 0x0c, 0xbb, 0x2a, 0x3f, 0x66, 0x04, - 0x57, 0xe5, 0x67, 0x5d, 0x19, 0x15, 0x19, 0x8d, 0x75, 0x52, 0xa1, 0x27, 0x3d, 0xd6, 0x05, 0xc0, - 0x8c, 0x58, 0x17, 0x2d, 0x2d, 0x29, 0x03, 0x38, 0x19, 0x97, 0x48, 0x5e, 0x18, 0x61, 0x1f, 0x8e, - 0xad, 0xae, 0x8e, 0x8e, 0x15, 0xc7, 0x7e, 0x92, 0x83, 0xd3, 0xc9, 0x69, 0xec, 0x95, 0x54, 0x43, - 0x88, 0xa3, 0xe1, 0xfa, 0x5e, 0x57, 0xc8, 0x91, 0x31, 0x36, 0xff, 0x4c, 0x33, 0xfd, 0x30, 0x38, - 0x31, 0x32, 0xa6, 0x66, 0x40, 0x3f, 0x80, 0xb2, 0xfc, 0xf5, 0x42, 0x23, 0x35, 0xe6, 0x51, 0x4c, - 0xf5, 0x42, 0x36, 0x46, 0xde, 0x5e, 0xfe, 0x82, 0xa0, 0x91, 0xea, 0xca, 0xe9, 0xdb, 0xc7, 0x7c, - 0x13, 0x40, 0xfc, 0x22, 0xfa, 0x3d, 0xc0, 0x72, 0xaa, 0x29, 0x48, 0xc8, 0x44, 0xbf, 0x48, 0x6c, - 0x8e, 0x07, 0x7e, 0x21, 0x35, 0x5d, 0x5f, 0xcb, 0xde, 0x85, 0x02, 0x33, 0xfc, 0x22, 0xda, 0xfa, - 0x24, 0xa1, 0x58, 0x6a, 0x7b, 0x26, 0x85, 0xe2, 0x00, 0x92, 0x18, 0x8a, 0xa3, 0x2d, 0x49, 0xa2, - 0x19, 0xb9, 0x98, 0xd9, 0x48, 0x0d, 0x47, 0xe9, 0x9a, 0x89, 0xa9, 0x26, 0xb2, 0x3b, 0x2b, 0xf4, - 0x05, 0x41, 0xf2, 0x9d, 0x35, 0x0c, 0x4c, 0xb9, 0xb3, 0xe2, 0xfb, 0xf3, 0xca, 0xf7, 0xa0, 0x14, - 0xf4, 0xc9, 0xea, 0x09, 0xab, 0x05, 0xa2, 0xba, 0x9c, 0x85, 0x88, 0x5e, 0x58, 0x7c, 0xef, 0xf4, - 0x0b, 0x8b, 0x6f, 0x7f, 0x71, 0x04, 0x90, 0x7c, 0xc2, 0x50, 0xc9, 0xf5, 0x95, 0x54, 0x23, 0x61, - 0xa0, 0xea, 0xc5, 0x11, 0x40, 0xe2, 0x84, 0x2e, 0xcc, 0x0c, 0x17, 0x8e, 0x5e, 0x4d, 0xd4, 0xa3, - 0x84, 0xaa, 0x5e, 0x1a, 0x05, 0x25, 0x0e, 0xf9, 0x31, 0xbc, 0x14, 0x5f, 0x72, 0xbc, 0x94, 0x98, - 0x1d, 0xc4, 0xa0, 0xab, 0x57, 0xf7, 0x82, 0x96, 0xef, 0x8f, 0xb8, 0x12, 0xde, 0x85, 0xd4, 0x78, - 0x3c, 0x7c, 0xf0, 0xea, 0xe8, 0x58, 0xf9, 0xd8, 0xb8, 0xba, 0xdc, 0x85, 0xd4, 0x8c, 0x6b, 0xb4, - 0x63, 0x53, 0xea, 0x6d, 0xca, 0x7b, 0x30, 0xc9, 0x6b, 0x6d, 0x67, 0x12, 0x73, 0x48, 0x32, 0x5d, - 0xfd, 0x7a, 0xea, 0xb4, 0xbf, 0xdf, 0x7a, 0xeb, 0xf1, 0xb3, 0x5a, 0xee, 0xc9, 0xb3, 0x5a, 0xee, - 0xcb, 0x67, 0xb5, 0xdc, 0xa3, 0xe7, 0xb5, 0x63, 0x4f, 0x9e, 0xd7, 0x8e, 0xfd, 0xfd, 0x79, 0xed, - 0xd8, 0x07, 0x4d, 0xdd, 0xf0, 0xee, 0x0f, 0x3a, 0x2b, 0x5d, 0xab, 0xdf, 0xec, 0x98, 0x9d, 0xcb, - 0xb4, 0xcf, 0xd0, 0x94, 0xfe, 0x94, 0xe3, 0xe1, 0xf0, 0x1f, 0x73, 0x74, 0x26, 0x69, 0xb7, 0xf6, - 0x8d, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x08, 0xdf, 0xf6, 0x87, 0x34, 0x33, 0x00, 0x00, + // 2665 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5b, 0x4b, 0x6c, 0x1b, 0xc7, + 0x19, 0x36, 0x1f, 0x92, 0xcc, 0x9f, 0x7a, 0x79, 0xad, 0xc4, 0x0c, 0x55, 0x53, 0x34, 0x9d, 0x3a, + 0xf2, 0x4b, 0x74, 0x18, 0xd7, 0x70, 0x85, 0xa0, 0xa8, 0xa4, 0x34, 0x2e, 0x91, 0x28, 0x56, 0x56, + 0xb6, 0x0a, 0xa4, 0x28, 0x98, 0x25, 0x77, 0xbc, 0xde, 0x86, 0xdc, 0xdd, 0xee, 0x2e, 0x65, 0x2b, + 0x05, 0x0a, 0xb4, 0x97, 0x9c, 0x02, 0x18, 0x70, 0x0f, 0x3d, 0x14, 0x3d, 0x14, 0x28, 0xd0, 0x53, + 0x51, 0x14, 0x39, 0x17, 0xbd, 0x04, 0x30, 0x8a, 0x1e, 0x8c, 0x1c, 0x8a, 0xa2, 0x07, 0x37, 0xb0, + 0x0b, 0x14, 0xbd, 0xf6, 0xd2, 0x6b, 0x31, 0x8f, 0x9d, 0x9d, 0x7d, 0x53, 0xb4, 0x14, 0x0b, 0xe8, + 0xc9, 0xe6, 0xcc, 0x37, 0xff, 0xfc, 0xef, 0xf9, 0xf7, 0x9f, 0x11, 0x2c, 0x6a, 0x36, 0x42, 0xc6, + 0x1d, 0x1d, 0xf5, 0xd5, 0xa6, 0xe3, 0x9a, 0xb6, 0xa2, 0xa1, 0xa6, 0x7b, 0x7f, 0xc5, 0xb2, 0x4d, + 0xd7, 0x94, 0x24, 0x7f, 0x72, 0x85, 0x4d, 0x56, 0x4f, 0xf5, 0x4c, 0x67, 0x60, 0x3a, 0xcd, 0x81, + 0xa3, 0x35, 0x77, 0x5f, 0xc7, 0xff, 0x50, 0x70, 0xf5, 0x15, 0x3a, 0xd1, 0x21, 0xbf, 0x9a, 0xf4, + 0x07, 0x9b, 0x5a, 0xd0, 0x4c, 0xcd, 0xa4, 0xe3, 0xf8, 0x7f, 0x6c, 0x74, 0x49, 0x33, 0x4d, 0xad, + 0x8f, 0x9a, 0xe4, 0x57, 0x77, 0x78, 0xa7, 0xe9, 0xea, 0x03, 0xe4, 0xb8, 0xca, 0xc0, 0x62, 0x80, + 0xba, 0xc0, 0x5b, 0xcf, 0x1c, 0x0c, 0x4c, 0xa3, 0xa9, 0x58, 0x96, 0x6d, 0xee, 0x2a, 0x7d, 0x4e, + 0x22, 0x82, 0xb8, 0x67, 0x2b, 0x96, 0x85, 0x6c, 0x06, 0x68, 0x08, 0x00, 0x0b, 0xd9, 0x03, 0xdd, + 0x71, 0x74, 0xd3, 0x60, 0xd8, 0x18, 0x22, 0x9e, 0x0a, 0x32, 0x01, 0x96, 0x62, 0x2b, 0x03, 0x4f, + 0xbe, 0x5a, 0x9c, 0x12, 0xf7, 0x2c, 0xc4, 0xe6, 0x1b, 0x7f, 0x2c, 0xc0, 0xdc, 0xa6, 0xa3, 0x6d, + 0xd8, 0x48, 0x71, 0xd1, 0xfa, 0xb0, 0xf7, 0x11, 0x72, 0xa5, 0x16, 0x4c, 0xf5, 0xf0, 0x6f, 0xd3, + 0xae, 0xe4, 0xea, 0xb9, 0xe5, 0xd2, 0x7a, 0xe5, 0x8b, 0xcf, 0x2e, 0x2f, 0x30, 0xb5, 0xad, 0xa9, + 0xaa, 0x8d, 0x1c, 0x67, 0xdb, 0xb5, 0x75, 0x43, 0x93, 0x3d, 0xa0, 0xb4, 0x04, 0xe5, 0x2e, 0x59, + 0xdd, 0x31, 0x94, 0x01, 0xaa, 0xe4, 0xf1, 0x3a, 0x19, 0xe8, 0xd0, 0x7b, 0xca, 0x00, 0x49, 0xeb, + 0x00, 0xbb, 0xba, 0xa3, 0x77, 0xf5, 0xbe, 0xee, 0xee, 0x55, 0x0a, 0xf5, 0xdc, 0xf2, 0x6c, 0xab, + 0xb1, 0x12, 0xb5, 0xe2, 0xca, 0x0e, 0x47, 0xdd, 0xda, 0xb3, 0x90, 0x2c, 0xac, 0x92, 0xd6, 0x60, + 0xce, 0x52, 0xf6, 0x06, 0xc8, 0x70, 0x3b, 0x0a, 0x65, 0xa3, 0x52, 0xcc, 0x60, 0x70, 0x96, 0x2d, + 0x60, 0xa3, 0xd2, 0xdb, 0x20, 0x59, 0xb6, 0x3e, 0x50, 0xec, 0xbd, 0x8e, 0x63, 0x71, 0x2a, 0x13, + 0x19, 0x54, 0xe6, 0xd9, 0x9a, 0x6d, 0xcb, 0xa3, 0xf3, 0x0e, 0x9c, 0x14, 0xe9, 0x30, 0xdb, 0x57, + 0x26, 0xeb, 0xb9, 0xe5, 0x72, 0x6b, 0x51, 0x94, 0x8b, 0xd9, 0x6b, 0x8d, 0x41, 0xe4, 0x13, 0x3e, + 0x2d, 0x36, 0x24, 0x5d, 0x02, 0xa9, 0x77, 0x57, 0xb1, 0x35, 0xa4, 0x76, 0x6c, 0xa4, 0xa8, 0x9d, + 0x1f, 0x0d, 0x4d, 0x57, 0xa9, 0x4c, 0xd5, 0x73, 0xcb, 0x45, 0x79, 0x9e, 0xcd, 0xc8, 0x48, 0x51, + 0xdf, 0xc7, 0xe3, 0xab, 0xd3, 0x3f, 0xfb, 0xd7, 0xef, 0x2f, 0x78, 0x8a, 0x6f, 0x6c, 0xc3, 0xa9, + 0x90, 0xfd, 0x64, 0xe4, 0x58, 0xa6, 0xe1, 0x20, 0xe9, 0x3a, 0x94, 0x98, 0x4d, 0x74, 0x95, 0x59, + 0x72, 0xf1, 0xd1, 0x93, 0xa5, 0x63, 0x7f, 0x7f, 0xb2, 0x54, 0xbc, 0xad, 0x1b, 0xee, 0x17, 0x9f, + 0x5d, 0x2e, 0x33, 0x71, 0xf1, 0x4f, 0xf9, 0x38, 0x45, 0xb7, 0xd5, 0xc6, 0x3d, 0xe2, 0x14, 0x6f, + 0xa1, 0x3e, 0xe2, 0x4e, 0x71, 0x15, 0x8e, 0x9b, 0x16, 0xb2, 0x47, 0xf2, 0x0a, 0x8e, 0xcc, 0x74, + 0x8b, 0xd5, 0x19, 0x2c, 0x0c, 0xc7, 0x37, 0x5e, 0x21, 0xd2, 0x88, 0x1b, 0x7b, 0xd2, 0x34, 0x7e, + 0x9e, 0x83, 0x05, 0x3c, 0xa7, 0x3b, 0x3d, 0xd3, 0x70, 0x75, 0x63, 0x78, 0xb8, 0x9c, 0x49, 0x2f, + 0xc3, 0xa4, 0x8d, 0x14, 0xc7, 0x34, 0x88, 0xb3, 0x96, 0x64, 0xf6, 0x2b, 0xcc, 0x71, 0x0d, 0xbe, + 0x16, 0xc7, 0x15, 0x67, 0xfb, 0x9f, 0x62, 0x80, 0xdd, 0xec, 0xfe, 0x10, 0xf5, 0x0e, 0x29, 0xc0, + 0x96, 0xa0, 0x6c, 0x12, 0xf2, 0x14, 0x40, 0x99, 0x06, 0x3a, 0x44, 0x00, 0x67, 0x60, 0xda, 0x52, + 0xf6, 0xfa, 0xa6, 0xa2, 0x76, 0x1c, 0xfd, 0x63, 0x44, 0x42, 0xa7, 0x28, 0x97, 0xd9, 0xd8, 0xb6, + 0xfe, 0x71, 0x38, 0x48, 0x27, 0xc6, 0x0a, 0xd2, 0x33, 0x30, 0x8d, 0x55, 0x81, 0x83, 0x14, 0x27, + 0x1a, 0x12, 0x12, 0x25, 0xb9, 0xcc, 0xc6, 0x30, 0x3c, 0x29, 0x78, 0xa6, 0xc6, 0x0a, 0x9e, 0xf3, + 0x30, 0x8f, 0xee, 0x5b, 0x58, 0xee, 0xde, 0x5d, 0xd4, 0xfb, 0xc8, 0x19, 0x0e, 0x9c, 0xca, 0xf1, + 0x7a, 0x61, 0x79, 0x5a, 0x9e, 0xa3, 0xe3, 0x1b, 0xde, 0xb0, 0xf4, 0x0e, 0xcc, 0xd9, 0x48, 0x1d, + 0x1a, 0xaa, 0x62, 0xf4, 0xf6, 0x28, 0x77, 0xa5, 0x64, 0x19, 0x65, 0x0e, 0x25, 0x32, 0xce, 0xda, + 0x81, 0xdf, 0x29, 0x61, 0x48, 0xad, 0x2c, 0x86, 0x21, 0x33, 0xcc, 0x88, 0x61, 0x48, 0xd1, 0x6d, + 0xb5, 0xf1, 0x30, 0x0f, 0x33, 0x9b, 0x8e, 0xb6, 0x8d, 0x94, 0x3e, 0xf3, 0x9c, 0x43, 0xf2, 0xf5, + 0x4c, 0xdf, 0xf9, 0x06, 0x9c, 0xd2, 0xfa, 0x66, 0x57, 0xe9, 0x77, 0x76, 0x75, 0xdb, 0x1d, 0x2a, + 0xfd, 0x8e, 0x66, 0x9b, 0x43, 0x0b, 0x4b, 0x84, 0xdd, 0x68, 0x46, 0x5e, 0xa0, 0xd3, 0x3b, 0x74, + 0xf6, 0x06, 0x9e, 0x6c, 0xab, 0xd2, 0x5b, 0xb0, 0xe4, 0xa0, 0x9e, 0x69, 0xa8, 0xcc, 0xd4, 0xdd, + 0xbe, 0xd3, 0x51, 0x34, 0xad, 0xe3, 0xe8, 0x9a, 0xa1, 0xb8, 0x43, 0x1b, 0xd1, 0xd4, 0x3b, 0x2d, + 0x2f, 0x72, 0xd8, 0xb6, 0xb5, 0xde, 0x77, 0xd6, 0x34, 0x6d, 0x9b, 0x43, 0xc2, 0x11, 0x77, 0x0a, + 0x5e, 0x0a, 0x28, 0x85, 0x87, 0xda, 0x9f, 0xf2, 0x24, 0xd4, 0xfc, 0x99, 0x9d, 0xd6, 0xff, 0xa5, + 0xc2, 0x62, 0x43, 0x62, 0x32, 0x36, 0x24, 0xe2, 0xf3, 0xaf, 0xa8, 0x41, 0xae, 0xdd, 0x5f, 0xe6, + 0xe0, 0xe4, 0xa6, 0xa3, 0xc9, 0x08, 0x8f, 0xbf, 0x78, 0x97, 0x0c, 0x73, 0x7e, 0x1a, 0x16, 0x63, + 0xb8, 0xe3, 0xdc, 0xff, 0x8e, 0x86, 0xd2, 0x86, 0x69, 0xed, 0x31, 0xbe, 0xab, 0x61, 0xbe, 0x05, + 0xee, 0xce, 0xc1, 0x9c, 0x63, 0xf7, 0x3a, 0x51, 0x0e, 0x67, 0x1c, 0xbb, 0xb7, 0xee, 0x33, 0x79, + 0x0e, 0xe6, 0x54, 0xc7, 0x0d, 0xe0, 0x28, 0xa3, 0x33, 0xaa, 0xe3, 0x06, 0x71, 0x98, 0x9e, 0x28, + 0x50, 0x91, 0xd3, 0xbb, 0xe9, 0x7b, 0x0d, 0xa3, 0x27, 0xe2, 0x26, 0x38, 0x3d, 0x01, 0x27, 0xc3, + 0x29, 0x8c, 0x1b, 0xb3, 0x02, 0x59, 0x50, 0x1d, 0x77, 0x2b, 0x9c, 0x47, 0xc3, 0xfa, 0x7c, 0x9f, + 0x44, 0x99, 0xaf, 0xaf, 0x03, 0x48, 0x67, 0xbf, 0xc8, 0x09, 0x65, 0xc5, 0xd1, 0xf2, 0x1e, 0xb1, + 0xee, 0x08, 0x79, 0xce, 0xe3, 0x48, 0xdd, 0x71, 0xb8, 0xac, 0xaf, 0x02, 0x70, 0xfd, 0x3a, 0x95, + 0x42, 0xbd, 0x90, 0xa5, 0xe0, 0x92, 0xa7, 0x60, 0x47, 0xa8, 0x59, 0x8a, 0xfb, 0xaa, 0x59, 0x42, + 0x22, 0x7f, 0x92, 0x83, 0x59, 0x7e, 0x9a, 0x91, 0xd4, 0x34, 0x56, 0xc9, 0x72, 0x1a, 0x80, 0x26, + 0x3d, 0x41, 0xd2, 0x12, 0x19, 0x21, 0x82, 0x2e, 0xc0, 0x04, 0xba, 0xef, 0xda, 0x0a, 0xb3, 0x0e, + 0xfd, 0x11, 0x3a, 0x56, 0xb7, 0xe0, 0xe5, 0x20, 0x23, 0xdc, 0x0d, 0xaf, 0xc1, 0x71, 0x9e, 0x51, + 0x47, 0xf0, 0xc2, 0x29, 0x8d, 0x66, 0xd8, 0x86, 0x4b, 0x44, 0xa3, 0x96, 0xa6, 0xa2, 0x8d, 0x67, + 0xc7, 0x74, 0xe1, 0xc2, 0x1a, 0xaf, 0x10, 0x39, 0x84, 0x5d, 0xb9, 0xae, 0x3f, 0xcf, 0x13, 0xf7, + 0xba, 0x6d, 0xa9, 0x9e, 0x88, 0x9b, 0x68, 0xd0, 0x45, 0xf6, 0x98, 0x6c, 0x7d, 0x13, 0xca, 0x94, + 0x2d, 0xf3, 0x9e, 0x81, 0x6c, 0xca, 0x57, 0xca, 0x42, 0x2a, 0xc3, 0x4d, 0x8c, 0x0d, 0x49, 0x54, + 0x08, 0x9b, 0xeb, 0xbb, 0x30, 0x3b, 0x20, 0x9c, 0x39, 0x1d, 0xd7, 0xc4, 0x5f, 0x4e, 0x95, 0x62, + 0xbd, 0xb0, 0x5c, 0x8e, 0xaf, 0x9d, 0x36, 0x1d, 0x4d, 0x90, 0x45, 0x9e, 0x66, 0x2b, 0x6f, 0x99, + 0x6b, 0x2a, 0x3e, 0xe4, 0x4e, 0x08, 0x94, 0x54, 0xa2, 0x94, 0xca, 0x04, 0x71, 0xf4, 0x64, 0x4e, + 0xe7, 0x38, 0x09, 0xaa, 0xc5, 0x78, 0x9f, 0x8e, 0xa8, 0x91, 0xeb, 0xf9, 0x3f, 0xde, 0xf1, 0x65, + 0xa0, 0x7b, 0x47, 0x59, 0xcd, 0x6f, 0xc2, 0x14, 0x93, 0x74, 0x1f, 0xfa, 0xf5, 0x96, 0x24, 0x1d, + 0x8a, 0x41, 0x99, 0xb9, 0x4e, 0x3e, 0xa5, 0x71, 0x2e, 0xaa, 0xe3, 0x0a, 0x4c, 0x52, 0x5a, 0x99, + 0xca, 0x60, 0x38, 0xa9, 0x0d, 0xb8, 0xa8, 0xd0, 0x6d, 0xc5, 0xd5, 0x4d, 0xa3, 0xe3, 0xea, 0x2c, + 0x1a, 0xca, 0xad, 0xea, 0x0a, 0xed, 0xa2, 0xac, 0x78, 0x5d, 0x94, 0x95, 0x5b, 0x5e, 0x17, 0x65, + 0xbd, 0xf8, 0xe0, 0x1f, 0x4b, 0x39, 0x79, 0xd6, 0x5f, 0x88, 0xa7, 0x1a, 0x7f, 0xa6, 0x36, 0x12, + 0x8c, 0xf8, 0x1d, 0x9c, 0x13, 0x8e, 0x9c, 0x8d, 0x78, 0xe6, 0x2a, 0x8a, 0x99, 0x2b, 0x56, 0xf7, + 0x61, 0x59, 0xb8, 0xee, 0x7f, 0x9b, 0x23, 0x05, 0xc9, 0xbb, 0x48, 0xd9, 0x65, 0x79, 0x68, 0xff, + 0xaa, 0x3f, 0x34, 0x09, 0x57, 0xcb, 0x58, 0x16, 0xb6, 0x0d, 0x2b, 0xb8, 0x7d, 0x4e, 0xfd, 0xa3, + 0x31, 0x2f, 0xd8, 0x8b, 0x96, 0x3b, 0x6d, 0xe3, 0x8e, 0x79, 0x58, 0x27, 0xe3, 0xbb, 0xb1, 0x6d, + 0x92, 0x02, 0x71, 0xb6, 0x5a, 0x4c, 0xc1, 0x73, 0xbb, 0x6d, 0xb8, 0xd7, 0xae, 0xee, 0x28, 0xfd, + 0x21, 0x8a, 0xb6, 0x51, 0x0e, 0xa2, 0x99, 0x74, 0x00, 0x9f, 0xcb, 0x69, 0x5e, 0xe3, 0x6b, 0x94, + 0x6b, 0xfc, 0x57, 0x39, 0x5a, 0x96, 0x29, 0x46, 0x0f, 0xf5, 0x03, 0x3d, 0x85, 0x23, 0x52, 0x48, + 0x2d, 0xc1, 0xe9, 0x58, 0xfe, 0xc4, 0x8f, 0xb4, 0xe9, 0x4d, 0x47, 0xdb, 0x1a, 0xba, 0x5b, 0x66, + 0x5f, 0xef, 0xed, 0x8d, 0xc9, 0xf8, 0xb7, 0xa0, 0x64, 0xd9, 0xba, 0xd1, 0xd3, 0x2d, 0xa5, 0xcf, + 0xf2, 0x4d, 0x5d, 0xd4, 0xbc, 0xdf, 0x51, 0x5d, 0xd9, 0xf2, 0x70, 0xb2, 0xbf, 0x04, 0x57, 0xff, + 0x36, 0x72, 0xcc, 0xa1, 0xdd, 0xf3, 0x84, 0xe2, 0xbf, 0xa5, 0x6f, 0x03, 0x38, 0xae, 0xe2, 0x22, + 0x6c, 0x6a, 0x2f, 0x0b, 0x27, 0x11, 0xdf, 0xf6, 0x80, 0xb2, 0xb0, 0x46, 0xda, 0x8c, 0xe6, 0xc4, + 0xa9, 0xcc, 0x9c, 0x78, 0xfc, 0xd1, 0x93, 0xa5, 0x5c, 0x5c, 0x5e, 0x0c, 0xeb, 0x78, 0x8b, 0x54, + 0x0c, 0x5c, 0x83, 0x62, 0x65, 0x6e, 0x91, 0x11, 0xef, 0x2b, 0x33, 0xab, 0x32, 0xa7, 0xe8, 0xb6, + 0xda, 0xf8, 0x83, 0x58, 0x99, 0x1f, 0x55, 0xbb, 0x84, 0xd5, 0xb0, 0x2d, 0xd4, 0xec, 0x07, 0xa6, + 0x89, 0x7f, 0x53, 0x4d, 0x6c, 0xea, 0xb6, 0x6d, 0xda, 0xcf, 0x15, 0x5a, 0x17, 0x21, 0xaf, 0xab, + 0x2c, 0x27, 0xa7, 0x6e, 0x9e, 0xd7, 0xd5, 0x70, 0x1c, 0x16, 0xb2, 0xe2, 0xb0, 0x18, 0x69, 0x38, + 0x34, 0x60, 0x46, 0x45, 0x0e, 0xfe, 0xe2, 0x57, 0x74, 0x03, 0x8b, 0x3d, 0x41, 0xda, 0x0c, 0x65, + 0x3c, 0xb8, 0x81, 0xc7, 0xda, 0x6a, 0xfc, 0x47, 0x8f, 0x28, 0x2a, 0x8f, 0xd2, 0x47, 0xa2, 0x1a, + 0x9e, 0xab, 0xcf, 0x7a, 0xb0, 0x6a, 0x88, 0x48, 0x59, 0xcc, 0x94, 0x52, 0xcc, 0xa8, 0x54, 0xca, + 0x40, 0x46, 0xfd, 0x52, 0xac, 0x39, 0xfc, 0xf9, 0x17, 0xd6, 0x38, 0x0a, 0x9e, 0x29, 0xc5, 0x83, + 0x38, 0x53, 0x44, 0x3b, 0x87, 0xba, 0xd3, 0x9f, 0xd3, 0x0a, 0x90, 0xce, 0x3d, 0xcf, 0xe7, 0xd0, + 0xbe, 0xcc, 0x9c, 0x51, 0x5e, 0x8d, 0x61, 0x64, 0xfa, 0x7d, 0x25, 0x88, 0xc1, 0x25, 0x7c, 0x48, + 0x3d, 0x99, 0xda, 0x77, 0x8b, 0x5c, 0x8d, 0x49, 0xd7, 0xa0, 0xa4, 0x0c, 0xdd, 0xbb, 0xa6, 0x8d, + 0x55, 0x9c, 0x25, 0xa3, 0x0f, 0x95, 0xae, 0xc3, 0x24, 0xbd, 0x5c, 0xf3, 0x2b, 0xdc, 0xa8, 0x5d, + 0xe8, 0x1e, 0xeb, 0x45, 0xac, 0x04, 0x99, 0xe1, 0x57, 0x67, 0x31, 0xbb, 0x3e, 0x25, 0x66, 0x12, + 0x91, 0x29, 0xce, 0xf0, 0x7f, 0x73, 0x30, 0x4f, 0x64, 0xd1, 0x6c, 0xe5, 0x90, 0x6f, 0x5f, 0xa4, + 0xf3, 0x70, 0x22, 0xd4, 0x47, 0xd2, 0x55, 0x62, 0x8f, 0x19, 0x79, 0x56, 0x6c, 0x12, 0xb5, 0xd5, + 0xb4, 0x96, 0x53, 0xf1, 0x80, 0x5a, 0x4e, 0x55, 0xa8, 0x84, 0x05, 0xf7, 0x5b, 0x12, 0x79, 0x32, + 0xb9, 0x61, 0x0e, 0x2c, 0x9c, 0xef, 0xbf, 0x12, 0xed, 0xac, 0x43, 0x2d, 0xb6, 0x87, 0x7b, 0x47, + 0x19, 0xe8, 0xfd, 0x3d, 0x5f, 0x55, 0xd5, 0x68, 0x2b, 0xf7, 0x6d, 0x02, 0x69, 0xab, 0xd2, 0x1a, + 0x4c, 0x6b, 0xbb, 0x5a, 0x67, 0xa0, 0x58, 0x96, 0x6e, 0x68, 0x5e, 0x35, 0x51, 0x8b, 0x73, 0x9c, + 0x1b, 0x3b, 0x37, 0x36, 0x29, 0x4c, 0x2e, 0x6b, 0xbb, 0x1a, 0xfb, 0x7f, 0xe4, 0x9b, 0xae, 0x01, + 0xf5, 0x24, 0x45, 0x70, 0x6d, 0xfd, 0x84, 0xb6, 0x4d, 0x48, 0x15, 0xf6, 0x55, 0xa8, 0x2a, 0xcc, + 0x63, 0x1d, 0x6a, 0xf1, 0xfb, 0x87, 0x38, 0xa4, 0xed, 0xda, 0x17, 0xc7, 0x61, 0xcc, 0xfe, 0x9c, + 0xc3, 0x5f, 0xe7, 0xa0, 0x44, 0x7a, 0xe1, 0xee, 0x2d, 0x45, 0x1b, 0x93, 0x2b, 0xb1, 0x9a, 0xc9, + 0x87, 0xaa, 0xcc, 0xab, 0x50, 0x74, 0x15, 0xcd, 0x61, 0xdf, 0x2f, 0xf5, 0xf8, 0x1b, 0x28, 0x8a, + 0xbd, 0xa5, 0x68, 0x8e, 0x4c, 0xd0, 0x61, 0x31, 0x4e, 0xc2, 0x09, 0xce, 0x23, 0xe7, 0xfc, 0x41, + 0x9e, 0x28, 0x57, 0x3c, 0xd2, 0x36, 0xe8, 0xed, 0xdb, 0x0b, 0x3b, 0xd5, 0x46, 0xb8, 0x7b, 0x0c, + 0xdf, 0x1b, 0x4e, 0x44, 0xef, 0x0d, 0xc7, 0xbf, 0xd7, 0xa0, 0xe6, 0x8e, 0xd1, 0x08, 0x57, 0xda, + 0x6f, 0x72, 0xa4, 0x81, 0x44, 0x7d, 0xf6, 0x08, 0xa9, 0x2e, 0x2c, 0xc9, 0x39, 0x78, 0x35, 0x8d, + 0x4d, 0x2e, 0xcf, 0x5f, 0x0b, 0xbc, 0x3c, 0xd6, 0x14, 0x17, 0x1d, 0xc0, 0xb7, 0xa2, 0xd0, 0x02, + 0xce, 0x8f, 0x79, 0x6b, 0x3d, 0x46, 0x5d, 0x1b, 0xf6, 0x9c, 0x89, 0x6c, 0xcf, 0x89, 0xb9, 0x71, + 0x0e, 0x56, 0x55, 0x53, 0x63, 0x5d, 0x6c, 0xbf, 0xa8, 0x8b, 0xe6, 0x90, 0x03, 0x7c, 0x1f, 0x96, + 0x12, 0xec, 0x7a, 0x00, 0x57, 0x34, 0x7f, 0xc9, 0x93, 0x40, 0xf1, 0xa8, 0x1f, 0x5c, 0x1c, 0xb4, + 0x60, 0x6a, 0x48, 0x88, 0x8d, 0xe0, 0x3c, 0x0c, 0x78, 0x64, 0x9c, 0x27, 0xce, 0xf0, 0x53, 0x23, + 0xa5, 0x9d, 0x65, 0x38, 0x97, 0xae, 0x4d, 0x1e, 0xae, 0x3f, 0xcd, 0x0b, 0x15, 0xa1, 0xb7, 0x40, + 0x5d, 0xd3, 0x0e, 0x31, 0xf3, 0xbc, 0x09, 0x33, 0x0a, 0xa6, 0xcf, 0xfb, 0xf9, 0x85, 0x8c, 0x16, + 0x7c, 0x99, 0xc2, 0x69, 0x13, 0x7f, 0x1d, 0xe6, 0xfd, 0xd5, 0x36, 0x1a, 0x98, 0xbb, 0x88, 0x14, + 0x37, 0xa9, 0xfd, 0x33, 0x8f, 0x80, 0x4c, 0xf0, 0x61, 0x6d, 0x9d, 0x21, 0x9e, 0x1d, 0xa7, 0x02, + 0x4f, 0x4d, 0xad, 0x87, 0xa7, 0xa1, 0xb0, 0xe9, 0x68, 0xd2, 0x87, 0x30, 0x1d, 0x78, 0xb2, 0x76, + 0x36, 0xa1, 0x49, 0x2e, 0x82, 0xaa, 0x17, 0x47, 0x00, 0xf1, 0x18, 0xfa, 0x10, 0xa6, 0x03, 0xef, + 0x9f, 0x92, 0x76, 0x10, 0x41, 0x89, 0x3b, 0xc4, 0x3d, 0x68, 0x92, 0xfa, 0x30, 0x1f, 0xe9, 0x9c, + 0xbe, 0x96, 0x40, 0x20, 0x0c, 0xac, 0x36, 0x47, 0x04, 0x8a, 0xf2, 0x04, 0xbe, 0xe6, 0x93, 0xe4, + 0x11, 0x41, 0x89, 0xf2, 0xc4, 0x7d, 0x4b, 0x4a, 0x26, 0x9c, 0x88, 0x3e, 0xce, 0x5a, 0x4e, 0xd2, + 0x48, 0x18, 0x59, 0xbd, 0x32, 0x2a, 0x92, 0x6f, 0x78, 0x1f, 0x16, 0x62, 0xe3, 0xe5, 0x62, 0xaa, + 0x6e, 0x82, 0xe0, 0xea, 0x1b, 0xfb, 0x00, 0x8b, 0xca, 0x0c, 0x1c, 0xa8, 0xe9, 0xee, 0x47, 0x41, + 0x19, 0xee, 0x17, 0x4a, 0xe1, 0x1f, 0x00, 0x08, 0x6f, 0x2c, 0xce, 0x24, 0x2c, 0xf5, 0x21, 0xd5, + 0xf3, 0x99, 0x10, 0x91, 0xfb, 0xc0, 0x1b, 0x99, 0xb3, 0x99, 0x4b, 0x77, 0x5a, 0x89, 0xdc, 0xc7, + 0xbd, 0x15, 0xc1, 0xae, 0x1d, 0x79, 0x27, 0x92, 0xe4, 0xda, 0x61, 0x60, 0xa2, 0x6b, 0x27, 0xbd, + 0xed, 0xc0, 0xba, 0x12, 0xde, 0x75, 0x24, 0xe9, 0xca, 0x87, 0x24, 0xea, 0x2a, 0xe6, 0xb5, 0x03, + 0x4f, 0x03, 0x19, 0x96, 0x16, 0x41, 0x19, 0x69, 0x20, 0xb4, 0x83, 0x0d, 0x52, 0x4c, 0x3b, 0x3f, + 0x91, 0xc5, 0x08, 0xb4, 0xfa, 0xfa, 0xc8, 0xd0, 0x68, 0x32, 0xc8, 0x90, 0x4a, 0x04, 0x65, 0x24, + 0x83, 0xd0, 0x0e, 0xc1, 0x64, 0xc0, 0xb6, 0x19, 0x21, 0x19, 0xb0, 0xbd, 0xae, 0x8c, 0x8a, 0x8c, + 0x66, 0x53, 0xa1, 0x87, 0x97, 0x9e, 0x4d, 0x7d, 0x60, 0x46, 0x36, 0x8d, 0x76, 0x0d, 0xa5, 0x21, + 0x9c, 0x8c, 0xab, 0x8d, 0x2e, 0x8c, 0x40, 0x87, 0x61, 0xab, 0xad, 0xd1, 0xb1, 0x7c, 0xdb, 0x4f, + 0x72, 0xf0, 0x4a, 0xf2, 0x17, 0xca, 0x95, 0x54, 0x47, 0x88, 0xe3, 0xe1, 0xfa, 0x7e, 0x57, 0x88, + 0xb9, 0x37, 0xf6, 0xd3, 0x22, 0xcd, 0xf5, 0xc3, 0xe0, 0xc4, 0xdc, 0x9b, 0x5a, 0xdc, 0x7e, 0x9a, + 0x83, 0xc5, 0xb4, 0xfa, 0xb4, 0x95, 0x41, 0x34, 0x4e, 0x0f, 0xab, 0xfb, 0x5f, 0xc3, 0xf9, 0xf9, + 0x01, 0x94, 0xc5, 0x87, 0x32, 0x8d, 0xd4, 0x2c, 0x4f, 0x30, 0xd5, 0x0b, 0xd9, 0x18, 0x91, 0xbc, + 0xf8, 0x58, 0xa5, 0x91, 0x9a, 0x5a, 0xd2, 0xc9, 0xc7, 0x3c, 0x3f, 0xc1, 0x71, 0x1a, 0x7d, 0x7a, + 0xb2, 0x9c, 0xea, 0x9a, 0x02, 0x32, 0x31, 0x4e, 0x13, 0xdf, 0x61, 0xf8, 0x71, 0x2a, 0xdc, 0xef, + 0xbf, 0x96, 0x4d, 0x85, 0x00, 0x33, 0xe2, 0x34, 0x7a, 0xcb, 0x8e, 0x8f, 0x06, 0xe1, 0x86, 0x3d, + 0xe9, 0x68, 0xf0, 0x21, 0x89, 0x47, 0x43, 0xf4, 0xf6, 0x1b, 0x5b, 0x46, 0xec, 0x9b, 0x37, 0x52, + 0xd3, 0x63, 0xba, 0x65, 0x62, 0x1a, 0xd7, 0xf4, 0x0c, 0x0d, 0x3d, 0x56, 0x49, 0x3e, 0x43, 0x83, + 0xc0, 0x94, 0x33, 0x34, 0xfe, 0x29, 0x88, 0xf4, 0x3d, 0x28, 0xf9, 0x57, 0xb2, 0xf5, 0x84, 0xd5, + 0x1c, 0x51, 0x5d, 0xce, 0x42, 0x44, 0x0f, 0x50, 0x46, 0x3b, 0xfd, 0x00, 0x65, 0xe4, 0x2f, 0x8e, + 0x00, 0x12, 0x77, 0x08, 0x74, 0xf7, 0xcf, 0xa6, 0x3a, 0x09, 0x05, 0x55, 0x2f, 0x8e, 0x00, 0xe2, + 0x3b, 0xf4, 0x60, 0x26, 0xd8, 0xa3, 0x7c, 0x35, 0xd1, 0x8e, 0x02, 0xaa, 0x7a, 0x69, 0x14, 0x14, + 0xdf, 0xe4, 0xc7, 0xf0, 0x52, 0x7c, 0x77, 0xfb, 0x52, 0x62, 0xb5, 0x12, 0x83, 0xae, 0x5e, 0xdd, + 0x0f, 0x5a, 0x3c, 0xcf, 0xe2, 0xba, 0xc5, 0x17, 0x52, 0xcf, 0x87, 0xe0, 0xc6, 0xad, 0xd1, 0xb1, + 0xe2, 0xb6, 0x71, 0x2d, 0xe0, 0x0b, 0xa9, 0x15, 0xe0, 0x68, 0xdb, 0xa6, 0xb4, 0x76, 0xa5, 0xf7, + 0x60, 0x92, 0xb5, 0x75, 0x4f, 0x27, 0x56, 0xb5, 0x78, 0xba, 0xfa, 0xf5, 0xd4, 0x69, 0x8f, 0xde, + 0x7a, 0xfb, 0xd1, 0xd3, 0x5a, 0xee, 0xf1, 0xd3, 0x5a, 0xee, 0xcb, 0xa7, 0xb5, 0xdc, 0x83, 0x67, + 0xb5, 0x63, 0x8f, 0x9f, 0xd5, 0x8e, 0xfd, 0xed, 0x59, 0xed, 0xd8, 0x07, 0x4d, 0x4d, 0x77, 0xef, + 0x0e, 0xbb, 0x2b, 0x3d, 0x73, 0xd0, 0xec, 0x1a, 0xdd, 0xcb, 0xe4, 0x4a, 0xab, 0x29, 0xfc, 0x4d, + 0xd6, 0xfd, 0xe0, 0x5f, 0x65, 0x75, 0x27, 0xc9, 0xc3, 0x80, 0x37, 0xfe, 0x17, 0x00, 0x00, 0xff, + 0xff, 0x54, 0x25, 0x5a, 0xa8, 0xfd, 0x36, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3936,6 +4212,7 @@ type MsgClient interface { // basic operation of object CreateObject(ctx context.Context, in *MsgCreateObject, opts ...grpc.CallOption) (*MsgCreateObjectResponse, error) SealObject(ctx context.Context, in *MsgSealObject, opts ...grpc.CallOption) (*MsgSealObjectResponse, error) + SealObjectV2(ctx context.Context, in *MsgSealObjectV2, opts ...grpc.CallOption) (*MsgSealObjectV2Response, error) RejectSealObject(ctx context.Context, in *MsgRejectSealObject, opts ...grpc.CallOption) (*MsgRejectSealObjectResponse, error) CopyObject(ctx context.Context, in *MsgCopyObject, opts ...grpc.CallOption) (*MsgCopyObjectResponse, error) DeleteObject(ctx context.Context, in *MsgDeleteObject, opts ...grpc.CallOption) (*MsgDeleteObjectResponse, error) @@ -3946,6 +4223,7 @@ type MsgClient interface { UpdateObjectContent(ctx context.Context, in *MsgUpdateObjectContent, opts ...grpc.CallOption) (*MsgUpdateObjectContentResponse, error) CancelUpdateObjectContent(ctx context.Context, in *MsgCancelUpdateObjectContent, opts ...grpc.CallOption) (*MsgCancelUpdateObjectContentResponse, error) DelegateCreateObject(ctx context.Context, in *MsgDelegateCreateObject, opts ...grpc.CallOption) (*MsgDelegateCreateObjectResponse, error) + DelegateUpdateObjectContent(ctx context.Context, in *MsgDelegateUpdateObjectContent, opts ...grpc.CallOption) (*MsgDelegateUpdateObjectContentResponse, error) // basic operation of group CreateGroup(ctx context.Context, in *MsgCreateGroup, opts ...grpc.CallOption) (*MsgCreateGroupResponse, error) DeleteGroup(ctx context.Context, in *MsgDeleteGroup, opts ...grpc.CallOption) (*MsgDeleteGroupResponse, error) @@ -4047,6 +4325,15 @@ func (c *msgClient) SealObject(ctx context.Context, in *MsgSealObject, opts ...g return out, nil } +func (c *msgClient) SealObjectV2(ctx context.Context, in *MsgSealObjectV2, opts ...grpc.CallOption) (*MsgSealObjectV2Response, error) { + out := new(MsgSealObjectV2Response) + err := c.cc.Invoke(ctx, "/greenfield.storage.Msg/SealObjectV2", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) RejectSealObject(ctx context.Context, in *MsgRejectSealObject, opts ...grpc.CallOption) (*MsgRejectSealObjectResponse, error) { out := new(MsgRejectSealObjectResponse) err := c.cc.Invoke(ctx, "/greenfield.storage.Msg/RejectSealObject", in, out, opts...) @@ -4137,6 +4424,15 @@ func (c *msgClient) DelegateCreateObject(ctx context.Context, in *MsgDelegateCre return out, nil } +func (c *msgClient) DelegateUpdateObjectContent(ctx context.Context, in *MsgDelegateUpdateObjectContent, opts ...grpc.CallOption) (*MsgDelegateUpdateObjectContentResponse, error) { + out := new(MsgDelegateUpdateObjectContentResponse) + err := c.cc.Invoke(ctx, "/greenfield.storage.Msg/DelegateUpdateObjectContent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) CreateGroup(ctx context.Context, in *MsgCreateGroup, opts ...grpc.CallOption) (*MsgCreateGroupResponse, error) { out := new(MsgCreateGroupResponse) err := c.cc.Invoke(ctx, "/greenfield.storage.Msg/CreateGroup", in, out, opts...) @@ -4284,6 +4580,7 @@ type MsgServer interface { // basic operation of object CreateObject(context.Context, *MsgCreateObject) (*MsgCreateObjectResponse, error) SealObject(context.Context, *MsgSealObject) (*MsgSealObjectResponse, error) + SealObjectV2(context.Context, *MsgSealObjectV2) (*MsgSealObjectV2Response, error) RejectSealObject(context.Context, *MsgRejectSealObject) (*MsgRejectSealObjectResponse, error) CopyObject(context.Context, *MsgCopyObject) (*MsgCopyObjectResponse, error) DeleteObject(context.Context, *MsgDeleteObject) (*MsgDeleteObjectResponse, error) @@ -4294,6 +4591,7 @@ type MsgServer interface { UpdateObjectContent(context.Context, *MsgUpdateObjectContent) (*MsgUpdateObjectContentResponse, error) CancelUpdateObjectContent(context.Context, *MsgCancelUpdateObjectContent) (*MsgCancelUpdateObjectContentResponse, error) DelegateCreateObject(context.Context, *MsgDelegateCreateObject) (*MsgDelegateCreateObjectResponse, error) + DelegateUpdateObjectContent(context.Context, *MsgDelegateUpdateObjectContent) (*MsgDelegateUpdateObjectContentResponse, error) // basic operation of group CreateGroup(context.Context, *MsgCreateGroup) (*MsgCreateGroupResponse, error) DeleteGroup(context.Context, *MsgDeleteGroup) (*MsgDeleteGroupResponse, error) @@ -4343,6 +4641,9 @@ func (*UnimplementedMsgServer) CreateObject(ctx context.Context, req *MsgCreateO func (*UnimplementedMsgServer) SealObject(ctx context.Context, req *MsgSealObject) (*MsgSealObjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SealObject not implemented") } +func (*UnimplementedMsgServer) SealObjectV2(ctx context.Context, req *MsgSealObjectV2) (*MsgSealObjectV2Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method SealObjectV2 not implemented") +} func (*UnimplementedMsgServer) RejectSealObject(ctx context.Context, req *MsgRejectSealObject) (*MsgRejectSealObjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RejectSealObject not implemented") } @@ -4373,6 +4674,9 @@ func (*UnimplementedMsgServer) CancelUpdateObjectContent(ctx context.Context, re func (*UnimplementedMsgServer) DelegateCreateObject(ctx context.Context, req *MsgDelegateCreateObject) (*MsgDelegateCreateObjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DelegateCreateObject not implemented") } +func (*UnimplementedMsgServer) DelegateUpdateObjectContent(ctx context.Context, req *MsgDelegateUpdateObjectContent) (*MsgDelegateUpdateObjectContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DelegateUpdateObjectContent not implemented") +} func (*UnimplementedMsgServer) CreateGroup(ctx context.Context, req *MsgCreateGroup) (*MsgCreateGroupResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateGroup not implemented") } @@ -4567,6 +4871,24 @@ func _Msg_SealObject_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } +func _Msg_SealObjectV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSealObjectV2) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SealObjectV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/greenfield.storage.Msg/SealObjectV2", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SealObjectV2(ctx, req.(*MsgSealObjectV2)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_RejectSealObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgRejectSealObject) if err := dec(in); err != nil { @@ -4747,6 +5069,24 @@ func _Msg_DelegateCreateObject_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Msg_DelegateUpdateObjectContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgDelegateUpdateObjectContent) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).DelegateUpdateObjectContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/greenfield.storage.Msg/DelegateUpdateObjectContent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DelegateUpdateObjectContent(ctx, req.(*MsgDelegateUpdateObjectContent)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_CreateGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgCreateGroup) if err := dec(in); err != nil { @@ -5053,6 +5393,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "SealObject", Handler: _Msg_SealObject_Handler, }, + { + MethodName: "SealObjectV2", + Handler: _Msg_SealObjectV2_Handler, + }, { MethodName: "RejectSealObject", Handler: _Msg_RejectSealObject_Handler, @@ -5093,6 +5437,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "DelegateCreateObject", Handler: _Msg_DelegateCreateObject_Handler, }, + { + MethodName: "DelegateUpdateObjectContent", + Handler: _Msg_DelegateUpdateObjectContent_Handler, + }, { MethodName: "CreateGroup", Handler: _Msg_CreateGroup_Handler, @@ -5590,6 +5938,94 @@ func (m *MsgSealObjectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *MsgSealObjectV2) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgSealObjectV2) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSealObjectV2) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ExpectChecksums) > 0 { + for iNdEx := len(m.ExpectChecksums) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.ExpectChecksums[iNdEx]) + copy(dAtA[i:], m.ExpectChecksums[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.ExpectChecksums[iNdEx]))) + i-- + dAtA[i] = 0x32 + } + } + if len(m.SecondarySpBlsAggSignatures) > 0 { + i -= len(m.SecondarySpBlsAggSignatures) + copy(dAtA[i:], m.SecondarySpBlsAggSignatures) + i = encodeVarintTx(dAtA, i, uint64(len(m.SecondarySpBlsAggSignatures))) + i-- + dAtA[i] = 0x2a + } + if m.GlobalVirtualGroupId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.GlobalVirtualGroupId)) + i-- + dAtA[i] = 0x20 + } + if len(m.ObjectName) > 0 { + i -= len(m.ObjectName) + copy(dAtA[i:], m.ObjectName) + i = encodeVarintTx(dAtA, i, uint64(len(m.ObjectName))) + i-- + dAtA[i] = 0x1a + } + if len(m.BucketName) > 0 { + i -= len(m.BucketName) + copy(dAtA[i:], m.BucketName) + i = encodeVarintTx(dAtA, i, uint64(len(m.BucketName))) + i-- + dAtA[i] = 0x12 + } + if len(m.Operator) > 0 { + i -= len(m.Operator) + copy(dAtA[i:], m.Operator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Operator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSealObjectV2Response) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgSealObjectV2Response) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSealObjectV2Response) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgRejectSealObject) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7721,7 +8157,7 @@ func (m *MsgDelegateCreateObjectResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } -func (m *MsgUpdateDelegatedAgent) Marshal() (dAtA []byte, err error) { +func (m *MsgDelegateUpdateObjectContent) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7731,38 +8167,133 @@ func (m *MsgUpdateDelegatedAgent) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateDelegatedAgent) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgDelegateUpdateObjectContent) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateDelegatedAgent) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgDelegateUpdateObjectContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.AgentsToRemove) > 0 { - for iNdEx := len(m.AgentsToRemove) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.AgentsToRemove[iNdEx]) - copy(dAtA[i:], m.AgentsToRemove[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.AgentsToRemove[iNdEx]))) - i-- - dAtA[i] = 0x22 - } - } - if len(m.AgentsToAdd) > 0 { - for iNdEx := len(m.AgentsToAdd) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.AgentsToAdd[iNdEx]) - copy(dAtA[i:], m.AgentsToAdd[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.AgentsToAdd[iNdEx]))) + if len(m.ExpectChecksums) > 0 { + for iNdEx := len(m.ExpectChecksums) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.ExpectChecksums[iNdEx]) + copy(dAtA[i:], m.ExpectChecksums[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.ExpectChecksums[iNdEx]))) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x3a } } - if len(m.BucketName) > 0 { - i -= len(m.BucketName) - copy(dAtA[i:], m.BucketName) - i = encodeVarintTx(dAtA, i, uint64(len(m.BucketName))) + if len(m.ContentType) > 0 { + i -= len(m.ContentType) + copy(dAtA[i:], m.ContentType) + i = encodeVarintTx(dAtA, i, uint64(len(m.ContentType))) + i-- + dAtA[i] = 0x32 + } + if m.PayloadSize != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.PayloadSize)) + i-- + dAtA[i] = 0x28 + } + if len(m.ObjectName) > 0 { + i -= len(m.ObjectName) + copy(dAtA[i:], m.ObjectName) + i = encodeVarintTx(dAtA, i, uint64(len(m.ObjectName))) + i-- + dAtA[i] = 0x22 + } + if len(m.BucketName) > 0 { + i -= len(m.BucketName) + copy(dAtA[i:], m.BucketName) + i = encodeVarintTx(dAtA, i, uint64(len(m.BucketName))) + i-- + dAtA[i] = 0x1a + } + if len(m.Updater) > 0 { + i -= len(m.Updater) + copy(dAtA[i:], m.Updater) + i = encodeVarintTx(dAtA, i, uint64(len(m.Updater))) + i-- + dAtA[i] = 0x12 + } + if len(m.Operator) > 0 { + i -= len(m.Operator) + copy(dAtA[i:], m.Operator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Operator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgDelegateUpdateObjectContentResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgDelegateUpdateObjectContentResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDelegateUpdateObjectContentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgUpdateDelegatedAgent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateDelegatedAgent) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateDelegatedAgent) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AgentsToRemove) > 0 { + for iNdEx := len(m.AgentsToRemove) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.AgentsToRemove[iNdEx]) + copy(dAtA[i:], m.AgentsToRemove[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.AgentsToRemove[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } + if len(m.AgentsToAdd) > 0 { + for iNdEx := len(m.AgentsToAdd) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.AgentsToAdd[iNdEx]) + copy(dAtA[i:], m.AgentsToAdd[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.AgentsToAdd[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.BucketName) > 0 { + i -= len(m.BucketName) + copy(dAtA[i:], m.BucketName) + i = encodeVarintTx(dAtA, i, uint64(len(m.BucketName))) i-- dAtA[i] = 0x12 } @@ -8004,6 +8535,49 @@ func (m *MsgSealObjectResponse) Size() (n int) { return n } +func (m *MsgSealObjectV2) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Operator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.BucketName) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ObjectName) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.GlobalVirtualGroupId != 0 { + n += 1 + sovTx(uint64(m.GlobalVirtualGroupId)) + } + l = len(m.SecondarySpBlsAggSignatures) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.ExpectChecksums) > 0 { + for _, b := range m.ExpectChecksums { + l = len(b) + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgSealObjectV2Response) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *MsgRejectSealObject) Size() (n int) { if m == nil { return 0 @@ -8934,6 +9508,53 @@ func (m *MsgDelegateCreateObjectResponse) Size() (n int) { return n } +func (m *MsgDelegateUpdateObjectContent) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Operator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Updater) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.BucketName) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ObjectName) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.PayloadSize != 0 { + n += 1 + sovTx(uint64(m.PayloadSize)) + } + l = len(m.ContentType) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.ExpectChecksums) > 0 { + for _, b := range m.ExpectChecksums { + l = len(b) + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgDelegateUpdateObjectContentResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *MsgUpdateDelegatedAgent) Size() (n int) { if m == nil { return 0 @@ -10310,7 +10931,7 @@ func (m *MsgSealObjectResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRejectSealObject) Unmarshal(dAtA []byte) error { +func (m *MsgSealObjectV2) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10333,10 +10954,10 @@ func (m *MsgRejectSealObject) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRejectSealObject: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSealObjectV2: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRejectSealObject: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSealObjectV2: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10435,42 +11056,323 @@ func (m *MsgRejectSealObject) Unmarshal(dAtA []byte) error { } m.ObjectName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GlobalVirtualGroupId", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx + m.GlobalVirtualGroupId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GlobalVirtualGroupId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SecondarySpBlsAggSignatures", wireType) } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgRejectSealObjectResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if byteLen < 0 { + return ErrInvalidLengthTx } - b := dAtA[iNdEx] - iNdEx++ + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SecondarySpBlsAggSignatures = append(m.SecondarySpBlsAggSignatures[:0], dAtA[iNdEx:postIndex]...) + if m.SecondarySpBlsAggSignatures == nil { + m.SecondarySpBlsAggSignatures = []byte{} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpectChecksums", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ExpectChecksums = append(m.ExpectChecksums, make([]byte, postIndex-iNdEx)) + copy(m.ExpectChecksums[len(m.ExpectChecksums)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgSealObjectV2Response) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgSealObjectV2Response: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSealObjectV2Response: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgRejectSealObject) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgRejectSealObject: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRejectSealObject: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Operator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Operator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BucketName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BucketName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ObjectName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgRejectSealObjectResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ wire |= uint64(b&0x7F) << shift if b < 0x80 { break @@ -16014,7 +16916,235 @@ func (m *MsgCancelUpdateObjectContent) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Operator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Operator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Operator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BucketName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BucketName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ObjectName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCancelUpdateObjectContentResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCancelUpdateObjectContentResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCancelUpdateObjectContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgDelegateCreateObject) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgDelegateCreateObject: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDelegateCreateObject: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Operator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Operator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16042,9 +17172,9 @@ func (m *MsgCancelUpdateObjectContent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Operator = string(dAtA[iNdEx:postIndex]) + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field BucketName", wireType) } @@ -16076,7 +17206,7 @@ func (m *MsgCancelUpdateObjectContent) Unmarshal(dAtA []byte) error { } m.BucketName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ObjectName", wireType) } @@ -16108,6 +17238,127 @@ func (m *MsgCancelUpdateObjectContent) Unmarshal(dAtA []byte) error { } m.ObjectName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PayloadSize", wireType) + } + m.PayloadSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PayloadSize |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContentType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContentType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Visibility", wireType) + } + m.Visibility = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Visibility |= VisibilityType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpectChecksums", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ExpectChecksums = append(m.ExpectChecksums, make([]byte, postIndex-iNdEx)) + copy(m.ExpectChecksums[len(m.ExpectChecksums)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RedundancyType", wireType) + } + m.RedundancyType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RedundancyType |= RedundancyType(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16129,7 +17380,7 @@ func (m *MsgCancelUpdateObjectContent) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCancelUpdateObjectContentResponse) Unmarshal(dAtA []byte) error { +func (m *MsgDelegateCreateObjectResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16152,12 +17403,46 @@ func (m *MsgCancelUpdateObjectContentResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelUpdateObjectContentResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDelegateCreateObjectResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelUpdateObjectContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDelegateCreateObjectResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16179,7 +17464,7 @@ func (m *MsgCancelUpdateObjectContentResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgDelegateCreateObject) Unmarshal(dAtA []byte) error { +func (m *MsgDelegateUpdateObjectContent) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16202,10 +17487,10 @@ func (m *MsgDelegateCreateObject) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgDelegateCreateObject: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDelegateUpdateObjectContent: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDelegateCreateObject: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDelegateUpdateObjectContent: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16242,7 +17527,7 @@ func (m *MsgDelegateCreateObject) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Updater", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16270,7 +17555,7 @@ func (m *MsgDelegateCreateObject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + m.Updater = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { @@ -16388,25 +17673,6 @@ func (m *MsgDelegateCreateObject) Unmarshal(dAtA []byte) error { m.ContentType = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Visibility", wireType) - } - m.Visibility = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Visibility |= VisibilityType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ExpectChecksums", wireType) } @@ -16438,25 +17704,6 @@ func (m *MsgDelegateCreateObject) Unmarshal(dAtA []byte) error { m.ExpectChecksums = append(m.ExpectChecksums, make([]byte, postIndex-iNdEx)) copy(m.ExpectChecksums[len(m.ExpectChecksums)-1], dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 9: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RedundancyType", wireType) - } - m.RedundancyType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.RedundancyType |= RedundancyType(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16478,7 +17725,7 @@ func (m *MsgDelegateCreateObject) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgDelegateCreateObjectResponse) Unmarshal(dAtA []byte) error { +func (m *MsgDelegateUpdateObjectContentResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16501,46 +17748,12 @@ func (m *MsgDelegateCreateObjectResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgDelegateCreateObjectResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDelegateUpdateObjectContentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDelegateCreateObjectResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDelegateUpdateObjectContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ObjectId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ObjectId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:])