diff --git a/features/keychain/module/__tests__/ethsign.test.js b/features/keychain/module/__tests__/ethsign.test.js index cf2b3672..a4420fae 100644 --- a/features/keychain/module/__tests__/ethsign.test.js +++ b/features/keychain/module/__tests__/ethsign.test.js @@ -55,7 +55,7 @@ describe('ETH Signer', () => { const sig = await secp256k1Signer.signBuffer({ data: buffer, ecOptions: { canonical: true }, - rawSignature: true, + enc: 'raw', }) const signature = new Uint8Array(64) signature.set(sig.r.toArrayLike(Uint8Array, 'be', 32), 0) diff --git a/features/keychain/module/crypto/secp256k1.js b/features/keychain/module/crypto/secp256k1.js index 2598e4c4..82971872 100644 --- a/features/keychain/module/crypto/secp256k1.js +++ b/features/keychain/module/crypto/secp256k1.js @@ -1,3 +1,4 @@ +import assert from 'minimalistic-assert' import elliptic from '@exodus/elliptic' import { mapValues } from '@exodus/basic-utils' @@ -6,10 +7,11 @@ export const create = ({ getPrivateHDKey }) => { const curve = new EC('secp256k1') const createInstance = () => ({ - signBuffer: async ({ seedId, keyId, data, ecOptions, rawSignature }) => { + signBuffer: async ({ seedId, keyId, data, ecOptions, enc = 'der' }) => { + assert(['der', 'raw'].includes(enc), 'signBuffer: invalid enc') const { privateKey } = getPrivateHDKey({ seedId, keyId }) const signature = curve.sign(data, privateKey, ecOptions) - return rawSignature ? { ...signature } : Buffer.from(signature.toDER()) + return enc === 'der' ? Buffer.from(signature.toDER()) : { ...signature } }, })