Skip to content

Commit

Permalink
fix: Removing EcdsaSignature type
Browse files Browse the repository at this point in the history
  • Loading branch information
simonas-notcat authored and mirceanis committed Sep 7, 2020
1 parent 49f717e commit 3e3a684
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { IKey, EcdsaSignature, TKeyType } from '../types'
import { IKey, TKeyType } from '../types'

export abstract class AbstractKeyManagementSystem {
abstract createKey(args: { type: TKeyType; meta?: any }): Promise<Omit<IKey, 'kms'>>
abstract deleteKey(args: { kid: string }): Promise<boolean>
abstract encryptJWE(args: { key: IKey; to: Omit<IKey, 'kms'>; data: string }): Promise<string>
abstract decryptJWE(args: { key: IKey; data: string }): Promise<string>
abstract signJWT(args: { key: IKey; data: string }): Promise<EcdsaSignature | string>
abstract signJWT(args: { key: IKey; data: string }): Promise<string>
abstract signEthTX(args: { key: IKey; transaction: object }): Promise<string>
}
6 changes: 3 additions & 3 deletions packages/daf-core/src/key-manager.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { AbstractKeyStore } from './abstract/abstract-key-store'
import { AbstractKeyManagementSystem } from './abstract/abstract-key-management-system'
import { IKey, TKeyType, EcdsaSignature, IAgentPlugin, IPluginMethodMap } from './types'
import { IKey, TKeyType, IAgentPlugin, IPluginMethodMap } from './types'

export interface IKeyManagerCreateKeyArgs {
type: TKeyType
Expand Down Expand Up @@ -38,7 +38,7 @@ export interface IKeyManager extends IPluginMethodMap {
keyManagerImportKey(args: IKey): Promise<boolean>
keyManagerEncryptJWE(args: IKeyManagerEncryptJWEArgs): Promise<string>
keyManagerDecryptJWE(args: IKeyManagerDecryptJWEArgs): Promise<string>
keyManagerSignJWT(args: IKeyManagerSignJWTArgs): Promise<EcdsaSignature | string>
keyManagerSignJWT(args: IKeyManagerSignJWTArgs): Promise<string>
keyManagerSignEthTX(args: IKeyManagerSignEthTXArgs): Promise<string>
}
export class KeyManager implements IAgentPlugin {
Expand Down Expand Up @@ -105,7 +105,7 @@ export class KeyManager implements IAgentPlugin {
return kms.decryptJWE({ key, data })
}

async keyManagerSignJWT({ kid, data }: IKeyManagerSignJWTArgs): Promise<EcdsaSignature | string> {
async keyManagerSignJWT({ kid, data }: IKeyManagerSignJWTArgs): Promise<string> {
const key = await this.store.get({ kid })
const kms = this.getKms(key.kms)
return kms.signJWT({ key, data })
Expand Down
7 changes: 0 additions & 7 deletions packages/daf-core/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,6 @@ export interface IIdentity {
services: IService[]
}

// Todo make it a String
export interface EcdsaSignature {
r: string
s: string
recoveryParam?: number
}

export interface IMetaData {
type: string
value?: string
Expand Down
6 changes: 3 additions & 3 deletions packages/daf-libsodium/src/key-management-system.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { AbstractKeyManagementSystem, TKeyType, IKey, EcdsaSignature } from 'daf-core'
import { AbstractKeyManagementSystem, TKeyType, IKey } from 'daf-core'
import sodium from 'libsodium-wrappers'
import { SimpleSigner } from 'did-jwt'
const EC = require('elliptic').ec
Expand Down Expand Up @@ -71,9 +71,9 @@ export class KeyManagementSystem extends AbstractKeyManagementSystem {
return sign(transaction, '0x' + key.privateKeyHex)
}

async signJWT({ key, data }: { key: IKey; data: string }): Promise<EcdsaSignature | string> {
async signJWT({ key, data }: { key: IKey; data: string }): Promise<string> {
if (!key.privateKeyHex) throw Error('No private key for kid: ' + key.kid)
const signer = SimpleSigner(key.privateKeyHex)
return signer(data)
return signer(data) as any as string
}
}
13 changes: 8 additions & 5 deletions scripts/generate-schemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,8 @@ function createSchema(generator: TJS.JsonSchemaGenerator, symbol: string) {
return { components: { schemas: {} } }
}

//hack
let fixedSymbol = symbol === 'EcdsaSignature | string' ? 'EcdsaSignature' : symbol
// TODO fix 'EcdsaSignature | string' in openApi responses
fixedSymbol = fixedSymbol.replace('Array<', '').replace('>', '')

let fixedSymbol = symbol.replace('Array<', '').replace('>', '')

const schema = generator.getSchemaForSymbol(fixedSymbol)

Expand Down Expand Up @@ -104,7 +102,12 @@ function getResponseSchema(response: string): OpenAPIV3.ReferenceObject | OpenAP

for (const packageName of Object.keys(agentPlugins)) {
const program = TJS.getProgramFromFiles([resolve('packages/' + packageName + '/src/index.ts')])
const generator = TJS.buildGenerator(program, { required: true, topRef: true, excludePrivate: false })
const generator = TJS.buildGenerator(program, {
required: true,
topRef: true,
excludePrivate: false,
})


const apiModel: ApiModel = new ApiModel()
const apiPackage = apiModel.loadPackage(
Expand Down

0 comments on commit 3e3a684

Please sign in to comment.