diff --git a/x/did/types/controller.go b/x/did/types/controller.go index bffd7a0b9..cef7aaddd 100644 --- a/x/did/types/controller.go +++ b/x/did/types/controller.go @@ -5,7 +5,6 @@ import ( "github.com/onsonr/crypto/mpc" - cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" didv1 "github.com/onsonr/sonr/api/did/v1" ) @@ -16,8 +15,8 @@ type ControllerI interface { SonrAddress() string EthAddress() string BtcAddress() string - // RawPublicKey() []byte - StdPublicKey() cryptotypes.PubKey + RawPublicKey() []byte + // StdPublicKey() cryptotypes.PubKey GetTableEntry() (*didv1.Controller, error) ExportUserKs() (string, error) } @@ -123,7 +122,6 @@ func (c *controller) RawPublicKey() []byte { return c.publicKey } -// // func (c *controller) StdPublicKey() cryptotypes.PubKey { // return c.stdPubKey // } diff --git a/x/macaroon/keeper/issuer.go b/x/macaroon/keeper/issuer.go index 166fd46f1..ab8d5136e 100644 --- a/x/macaroon/keeper/issuer.go +++ b/x/macaroon/keeper/issuer.go @@ -15,7 +15,7 @@ var fourYears = time.Hour * 24 * 365 * 4 // IssueAdminMacaroon creates a macaroon with the specified parameters. func (k Keeper) IssueAdminMacaroon(sdkctx sdk.Context, controller didtypes.ControllerI) (*macaroon.Macaroon, error) { // Derive the root key by hashing the shared MPC public key - rootKey := sha256.Sum256([]byte(controller.PublicKey())) + rootKey := sha256.Sum256([]byte(controller.RawPublicKey())) // Create the macaroon m, err := macaroon.New(rootKey[:], []byte(controller.SonrAddress()), controller.ChainID(), macaroon.LatestVersion) if err != nil { diff --git a/x/vault/keeper/assembly.go b/x/vault/keeper/assembly.go index 1de08ebb0..a1866bdba 100644 --- a/x/vault/keeper/assembly.go +++ b/x/vault/keeper/assembly.go @@ -10,7 +10,7 @@ import ( ) // assembleVault assembles the initial vault -func (k Keeper) assembleVault(cotx sdk.Context) (string, int64, error) { +func (k Keeper) assembleVault(cotx sdk.Context, schema *dwngen.Schema) (string, int64, error) { _, con, err := k.DIDKeeper.NewController(cotx) if err != nil { return "", 0, err @@ -19,11 +19,7 @@ func (k Keeper) assembleVault(cotx sdk.Context) (string, int64, error) { if err != nil { return "", 0, err } - sch, err := k.currentSchema(cotx) - if err != nil { - return "", 0, err - } - v, err := types.NewVault(usrKs, con.SonrAddress(), con.ChainID(), sch) + v, err := types.NewVault(usrKs, con.SonrAddress(), con.ChainID(), schema) if err != nil { return "", 0, err } diff --git a/x/vault/keeper/querier.go b/x/vault/keeper/querier.go index b4a7ae793..f3b6729ef 100644 --- a/x/vault/keeper/querier.go +++ b/x/vault/keeper/querier.go @@ -53,10 +53,16 @@ func (k Querier) Schema(goCtx context.Context, req *types.QuerySchemaRequest) (* 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) + // 1. Get current schema + sch, err := k.currentSchema(ctx) if err != nil { - return nil, err + return nil, types.ErrInvalidSchema.Wrap(err.Error()) + } + + // 2.Allocate the vault msg.GetSubject(), msg.GetOrigin() + cid, expiryBlock, err := k.assembleVault(ctx, sch) + if err != nil { + return nil, types.ErrVaultAssembly.Wrap(err.Error()) } return &types.AllocateResponse{ diff --git a/x/vault/types/errors.go b/x/vault/types/errors.go index 392f98bfa..7846490c0 100644 --- a/x/vault/types/errors.go +++ b/x/vault/types/errors.go @@ -4,7 +4,9 @@ import sdkerrors "cosmossdk.io/errors" var ( ErrInvalidGenesisState = sdkerrors.Register(ModuleName, 100, "invalid genesis state") - ErrUnsupportedKeyEncoding = sdkerrors.Register(ModuleName, 200, "unsupported key encoding") - ErrUnsopportedChainCode = sdkerrors.Register(ModuleName, 201, "unsupported chain code") - ErrUnsupportedKeyCurve = sdkerrors.Register(ModuleName, 202, "unsupported key curve") + ErrInvalidSchema = sdkerrors.Register(ModuleName, 200, "invalid schema") + ErrVaultAssembly = sdkerrors.Register(ModuleName, 201, "vault assembly") + ErrUnsupportedKeyEncoding = sdkerrors.Register(ModuleName, 300, "unsupported key encoding") + ErrUnsopportedChainCode = sdkerrors.Register(ModuleName, 301, "unsupported chain code") + ErrUnsupportedKeyCurve = sdkerrors.Register(ModuleName, 302, "unsupported key curve") )