Skip to content

Commit df3dc0e

Browse files
authored
Remove empty transformBlocks array from TransformKeys. Change name of transformKeyToBytes to transformKeyToBytes256 (#14)
1 parent c1dd538 commit df3dc0e

File tree

8 files changed

+35
-17
lines changed

8 files changed

+35
-17
lines changed

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
## 0.4.0
2+
3+
### Breaking Changes
4+
5+
+ Renamed the `transformKeyToBytes` method to `transformKeyToBytes256` to specify that it only works with 256 bit TransformKeys.
6+
+ Removed incorrect empty array from TransformKey objects.
7+
8+
### Added
9+
10+
None
11+
12+
### Changed
13+
14+
+ Added `engines`, `os`, and `cpu` keys to `package.json` to specify which Node version and architectures this library will work on.
15+
116
## 0.3.0
217

318
### Breaking Changes

index.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ export interface TransformKey {
4040
}
4141

4242
export function augmentPublicKey256(publicKey: PublicKey, otherPublicKey: PublicKey): PublicKey;
43-
export function augmentTransformKey(transformKey: TransformKey, privateKey: PrivateKey): TransformKey;
44-
export function transformKeyToBytes(transformKey: TransformKey): Buffer;
43+
export function augmentTransformKey256(transformKey: TransformKey, privateKey: PrivateKey): TransformKey;
44+
export function transformKeyToBytes256(transformKey: TransformKey): Buffer;
4545
export class Api256 {
4646
constructor();
4747
generateKeyPair(): KeyPair;

native/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "recrypt-node-binding"
3-
version = "0.3.0"
3+
version = "0.4.0"
44
authors = ["IronCore Labs <code@ironcorelabs.com>"]
55

66
[lib]

native/src/api256.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ pub fn augment_public_key_256(mut cx: FunctionContext) -> JsResult<JsObject> {
306306
/// Hash the provided transform key into a buffer of bytes. The various transform key object fields are concatenated
307307
/// in a specific order in order for transform keys to be signed over.
308308
///
309-
pub fn transform_key_to_bytes(mut cx: FunctionContext) -> JsResult<JsBuffer> {
309+
pub fn transform_key_to_bytes_256(mut cx: FunctionContext) -> JsResult<JsBuffer> {
310310
let transform_key_obj: Handle<JsObject> = cx.argument::<JsObject>(0)?;
311311
let transform_key = util::js_object_to_transform_key(&mut cx, transform_key_obj);
312312

native/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ mod util;
99
register_module!(mut cx, {
1010
cx.export_function("augmentTransformKey256", api256::augment_transform_key_256)?;
1111
cx.export_function("augmentPublicKey256", api256::augment_public_key_256)?;
12-
cx.export_function("transformKeyToBytes", api256::transform_key_to_bytes)?;
12+
cx.export_function("transformKeyToBytes256", api256::transform_key_to_bytes_256)?;
1313
cx.export_class::<api256::Api256>("Api256")
1414
});

native/src/util.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,6 @@ pub fn transform_key_to_js_object<'a, T: Context<'a>>(
200200
transform_key_obj.set(cx, "encryptedTempKey", encrypted_temp_key_buffer)?;
201201
transform_key_obj.set(cx, "hashedTempKey", hashed_temp_key_buffer)?;
202202
transform_key_obj.set(cx, "publicSigningKey", public_signing_key_buffer)?;
203-
//Leaving this empty for now until we need to support multi-level transform blocks
204-
let empty_transform_blocks = cx.empty_array();
205-
transform_key_obj.set(cx, "transformBlocks", empty_transform_blocks)?;
206203
transform_key_obj.set(cx, "signature", signature_buffer)?;
207204
Ok(transform_key_obj)
208205
}

package.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ironcorelabs/recrypt-node-binding",
3-
"version": "0.3.0",
3+
"version": "0.4.0",
44
"description": "Bindings to allow the recrypt-rs library to work via NodeJS.",
55
"repository": {
66
"type": "git",
@@ -11,6 +11,16 @@
1111
"license": "AGPL-3.0-only",
1212
"main": "bin-package/index.node",
1313
"types": "index.d.ts",
14+
"engines": {
15+
"node": ">=8.0.0"
16+
},
17+
"os": [
18+
"darwin",
19+
"linux"
20+
],
21+
"cpu": [
22+
"x64"
23+
],
1424
"scripts": {
1525
"compile": "neon build -r",
1626
"clean": "neon clean",

test/recrypt-node.test.js

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ describe("Recrypt-Node", () => {
9292

9393
const transformKey = api.generateTransformKey(fromPrivateKey, toPublicKey, privateSigningKey);
9494
expect(transformKey).toBeObject();
95-
expect(Object.keys(transformKey)).toHaveLength(7);
95+
expect(Object.keys(transformKey)).toHaveLength(6);
9696

9797
expect(transformKey.toPublicKey).toEqual(toPublicKey);
9898
expect(transformKey.publicSigningKey).toEqual(publicSigningKey);
@@ -112,8 +112,6 @@ describe("Recrypt-Node", () => {
112112

113113
expect(transformKey.signature).toBeInstanceOf(Buffer);
114114
expect(transformKey.signature).toHaveLength(64);
115-
116-
expect(transformKey.transformBlocks).toBeArrayOfSize(0);
117115
});
118116
});
119117

@@ -413,7 +411,7 @@ describe("Recrypt-Node", () => {
413411
const augTransformKey = recrypt.augmentTransformKey256(transformKey, augPrivateKey);
414412

415413
expect(augTransformKey).toBeObject();
416-
expect(Object.keys(augTransformKey)).toHaveLength(7);
414+
expect(Object.keys(augTransformKey)).toHaveLength(6);
417415

418416
expect(augTransformKey.toPublicKey).toEqual(toPublicKey);
419417
expect(augTransformKey.publicSigningKey).toEqual(publicSigningKey);
@@ -433,8 +431,6 @@ describe("Recrypt-Node", () => {
433431

434432
expect(augTransformKey.signature).toBeInstanceOf(Buffer);
435433
expect(augTransformKey.signature).toHaveLength(64);
436-
437-
expect(augTransformKey.transformBlocks).toBeArrayOfSize(0);
438434
});
439435
});
440436

@@ -457,15 +453,15 @@ describe("Recrypt-Node", () => {
457453
});
458454
});
459455

460-
describe("transformKeyToBytes", () => {
456+
describe("transformKeyToBytes256", () => {
461457
it("returns expected number of bytes", () => {
462458
const api = new recrypt.Api256();
463459
const fromPrivateKey = api.generateKeyPair().privateKey;
464460
const toPublicKey = api.generateKeyPair().publicKey;
465461

466462
const transformKey = api.generateTransformKey(fromPrivateKey, toPublicKey, privateSigningKey);
467463

468-
const transformKeyBytes = recrypt.transformKeyToBytes(transformKey);
464+
const transformKeyBytes = recrypt.transformKeyToBytes256(transformKey);
469465
expect(transformKeyBytes).toBeInstanceOf(Buffer);
470466
expect(transformKeyBytes).toHaveLength(672);
471467
});

0 commit comments

Comments
 (0)