11use neon:: prelude:: * ;
22use neon:: types:: JsBuffer ;
3- use rand;
43use recrypt:: api:: Hashable ;
54use recrypt:: api:: {
6- Api , CryptoOps , Ed25519 , Ed25519Ops , KeyGenOps , PublicSigningKey , RandomBytes , SchnorrOps ,
7- Sha256 , SigningKeypair ,
5+ CryptoOps , DefaultRng , Ed25519 , Ed25519Ops , KeyGenOps , PublicSigningKey , RandomBytes , Recrypt ,
6+ SchnorrOps , Sha256 , SigningKeypair ,
87} ;
98use util;
109
1110pub struct RecryptApi256 {
12- api : Api < Sha256 , Ed25519 , RandomBytes < rand :: rngs :: ThreadRng > > ,
11+ api : Recrypt < Sha256 , Ed25519 , RandomBytes < DefaultRng > > ,
1312}
1413
1514declare_types ! {
1615 pub class Api256 for RecryptApi256 {
1716 init( _cx) {
18- Ok ( RecryptApi256 { api: Api :: new( ) } )
17+ Ok ( RecryptApi256 { api: Recrypt :: new( ) } )
1918 }
2019
2120 method generateKeyPair( mut cx) {
2221 let ( priv_key, pub_key) = {
2322 let mut this = cx. this( ) ;
2423 let guard = cx. lock( ) ;
25- let mut recrypt_api_256 = this. borrow_mut( & guard) ;
24+ let recrypt_api_256 = this. borrow_mut( & guard) ;
2625 recrypt_api_256. api. generate_key_pair( ) . unwrap( )
2726 } ;
2827
@@ -41,12 +40,12 @@ declare_types! {
4140 let signing_key_pair = {
4241 let mut this = cx. this( ) ;
4342 let guard = cx. lock( ) ;
44- let mut recrypt_api_256 = this. borrow_mut( & guard) ;
43+ let recrypt_api_256 = this. borrow_mut( & guard) ;
4544 recrypt_api_256. api. generate_ed25519_key_pair( )
4645 } ;
4746
4847 let signing_key_pair_obj: Handle <JsObject > = cx. empty_object( ) ;
49- let priv_key_buffer = util:: bytes_to_buffer( & mut cx, & signing_key_pair. bytes( ) ) ?;
48+ let priv_key_buffer = util:: bytes_to_buffer( & mut cx, signing_key_pair. bytes( ) ) ?;
5049 let pub_key_buffer = util:: bytes_to_buffer( & mut cx, signing_key_pair. public_key( ) . bytes( ) ) ?;
5150
5251 signing_key_pair_obj. set( & mut cx, "privateKey" , priv_key_buffer) ?;
@@ -94,7 +93,7 @@ declare_types! {
9493 let plaintext = {
9594 let mut this = cx. this( ) ;
9695 let guard = cx. lock( ) ;
97- let mut recrypt_api_256 = this. borrow_mut( & guard) ;
96+ let recrypt_api_256 = this. borrow_mut( & guard) ;
9897 recrypt_api_256. api. gen_plaintext( )
9998 } ;
10099
@@ -113,10 +112,10 @@ declare_types! {
113112 let transform_key = {
114113 let mut this = cx. this( ) ;
115114 let guard = cx. lock( ) ;
116- let mut recrypt_api_256 = this. borrow_mut( & guard) ;
115+ let recrypt_api_256 = this. borrow_mut( & guard) ;
117116 recrypt_api_256. api. generate_transform_key(
118117 & util:: buffer_to_private_key( & cx, from_private_key_buffer) ,
119- to_public_key,
118+ & to_public_key,
120119 & signing_key_pair
121120 ) . unwrap( )
122121 } ;
@@ -136,26 +135,13 @@ declare_types! {
136135 Ok ( util:: public_key_to_js_object( & mut cx, & derived_public_key) ?. upcast( ) )
137136 }
138137
139- method hash256( mut cx) {
140- let hashable_buffer: Handle <JsBuffer > = cx. argument:: <JsBuffer >( 0 ) ?;
141-
142- let hashed_bytes = {
143- let mut this = cx. this( ) ;
144- let guard = cx. lock( ) ;
145- let mut recrypt_api_256 = this. borrow_mut( & guard) ;
146- recrypt_api_256. api. hash_256( & util:: buffer_to_variable_bytes( & cx, hashable_buffer) )
147- } ;
148-
149- Ok ( util:: bytes_to_buffer( & mut cx, & hashed_bytes) ?. upcast( ) )
150- }
151-
152138 method deriveSymmetricKey( mut cx) {
153139 let plaintext_buffer: Handle <JsBuffer > = cx. argument:: <JsBuffer >( 0 ) ?;
154140
155141 let decrypted_symmetric_key = {
156142 let mut this = cx. this( ) ;
157143 let guard = cx. lock( ) ;
158- let mut recrypt_api_256 = this. borrow_mut( & guard) ;
144+ let recrypt_api_256 = this. borrow_mut( & guard) ;
159145 recrypt_api_256. api. derive_symmetric_key( & util:: buffer_to_plaintext( & cx, plaintext_buffer) )
160146 } ;
161147
@@ -173,10 +159,10 @@ declare_types! {
173159 let encrypted_value = {
174160 let mut this = cx. this( ) ;
175161 let guard = cx. lock( ) ;
176- let mut recrypt_api_256 = this. borrow_mut( & guard) ;
162+ let recrypt_api_256 = this. borrow_mut( & guard) ;
177163 recrypt_api_256. api. encrypt(
178164 & util:: buffer_to_plaintext( & cx, plaintext_buffer) ,
179- public_key,
165+ & public_key,
180166 & signing_key_pair
181167 ) . unwrap( )
182168 } ;
@@ -196,7 +182,7 @@ declare_types! {
196182 let transformed_encrypted_value = {
197183 let mut this = cx. this( ) ;
198184 let guard = cx. lock( ) ;
199- let mut recrypt_api_256 = this. borrow_mut( & guard) ;
185+ let recrypt_api_256 = this. borrow_mut( & guard) ;
200186 recrypt_api_256. api. transform( encrypted_value, transform_key, & signing_key_pair) . unwrap( )
201187 } ;
202188
@@ -232,10 +218,10 @@ declare_types! {
232218 let signature = {
233219 let mut this = cx. this( ) ;
234220 let guard = cx. lock( ) ;
235- let mut recrypt_api_256 = this. borrow_mut( & guard) ;
221+ let recrypt_api_256 = this. borrow_mut( & guard) ;
236222 recrypt_api_256. api. schnorr_sign(
237223 & util:: buffer_to_private_key( & cx, private_key_buffer) ,
238- public_key,
224+ & public_key,
239225 & util:: buffer_to_variable_bytes( & cx, message_buffer)
240226 )
241227 } ;
@@ -269,9 +255,9 @@ declare_types! {
269255 let verified = {
270256 let mut this = cx. this( ) ;
271257 let guard = cx. lock( ) ;
272- let mut recrypt_api_256 = this. borrow_mut( & guard) ;
258+ let recrypt_api_256 = this. borrow_mut( & guard) ;
273259 recrypt_api_256. api. schnorr_verify(
274- public_key,
260+ & public_key,
275261 augmented_private_key. as_ref( ) ,
276262 & util:: buffer_to_variable_bytes( & cx, message_buffer) ,
277263 signature
0 commit comments