Skip to content

Commit

Permalink
pacify linter
Browse files Browse the repository at this point in the history
ukstv committed Nov 24, 2023
1 parent 259f9cf commit 329437b
Showing 2 changed files with 13 additions and 4 deletions.
8 changes: 8 additions & 0 deletions packages/varsig/src/__tests__/eip712-secp256k1.test.ts
Original file line number Diff line number Diff line change
@@ -78,16 +78,24 @@ describe('eip712-secp256k1.car', () => {
if (!entry.original) continue
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument
const originalExpected = car.get(entry.original)
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-member-access
const node = car.get(entry.node)
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const originalKlone = klona(originalExpected)
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-member-access
if (Object.keys(originalKlone.signature).includes('r')) {
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
const r = uint8arrays.fromString(originalKlone.signature.r.replace(/^0x/, ''), 'hex')
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
const s = uint8arrays.fromString(originalKlone.signature.s.replace(/^0x/, ''), 'hex')
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
originalKlone.signature =
'0x' +
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
uint8arrays.toString(uint8arrays.concat([r, s, [originalKlone.signature.v]]), 'hex')
}

// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-argument
const originalRecovered = await toOriginal(node)
expect(originalRecovered).toEqual(originalKlone)
}
9 changes: 5 additions & 4 deletions packages/varsig/src/canons/jws.ts
Original file line number Diff line number Diff line change
@@ -25,7 +25,6 @@ const HASH_BY_KEY_TYPE: Record<number, number> = {
const toB64u = (bytes: Uint8Array) => uint8arrays.toString(bytes, 'base64url')
const fromB64u = (b64u: string) => uint8arrays.fromString(b64u, 'base64url')


const SIGIL = MAGIC.JOSE // jose

export const JWS = { SIGIL, prepareCanonicalization, fromOriginal }
@@ -40,8 +39,10 @@ export function prepareCanonicalization(
const protected1 = JSON.parse(uint8arrays.toString(protectedBytes))

const keyTypeFromProtected = findKeyType(protected1)
if (keyType !== keyTypeFromProtected) throw new Error(`Key type missmatch: ${keyType}, ${keyTypeFromProtected}`)
if (hashType !== HASH_BY_KEY_TYPE[keyType]) throw new Error(`Hash type missmatch: ${hashType}, ${HASH_BY_KEY_TYPE[keyType]}`)
if (keyType !== keyTypeFromProtected)
throw new Error(`Key type missmatch: ${keyType}, ${keyTypeFromProtected}`)
if (hashType !== HASH_BY_KEY_TYPE[keyType])
throw new Error(`Hash type missmatch: ${hashType}, ${HASH_BY_KEY_TYPE[keyType]}`)

const can = (node: IpldNode) => {
// encode node using dag-json from multiformats
@@ -61,7 +62,7 @@ export function prepareCanonicalization(

export function fromOriginal(jws: string): IpldNodeSigned {
const [protectedB64u, payloadB64u, signatureB64u] = jws.split('.')
const node = decode(fromB64u(payloadB64u)) as IpldNode
const node = decode(fromB64u(payloadB64u))
const protectedBytes = fromB64u(protectedB64u)
const protected1 = JSON.parse(uint8arrays.toString(protectedBytes))
const protectedLength = varintes.encode(protectedBytes.length)[0]

0 comments on commit 329437b

Please sign in to comment.