mol_crypto2_lib 0.0.121 → 0.0.123

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/web.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["-","../../../../mam.ts","../../../../mol/base64/encode/encode.ts","../../../../mol/dom/context/context.ts","../../../../mol/dom/context/context.web.ts","../../../../mol/dom/dom.ts","../../../../mol/base64/encode/encode.web.ts","../../../../mol/base64/decode/decode.ts","../../../../mol/base64/decode/decode.web.ts","../../../../mol/base64/ae/ae.ts","../../../../mol/func/name/name.ts","../../../../mol/fail/fail.ts","../../../../mol/buffer/buffer.ts","../../../../mol/base64/url/url.ts","../../../../mol/base64/url/url.web.ts","../../../../mol/ambient/ambient.ts","../../../../mol/delegate/delegate.ts","../../../../mol/owning/owning.ts","../../../../mol/fail/hidden/hidden.ts","../../../../mol/key/key.ts","../../../../mol/object2/object2.ts","../../../../mol/wrapper/wrapper.ts","../../../../mol/memo/memo.ts","../../../../mol/crypto2/key/key.ts","../../../../mol/crypto/native/native.web.ts","../../../../mol/crypto/restack/restack.ts","../../../../mol/crypto2/auditor/auditor.ts","../../../../mol/crypto2/signer/signer.ts","../../../../mol/crypto2/socket/socket.ts","../../../../mol/crypto2/nonce/nonce.ts","../../../../mol/crypto/salt/salt.ts","../../../../mol/crypto/sacred/sacred.ts","../../../../mol/crypto2/cipher/cipher.ts","../../../../mol/crypto2/public/public.ts","../../../../mol/crypto2/private/private.ts","../../../../mol/crypto2/padding/padding.ts"],"names":[],"mappings":"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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {\n\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\texport function $mol_base64_encode(src: Uint8Array< ArrayBuffer >): string {\n\t\treturn (src as unknown as { toBase64(): string }).toBase64()\n}\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom = $mol_dom_context\n\t\n}\n","namespace $ {\n\n\tfunction binary_string(bytes: Uint8Array< ArrayBuffer > | string): string {\n\t\tlet binary = ''\n\t\tif (typeof bytes !== 'string') {\n\t\t\tfor (const byte of bytes) binary += String.fromCharCode( byte )\n\t\t} else {\n\t\t\tbinary = unescape(encodeURIComponent(bytes))\n\t\t}\n\n\t\treturn binary\n\t}\n\n\texport function $mol_base64_encode_web(str: Uint8Array<ArrayBuffer>): string {\n\t\treturn $mol_dom_context.btoa(binary_string(str))\n\t}\n\n\tif ( ! ( 'toBase64' in Uint8Array.prototype ) ) {\n\t\t$.$mol_base64_encode = $mol_base64_encode_web\n\t}\n}\n","namespace $ {\n\texport function $mol_base64_decode(base64: string): Uint8Array< ArrayBuffer > {\n\t\treturn (Uint8Array as unknown as {\n\t\t\tfromBase64(str: string): Uint8Array<ArrayBuffer>\n\t\t}).fromBase64(base64)\n\t}\n}\n","namespace $ {\n\texport function $mol_base64_decode_web(base64Str: string): Uint8Array< ArrayBuffer > {\n\n\t\tconst buf = Uint8Array.from($mol_dom_context.atob(base64Str), c => c.charCodeAt(0))\n\n\t\treturn buf\n\t}\n\n\tif ( ! ( 'fromBase64' in Uint8Array ) ) {\n\t\t$.$mol_base64_decode = $mol_base64_decode_web\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_base64_ae_encode( buffer: Uint8Array< ArrayBuffer > ) {\n\t\treturn $mol_base64_encode( buffer ).replace( /\\+/g, 'æ' ).replace( /\\//g, 'Æ' ).replace(/=/g,'')\n\t}\n\t\n\texport function $mol_base64_ae_decode( str: string ) {\n\t\treturn $mol_base64_decode( str.replace( /æ/g, '+' ).replace( /Æ/g, '/' ) )\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\texport class $mol_buffer extends DataView< ArrayBuffer > {\n\t\t\n\t\t[ Symbol.toStringTag ] = this.constructor.name + '<>'\n\t\t\n\t\tstatic from<\n\t\t\tThis extends typeof $mol_buffer\n\t\t>(\n\t\t\tthis: This,\n\t\t\tarray: number | string | ArrayBufferView< ArrayBuffer > | ArrayBuffer,\n\t\t) {\n\t\t\tif( typeof array === 'number' ) array = new Uint8Array( array )\n\t\t\tif( typeof array === 'string' ) array = $mol_base64_ae_decode( array )\n\t\t\tif( !ArrayBuffer.isView( array ) ) array = new Uint8Array( array )\n\t\t\treturn new this( array.buffer, array.byteOffset, array.byteLength ) as InstanceType< This >\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tgetUint48( offset: number, LE = false ) {\n\t\t\tif( offset % 4 ) {\n\t\t\t\treturn this.getUint16( offset, LE ) + this.getUint32( offset + 2, LE ) * 2**16\n\t\t\t} else {\n\t\t\t\treturn this.getUint32( offset, LE ) + this.getUint16( offset + 4, LE ) * 2**32\n\t\t\t}\n\t\t}\n\t\t\n\t\tsetUint48( offset: number, value: number, LE = false ) {\n\t\t\tif( offset % 4 ) {\n\t\t\t\tthis.setUint16( offset, value & ( (1<<16) - 1 ), LE )\n\t\t\t\tthis.setUint32( offset + 2, ( value / 2**16 )|0, LE )\n\t\t\t} else {\n\t\t\t\tthis.setUint32( offset, value |0, LE )\n\t\t\t\tthis.setUint16( offset + 4, ( value / 2**32 )|0, LE )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** 1-byte signed integer channel for offset. */\n\t\tint8( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt8( offset )\n\t\t\tif( next >= -(2**7) && next < 2**7 ) return this.setInt8( offset, next ), next\n\t\t\t$mol_fail( new Error( `Wrong int8 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 1-byte unsigned integer channel for offset. */\n\t\tuint8( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint8( offset )\n\t\t\tif( next >= 0 && next < 2**8 ) return this.setUint8( offset, next ), next\n\t\t\t$mol_fail( new Error( `Wrong uint8 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 2-byte signed integer little-endian channel for offset. */\n\t\tint16( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt16( offset, true )\n\t\t\tif( next >= -(2**15) && next < 2**15 ) return this.setInt16( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int16 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 2-byte unsigned integer little-endian channel for offset. */\n\t\tuint16( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint16( offset, true )\n\t\t\tif( next >= 0 && next < 2**16 ) return this.setUint16( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint16 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 4-byte signed integer little-endian channel for offset. */\n\t\tint32( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt32( offset, true )\n\t\t\tif( next >= -(2**31) && next < 2**31 ) return this.setInt32( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int32 value ${ next }` ) )\n\t\t}\n\t\n\t\t/** 4-byte unsigned integer little-endian channel for offset. */\n\t\tuint32( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint32( offset, true )\n\t\t\tif( next >= 0 && next < 2**32 ) return this.setUint32( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint32 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 8-byte signed integer little-endian channel for offset. */\n\t\tint64( offset: number, next?: bigint ) {\n\t\t\tif( next === undefined ) return this.getBigInt64( offset, true )\n\t\t\tif( next >= -(2n**63n) && next < 2n**63n ) return this.setBigInt64( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int64 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 6-byte unsigned integer little-endian channel for offset. */\n\t\tuint48( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint48( offset, true )\n\t\t\tif( next >= 0 && next < 2**48 ) return this.setUint48( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint48 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 8-byte unsigned integer little-endian channel for offset. */\n\t\tuint64( offset: number, next?: bigint ) {\n\t\t\tif( next === undefined ) return this.getBigUint64( offset, true )\n\t\t\tif( next >= 0n && next < 2n**64n ) return this.setBigUint64( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint64 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 2-byte float little-endian channel for offset. */\n\t\tfloat16( offset: number, next?: number ) {\n\t\t\tif( next !== undefined ) this.setFloat16( offset, next, true )\n\t\t\treturn this.getFloat16( offset, true )\n\t\t}\n\t\t\n\t\t/** 4-byte float little-endian channel for offset. */\n\t\tfloat32( offset: number, next?: number ) {\n\t\t\tif( next !== undefined ) this.setFloat32( offset, next, true )\n\t\t\treturn this.getFloat32( offset, true )\n\t\t}\n\t\t\n\t\t/** 8-byte float little-endian channel for offset. */\n\t\tfloat64( offset: number, next?: number ) {\n\t\t\tif( next !== undefined ) this.setFloat64( offset, next, true )\n\t\t\treturn this.getFloat64( offset, true )\n\t\t}\n\t\t\n\t\tmix( mixin: Uint8Array< ArrayBuffer > ) {\n\t\t\tconst arr = this.asArray()\n\t\t\tfor( let i = 0; i < mixin.length; ++i ) arr[ i % arr.byteLength ] ^= mixin[ i ]\n\t\t\treturn this\n\t\t}\n\t\t\n\t\t/** A Uint8Array view for the same buffer. */\n\t\tasArray() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset, this.byteLength )\n\t\t}\n\t\t\n\t\t/** base64ae string from buffer. */\n\t\ttoString() {\n\t\t\treturn $mol_base64_ae_encode( this.asArray() )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_base64_url_encode( buffer: Uint8Array< ArrayBuffer > ) {\n\t\treturn (\n\t\t\tbuffer as unknown as { toBase64(options: {\n\t\t\t\talphabet?: 'base64url' | 'base64'\n\t\t\t\tomitPadding?: boolean\n\t\t\t}): string }\n\t\t).toBase64({ alphabet: 'base64url', omitPadding: true })\n\t}\n\t\n\texport function $mol_base64_url_decode( str: string ) {\n\t\treturn (\n\t\t\tUint8Array as unknown as { fromBase64(str: string, options: {\n\t\t\t\talphabet?: 'base64url' | 'base64'\n\t\t\t}): Uint8Array<ArrayBuffer> }\n\t\t).fromBase64(str, { alphabet: 'base64url' })\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_base64_url_encode_web( buffer: Uint8Array< ArrayBuffer > ) {\n\t\treturn $mol_base64_encode( buffer ).replace( /\\+/g, '-' ).replace( /\\//g, '_' ).replace( /=/g, '' )\n\t}\n\n\tif ( ! ( 'toBase64' in Uint8Array.prototype ) ) {\n\t\t$.$mol_base64_url_encode = $mol_base64_url_encode_web\n\t}\n\n\texport function $mol_base64_url_decode_web( str: string ) {\n\t\treturn $mol_base64_decode( str.replace( /-/g, '+' ).replace( /_/g, '/' ) )\n\t}\n\n\tif ( ! ( 'fromBase64' in Uint8Array ) ) {\n\t\t$.$mol_base64_url_decode = $mol_base64_url_decode_web\n\t}\n\t\n}\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\t\n\texport const $mol_key_handle = Symbol.for( '$mol_key_handle' )\n\texport const $mol_key_store = new WeakMap< object, string >()\n\t\n}\n","namespace $ {\n\t\n\tif( !Symbol.dispose ) ( Symbol as any ).dispose = Symbol( 'Symbol.dispose' )\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || (this.constructor as { $?: $ }).$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable<Instance> )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic [ $mol_key_handle ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t[ Symbol.dispose ] () {\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler<Class> = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr = Reflect.getOwnPropertyDescriptor( obj, name )!,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost extends object ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr = Reflect.getOwnPropertyDescriptor( obj, name )! as TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\tconst fun = function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ?? fun ) ) return store.get( this ?? fun )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this ?? fun , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t\tReflect.defineProperty( fun , 'name' , { value : task.name + ' ' } )\n\n\t\t\treturn fun\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t/** Base class for crypto keys. */\n\texport class $mol_crypto2_key extends $mol_buffer {\n\t\t\n\t\tstatic size_str = 43\n\t\tstatic size_bin = 32\n\t\t\n\t\t/** Kakes key from different params. */\n\t\tstatic from< This extends typeof $mol_buffer >(\n\t\t\tthis: This,\n\t\t\tserial: number | string | ArrayBufferView< ArrayBuffer > | ArrayBuffer,\n\t\t) {\n\t\t\t\n\t\t\tif( typeof serial === 'string' ) {\n\t\t\t\tserial = new Uint8Array(\n\t\t\t\t\tserial.match( /.{43}/g )\n\t\t\t\t\t\t?.flatMap( chunk => [ ... $mol_base64_url_decode( chunk ) ] )\n\t\t\t\t\t?? $mol_fail( new Error( 'Str key too short', { cause: {\n\t\t\t\t\t\tmin: 43,\n\t\t\t\t\t\treal: serial.length,\n\t\t\t\t\t} } ) )\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t\treturn super.from( serial ) as InstanceType< This >\n\t\t}\n\t\t\n\t\t/** Array view of public part. */\n\t\tasArray() {\n\t\t\t\n\t\t\tconst size = ( this.constructor as typeof $mol_crypto2_key ).size_bin\n\t\t\tif( this.byteLength < size ) {\n\t\t\t\treturn $mol_fail( new Error( 'Bin key too short', { cause: {\n\t\t\t\t\tmin: size,\n\t\t\t\t\treal: this.byteLength,\n\t\t\t\t} } ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset, size )\n\t\t}\n\t\t\n\t\t/** String representation of public part. */\n\t\t@ $mol_memo.method\n\t\ttoString() {\n\t\t\treturn $mol_base64_url_encode( this.asArray() )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport var $mol_crypto_native = crypto\n}\n","namespace $ {\n\t\n\t/** Derived debuggable error with stack */\n\texport function $mol_crypto_restack( error: any ): never {\n\t\terror = new Error( error instanceof Error ? error.message : String( error ), { cause: error } )\n\t\t$mol_fail_hidden( error )\n\t}\n\t\n}\n","namespace $ {\n\t/** Ed25519 public key for sign verifying. */\n\texport class $mol_crypto2_auditor extends $mol_crypto2_key {\n\t\t\n\t\t/** Native WebAPI public key. */\n\t\t@ $mol_memo.method\n\t\tasync native() {\n\t\t\t\n\t\t\treturn $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: \"Ed25519\",\n\t\t\t\t\text: true,\n\t\t\t\t\tkey_ops: [ 'verify' ],\n\t\t\t\t\tkty: \"OKP\",\n\t\t\t\t\tx: this.toString(),\n\t\t\t\t},\n\t\t\t\t\"Ed25519\",\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'verify' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Verifies signature of data. */\n\t\tasync verify( data: BufferSource, sign: BufferSource ) {\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.verify(\n\t\t\t\t\"Ed25519\",\n\t\t\t\tawait this.native(),\n\t\t\t\tsign,\n\t\t\t\tdata,\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t/** Ed25519 private key for data signing. */\n\texport class $mol_crypto2_signer extends $mol_crypto2_auditor {\n\t\t\n\t\tstatic size_sign = 64\n\t\t\n\t\t/** Generates new Signer. */\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst pair = await $mol_crypto_native.subtle.generateKey(\n\t\t\t\t\"Ed25519\",\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'sign', 'verify' ]\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t\tconst { x, d } = await $mol_crypto_native.subtle.exportKey( 'jwk', pair.privateKey ).catch( $mol_crypto_restack )\n\t\t\treturn this.from( x + d! )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Native WebAPI private key. */\n\t\t@ $mol_memo.method\n\t\tasync nativePrivate() {\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: \"Ed25519\",\n\t\t\t\t\text: true,\n\t\t\t\t\tkey_ops: [ 'sign' ],\n\t\t\t\t\tkty: \"OKP\",\n\t\t\t\t\tx: this.toString(),\n\t\t\t\t\td: this.toStringPrivate(),\n\t\t\t\t},\n\t\t\t\t\"Ed25519\",\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'sign' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Array view of private part. */\n\t\tasArrayPrivate() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 32, 32 )\n\t\t}\n\t\t\n\t\t/** String representation of private part. */\n\t\t@ $mol_memo.method\n\t\ttoStringPrivate() {\n\t\t\treturn $mol_base64_url_encode( this.asArrayPrivate() )\n\t\t}\n\t\t\n\t\t/** Returns Auditor from this Signer. */\n\t\t@ $mol_memo.method\n\t\tauditor() {\n\t\t\treturn $mol_crypto2_auditor.from( this.asArray() )\n\t\t}\n\t\t\n\t\t/** Makes Signature for data. */\n\t\tasync sign( data: BufferSource ) {\n\t\t\t\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.sign(\n\t\t\t\t\"Ed25519\",\n\t\t\t\tawait this.nativePrivate(),\n\t\t\t\tdata\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t/** x25519 public key for data encryption. */\n\texport class $mol_crypto2_socket extends $mol_crypto2_key {\n\t\t\n\t\t/** Native WebAPI public key. */\n\t\t@ $mol_memo.method\n\t\tasync native() {\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: 'X25519',\n\t\t\t\t\text: true,\n\t\t\t\t\tkty: 'OKP',\n\t\t\t\t\tkey_ops: [],\n\t\t\t\t\tx: this.toString(),\n\t\t\t\t},\n\t\t\t\t\"X25519\",\n\t\t\t\ttrue,\n\t\t\t\t[],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** 16 unique bytes. */\n\texport function $mol_crypto2_nonce() {\n\t\treturn $mol_crypto_native.getRandomValues(\n\t\t\tnew Uint8Array( 16 )\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\t/** @deprecated Use $mol_crypto2_nonce */\n\texport let $mol_crypto_salt = $mol_crypto2_nonce\n}\n","namespace $ {\n\t\n\ttype BufferSource = ArrayBufferView< ArrayBuffer > | ArrayBuffer\n\t\n\t/** Symmetric cipher with shortest payload. */\n\texport class $mol_crypto_sacred extends $mol_buffer {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 16 as const\n\t\t\n\t\t/** Makes new random secret. */\n\t\tstatic make() {\n\t\t\treturn this.from( $mol_crypto_salt() )\n\t\t}\n\t\t\n\t\t/** Makes from string of buffer view. */\n\t\tstatic from< This extends typeof $mol_buffer >(\n\t\t\tthis: This,\n\t\t\tserial: string | ArrayBufferView< ArrayBuffer >,\n\t\t) {\n\t\t\t\n\t\t\tif( typeof serial === 'string' ) {\n\t\t\t\tserial = new Uint8Array([\n\t\t\t\t\t... $mol_base64_url_decode( serial ),\n\t\t\t\t]) as Uint8Array< ArrayBuffer >\n\t\t\t}\n\t\t\t\n\t\t\tif(!( serial instanceof Uint8Array )) {\n\t\t\t\tserial = new Uint8Array( serial.buffer, serial.byteOffset, serial.byteLength )\n\t\t\t}\n\t\t\t\n\t\t\t;( serial as Uint8Array )[0] = 0xFF\n\t\t\t\n\t\t\tconst sacred = super.from( serial ) as InstanceType< This >\n\t\t\n\t\t\treturn sacred\n\t\t}\n\t\t\n\t\tstatic async from_native( native: CryptoKey ) {\n\t\t\t\n\t\t\tconst buf = await $mol_crypto_native.subtle.exportKey( 'raw', native ).catch( $mol_crypto_restack )\n\t\t\t\n\t\t\tconst sacred = this.from( new Uint8Array( buf ) )\n\t\t\tsacred._native = native as CryptoKey & { type: 'secret' }\n\t\t\t\n\t\t\treturn sacred\n\t\t}\n\t\t\n\t\tconstructor( buffer: ArrayBuffer, byteOffset?: number, byteLength?: number ) {\n\t\t\tsuper( buffer, byteOffset, byteLength )\n\t\t\tif( this.getUint8( 0 ) !== 0xFF ) $mol_fail( new Error( 'Buffer should starts with 0xFF byte' ) )\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\ttoString() {\n\t\t\treturn $mol_base64_url_encode( this.asArray() )\n\t\t}\n\t\t\n\t\t_native: undefined | CryptoKey & { type: 'secret' }\n\t\t/** Native crypto secret */\n\t\tasync native() {\n\t\t\treturn this._native ?? ( this._native = await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'raw',\n\t\t\t\tthis,\n\t\t\t\t{\n\t\t\t\t\tname: 'AES-CBC',\n\t\t\t\t\tlength: 128,\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t\t[ 'encrypt', 'decrypt' ],\n\t\t\t).catch( $mol_crypto_restack ) as CryptoKey & { type: 'secret' } )\n\t\t}\n\t\t\n\t\t/** Encrypt any binary message. 16n bytes */\n\t\tasync encrypt( open: BufferSource, salt: BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.encrypt(\n\t\t\t\t{\n\t\t\t\t\tname: 'AES-CBC',\n\t\t\t\t\tlength: 128,\n\t\t\t\t\ttagLength: 32,\n\t\t\t\t\tiv: salt,\n\t\t\t\t},\n\t\t\t\tawait this.native(),\n\t\t\t\topen\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t}\n\t\t\n\t\t/** Decrypt any binary message. */\n\t\tasync decrypt( closed: BufferSource, salt : BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.decrypt(\n\t\t\t\t{\n\t\t\t\t\tname: 'AES-CBC',\n\t\t\t\t\tlength: 128,\n\t\t\t\t\ttagLength: 32,\n\t\t\t\t\tiv: salt,\n\t\t\t\t},\n\t\t\t\tawait this.native(),\n\t\t\t\tclosed\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t}\n\t\t\n\t\t/** Encrypts 0xFF prefixed buffer. 16 bytes */\n\t\tasync close( opened: DataView< ArrayBuffer >, salt: BufferSource ) {\n\t\t\tif( opened.getUint8(0) !== 0xFF ) throw new Error( 'Closable buffer should starts with 0xFF' )\n\t\t\tconst trimed = new Uint8Array( opened.buffer, opened.byteOffset + 1, opened.byteLength - 1 )\n\t\t\treturn this.encrypt( trimed, salt )\n\t\t}\n\t\t\n\t\t/** Decrypts 0xFF prefixed buffer. 16 bytes */\n\t\tasync open( closed: Uint8Array< ArrayBuffer >, salt: BufferSource ) {\n\t\t\t\n\t\t\tconst trimed = await this.decrypt( closed, salt )\n\t\t\tif( trimed.byteLength !== closed.byteLength - 1 ) throw new Error( 'Length of opened buffer should be ' + ( closed.byteLength - 1 ) )\n\t\t\t\n\t\t\tconst opened = new Uint8Array( closed.byteLength )\n\t\t\topened[0] = 0xFF\n\t\t\topened.set( trimed, 1 )\n\t\t\t\n\t\t\treturn opened\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t/** x25519 private key for data encryption. */\n\texport class $mol_crypto2_cipher extends $mol_crypto2_socket {\n\t\t\n\t\tstatic size_secret = 16\n\t\t\n\t\t/** Generates new Cipher. */\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst pair = await $mol_crypto_native.subtle.generateKey(\n\t\t\t\t\"X25519\",\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'deriveKey' ]\n\t\t\t).catch( $mol_crypto_restack ) as CryptoKeyPair\n\t\t\t\n\t\t\tconst { x, d } = await $mol_crypto_native.subtle.exportKey( 'jwk', pair.privateKey ).catch( $mol_crypto_restack )\n\t\t\treturn this.from( x + d! )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Native WebAPI private key. */\n\t\t@ $mol_memo.method\n\t\tasync nativePrivate() {\n\t\t\t\n\t\t\treturn $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: 'X25519',\n\t\t\t\t\text: true,\n\t\t\t\t\tkty: 'OKP',\n\t\t\t\t\tkey_ops: [ 'deriveKey', 'deriveBits' ],\n\t\t\t\t\tx: this.toString(),\n\t\t\t\t\td: this.toStringPrivate(),\n\t\t\t\t},\n\t\t\t\t\"X25519\",\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'deriveKey', 'deriveBits' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Array view of private part. */\n\t\tasArrayPrivate() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 32, 32 )\n\t\t}\n\t\t\n\t\t/** String representation of private part. */\n\t\t@ $mol_memo.method\n\t\ttoStringPrivate() {\n\t\t\treturn $mol_base64_url_encode( this.asArrayPrivate() )\n\t\t}\n\t\t\n\t\t/** Returns Socket from this Chipher. */\n\t\t@ $mol_memo.method\n\t\tsocket() {\n\t\t\treturn $mol_crypto2_socket.from( this.asArray() )\n\t\t}\n\t\t\n\t\t/** Makes shared secret for combination of Chiper and Socket. */\n\t\tasync secret( pub: $mol_crypto2_socket ) {\n\t\t\t\t\n\t\t\treturn $mol_crypto_sacred.from( new Uint8Array(\n\t\t\t\tawait $mol_crypto_native.subtle.deriveBits(\n\t\t\t\t\t{\n\t\t\t\t\t\tname: \"X25519\",\n\t\t\t\t\t\tpublic: await pub.native(),\n\t\t\t\t\t},\n\t\t\t\t\tawait this.nativePrivate(),\n\t\t\t\t\t$mol_crypto_sacred.size * 8,\n\t\t\t\t).catch( $mol_crypto_restack )\n\t\t\t) )\n\t\t\t\n\t\t}\n\t\n\t}\n}\n","namespace $ {\n\t/** Compose public key for verifying and encryption, based on Curve25519. */\n\texport class $mol_crypto2_public extends $mol_crypto2_key {\n\t\t\n\t\tstatic size_str = 86\n\t\tstatic size_bin = 64\n\t\t\n\t\t/** Return Auditor part. */\n\t\t@ $mol_memo.method\n\t\tauditor() {\n\t\t\treturn $mol_crypto2_auditor.from( this.asArray().subarray( 0, 32 ) )\n\t\t}\n\t\t\n\t\t/** Return Socket part. */\n\t\t@ $mol_memo.method\n\t\tsocket() {\n\t\t\treturn $mol_crypto2_socket.from( this.asArray().subarray( 32, 64 ) )\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\ttoString() {\n\t\t\treturn this.auditor().toString() + this.socket().toString()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t/** Compose private key for signing and encryption, based on Curve25519. */\n\texport class $mol_crypto2_private extends $mol_crypto2_public {\n\t\t\n\t\t/** Generates new private key. */\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst [ signer, cipher ] = await Promise.all([\n\t\t\t\t$mol_crypto2_signer.generate(),\n\t\t\t\t$mol_crypto2_cipher.generate(),\n\t\t\t])\n\t\t\t\n\t\t\tconst key = $mol_crypto2_private.from( $mol_crypto2_public.size_bin + $mol_crypto2_private.size_bin )\n\t\t\t\n\t\t\tkey.asArray().set( signer.asArray(), 0 )\n\t\t\tkey.asArray().set( cipher.asArray(), 32 )\n\t\t\t\n\t\t\tkey.asArrayPrivate().set( signer.asArrayPrivate(), 0 )\n\t\t\tkey.asArrayPrivate().set( cipher.asArrayPrivate(), 32 )\n\t\t\t\n\t\t\treturn key\n\t\t}\n\t\t\n\t\t/** Return Signer part. */\n\t\t@ $mol_memo.method\n\t\tsigner() {\n\t\t\tconst signer = $mol_crypto2_signer.from( $mol_crypto2_auditor.size_bin + $mol_crypto2_signer.size_bin )\n\t\t\tsigner.asArray().set( this.asArray().subarray( 0, 32 ) )\n\t\t\tsigner.asArrayPrivate().set( this.asArrayPrivate().subarray( 0, 32 ) )\n\t\t\treturn signer\n\t\t}\n\t\t\n\t\t/** Return Cipher part. */\n\t\t@ $mol_memo.method\n\t\tcipher() {\n\t\t\tconst cipher = $mol_crypto2_cipher.from( $mol_crypto2_socket.size_bin + $mol_crypto2_cipher.size_bin )\n\t\t\tcipher.asArray().set( this.asArray().subarray( 32, 64 ) )\n\t\t\tcipher.asArrayPrivate().set( this.asArrayPrivate().subarray( 32, 64 ) )\n\t\t\treturn cipher\n\t\t}\n\t\t\n\t\t/** Return Public part. */\n\t\t@ $mol_memo.method\n\t\tpublic() {\n\t\t\treturn $mol_crypto2_public.from( this.asArray() )\n\t\t}\n\t\t\n\t\t/** Array view of private part. */\n\t\tasArrayPrivate() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 64, 64 )\n\t\t}\n\t\t\n\t\t/** String representation of private part. */\n\t\t@ $mol_memo.method\n\t\ttoStringPrivate() {\n\t\t\treturn this.signer().toStringPrivate() + this.cipher().toStringPrivate()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Pads any buffer view to a multiple of 16 bytes. */\n\texport function $mol_crypto2_padding_add( this: $, data: ArrayBufferView< ArrayBuffer > ) {\n\t\t\n\t\tconst source = data instanceof Uint8Array\n\t\t\t? data\n\t\t\t: new Uint8Array( data.buffer, data.byteOffset, data.byteLength )\n\t\t\n\t\tconst count = 16 - source.byteLength % 16\n\t\tconst padded = new Uint8Array( source.byteLength + count )\n\t\t\n\t\tpadded.set( source )\n\t\tthis.$mol_crypto_native.getRandomValues( padded.subarray( source.byteLength ) )\n\t\tpadded[ padded.byteLength - 1 ] = ( padded[ padded.byteLength - 1 ] & 0xF0 ) | ( count & 0x0F )\n\t\t\n\t\treturn padded\n\t}\n\t\n\t/** Returns a view without the padding bytes. */\n\texport function $mol_crypto2_padding_crop( this: $, data: ArrayBufferView< ArrayBuffer > ) {\n\t\t\n\t\tconst source = data instanceof Uint8Array\n\t\t\t? data\n\t\t\t: new Uint8Array( data.buffer, data.byteOffset, data.byteLength )\n\t\t\n\t\tconst marker = source[ source.byteLength - 1 ] & 0x0F\n\t\tconst count = marker || 16\n\t\t\n\t\treturn source.subarray( 0, source.byteLength - count )\n\t}\n\t\n}\n"]}
1
+ {"version":3,"sources":["-","../../../../mam.ts","../../../../mol/base64/encode/encode.ts","../../../../mol/dom/context/context.ts","../../../../mol/dom/context/context.web.ts","../../../../mol/dom/dom.ts","../../../../mol/base64/encode/encode.web.ts","../../../../mol/base64/decode/decode.ts","../../../../mol/base64/decode/decode.web.ts","../../../../mol/base64/ae/ae.ts","../../../../mol/func/name/name.ts","../../../../mol/fail/fail.ts","../../../../mol/buffer/buffer.ts","../../../../mol/base64/url/url.ts","../../../../mol/base64/url/url.web.ts","../../../../mol/ambient/ambient.ts","../../../../mol/delegate/delegate.ts","../../../../mol/owning/owning.ts","../../../../mol/fail/hidden/hidden.ts","../../../../mol/key/key.ts","../../../../mol/object2/object2.ts","../../../../mol/wrapper/wrapper.ts","../../../../mol/memo/memo.ts","../../../../mol/crypto2/key/key.ts","../../../../mol/crypto/native/native.web.ts","../../../../mol/crypto/restack/restack.ts","../../../../mol/crypto2/auditor/auditor.ts","../../../../mol/crypto2/signer/signer.ts","../../../../mol/crypto2/socket/socket.ts","../../../../mol/crypto2/nonce/nonce.ts","../../../../mol/crypto2/secret/secret.ts","../../../../mol/crypto2/cipher/cipher.ts","../../../../mol/crypto2/public/public.ts","../../../../mol/crypto2/private/private.ts","../../../../mol/crypto2/padding/padding.ts"],"names":[],"mappings":"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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {\n\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\texport function $mol_base64_encode(src: Uint8Array< ArrayBuffer >): string {\n\t\treturn (src as unknown as { toBase64(): string }).toBase64()\n}\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom = $mol_dom_context\n\t\n}\n","namespace $ {\n\n\tfunction binary_string(bytes: Uint8Array< ArrayBuffer > | string): string {\n\t\tlet binary = ''\n\t\tif (typeof bytes !== 'string') {\n\t\t\tfor (const byte of bytes) binary += String.fromCharCode( byte )\n\t\t} else {\n\t\t\tbinary = unescape(encodeURIComponent(bytes))\n\t\t}\n\n\t\treturn binary\n\t}\n\n\texport function $mol_base64_encode_web(str: Uint8Array<ArrayBuffer>): string {\n\t\treturn $mol_dom_context.btoa(binary_string(str))\n\t}\n\n\tif ( ! ( 'toBase64' in Uint8Array.prototype ) ) {\n\t\t$.$mol_base64_encode = $mol_base64_encode_web\n\t}\n}\n","namespace $ {\n\texport function $mol_base64_decode(base64: string): Uint8Array< ArrayBuffer > {\n\t\treturn (Uint8Array as unknown as {\n\t\t\tfromBase64(str: string): Uint8Array<ArrayBuffer>\n\t\t}).fromBase64(base64)\n\t}\n}\n","namespace $ {\n\texport function $mol_base64_decode_web(base64Str: string): Uint8Array< ArrayBuffer > {\n\n\t\tconst buf = Uint8Array.from($mol_dom_context.atob(base64Str), c => c.charCodeAt(0))\n\n\t\treturn buf\n\t}\n\n\tif ( ! ( 'fromBase64' in Uint8Array ) ) {\n\t\t$.$mol_base64_decode = $mol_base64_decode_web\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_base64_ae_encode( buffer: Uint8Array< ArrayBuffer > ) {\n\t\treturn $mol_base64_encode( buffer ).replace( /\\+/g, 'æ' ).replace( /\\//g, 'Æ' ).replace(/=/g,'')\n\t}\n\t\n\texport function $mol_base64_ae_decode( str: string ) {\n\t\treturn $mol_base64_decode( str.replace( /æ/g, '+' ).replace( /Æ/g, '/' ) )\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\texport class $mol_buffer extends DataView< ArrayBuffer > {\n\t\t\n\t\t[ Symbol.toStringTag ] = this.constructor.name + '<>'\n\t\t\n\t\tstatic from<\n\t\t\tThis extends typeof $mol_buffer\n\t\t>(\n\t\t\tthis: This,\n\t\t\tarray: number | string | ArrayBufferView< ArrayBuffer > | ArrayBuffer,\n\t\t) {\n\t\t\tif( typeof array === 'number' ) array = new Uint8Array( array )\n\t\t\tif( typeof array === 'string' ) array = $mol_base64_ae_decode( array )\n\t\t\tif( !ArrayBuffer.isView( array ) ) array = new Uint8Array( array )\n\t\t\treturn new this( array.buffer, array.byteOffset, array.byteLength ) as InstanceType< This >\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tgetUint48( offset: number, LE = false ) {\n\t\t\tif( offset % 4 ) {\n\t\t\t\treturn this.getUint16( offset, LE ) + this.getUint32( offset + 2, LE ) * 2**16\n\t\t\t} else {\n\t\t\t\treturn this.getUint32( offset, LE ) + this.getUint16( offset + 4, LE ) * 2**32\n\t\t\t}\n\t\t}\n\t\t\n\t\tsetUint48( offset: number, value: number, LE = false ) {\n\t\t\tif( offset % 4 ) {\n\t\t\t\tthis.setUint16( offset, value & ( (1<<16) - 1 ), LE )\n\t\t\t\tthis.setUint32( offset + 2, ( value / 2**16 )|0, LE )\n\t\t\t} else {\n\t\t\t\tthis.setUint32( offset, value |0, LE )\n\t\t\t\tthis.setUint16( offset + 4, ( value / 2**32 )|0, LE )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** 1-byte signed integer channel for offset. */\n\t\tint8( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt8( offset )\n\t\t\tif( next >= -(2**7) && next < 2**7 ) return this.setInt8( offset, next ), next\n\t\t\t$mol_fail( new Error( `Wrong int8 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 1-byte unsigned integer channel for offset. */\n\t\tuint8( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint8( offset )\n\t\t\tif( next >= 0 && next < 2**8 ) return this.setUint8( offset, next ), next\n\t\t\t$mol_fail( new Error( `Wrong uint8 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 2-byte signed integer little-endian channel for offset. */\n\t\tint16( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt16( offset, true )\n\t\t\tif( next >= -(2**15) && next < 2**15 ) return this.setInt16( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int16 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 2-byte unsigned integer little-endian channel for offset. */\n\t\tuint16( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint16( offset, true )\n\t\t\tif( next >= 0 && next < 2**16 ) return this.setUint16( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint16 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 4-byte signed integer little-endian channel for offset. */\n\t\tint32( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt32( offset, true )\n\t\t\tif( next >= -(2**31) && next < 2**31 ) return this.setInt32( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int32 value ${ next }` ) )\n\t\t}\n\t\n\t\t/** 4-byte unsigned integer little-endian channel for offset. */\n\t\tuint32( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint32( offset, true )\n\t\t\tif( next >= 0 && next < 2**32 ) return this.setUint32( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint32 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 8-byte signed integer little-endian channel for offset. */\n\t\tint64( offset: number, next?: bigint ) {\n\t\t\tif( next === undefined ) return this.getBigInt64( offset, true )\n\t\t\tif( next >= -(2n**63n) && next < 2n**63n ) return this.setBigInt64( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int64 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 6-byte unsigned integer little-endian channel for offset. */\n\t\tuint48( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint48( offset, true )\n\t\t\tif( next >= 0 && next < 2**48 ) return this.setUint48( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint48 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 8-byte unsigned integer little-endian channel for offset. */\n\t\tuint64( offset: number, next?: bigint ) {\n\t\t\tif( next === undefined ) return this.getBigUint64( offset, true )\n\t\t\tif( next >= 0n && next < 2n**64n ) return this.setBigUint64( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint64 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 2-byte float little-endian channel for offset. */\n\t\tfloat16( offset: number, next?: number ) {\n\t\t\tif( next !== undefined ) this.setFloat16( offset, next, true )\n\t\t\treturn this.getFloat16( offset, true )\n\t\t}\n\t\t\n\t\t/** 4-byte float little-endian channel for offset. */\n\t\tfloat32( offset: number, next?: number ) {\n\t\t\tif( next !== undefined ) this.setFloat32( offset, next, true )\n\t\t\treturn this.getFloat32( offset, true )\n\t\t}\n\t\t\n\t\t/** 8-byte float little-endian channel for offset. */\n\t\tfloat64( offset: number, next?: number ) {\n\t\t\tif( next !== undefined ) this.setFloat64( offset, next, true )\n\t\t\treturn this.getFloat64( offset, true )\n\t\t}\n\t\t\n\t\tmix( mixin: Uint8Array< ArrayBuffer > ) {\n\t\t\tconst arr = this.asArray()\n\t\t\tfor( let i = 0; i < mixin.length; ++i ) arr[ i % arr.byteLength ] ^= mixin[ i ]\n\t\t\treturn this\n\t\t}\n\t\t\n\t\t/** A Uint8Array view for the same buffer. */\n\t\tasArray() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset, this.byteLength )\n\t\t}\n\t\t\n\t\t/** base64ae string from buffer. */\n\t\ttoString() {\n\t\t\treturn $mol_base64_ae_encode( this.asArray() )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_base64_url_encode( buffer: Uint8Array< ArrayBuffer > ) {\n\t\treturn (\n\t\t\tbuffer as unknown as { toBase64(options: {\n\t\t\t\talphabet?: 'base64url' | 'base64'\n\t\t\t\tomitPadding?: boolean\n\t\t\t}): string }\n\t\t).toBase64({ alphabet: 'base64url', omitPadding: true })\n\t}\n\t\n\texport function $mol_base64_url_decode( str: string ) {\n\t\treturn (\n\t\t\tUint8Array as unknown as { fromBase64(str: string, options: {\n\t\t\t\talphabet?: 'base64url' | 'base64'\n\t\t\t}): Uint8Array<ArrayBuffer> }\n\t\t).fromBase64(str, { alphabet: 'base64url' })\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_base64_url_encode_web( buffer: Uint8Array< ArrayBuffer > ) {\n\t\treturn $mol_base64_encode( buffer ).replace( /\\+/g, '-' ).replace( /\\//g, '_' ).replace( /=/g, '' )\n\t}\n\n\tif ( ! ( 'toBase64' in Uint8Array.prototype ) ) {\n\t\t$.$mol_base64_url_encode = $mol_base64_url_encode_web\n\t}\n\n\texport function $mol_base64_url_decode_web( str: string ) {\n\t\treturn $mol_base64_decode( str.replace( /-/g, '+' ).replace( /_/g, '/' ) )\n\t}\n\n\tif ( ! ( 'fromBase64' in Uint8Array ) ) {\n\t\t$.$mol_base64_url_decode = $mol_base64_url_decode_web\n\t}\n\t\n}\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\t\n\texport const $mol_key_handle = Symbol.for( '$mol_key_handle' )\n\texport const $mol_key_store = new WeakMap< object, string >()\n\t\n}\n","namespace $ {\n\t\n\tif( !Symbol.dispose ) ( Symbol as any ).dispose = Symbol( 'Symbol.dispose' )\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || (this.constructor as { $?: $ }).$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable<Instance> )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic [ $mol_key_handle ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t[ Symbol.dispose ] () {\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler<Class> = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr = Reflect.getOwnPropertyDescriptor( obj, name )!,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost extends object ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr = Reflect.getOwnPropertyDescriptor( obj, name )! as TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\tconst fun = function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ?? fun ) ) return store.get( this ?? fun )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this ?? fun , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t\tReflect.defineProperty( fun , 'name' , { value : task.name + ' ' } )\n\n\t\t\treturn fun\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t/** Base class for crypto keys. */\n\texport class $mol_crypto2_key extends $mol_buffer {\n\t\t\n\t\tstatic size_str = 43\n\t\tstatic size_bin = 32\n\t\t\n\t\t/** Kakes key from different params. */\n\t\tstatic from< This extends typeof $mol_buffer >(\n\t\t\tthis: This,\n\t\t\tserial: number | string | ArrayBufferView< ArrayBuffer > | ArrayBuffer,\n\t\t) {\n\t\t\t\n\t\t\tif( typeof serial === 'string' ) {\n\t\t\t\tserial = new Uint8Array(\n\t\t\t\t\tserial.match( /.{43}/g )\n\t\t\t\t\t\t?.flatMap( chunk => [ ... $mol_base64_url_decode( chunk ) ] )\n\t\t\t\t\t?? $mol_fail( new Error( 'Str key too short', { cause: {\n\t\t\t\t\t\tmin: 43,\n\t\t\t\t\t\treal: serial.length,\n\t\t\t\t\t} } ) )\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t\treturn super.from( serial ) as InstanceType< This >\n\t\t}\n\t\t\n\t\t/** Array view of public part. */\n\t\tasArray() {\n\t\t\t\n\t\t\tconst size = ( this.constructor as typeof $mol_crypto2_key ).size_bin\n\t\t\tif( this.byteLength < size ) {\n\t\t\t\treturn $mol_fail( new Error( 'Bin key too short', { cause: {\n\t\t\t\t\tmin: size,\n\t\t\t\t\treal: this.byteLength,\n\t\t\t\t} } ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset, size )\n\t\t}\n\t\t\n\t\t/** String representation of public part. */\n\t\t@ $mol_memo.method\n\t\ttoString() {\n\t\t\treturn $mol_base64_url_encode( this.asArray() )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport var $mol_crypto_native = crypto\n}\n","namespace $ {\n\t\n\t/** Derived debuggable error with stack */\n\texport function $mol_crypto_restack( error: any ): never {\n\t\terror = new Error( error instanceof Error ? error.message : String( error ), { cause: error } )\n\t\t$mol_fail_hidden( error )\n\t}\n\t\n}\n","namespace $ {\n\t/** Ed25519 public key for sign verifying. */\n\texport class $mol_crypto2_auditor extends $mol_crypto2_key {\n\t\t\n\t\t/** Native WebAPI public key. */\n\t\t@ $mol_memo.method\n\t\tasync native() {\n\t\t\t\n\t\t\treturn $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: \"Ed25519\",\n\t\t\t\t\text: true,\n\t\t\t\t\tkey_ops: [ 'verify' ],\n\t\t\t\t\tkty: \"OKP\",\n\t\t\t\t\tx: this.toString(),\n\t\t\t\t},\n\t\t\t\t\"Ed25519\",\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'verify' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Verifies signature of data. */\n\t\tasync verify( data: BufferSource, sign: BufferSource ) {\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.verify(\n\t\t\t\t\"Ed25519\",\n\t\t\t\tawait this.native(),\n\t\t\t\tsign,\n\t\t\t\tdata,\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t/** Ed25519 private key for data signing. */\n\texport class $mol_crypto2_signer extends $mol_crypto2_auditor {\n\t\t\n\t\tstatic size_sign = 64\n\t\t\n\t\t/** Generates new Signer. */\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst pair = await $mol_crypto_native.subtle.generateKey(\n\t\t\t\t\"Ed25519\",\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'sign', 'verify' ]\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t\tconst { x, d } = await $mol_crypto_native.subtle.exportKey( 'jwk', pair.privateKey ).catch( $mol_crypto_restack )\n\t\t\treturn this.from( x + d! )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Native WebAPI private key. */\n\t\t@ $mol_memo.method\n\t\tasync nativePrivate() {\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: \"Ed25519\",\n\t\t\t\t\text: true,\n\t\t\t\t\tkey_ops: [ 'sign' ],\n\t\t\t\t\tkty: \"OKP\",\n\t\t\t\t\tx: this.toString(),\n\t\t\t\t\td: this.toStringPrivate(),\n\t\t\t\t},\n\t\t\t\t\"Ed25519\",\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'sign' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Array view of private part. */\n\t\tasArrayPrivate() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 32, 32 )\n\t\t}\n\t\t\n\t\t/** String representation of private part. */\n\t\t@ $mol_memo.method\n\t\ttoStringPrivate() {\n\t\t\treturn $mol_base64_url_encode( this.asArrayPrivate() )\n\t\t}\n\t\t\n\t\t/** Returns Auditor from this Signer. */\n\t\t@ $mol_memo.method\n\t\tauditor() {\n\t\t\treturn $mol_crypto2_auditor.from( this.asArray() )\n\t\t}\n\t\t\n\t\t/** Makes Signature for data. */\n\t\tasync sign( data: BufferSource ) {\n\t\t\t\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.sign(\n\t\t\t\t\"Ed25519\",\n\t\t\t\tawait this.nativePrivate(),\n\t\t\t\tdata\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t/** x25519 public key for data encryption. */\n\texport class $mol_crypto2_socket extends $mol_crypto2_key {\n\t\t\n\t\t/** Native WebAPI public key. */\n\t\t@ $mol_memo.method\n\t\tasync native() {\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: 'X25519',\n\t\t\t\t\text: true,\n\t\t\t\t\tkty: 'OKP',\n\t\t\t\t\tkey_ops: [],\n\t\t\t\t\tx: this.toString(),\n\t\t\t\t},\n\t\t\t\t\"X25519\",\n\t\t\t\ttrue,\n\t\t\t\t[],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** 16 unique bytes. */\n\texport function $mol_crypto2_nonce() {\n\t\treturn $mol_crypto_native.getRandomValues(\n\t\t\tnew Uint8Array( 16 )\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\ttype BufferSource = ArrayBufferView< ArrayBuffer > | ArrayBuffer\n\n\t/** Symmetric AES-CTR secret. */\n\texport class $mol_crypto2_secret extends $mol_buffer {\n\n\t\tstatic size = 16 as const\n\n\t\t/** Makes new random secret. */\n\t\tstatic make() {\n\t\t\treturn this.from( $mol_crypto2_nonce() )\n\t\t}\n\n\t\t/** Makes from string or buffer view. */\n\t\tstatic from< This extends typeof $mol_buffer >(\n\t\t\tthis: This,\n\t\t\tserial: string | ArrayBufferView< ArrayBuffer >,\n\t\t) {\n\n\t\t\tif( typeof serial === 'string' ) serial = $mol_base64_url_decode( serial )\n\t\t\t\n\t\t\tif( serial.byteLength !== $mol_crypto2_secret.size ) {\n\t\t\t\treturn $mol_fail( new RangeError( 'Wrong key size', { cause: { size: serial.byteLength } } ) )\n\t\t\t}\n\n\t\t\tif(!( serial instanceof Uint8Array )) {\n\t\t\t\tserial = new Uint8Array( serial.buffer, serial.byteOffset, serial.byteLength )\n\t\t\t}\n\n\t\t\treturn super.from( serial ) as InstanceType< This >\n\t\t}\n\n\t\tstatic async from_native( native: CryptoKey ) {\n\n\t\t\tconst buffer = await $mol_crypto_native.subtle.exportKey( 'raw', native ).catch( $mol_crypto_restack )\n\n\t\t\tconst secret = this.from( new Uint8Array( buffer ) )\n\t\t\tsecret._native = native as CryptoKey & { type: 'secret' }\n\n\t\t\treturn secret\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\ttoString() {\n\t\t\treturn $mol_base64_url_encode( this.asArray() )\n\t\t}\n\n\t\t_native: undefined | CryptoKey & { type: 'secret' }\n\t\t/** Native crypto secret. */\n\t\tasync native() {\n\t\t\treturn this._native ?? ( this._native = await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'raw', // format\n\t\t\t\tthis, // buffer source\n\t\t\t\t'AES-CTR', // algorithm\n\t\t\t\ttrue, // extractable\n\t\t\t\t[ 'encrypt', 'decrypt' ], // usages\n\t\t\t).catch( $mol_crypto_restack ) as CryptoKey & { type: 'secret' } )\n\t\t}\n\n\t\t/** Encrypts data without changing its length. */\n\t\tasync encrypt( open: BufferSource, nonce: BufferSource ) {\n\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.encrypt(\n\t\t\t\t{ name: 'AES-CTR', counter: nonce, length: 64 },\n\t\t\t\tawait this.native(),\n\t\t\t\topen,\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t}\n\n\t\t/** Decrypts data without changing its length. */\n\t\tasync decrypt( closed: BufferSource, nonce: BufferSource ) {\n\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.decrypt(\n\t\t\t\t{ name: 'AES-CTR', counter: nonce, length: 64 },\n\t\t\t\tawait this.native(),\n\t\t\t\tclosed,\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t/** x25519 private key for data encryption. */\n\texport class $mol_crypto2_cipher extends $mol_crypto2_socket {\n\t\t\n\t\tstatic size_secret = 16\n\t\t\n\t\t/** Generates new Cipher. */\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst pair = await $mol_crypto_native.subtle.generateKey(\n\t\t\t\t\"X25519\",\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'deriveKey' ]\n\t\t\t).catch( $mol_crypto_restack ) as CryptoKeyPair\n\t\t\t\n\t\t\tconst { x, d } = await $mol_crypto_native.subtle.exportKey( 'jwk', pair.privateKey ).catch( $mol_crypto_restack )\n\t\t\treturn this.from( x + d! )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Native WebAPI private key. */\n\t\t@ $mol_memo.method\n\t\tasync nativePrivate() {\n\t\t\t\n\t\t\treturn $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: 'X25519',\n\t\t\t\t\text: true,\n\t\t\t\t\tkty: 'OKP',\n\t\t\t\t\tkey_ops: [ 'deriveKey', 'deriveBits' ],\n\t\t\t\t\tx: this.toString(),\n\t\t\t\t\td: this.toStringPrivate(),\n\t\t\t\t},\n\t\t\t\t\"X25519\",\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'deriveKey', 'deriveBits' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Array view of private part. */\n\t\tasArrayPrivate() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 32, 32 )\n\t\t}\n\t\t\n\t\t/** String representation of private part. */\n\t\t@ $mol_memo.method\n\t\ttoStringPrivate() {\n\t\t\treturn $mol_base64_url_encode( this.asArrayPrivate() )\n\t\t}\n\t\t\n\t\t/** Returns Socket from this Chipher. */\n\t\t@ $mol_memo.method\n\t\tsocket() {\n\t\t\treturn $mol_crypto2_socket.from( this.asArray() )\n\t\t}\n\t\t\n\t\t/** Makes shared secret for combination of Chiper and Socket. */\n\t\tasync secret( pub: $mol_crypto2_socket ) {\n\t\t\t\t\n\t\t\treturn $mol_crypto2_secret.from( new Uint8Array(\n\t\t\t\tawait $mol_crypto_native.subtle.deriveBits(\n\t\t\t\t\t{\n\t\t\t\t\t\tname: \"X25519\",\n\t\t\t\t\t\tpublic: await pub.native(),\n\t\t\t\t\t},\n\t\t\t\t\tawait this.nativePrivate(),\n\t\t\t\t\t$mol_crypto2_secret.size * 8,\n\t\t\t\t).catch( $mol_crypto_restack )\n\t\t\t) )\n\t\t\t\n\t\t}\n\t\n\t}\n}\n","namespace $ {\n\t/** Compose public key for verifying and encryption, based on Curve25519. */\n\texport class $mol_crypto2_public extends $mol_crypto2_key {\n\t\t\n\t\tstatic size_str = 86\n\t\tstatic size_bin = 64\n\t\t\n\t\t/** Return Auditor part. */\n\t\t@ $mol_memo.method\n\t\tauditor() {\n\t\t\treturn $mol_crypto2_auditor.from( this.asArray().subarray( 0, 32 ) )\n\t\t}\n\t\t\n\t\t/** Return Socket part. */\n\t\t@ $mol_memo.method\n\t\tsocket() {\n\t\t\treturn $mol_crypto2_socket.from( this.asArray().subarray( 32, 64 ) )\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\ttoString() {\n\t\t\treturn this.auditor().toString() + this.socket().toString()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t/** Compose private key for signing and encryption, based on Curve25519. */\n\texport class $mol_crypto2_private extends $mol_crypto2_public {\n\t\t\n\t\t/** Generates new private key. */\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst [ signer, cipher ] = await Promise.all([\n\t\t\t\t$mol_crypto2_signer.generate(),\n\t\t\t\t$mol_crypto2_cipher.generate(),\n\t\t\t])\n\t\t\t\n\t\t\tconst key = $mol_crypto2_private.from( $mol_crypto2_public.size_bin + $mol_crypto2_private.size_bin )\n\t\t\t\n\t\t\tkey.asArray().set( signer.asArray(), 0 )\n\t\t\tkey.asArray().set( cipher.asArray(), 32 )\n\t\t\t\n\t\t\tkey.asArrayPrivate().set( signer.asArrayPrivate(), 0 )\n\t\t\tkey.asArrayPrivate().set( cipher.asArrayPrivate(), 32 )\n\t\t\t\n\t\t\treturn key\n\t\t}\n\t\t\n\t\t/** Return Signer part. */\n\t\t@ $mol_memo.method\n\t\tsigner() {\n\t\t\tconst signer = $mol_crypto2_signer.from( $mol_crypto2_auditor.size_bin + $mol_crypto2_signer.size_bin )\n\t\t\tsigner.asArray().set( this.asArray().subarray( 0, 32 ) )\n\t\t\tsigner.asArrayPrivate().set( this.asArrayPrivate().subarray( 0, 32 ) )\n\t\t\treturn signer\n\t\t}\n\t\t\n\t\t/** Return Cipher part. */\n\t\t@ $mol_memo.method\n\t\tcipher() {\n\t\t\tconst cipher = $mol_crypto2_cipher.from( $mol_crypto2_socket.size_bin + $mol_crypto2_cipher.size_bin )\n\t\t\tcipher.asArray().set( this.asArray().subarray( 32, 64 ) )\n\t\t\tcipher.asArrayPrivate().set( this.asArrayPrivate().subarray( 32, 64 ) )\n\t\t\treturn cipher\n\t\t}\n\t\t\n\t\t/** Return Public part. */\n\t\t@ $mol_memo.method\n\t\tpublic() {\n\t\t\treturn $mol_crypto2_public.from( this.asArray() )\n\t\t}\n\t\t\n\t\t/** Array view of private part. */\n\t\tasArrayPrivate() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 64, 64 )\n\t\t}\n\t\t\n\t\t/** String representation of private part. */\n\t\t@ $mol_memo.method\n\t\ttoStringPrivate() {\n\t\t\treturn this.signer().toStringPrivate() + this.cipher().toStringPrivate()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Pads any buffer view to a multiple of 16 bytes. */\n\texport function $mol_crypto2_padding_add( this: $, data: ArrayBufferView< ArrayBuffer > ) {\n\t\t\n\t\tconst source = data instanceof Uint8Array\n\t\t\t? data\n\t\t\t: new Uint8Array( data.buffer, data.byteOffset, data.byteLength )\n\t\t\n\t\tconst count = 16 - source.byteLength % 16\n\t\tconst padded = new Uint8Array( source.byteLength + count )\n\t\t\n\t\tpadded.set( source )\n\t\tthis.$mol_crypto_native.getRandomValues( padded.subarray( source.byteLength ) )\n\t\tpadded[ padded.byteLength - 1 ] = ( padded[ padded.byteLength - 1 ] & 0xF0 ) | ( count & 0x0F )\n\t\t\n\t\treturn padded\n\t}\n\t\n\t/** Returns a view without the padding bytes. */\n\texport function $mol_crypto2_padding_crop( this: $, data: ArrayBufferView< ArrayBuffer > ) {\n\t\t\n\t\tconst source = data instanceof Uint8Array\n\t\t\t? data\n\t\t\t: new Uint8Array( data.buffer, data.byteOffset, data.byteLength )\n\t\t\n\t\tconst marker = source[ source.byteLength - 1 ] & 0x0F\n\t\tconst count = marker || 16\n\t\t\n\t\treturn source.subarray( 0, source.byteLength - count )\n\t}\n\t\n}\n"]}
package/web.meta.tree CHANGED
@@ -26,6 +26,7 @@
26
26
  include \/mol/crypto2/signer
