@@ -18,10 +18,10 @@ use crate::{
18
18
Plaintext ,
19
19
from_js_typed_array,
20
20
to_bits_array_le,
21
- types:: native:: { FieldNative , LiteralNative , PlaintextNative } ,
21
+ types:: native:: { CurrentNetwork , FieldNative , LiteralNative , PlaintextNative } ,
22
22
} ;
23
- use snarkvm_console:: prelude:: { Double , FromBits , FromBytes , One , Pow , ToBits , ToBytes , Zero } ;
24
- use snarkvm_wasm:: utilities:: Uniform ;
23
+ use snarkvm_console:: prelude:: { Double , Environment , FromBits , FromBytes , One , Pow , ToBits , ToBytes , Zero } ;
24
+ use snarkvm_wasm:: { fields :: PrimeField , utilities:: Uniform } ;
25
25
26
26
use js_sys:: { Array , Uint8Array } ;
27
27
use std:: { ops:: Deref , str:: FromStr , sync:: OnceLock } ;
@@ -115,6 +115,14 @@ impl Field {
115
115
Field ( self . 0 / other. 0 )
116
116
}
117
117
118
+ /// Initializes a new field as a domain separator.
119
+ #[ wasm_bindgen( js_name = "newDomainSeparator" ) ]
120
+ pub fn new_domain_separator ( & self , domain : & str ) -> Field {
121
+ let domain_native =
122
+ FieldNative :: new ( <CurrentNetwork as Environment >:: Field :: from_bytes_le_mod_order ( domain. as_bytes ( ) ) ) ;
123
+ Field :: from ( domain_native)
124
+ }
125
+
118
126
/// Power of a field element.
119
127
pub fn pow ( & self , other : & Field ) -> Field {
120
128
Field ( self . 0 . pow ( other. 0 ) )
0 commit comments