2024-09-25 19:45:28 -04:00
|
|
|
package keeper
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
|
|
|
|
"github.com/onsonr/sonr/x/vault/types"
|
|
|
|
)
|
|
|
|
|
|
|
|
var _ types.QueryServer = Querier{}
|
|
|
|
|
|
|
|
type Querier struct {
|
|
|
|
Keeper
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewQuerier(keeper Keeper) Querier {
|
|
|
|
return Querier{Keeper: keeper}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (k Querier) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) {
|
|
|
|
ctx := sdk.UnwrapSDKContext(c)
|
|
|
|
|
|
|
|
p, err := k.Keeper.Params.Get(ctx)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
return &types.QueryParamsResponse{Params: &p}, nil
|
|
|
|
}
|
|
|
|
|
2024-10-07 21:22:56 -04:00
|
|
|
// Schema implements types.QueryServer.
|
|
|
|
func (k Querier) Schema(goCtx context.Context, req *types.QuerySchemaRequest) (*types.QuerySchemaResponse, error) {
|
|
|
|
ctx := sdk.UnwrapSDKContext(goCtx)
|
|
|
|
|
|
|
|
p, err := k.Keeper.Params.Get(ctx)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return &types.QuerySchemaResponse{
|
|
|
|
Schema: p.Schema,
|
|
|
|
}, nil
|
|
|
|
}
|
2024-10-15 14:31:19 -04:00
|
|
|
|
|
|
|
// SyncInitial implements types.QueryServer.
|
|
|
|
func (k Querier) SyncInitial(goCtx context.Context, req *types.SyncInitialRequest) (*types.SyncInitialResponse, error) {
|
|
|
|
ctx := sdk.UnwrapSDKContext(goCtx)
|
|
|
|
p, err := k.Keeper.Params.Get(ctx)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
c, _ := k.DIDKeeper.ResolveController(ctx, req.Did)
|
|
|
|
if c == nil {
|
|
|
|
return &types.SyncInitialResponse{
|
|
|
|
Success: false,
|
|
|
|
Schema: p.Schema,
|
|
|
|
ChainID: ctx.ChainID(),
|
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
return &types.SyncInitialResponse{
|
|
|
|
Success: true,
|
|
|
|
Schema: p.Schema,
|
|
|
|
ChainID: ctx.ChainID(),
|
|
|
|
Address: c.SonrAddress(),
|
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// SyncCurrent implements types.QueryServer.
|
|
|
|
func (k Querier) SyncCurrent(goCtx context.Context, req *types.SyncCurrentRequest) (*types.SyncCurrentResponse, error) {
|
|
|
|
// ctx := sdk.UnwrapSDKContext(goCtx)
|
|
|
|
return &types.SyncCurrentResponse{}, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// Allocate implements types.QueryServer.
|
|
|
|
func (k Querier) Allocate(goCtx context.Context, req *types.AllocateRequest) (*types.AllocateResponse, error) {
|
|
|
|
ctx := sdk.UnwrapSDKContext(goCtx)
|
|
|
|
|
|
|
|
// 2.Allocate the vault msg.GetSubject(), msg.GetOrigin()
|
|
|
|
cid, expiryBlock, err := k.AssembleVault(ctx)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
return &types.AllocateResponse{
|
|
|
|
Success: true,
|
|
|
|
Cid: cid,
|
|
|
|
ExpiryBlock: expiryBlock,
|
|
|
|
}, nil
|
|
|
|
}
|