27
27
  include \/mol/crypto2/socket
28
28
  include \/mol/crypto2/cipher
29
+ include \/mol/crypto2/secret
29
30
  include \/mol/crypto2/public
30
31
  include \/mol/crypto2/private
31
32
  include \/mol/crypto2/nonce
package/web.mjs CHANGED
@@ -762,99 +762,56 @@ var $;
762
762
  "use strict";
763
763
  var $;
764
764
  (function ($) {
765
- /** @deprecated Use $mol_crypto2_nonce */
766
- $.$mol_crypto_salt = $mol_crypto2_nonce;
767
- })($ || ($ = {}));
768
-
769
- ;
770
- "use strict";
771
- var $;
772
- (function ($) {
773
- /** Symmetric cipher with shortest payload. */
774
- class $mol_crypto_sacred extends $mol_buffer {
775
- /** Key size in bytes. */
765
+ /** Symmetric AES-CTR secret. */
766
+ class $mol_crypto2_secret extends $mol_buffer {
776
767
  static size = 16;
777
768
  /** Makes new random secret. */
778
769
  static make() {
779
- return this.from($mol_crypto_salt());
770
+ return this.from($mol_crypto2_nonce());
780
771
  }
781
- /** Makes from string of buffer view. */
772
+ /** Makes from string or buffer view. */
782
773
  static from(serial) {
783
- if (typeof serial === 'string') {
784
- serial = new Uint8Array([
785
- ...$mol_base64_url_decode(serial),
786
- ]);
774
+ if (typeof serial === 'string')
775
+ serial = $mol_base64_url_decode(serial);
776
+ if (serial.byteLength !== $mol_crypto2_secret.size) {
777
+ return $mol_fail(new RangeError('Wrong key size', { cause: { size: serial.byteLength } }));
787
778
  }
788
779
  if (!(serial instanceof Uint8Array)) {
789
780
  serial = new Uint8Array(serial.buffer, serial.byteOffset, serial.byteLength);
790
781
  }
791
- ;
792
- serial[0] = 0xFF;
793
- const sacred = super.from(serial);
794
- return sacred;
782
+ return super.from(serial);
795
783
  }
796
784
  static async from_native(native) {
797
- const buf = await $mol_crypto_native.subtle.exportKey('raw', native).catch($mol_crypto_restack);
798
- const sacred = this.from(new Uint8Array(buf));
799
- sacred._native = native;
800
- return sacred;
801
- }
802
- constructor(buffer, byteOffset, byteLength) {
803
- super(buffer, byteOffset, byteLength);
804
- if (this.getUint8(0) !== 0xFF)
805
- $mol_fail(new Error('Buffer should starts with 0xFF byte'));
785
+ const buffer = await $mol_crypto_native.subtle.exportKey('raw', native).catch($mol_crypto_restack);
786
+ const secret = this.from(new Uint8Array(buffer));
787
+ secret._native = native;
788
+ return secret;
806
789
  }
807
790
  toString() {
808
791
  return $mol_base64_url_encode(this.asArray());
809
792
  }
810
793
  _native;
811
- /** Native crypto secret */
794
+ /** Native crypto secret. */
812
795
  async native() {
813
- return this._native ?? (this._native = await $mol_crypto_native.subtle.importKey('raw', this, {
814
- name: 'AES-CBC',
815
- length: 128,
816
- }, true, ['encrypt', 'decrypt']).catch($mol_crypto_restack));
817
- }
818
- /** Encrypt any binary message. 16n bytes */
819
- async encrypt(open, salt) {
820
- return new Uint8Array(await $mol_crypto_native.subtle.encrypt({
821
- name: 'AES-CBC',
822
- length: 128,
823
- tagLength: 32,
824
- iv: salt,
825
- }, await this.native(), open).catch($mol_crypto_restack));
826
- }
827
- /** Decrypt any binary message. */
828
- async decrypt(closed, salt) {
829
- return new Uint8Array(await $mol_crypto_native.subtle.decrypt({
830
- name: 'AES-CBC',
831
- length: 128,
832
- tagLength: 32,
833
- iv: salt,
834
- }, await this.native(), closed).catch($mol_crypto_restack));
835
- }
836
- /** Encrypts 0xFF prefixed buffer. 16 bytes */
837
- async close(opened, salt) {
838
- if (opened.getUint8(0) !== 0xFF)
839
- throw new Error('Closable buffer should starts with 0xFF');
840
- const trimed = new Uint8Array(opened.buffer, opened.byteOffset + 1, opened.byteLength - 1);
841
- return this.encrypt(trimed, salt);
842
- }
843
- /** Decrypts 0xFF prefixed buffer. 16 bytes */
844
- async open(closed, salt) {
845
- const trimed = await this.decrypt(closed, salt);
846
- if (trimed.byteLength !== closed.byteLength - 1)
847
- throw new Error('Length of opened buffer should be ' + (closed.byteLength - 1));
848
- const opened = new Uint8Array(closed.byteLength);
849
- opened[0] = 0xFF;
850
- opened.set(trimed, 1);
851
- return opened;
796
+ return this._native ?? (this._native = await $mol_crypto_native.subtle.importKey('raw', // format
797
+ this, // buffer source
798
+ 'AES-CTR', // algorithm
799
+ true, // extractable
800
+ ['encrypt', 'decrypt']).catch($mol_crypto_restack));
801
+ }
802
+ /** Encrypts data without changing its length. */
803
+ async encrypt(open, nonce) {
804
+ return new Uint8Array(await $mol_crypto_native.subtle.encrypt({ name: 'AES-CTR', counter: nonce, length: 64 }, await this.native(), open).catch($mol_crypto_restack));
805
+ }
806
+ /** Decrypts data without changing its length. */
807
+ async decrypt(closed, nonce) {
808
+ return new Uint8Array(await $mol_crypto_native.subtle.decrypt({ name: 'AES-CTR', counter: nonce, length: 64 }, await this.native(), closed).catch($mol_crypto_restack));
852
809
  }
853
810
  }
854
811
  __decorate([
855
812
  $mol_memo.method
856
- ], $mol_crypto_sacred.prototype, "toString", null);
857
- $.$mol_crypto_sacred = $mol_crypto_sacred;
813
+ ], $mol_crypto2_secret.prototype, "toString", null);
814
+ $.$mol_crypto2_secret = $mol_crypto2_secret;
858
815
  })($ || ($ = {}));
