You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					99 lines
				
				3.0 KiB
			
		
		
			
		
	
	
					99 lines
				
				3.0 KiB
			| 
											3 years ago
										 | // Type definitions for TweetNaCl.js
 | ||
|  | 
 | ||
|  | export as namespace nacl; | ||
|  | 
 | ||
|  | declare var nacl: nacl; | ||
|  | export = nacl; | ||
|  | 
 | ||
|  | declare namespace nacl { | ||
|  |     export interface BoxKeyPair { | ||
|  |         publicKey: Uint8Array; | ||
|  |         secretKey: Uint8Array; | ||
|  |     } | ||
|  | 
 | ||
|  |     export interface SignKeyPair { | ||
|  |         publicKey: Uint8Array; | ||
|  |         secretKey: Uint8Array; | ||
|  |     } | ||
|  | 
 | ||
|  |     export interface secretbox { | ||
|  |         (msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array; | ||
|  |         open(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | false; | ||
|  |         readonly keyLength: number; | ||
|  |         readonly nonceLength: number; | ||
|  |         readonly overheadLength: number; | ||
|  |     } | ||
|  | 
 | ||
|  |     export interface scalarMult { | ||
|  |         (n: Uint8Array, p: Uint8Array): Uint8Array; | ||
|  |         base(n: Uint8Array): Uint8Array; | ||
|  |         readonly scalarLength: number; | ||
|  |         readonly groupElementLength: number; | ||
|  |     } | ||
|  | 
 | ||
|  |     namespace box { | ||
|  |         export interface open { | ||
|  |             (msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array | false; | ||
|  |             after(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | false; | ||
|  |         } | ||
|  | 
 | ||
|  |         export interface keyPair { | ||
|  |             (): BoxKeyPair; | ||
|  |             fromSecretKey(secretKey: Uint8Array): BoxKeyPair; | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     export interface box { | ||
|  |         (msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array; | ||
|  |         before(publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array; | ||
|  |         after(msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array; | ||
|  |         open: box.open; | ||
|  |         keyPair: box.keyPair; | ||
|  |         readonly publicKeyLength: number; | ||
|  |         readonly secretKeyLength: number; | ||
|  |         readonly sharedKeyLength: number; | ||
|  |         readonly nonceLength: number; | ||
|  |         readonly overheadLength: number; | ||
|  |     } | ||
|  | 
 | ||
|  |     namespace sign { | ||
|  |         export interface detached { | ||
|  |             (msg: Uint8Array, secretKey: Uint8Array): Uint8Array; | ||
|  |             verify(msg: Uint8Array, sig: Uint8Array, publicKey: Uint8Array): boolean; | ||
|  |         } | ||
|  | 
 | ||
|  |         export interface keyPair { | ||
|  |             (): SignKeyPair; | ||
|  |             fromSecretKey(secretKey: Uint8Array): SignKeyPair; | ||
|  |             fromSeed(secretKey: Uint8Array): SignKeyPair; | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     export interface sign { | ||
|  |         (msg: Uint8Array, secretKey: Uint8Array): Uint8Array; | ||
|  |         open(signedMsg: Uint8Array, publicKey: Uint8Array): Uint8Array | null; | ||
|  |         detached: sign.detached; | ||
|  |         keyPair: sign.keyPair; | ||
|  |         readonly publicKeyLength: number; | ||
|  |         readonly secretKeyLength: number; | ||
|  |         readonly seedLength: number; | ||
|  |         readonly signatureLength: number; | ||
|  |     } | ||
|  | 
 | ||
|  |     export interface hash { | ||
|  |         (msg: Uint8Array): Uint8Array; | ||
|  |         readonly hashLength: number; | ||
|  |     } | ||
|  | } | ||
|  | 
 | ||
|  | declare interface nacl { | ||
|  |     randomBytes(n: number): Uint8Array; | ||
|  |     secretbox: nacl.secretbox; | ||
|  |     scalarMult: nacl.scalarMult; | ||
|  |     box: nacl.box; | ||
|  |     sign: nacl.sign; | ||
|  |     hash: nacl.hash; | ||
|  |     verify(x: Uint8Array, y: Uint8Array): boolean; | ||
|  |     setPRNG(fn: (x: Uint8Array, n: number) => void): void; | ||
|  | } |