mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-02 17:31:39 +00:00
feature/1214 session fetch refactor (#1215)
* chore(docs): remove token economy guide * refactor(context): update GatewayContext to use Querier interface * chore(database): update schema path * docs: Update READMEs for x/did, x/dwn, and x/svc with UCAN integration * chore(pkg): update database scope name * refactor(did): optimize GenesisState proto methods * refactor(svc): update Service proto to use repeated fields * refactor(api): rename MsgSpawn to MsgInitialize
This commit is contained in:
+33
-9
@@ -1,6 +1,6 @@
|
||||
# `x/dwn`
|
||||
|
||||
The DWN module is responsible for the management of IPFS deployed Decentralized Web Nodes (DWNs) and their associated data.
|
||||
The DWN module is responsible for the management of IPFS deployed Decentralized Web Nodes (DWNs) and their associated data. This module now incorporates UCAN (User Controlled Authorization Networks) for enhanced authorization and access control.
|
||||
|
||||
## Concepts
|
||||
|
||||
@@ -9,6 +9,7 @@ The DWN module introduces several key concepts:
|
||||
1. Decentralized Web Node (DWN): A distributed network for storing and sharing data.
|
||||
2. Schema: A structure defining the format of various data types in the dwn.
|
||||
3. IPFS Integration: The module can interact with IPFS for decentralized data storage.
|
||||
4. UCAN Authorization: The module utilizes UCANs for a decentralized and user-centric authorization mechanism.
|
||||
|
||||
## State
|
||||
|
||||
@@ -38,6 +39,7 @@ message Params {
|
||||
bool ipfs_active = 1;
|
||||
bool local_registration_enabled = 2;
|
||||
Schema schema = 4;
|
||||
repeated string allowed_operators = 5;
|
||||
}
|
||||
```
|
||||
|
||||
@@ -64,15 +66,15 @@ message Schema {
|
||||
|
||||
State transitions in the DWN module are primarily triggered by:
|
||||
|
||||
1. Updating module parameters
|
||||
2. Allocating new dwns
|
||||
3. Syncing DID documents
|
||||
1. Updating module parameters (including UCAN-related parameters)
|
||||
2. Allocating new dwns (with UCAN authorization checks)
|
||||
3. Syncing DID documents (with UCAN authorization checks)
|
||||
|
||||
## Messages
|
||||
|
||||
The DWN module defines the following message:
|
||||
|
||||
1. `MsgUpdateParams`: Used to update the module parameters.
|
||||
1. `MsgUpdateParams`: Used to update the module parameters, including UCAN permissions.
|
||||
|
||||
```protobuf
|
||||
message MsgUpdateParams {
|
||||
@@ -89,22 +91,43 @@ No specific begin-block operations are defined for this module.
|
||||
|
||||
No specific end-block operations are defined for this module.
|
||||
|
||||
## UCAN Authorization
|
||||
|
||||
This module utilizes UCAN (User Controlled Authorization Networks) to provide a decentralized and user-centric authorization mechanism. UCANs are self-contained authorization tokens that allow users to delegate specific capabilities to other entities without relying on a central authority.
|
||||
|
||||
### UCAN Integration
|
||||
|
||||
- The module parameters include a `UcanPermissions` field that defines the default UCAN permissions required for actions within the module, such as allocating new DWNs or syncing DID documents.
|
||||
- Message handlers in the `MsgServer` perform UCAN authorization checks by:
|
||||
- Retrieving the UCAN permissions from the context (injected by a middleware).
|
||||
- Retrieving the required UCAN permissions from the module parameters.
|
||||
- Verifying that the provided UCAN permissions satisfy the required permissions.
|
||||
- A dedicated middleware is responsible for:
|
||||
- Parsing incoming requests for UCAN tokens.
|
||||
- Verifying UCAN token signatures and validity.
|
||||
- Extracting UCAN permissions.
|
||||
- Injecting UCAN permissions into the context.
|
||||
- UCAN verification logic involves:
|
||||
- Checking UCAN token signatures against the issuer's public key (resolved via the `x/did` module).
|
||||
- Validating token expiration and other constraints.
|
||||
- Parsing token capabilities and extracting relevant permissions.
|
||||
|
||||
## Hooks
|
||||
|
||||
The DWN module does not define any hooks.
|
||||
|
||||
## Events
|
||||
|
||||
The DWN module does not explicitly define any events. However, standard Cosmos SDK events may be emitted during state transitions.
|
||||
The DWN module does not explicitly define any events. However, standard Cosmos SDK events may be emitted during state transitions, including those related to UCAN authorization.
|
||||
|
||||
## Client
|
||||
|
||||
The DWN module provides the following gRPC query endpoints:
|
||||
|
||||
1. `Params`: Queries all parameters of the module.
|
||||
1. `Params`: Queries all parameters of the module, including UCAN-related parameters.
|
||||
2. `Schema`: Queries the DID document schema.
|
||||
3. `Allocate`: Initializes a Target DWN available for claims.
|
||||
4. `Sync`: Queries the DID document by its ID and returns required information.
|
||||
3. `Allocate`: Initializes a Target DWN available for claims (subject to UCAN authorization).
|
||||
4. `Sync`: Queries the DID document by its ID and returns required information (subject to UCAN authorization).
|
||||
|
||||
## Params
|
||||
|
||||
@@ -113,6 +136,7 @@ The module parameters include:
|
||||
- `ipfs_active` (bool): Indicates if IPFS integration is active.
|
||||
- `local_registration_enabled` (bool): Indicates if local registration is enabled.
|
||||
- `schema` (Schema): Defines the structure for various data types in the dwn.
|
||||
- `UcanPermissions`: Specifies the required UCAN permissions for various actions within the module.
|
||||
|
||||
## Future Improvements
|
||||
|
||||
|
||||
@@ -34,10 +34,3 @@ func (ms msgServer) Initialize(ctx context.Context, msg *types.MsgInitialize) (*
|
||||
panic("Initialize is unimplemented")
|
||||
return &types.MsgInitializeResponse{}, nil
|
||||
}
|
||||
|
||||
// Spawn implements types.MsgServer.
|
||||
func (ms msgServer) Spawn(ctx context.Context, msg *types.MsgSpawn) (*types.MsgSpawnResponse, error) {
|
||||
// ctx := sdk.UnwrapSDKContext(goCtx)
|
||||
panic("Spawn is unimplemented")
|
||||
return &types.MsgSpawnResponse{}, nil
|
||||
}
|
||||
|
||||
+72
-72
@@ -133,7 +133,7 @@ var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo
|
||||
// operation that must be performed interacting with the Vault.
|
||||
//
|
||||
// Since: cosmos-sdk 0.47
|
||||
type MsgSpawn struct {
|
||||
type MsgInitialize struct {
|
||||
// authority is the address of the governance account.
|
||||
Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"`
|
||||
// params defines the parameters to update.
|
||||
@@ -142,18 +142,18 @@ type MsgSpawn struct {
|
||||
Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"`
|
||||
}
|
||||
|
||||
func (m *MsgSpawn) Reset() { *m = MsgSpawn{} }
|
||||
func (m *MsgSpawn) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgSpawn) ProtoMessage() {}
|
||||
func (*MsgSpawn) Descriptor() ([]byte, []int) {
|
||||
func (m *MsgInitialize) Reset() { *m = MsgInitialize{} }
|
||||
func (m *MsgInitialize) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgInitialize) ProtoMessage() {}
|
||||
func (*MsgInitialize) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_32d2464465560de7, []int{2}
|
||||
}
|
||||
func (m *MsgSpawn) XXX_Unmarshal(b []byte) error {
|
||||
func (m *MsgInitialize) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
}
|
||||
func (m *MsgSpawn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
func (m *MsgInitialize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
if deterministic {
|
||||
return xxx_messageInfo_MsgSpawn.Marshal(b, m, deterministic)
|
||||
return xxx_messageInfo_MsgInitialize.Marshal(b, m, deterministic)
|
||||
} else {
|
||||
b = b[:cap(b)]
|
||||
n, err := m.MarshalToSizedBuffer(b)
|
||||
@@ -163,26 +163,26 @@ func (m *MsgSpawn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return b[:n], nil
|
||||
}
|
||||
}
|
||||
func (m *MsgSpawn) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_MsgSpawn.Merge(m, src)
|
||||
func (m *MsgInitialize) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_MsgInitialize.Merge(m, src)
|
||||
}
|
||||
func (m *MsgSpawn) XXX_Size() int {
|
||||
func (m *MsgInitialize) XXX_Size() int {
|
||||
return m.Size()
|
||||
}
|
||||
func (m *MsgSpawn) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_MsgSpawn.DiscardUnknown(m)
|
||||
func (m *MsgInitialize) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_MsgInitialize.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_MsgSpawn proto.InternalMessageInfo
|
||||
var xxx_messageInfo_MsgInitialize proto.InternalMessageInfo
|
||||
|
||||
func (m *MsgSpawn) GetAuthority() string {
|
||||
func (m *MsgInitialize) GetAuthority() string {
|
||||
if m != nil {
|
||||
return m.Authority
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *MsgSpawn) GetParams() Params {
|
||||
func (m *MsgInitialize) GetParams() Params {
|
||||
if m != nil {
|
||||
return m.Params
|
||||
}
|
||||
@@ -193,21 +193,21 @@ func (m *MsgSpawn) GetParams() Params {
|
||||
// MsgSpawn message.
|
||||
//
|
||||
// Since: cosmos-sdk 0.47
|
||||
type MsgSpawnResponse struct {
|
||||
type MsgInitializeResponse struct {
|
||||
}
|
||||
|
||||
func (m *MsgSpawnResponse) Reset() { *m = MsgSpawnResponse{} }
|
||||
func (m *MsgSpawnResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgSpawnResponse) ProtoMessage() {}
|
||||
func (*MsgSpawnResponse) Descriptor() ([]byte, []int) {
|
||||
func (m *MsgInitializeResponse) Reset() { *m = MsgInitializeResponse{} }
|
||||
func (m *MsgInitializeResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgInitializeResponse) ProtoMessage() {}
|
||||
func (*MsgInitializeResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_32d2464465560de7, []int{3}
|
||||
}
|
||||
func (m *MsgSpawnResponse) XXX_Unmarshal(b []byte) error {
|
||||
func (m *MsgInitializeResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
}
|
||||
func (m *MsgSpawnResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
func (m *MsgInitializeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
if deterministic {
|
||||
return xxx_messageInfo_MsgSpawnResponse.Marshal(b, m, deterministic)
|
||||
return xxx_messageInfo_MsgInitializeResponse.Marshal(b, m, deterministic)
|
||||
} else {
|
||||
b = b[:cap(b)]
|
||||
n, err := m.MarshalToSizedBuffer(b)
|
||||
@@ -217,29 +217,29 @@ func (m *MsgSpawnResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, er
|
||||
return b[:n], nil
|
||||
}
|
||||
}
|
||||
func (m *MsgSpawnResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_MsgSpawnResponse.Merge(m, src)
|
||||
func (m *MsgInitializeResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_MsgInitializeResponse.Merge(m, src)
|
||||
}
|
||||
func (m *MsgSpawnResponse) XXX_Size() int {
|
||||
func (m *MsgInitializeResponse) XXX_Size() int {
|
||||
return m.Size()
|
||||
}
|
||||
func (m *MsgSpawnResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_MsgSpawnResponse.DiscardUnknown(m)
|
||||
func (m *MsgInitializeResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_MsgInitializeResponse.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_MsgSpawnResponse proto.InternalMessageInfo
|
||||
var xxx_messageInfo_MsgInitializeResponse proto.InternalMessageInfo
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*MsgUpdateParams)(nil), "dwn.v1.MsgUpdateParams")
|
||||
proto.RegisterType((*MsgUpdateParamsResponse)(nil), "dwn.v1.MsgUpdateParamsResponse")
|
||||
proto.RegisterType((*MsgSpawn)(nil), "dwn.v1.MsgSpawn")
|
||||
proto.RegisterType((*MsgSpawnResponse)(nil), "dwn.v1.MsgSpawnResponse")
|
||||
proto.RegisterType((*MsgInitialize)(nil), "dwn.v1.MsgInitialize")
|
||||
proto.RegisterType((*MsgInitializeResponse)(nil), "dwn.v1.MsgInitializeResponse")
|
||||
}
|
||||
|
||||
func init() { proto.RegisterFile("dwn/v1/tx.proto", fileDescriptor_32d2464465560de7) }
|
||||
|
||||
var fileDescriptor_32d2464465560de7 = []byte{
|
||||
// 356 bytes of a gzipped FileDescriptorProto
|
||||
// 361 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4f, 0x29, 0xcf, 0xd3,
|
||||
0x2f, 0x33, 0xd4, 0x2f, 0xa9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x4b, 0x29, 0xcf,
|
||||
0xd3, 0x2b, 0x33, 0x94, 0x12, 0x4f, 0xce, 0x2f, 0xce, 0xcd, 0x2f, 0xd6, 0xcf, 0x2d, 0x4e, 0x07,
|
||||
@@ -252,17 +252,17 @@ var fileDescriptor_32d2464465560de7 = []byte{
|
||||
0xca, 0xcc, 0x4b, 0x0f, 0x42, 0x28, 0x15, 0xd2, 0xe1, 0x62, 0x2b, 0x00, 0x9b, 0x20, 0xc1, 0xa4,
|
||||
0xc0, 0xa8, 0xc1, 0x6d, 0xc4, 0xa7, 0x07, 0xf1, 0x84, 0x1e, 0xc4, 0x5c, 0x27, 0x96, 0x13, 0xf7,
|
||||
0xe4, 0x19, 0x82, 0xa0, 0x6a, 0xac, 0xf8, 0x9a, 0x9e, 0x6f, 0xd0, 0x42, 0xe8, 0x56, 0x92, 0xe4,
|
||||
0x12, 0x47, 0x73, 0x48, 0x50, 0x6a, 0x71, 0x41, 0x7e, 0x5e, 0x71, 0xaa, 0x52, 0x03, 0x23, 0x17,
|
||||
0x87, 0x6f, 0x71, 0x7a, 0x70, 0x41, 0x62, 0x79, 0xde, 0x00, 0xb9, 0x4e, 0x88, 0x4b, 0x00, 0xe6,
|
||||
0x02, 0x98, 0xb3, 0x8c, 0xba, 0x19, 0xb9, 0x98, 0x7d, 0x8b, 0xd3, 0x85, 0x3c, 0xb8, 0x78, 0x50,
|
||||
0xc2, 0x4f, 0x1c, 0x66, 0x32, 0x9a, 0x7f, 0xa4, 0xe4, 0x71, 0x48, 0xc0, 0x4c, 0x14, 0x32, 0xe6,
|
||||
0x62, 0x85, 0x78, 0x52, 0x00, 0x49, 0x25, 0x58, 0x44, 0x4a, 0x02, 0x5d, 0x04, 0xa6, 0x49, 0x8a,
|
||||
0xb5, 0xe1, 0xf9, 0x06, 0x2d, 0x46, 0x27, 0x9b, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63,
|
||||
0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96,
|
||||
0x63, 0x88, 0x52, 0x4a, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0xcf, 0xcf,
|
||||
0x2b, 0xce, 0xcf, 0x2b, 0xd2, 0x07, 0x13, 0x15, 0xfa, 0xa0, 0x34, 0x54, 0x52, 0x59, 0x90, 0x5a,
|
||||
0x9c, 0xc4, 0x06, 0x4e, 0x0e, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x38, 0x9d, 0x99, 0x0f,
|
||||
0x89, 0x02, 0x00, 0x00,
|
||||
0x12, 0x47, 0x73, 0x48, 0x50, 0x6a, 0x71, 0x41, 0x7e, 0x5e, 0x71, 0xaa, 0x52, 0x2b, 0x23, 0x17,
|
||||
0xaf, 0x6f, 0x71, 0xba, 0x67, 0x5e, 0x66, 0x49, 0x66, 0x62, 0x4e, 0x66, 0x55, 0xea, 0x00, 0x39,
|
||||
0x51, 0x9c, 0x4b, 0x14, 0xc5, 0x19, 0x30, 0x07, 0x1a, 0xcd, 0x62, 0xe4, 0x62, 0xf6, 0x2d, 0x4e,
|
||||
0x17, 0xf2, 0xe0, 0xe2, 0x41, 0x09, 0x49, 0x71, 0x98, 0xf1, 0x68, 0x3e, 0x93, 0x92, 0xc7, 0x21,
|
||||
0x01, 0x33, 0x51, 0xc8, 0x89, 0x8b, 0x0b, 0xc9, 0xbb, 0xa2, 0x48, 0xca, 0x11, 0xc2, 0x52, 0xb2,
|
||||
0x58, 0x85, 0x61, 0x66, 0x48, 0xb1, 0x36, 0x3c, 0xdf, 0xa0, 0xc5, 0xe8, 0x64, 0x73, 0xe2, 0x91,
|
||||
0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, 0xe1,
|
||||
0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x51, 0x4a, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a,
|
||||
0xc9, 0xf9, 0xb9, 0xfa, 0xf9, 0x79, 0xc5, 0xf9, 0x79, 0x45, 0xfa, 0x60, 0xa2, 0x42, 0x1f, 0x94,
|
||||
0xb8, 0x4a, 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0xe9, 0xc4, 0x18, 0x10, 0x00, 0x00, 0xff,
|
||||
0xff, 0xbb, 0x62, 0x4e, 0x8b, 0xa2, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@@ -282,7 +282,7 @@ type MsgClient interface {
|
||||
// Since: cosmos-sdk 0.47
|
||||
UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error)
|
||||
// Spawn spawns a new Vault
|
||||
Spawn(ctx context.Context, in *MsgSpawn, opts ...grpc.CallOption) (*MsgSpawnResponse, error)
|
||||
Initialize(ctx context.Context, in *MsgInitialize, opts ...grpc.CallOption) (*MsgInitializeResponse, error)
|
||||
}
|
||||
|
||||
type msgClient struct {
|
||||
@@ -302,9 +302,9 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *msgClient) Spawn(ctx context.Context, in *MsgSpawn, opts ...grpc.CallOption) (*MsgSpawnResponse, error) {
|
||||
out := new(MsgSpawnResponse)
|
||||
err := c.cc.Invoke(ctx, "/dwn.v1.Msg/Spawn", in, out, opts...)
|
||||
func (c *msgClient) Initialize(ctx context.Context, in *MsgInitialize, opts ...grpc.CallOption) (*MsgInitializeResponse, error) {
|
||||
out := new(MsgInitializeResponse)
|
||||
err := c.cc.Invoke(ctx, "/dwn.v1.Msg/Initialize", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -318,7 +318,7 @@ type MsgServer interface {
|
||||
// Since: cosmos-sdk 0.47
|
||||
UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error)
|
||||
// Spawn spawns a new Vault
|
||||
Spawn(context.Context, *MsgSpawn) (*MsgSpawnResponse, error)
|
||||
Initialize(context.Context, *MsgInitialize) (*MsgInitializeResponse, error)
|
||||
}
|
||||
|
||||
// UnimplementedMsgServer can be embedded to have forward compatible implementations.
|
||||
@@ -328,8 +328,8 @@ type UnimplementedMsgServer struct {
|
||||
func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented")
|
||||
}
|
||||
func (*UnimplementedMsgServer) Spawn(ctx context.Context, req *MsgSpawn) (*MsgSpawnResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Spawn not implemented")
|
||||
func (*UnimplementedMsgServer) Initialize(ctx context.Context, req *MsgInitialize) (*MsgInitializeResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Initialize not implemented")
|
||||
}
|
||||
|
||||
func RegisterMsgServer(s grpc1.Server, srv MsgServer) {
|
||||
@@ -354,20 +354,20 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Msg_Spawn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(MsgSpawn)
|
||||
func _Msg_Initialize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(MsgInitialize)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MsgServer).Spawn(ctx, in)
|
||||
return srv.(MsgServer).Initialize(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/dwn.v1.Msg/Spawn",
|
||||
FullMethod: "/dwn.v1.Msg/Initialize",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).Spawn(ctx, req.(*MsgSpawn))
|
||||
return srv.(MsgServer).Initialize(ctx, req.(*MsgInitialize))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
@@ -382,8 +382,8 @@ var _Msg_serviceDesc = grpc.ServiceDesc{
|
||||
Handler: _Msg_UpdateParams_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Spawn",
|
||||
Handler: _Msg_Spawn_Handler,
|
||||
MethodName: "Initialize",
|
||||
Handler: _Msg_Initialize_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
@@ -453,7 +453,7 @@ func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
|
||||
func (m *MsgSpawn) Marshal() (dAtA []byte, err error) {
|
||||
func (m *MsgInitialize) Marshal() (dAtA []byte, err error) {
|
||||
size := m.Size()
|
||||
dAtA = make([]byte, size)
|
||||
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||
@@ -463,12 +463,12 @@ func (m *MsgSpawn) Marshal() (dAtA []byte, err error) {
|
||||
return dAtA[:n], nil
|
||||
}
|
||||
|
||||
func (m *MsgSpawn) MarshalTo(dAtA []byte) (int, error) {
|
||||
func (m *MsgInitialize) MarshalTo(dAtA []byte) (int, error) {
|
||||
size := m.Size()
|
||||
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||
}
|
||||
|
||||
func (m *MsgSpawn) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
func (m *MsgInitialize) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i := len(dAtA)
|
||||
_ = i
|
||||
var l int
|
||||
@@ -493,7 +493,7 @@ func (m *MsgSpawn) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
|
||||
func (m *MsgSpawnResponse) Marshal() (dAtA []byte, err error) {
|
||||
func (m *MsgInitializeResponse) Marshal() (dAtA []byte, err error) {
|
||||
size := m.Size()
|
||||
dAtA = make([]byte, size)
|
||||
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||
@@ -503,12 +503,12 @@ func (m *MsgSpawnResponse) Marshal() (dAtA []byte, err error) {
|
||||
return dAtA[:n], nil
|
||||
}
|
||||
|
||||
func (m *MsgSpawnResponse) MarshalTo(dAtA []byte) (int, error) {
|
||||
func (m *MsgInitializeResponse) MarshalTo(dAtA []byte) (int, error) {
|
||||
size := m.Size()
|
||||
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||
}
|
||||
|
||||
func (m *MsgSpawnResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
func (m *MsgInitializeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i := len(dAtA)
|
||||
_ = i
|
||||
var l int
|
||||
@@ -551,7 +551,7 @@ func (m *MsgUpdateParamsResponse) Size() (n int) {
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *MsgSpawn) Size() (n int) {
|
||||
func (m *MsgInitialize) Size() (n int) {
|
||||
if m == nil {
|
||||
return 0
|
||||
}
|
||||
@@ -566,7 +566,7 @@ func (m *MsgSpawn) Size() (n int) {
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *MsgSpawnResponse) Size() (n int) {
|
||||
func (m *MsgInitializeResponse) Size() (n int) {
|
||||
if m == nil {
|
||||
return 0
|
||||
}
|
||||
@@ -746,7 +746,7 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *MsgSpawn) Unmarshal(dAtA []byte) error {
|
||||
func (m *MsgInitialize) Unmarshal(dAtA []byte) error {
|
||||
l := len(dAtA)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@@ -769,10 +769,10 @@ func (m *MsgSpawn) Unmarshal(dAtA []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: MsgSpawn: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: MsgInitialize: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: MsgSpawn: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: MsgInitialize: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
@@ -861,7 +861,7 @@ func (m *MsgSpawn) Unmarshal(dAtA []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *MsgSpawnResponse) Unmarshal(dAtA []byte) error {
|
||||
func (m *MsgInitializeResponse) Unmarshal(dAtA []byte) error {
|
||||
l := len(dAtA)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@@ -884,10 +884,10 @@ func (m *MsgSpawnResponse) Unmarshal(dAtA []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: MsgSpawnResponse: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: MsgInitializeResponse: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: MsgSpawnResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: MsgInitializeResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user