859
816
 
860
817
  ;
@@ -895,10 +852,10 @@ var $;
895
852
  }
896
853
  /** Makes shared secret for combination of Chiper and Socket. */
897
854
  async secret(pub) {
898
- return $mol_crypto_sacred.from(new Uint8Array(await $mol_crypto_native.subtle.deriveBits({
855
+ return $mol_crypto2_secret.from(new Uint8Array(await $mol_crypto_native.subtle.deriveBits({
899
856
  name: "X25519",
900
857
  public: await pub.native(),
901
- }, await this.nativePrivate(), $mol_crypto_sacred.size * 8).catch($mol_crypto_restack)));
858
+ }, await this.nativePrivate(), $mol_crypto2_secret.size * 8).catch($mol_crypto_restack)));
902
859
  }
903
860
  }
904
861
  __decorate([
package/web.test.js CHANGED
@@ -1846,31 +1846,32 @@ var $;
1846
1846
  (function ($) {
1847
1847
  $mol_test({
1848
1848
  async 'Sizes'() {
1849
- const secret = $mol_crypto_sacred.make();
1850
- const key = secret.asArray();
1851
- $mol_assert_equal(key.byteLength, $mol_crypto_sacred.size);
1849
+ const secret = $mol_crypto2_secret.make();
1850
+ $mol_assert_equal(secret.asArray().byteLength, $mol_crypto2_secret.size);
1852
1851
  const data = new Uint8Array([1, 2, 3]);
1853
- const salt = $mol_crypto_salt();
1854
- const closed = await secret.encrypt(data, salt);
1855
- $mol_assert_equal(closed.byteLength, $mol_crypto_sacred.size);
1856
- const self_closed = await secret.close(secret, salt);
1857
- $mol_assert_equal(self_closed.byteLength, $mol_crypto_sacred.size);
1852
+ const nonce = $mol_crypto2_nonce();
1853
+ const closed = await secret.encrypt(data, nonce);
1854
+ $mol_assert_equal(closed.byteLength, data.byteLength);
1855
+ },
1856
+ 'Wrong key size'() {
1857
+ $mol_assert_fail(() => $mol_crypto2_secret.from(new Uint8Array(8)), 'Wrong key size');
1858
1858
  },
1859
1859
  async 'Decrypt self encrypted'() {
1860
- const secret = $mol_crypto_sacred.make();
1860
+ const secret = $mol_crypto2_secret.make();
1861
+ const nonce = $mol_crypto2_nonce();
1861
1862
  const data = new Uint8Array([1, 2, 3]);
1862
- const salt = $mol_crypto_salt();
1863
- const closed = await secret.encrypt(data, salt);
1864
- const opened = await secret.decrypt(closed, salt);
1865
- $mol_assert_equal(data, opened);
1863
+ const closed = await secret.encrypt(data, nonce);
1864
+ $mol_assert_equal(closed.byteLength, 3);
1865
+ const opened = await secret.decrypt(closed, nonce);
1866
+ $mol_assert_equal(opened, data);
1866
1867
  },
1867
1868
  async 'Decrypt encrypted with exported key'() {
1868
1869
  const data = new Uint8Array([1, 2, 3]);
1869
- const salt = $mol_crypto_salt();
1870
- const Alice = $mol_crypto_sacred.make();
1871
- const closed = await Alice.encrypt(data, salt);
1872
- const Bob = $mol_crypto_sacred.from(Alice.asArray());
1873
- const opened = await Bob.decrypt(closed, salt);
1870
+ const nonce = $mol_crypto2_nonce();
1871
+ const Alice = $mol_crypto2_secret.make();
1872
+ const closed = await Alice.encrypt(data, nonce);
1873
+ const Bob = $mol_crypto2_secret.from(Alice.asArray());
1874
+ const opened = await Bob.decrypt(closed, nonce);
1874
1875
  $mol_assert_equal(data, opened);
1875
1876
  },
1876
1877
  });