@ocap/mcrypto 1.27.16 → 1.28.1

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.
Files changed (66) hide show
  1. package/esm/crypter/aes-legacy.d.ts +8 -6
  2. package/esm/crypter/aes-legacy.js +27 -24
  3. package/esm/crypter/aes.d.ts +9 -7
  4. package/esm/crypter/aes.js +27 -25
  5. package/esm/crypter/rsa-browserify.d.ts +7 -6
  6. package/esm/crypter/rsa-browserify.js +34 -31
  7. package/esm/crypter/rsa.d.ts +11 -9
  8. package/esm/crypter/rsa.js +31 -28
  9. package/esm/encode.d.ts +12 -8
  10. package/esm/encode.js +13 -18
  11. package/esm/hasher/keccak.d.ts +8 -5
  12. package/esm/hasher/keccak.js +37 -36
  13. package/esm/hasher/sha2.d.ts +8 -5
  14. package/esm/hasher/sha2.js +42 -40
  15. package/esm/hasher/sha3.d.ts +8 -5
  16. package/esm/hasher/sha3.js +37 -36
  17. package/esm/index.d.ts +148 -143
  18. package/esm/index.js +172 -209
  19. package/esm/protocols/crypter.d.ts +3 -1
  20. package/esm/protocols/crypter.js +7 -4
  21. package/esm/protocols/hasher.d.ts +3 -1
  22. package/esm/protocols/hasher.js +7 -4
  23. package/esm/protocols/signer.d.ts +3 -1
  24. package/esm/protocols/signer.js +7 -4
  25. package/esm/signer/ed25519.d.ts +49 -46
  26. package/esm/signer/ed25519.js +80 -80
  27. package/esm/signer/ethereum.d.ts +11 -8
  28. package/esm/signer/ethereum.js +34 -34
  29. package/esm/signer/passkey.d.ts +21 -18
  30. package/esm/signer/passkey.js +49 -58
  31. package/esm/signer/secp256k1.d.ts +35 -32
  32. package/esm/signer/secp256k1.js +80 -93
  33. package/lib/_virtual/rolldown_runtime.js +29 -0
  34. package/lib/crypter/aes-legacy.d.ts +8 -6
  35. package/lib/crypter/aes-legacy.js +35 -52
  36. package/lib/crypter/aes.d.ts +9 -7
  37. package/lib/crypter/aes.js +29 -29
  38. package/lib/crypter/rsa-browserify.d.ts +7 -6
  39. package/lib/crypter/rsa-browserify.js +36 -33
  40. package/lib/crypter/rsa.d.ts +11 -9
  41. package/lib/crypter/rsa.js +33 -32
  42. package/lib/encode.d.ts +12 -8
  43. package/lib/encode.js +14 -21
  44. package/lib/hasher/keccak.d.ts +8 -5
  45. package/lib/hasher/keccak.js +40 -41
  46. package/lib/hasher/sha2.d.ts +8 -5
  47. package/lib/hasher/sha2.js +43 -42
  48. package/lib/hasher/sha3.d.ts +8 -5
  49. package/lib/hasher/sha3.js +40 -41
  50. package/lib/index.d.ts +148 -143
  51. package/lib/index.js +177 -216
  52. package/lib/protocols/crypter.d.ts +3 -1
  53. package/lib/protocols/crypter.js +10 -9
  54. package/lib/protocols/hasher.d.ts +3 -1
  55. package/lib/protocols/hasher.js +10 -9
  56. package/lib/protocols/signer.d.ts +3 -1
  57. package/lib/protocols/signer.js +10 -9
  58. package/lib/signer/ed25519.d.ts +49 -46
  59. package/lib/signer/ed25519.js +85 -86
  60. package/lib/signer/ethereum.d.ts +11 -8
  61. package/lib/signer/ethereum.js +38 -39
  62. package/lib/signer/passkey.d.ts +21 -18
  63. package/lib/signer/passkey.js +51 -63
  64. package/lib/signer/secp256k1.d.ts +35 -32
  65. package/lib/signer/secp256k1.js +85 -99
  66. package/package.json +21 -10
package/lib/index.d.ts CHANGED
@@ -1,39 +1,48 @@
1
- import type { BytesType, EncodingType, KeyPairType } from '@ocap/util';
2
- import type { LiteralUnion } from 'type-fest';
3
- export type KeyType = LiteralUnion<'ED25519' | 'SECP256K1' | 'ETHEREUM', string>;
4
- export type HashType = LiteralUnion<'KECCAK' | 'SHA3' | 'KECCAK_384' | 'SHA3_384' | 'KECCAK_512' | 'SHA3_512' | 'SHA2', string>;
5
- export type RoleType = LiteralUnion<'ROLE_ACCOUNT' | 'ROLE_NODE' | 'ROLE_DEVICE' | 'ROLE_APPLICATION' | 'ROLE_SMART_CONTRACT' | 'ROLE_BOT' | 'ROLE_ASSET' | 'ROLE_STAKE' | 'ROLE_VALIDATOR' | 'ROLE_GROUP' | 'ROLE_GROUP' | 'ROLE_TX' | 'ROLE_TETHER' | 'ROLE_SWAP' | 'ROLE_DELEGATION' | 'ROLE_VC' | 'ROLE_BLOCKLET' | 'ROLE_STORE' | 'ROLE_TOKEN' | 'ROLE_FACTORY' | 'ROLE_ROLLUP' | 'ROLE_STORAGE' | 'ROLE_PROFILE' | 'ROLE_PASSKEY' | 'ROLE_TOKEN_FACTORY' | 'ROLE_ANY', string>;
6
- export type AddressType = LiteralUnion<'BASE16' | 'BASE58', string>;
7
- export interface HashFnType {
8
- (data: BytesType, round: number, encoding?: 'hex'): string;
9
- (data: BytesType, round: number, encoding?: 'base16'): string;
10
- (data: BytesType, round: number, encoding?: 'base58'): string;
11
- (data: BytesType, round: number, encoding?: 'base64'): string;
12
- (data: BytesType, round: number, encoding?: 'buffer'): Buffer;
13
- (data: BytesType, round: number, encoding?: 'Uint8Array'): Uint8Array;
14
- (data: BytesType, round: number, encoding?: EncodingType): BytesType;
1
+ import { KeccakHasher } from "./hasher/keccak.js";
2
+ import { Sha2Hasher } from "./hasher/sha2.js";
3
+ import { Sha3Hasher } from "./hasher/sha3.js";
4
+ import { Ed25519Signer } from "./signer/ed25519.js";
5
+ import { Secp256k1Signer } from "./signer/secp256k1.js";
6
+ import { EthereumSigner } from "./signer/ethereum.js";
7
+ import { PasskeySigner } from "./signer/passkey.js";
8
+ import { BytesType, EncodingType, KeyPairType } from "@ocap/util";
9
+ import { LiteralUnion } from "type-fest";
10
+
11
+ //#region src/index.d.ts
12
+ type KeyType = LiteralUnion<'ED25519' | 'SECP256K1' | 'ETHEREUM', string>;
13
+ type HashType = LiteralUnion<'KECCAK' | 'SHA3' | 'KECCAK_384' | 'SHA3_384' | 'KECCAK_512' | 'SHA3_512' | 'SHA2', string>;
14
+ type RoleType = LiteralUnion<'ROLE_ACCOUNT' | 'ROLE_NODE' | 'ROLE_DEVICE' | 'ROLE_APPLICATION' | 'ROLE_SMART_CONTRACT' | 'ROLE_BOT' | 'ROLE_ASSET' | 'ROLE_STAKE' | 'ROLE_VALIDATOR' | 'ROLE_GROUP' | 'ROLE_GROUP' | 'ROLE_TX' | 'ROLE_TETHER' | 'ROLE_SWAP' | 'ROLE_DELEGATION' | 'ROLE_VC' | 'ROLE_BLOCKLET' | 'ROLE_STORE' | 'ROLE_TOKEN' | 'ROLE_FACTORY' | 'ROLE_ROLLUP' | 'ROLE_STORAGE' | 'ROLE_PROFILE' | 'ROLE_PASSKEY' | 'ROLE_TOKEN_FACTORY' | 'ROLE_ANY', string>;
15
+ type AddressType = LiteralUnion<'BASE16' | 'BASE58', string>;
16
+ interface HashFnType {
17
+ (data: BytesType, round: number, encoding?: 'hex'): string;
18
+ (data: BytesType, round: number, encoding?: 'base16'): string;
19
+ (data: BytesType, round: number, encoding?: 'base58'): string;
20
+ (data: BytesType, round: number, encoding?: 'base64'): string;
21
+ (data: BytesType, round: number, encoding?: 'buffer'): Buffer;
22
+ (data: BytesType, round: number, encoding?: 'Uint8Array'): Uint8Array;
23
+ (data: BytesType, round: number, encoding?: EncodingType): BytesType;
15
24
  }
16
- export interface SignerType {
17
- genKeyPair(encoding?: EncodingType, seed?: BytesType): KeyPairType;
18
- getPublicKey(sk: BytesType, encoding?: 'hex'): string;
19
- getPublicKey(sk: BytesType, encoding?: 'base16'): string;
20
- getPublicKey(sk: BytesType, encoding?: 'base58'): string;
21
- getPublicKey(sk: BytesType, encoding?: 'base64'): string;
22
- getPublicKey(sk: BytesType, encoding?: 'buffer'): Buffer;
23
- getPublicKey(sk: BytesType, encoding?: 'Uint8Array'): Uint8Array;
24
- getPublicKey(sk: BytesType, encoding?: EncodingType): BytesType;
25
- sign(data: BytesType, sk: BytesType, encoding?: 'hex'): string;
26
- sign(data: BytesType, sk: BytesType, encoding?: 'base16'): string;
27
- sign(data: BytesType, sk: BytesType, encoding?: 'base58'): string;
28
- sign(data: BytesType, sk: BytesType, encoding?: 'base64'): string;
29
- sign(data: BytesType, sk: BytesType, encoding?: 'buffer'): Buffer;
30
- sign(data: BytesType, sk: BytesType, encoding?: 'Uint8Array'): Uint8Array;
31
- sign(data: BytesType, sk: BytesType, encoding?: EncodingType): BytesType;
32
- verify(data: BytesType, pk: BytesType, signature: BytesType, extra?: any): boolean;
33
- ethHash?(data: string): string;
34
- ethSign?(data: string, sk: string): string;
35
- ethVerify?(data: string, pk: string, signature: BytesType): boolean;
36
- ethRecover?(hash: string, signature: string): string;
25
+ interface SignerType {
26
+ genKeyPair(encoding?: EncodingType, seed?: BytesType): KeyPairType;
27
+ getPublicKey(sk: BytesType, encoding?: 'hex'): string;
28
+ getPublicKey(sk: BytesType, encoding?: 'base16'): string;
29
+ getPublicKey(sk: BytesType, encoding?: 'base58'): string;
30
+ getPublicKey(sk: BytesType, encoding?: 'base64'): string;
31
+ getPublicKey(sk: BytesType, encoding?: 'buffer'): Buffer;
32
+ getPublicKey(sk: BytesType, encoding?: 'Uint8Array'): Uint8Array;
33
+ getPublicKey(sk: BytesType, encoding?: EncodingType): BytesType;
34
+ sign(data: BytesType, sk: BytesType, encoding?: 'hex'): string;
35
+ sign(data: BytesType, sk: BytesType, encoding?: 'base16'): string;
36
+ sign(data: BytesType, sk: BytesType, encoding?: 'base58'): string;
37
+ sign(data: BytesType, sk: BytesType, encoding?: 'base64'): string;
38
+ sign(data: BytesType, sk: BytesType, encoding?: 'buffer'): Buffer;
39
+ sign(data: BytesType, sk: BytesType, encoding?: 'Uint8Array'): Uint8Array;
40
+ sign(data: BytesType, sk: BytesType, encoding?: EncodingType): BytesType;
41
+ verify(data: BytesType, pk: BytesType, signature: BytesType, extra?: any): boolean;
42
+ ethHash?(data: string): string;
43
+ ethSign?(data: string, sk: string): string;
44
+ ethVerify?(data: string, pk: string, signature: BytesType): boolean;
45
+ ethRecover?(hash: string, signature: string): string;
37
46
  }
38
47
  /**
39
48
  * Contains all supported signers, eg: `Ed25519` and `Secp256k1`
@@ -52,11 +61,11 @@ export interface SignerType {
52
61
  * const result = Signer.Ed25519.verify(message, signature, keyPair.publicKey);
53
62
  * assert.ok(result);
54
63
  */
55
- export declare const Signer: {
56
- Ed25519: import("./signer/ed25519").Ed25519Signer;
57
- Secp256k1: import("./signer/secp256k1").Secp256k1Signer;
58
- Ethereum: import("./signer/ethereum").EthereumSigner;
59
- Passkey: import("./signer/passkey").PasskeySigner;
64
+ declare const Signer: {
65
+ Ed25519: Ed25519Signer;
66
+ Secp256k1: Secp256k1Signer;
67
+ Ethereum: EthereumSigner;
68
+ Passkey: PasskeySigner;
60
69
  };
61
70
  /**
62
71
  * Contains all supported hasher, eg: `SHA2`,`SHA3` and `Keccak`, each of them supports `hash224`, `hash256`, `hash384`, `hash512`
@@ -71,10 +80,10 @@ export declare const Signer: {
71
80
  * const message = 'message to hash';
72
81
  * const hash = Hasher.SHA2.hash256(message);
73
82
  */
74
- export declare const Hasher: {
75
- SHA2: import("./hasher/sha2").Sha2Hasher;
76
- SHA3: import("./hasher/sha3").Sha3Hasher;
77
- Keccak: import("./hasher/keccak").KeccakHasher;
83
+ declare const Hasher: {
84
+ SHA2: Sha2Hasher;
85
+ SHA3: Sha3Hasher;
86
+ Keccak: KeccakHasher;
78
87
  };
79
88
  /**
80
89
  * Contains type constants that represent can be used to compose different crypto method, each crypto method consist one of:
@@ -92,89 +101,89 @@ export declare const Hasher: {
92
101
  * // types.HashType.SHA3
93
102
  * // types.EncodingType.BASE58
94
103
  */
95
- export declare const types: {
96
- /**
97
- * Key-pair derivation algorithms
98
- *
99
- * @readonly
100
- * @enum {number}
101
- * @name types.KeyType
102
- * @memberof types
103
- * @static
104
- */
105
- KeyType: {
106
- ED25519: number;
107
- SECP256K1: number;
108
- ETHEREUM: number;
109
- PASSKEY: number;
110
- };
111
- /**
112
- * Hashing algorithms
113
- *
114
- * @readonly
115
- * @enum {number}
116
- * @name types.HashType
117
- * @memberof types
118
- * @static
119
- */
120
- HashType: {
121
- KECCAK: number;
122
- SHA3: number;
123
- KECCAK_384: number;
124
- SHA3_384: number;
125
- KECCAK_512: number;
126
- SHA3_512: number;
127
- SHA2: number;
128
- };
129
- /**
130
- * DID wallet role type
131
- *
132
- * @readonly
133
- * @enum {number}
134
- * @name types.RoleType
135
- * @memberof types
136
- * @static
137
- */
138
- RoleType: {
139
- ROLE_ACCOUNT: number;
140
- ROLE_NODE: number;
141
- ROLE_DEVICE: number;
142
- ROLE_APPLICATION: number;
143
- ROLE_SMART_CONTRACT: number;
144
- ROLE_BOT: number;
145
- ROLE_ASSET: number;
146
- ROLE_STAKE: number;
147
- ROLE_VALIDATOR: number;
148
- ROLE_GROUP: number;
149
- ROLE_TX: number;
150
- ROLE_TETHER: number;
151
- ROLE_SWAP: number;
152
- ROLE_DELEGATION: number;
153
- ROLE_VC: number;
154
- ROLE_BLOCKLET: number;
155
- ROLE_STORE: number;
156
- ROLE_TOKEN: number;
157
- ROLE_FACTORY: number;
158
- ROLE_ROLLUP: number;
159
- ROLE_STORAGE: number;
160
- ROLE_PROFILE: number;
161
- ROLE_PASSKEY: number;
162
- ROLE_TOKEN_FACTORY: number;
163
- ROLE_ANY: number;
164
- };
165
- /**
166
- * Address encoding algorithm, defaults to `base58btc`
167
- *
168
- * @readonly
169
- * @enum {number}
170
- * @name types.RoleType
171
- * @memberof types
172
- * @static
173
- */
174
- EncodingType: {
175
- BASE16: number;
176
- BASE58: number;
177
- };
104
+ declare const types: {
105
+ /**
106
+ * Key-pair derivation algorithms
107
+ *
108
+ * @readonly
109
+ * @enum {number}
110
+ * @name types.KeyType
111
+ * @memberof types
112
+ * @static
113
+ */
114
+ KeyType: {
115
+ ED25519: number;
116
+ SECP256K1: number;
117
+ ETHEREUM: number;
118
+ PASSKEY: number;
119
+ };
120
+ /**
121
+ * Hashing algorithms
122
+ *
123
+ * @readonly
124
+ * @enum {number}
125
+ * @name types.HashType
126
+ * @memberof types
127
+ * @static
128
+ */
129
+ HashType: {
130
+ KECCAK: number;
131
+ SHA3: number;
132
+ KECCAK_384: number;
133
+ SHA3_384: number;
134
+ KECCAK_512: number;
135
+ SHA3_512: number;
136
+ SHA2: number;
137
+ };
138
+ /**
139
+ * DID wallet role type
140
+ *
141
+ * @readonly
142
+ * @enum {number}
143
+ * @name types.RoleType
144
+ * @memberof types
145
+ * @static
146
+ */
147
+ RoleType: {
148
+ ROLE_ACCOUNT: number;
149
+ ROLE_NODE: number;
150
+ ROLE_DEVICE: number;
151
+ ROLE_APPLICATION: number;
152
+ ROLE_SMART_CONTRACT: number;
153
+ ROLE_BOT: number;
154
+ ROLE_ASSET: number;
155
+ ROLE_STAKE: number;
156
+ ROLE_VALIDATOR: number;
157
+ ROLE_GROUP: number;
158
+ ROLE_TX: number;
159
+ ROLE_TETHER: number;
160
+ ROLE_SWAP: number;
161
+ ROLE_DELEGATION: number;
162
+ ROLE_VC: number;
163
+ ROLE_BLOCKLET: number;
164
+ ROLE_STORE: number;
165
+ ROLE_TOKEN: number;
166
+ ROLE_FACTORY: number;
167
+ ROLE_ROLLUP: number;
168
+ ROLE_STORAGE: number;
169
+ ROLE_PROFILE: number;
170
+ ROLE_PASSKEY: number;
171
+ ROLE_TOKEN_FACTORY: number;
172
+ ROLE_ANY: number;
173
+ };
174
+ /**
175
+ * Address encoding algorithm, defaults to `base58btc`
176
+ *
177
+ * @readonly
178
+ * @enum {number}
179
+ * @name types.RoleType
180
+ * @memberof types
181
+ * @static
182
+ */
183
+ EncodingType: {
184
+ BASE16: number;
185
+ BASE58: number;
186
+ };
178
187
  };
179
188
  /**
180
189
  * Get signer instance
@@ -195,7 +204,7 @@ export declare const types: {
195
204
  * const result1 = signer.verify(message, signature1, keyPair1.publicKey);
196
205
  * assert.ok(result1);
197
206
  */
198
- export declare function getSigner(type: number): SignerType;
207
+ declare function getSigner(type: number): SignerType;
199
208
  /**
200
209
  * Get hasher instance
201
210
  *
@@ -214,21 +223,17 @@ export declare function getSigner(type: number): SignerType;
214
223
  * const hashFn = getHasher(types.HashType.SHA3);
215
224
  * const hash2 = hashFn(message);
216
225
  */
217
- export declare function getHasher(type: number): HashFnType;
226
+ declare function getHasher(type: number): HashFnType;
218
227
  /**
219
228
  * Get random bytes in specified encoding
220
229
  */
221
- export declare function getRandomBytes(length: number, encoding?: 'hex'): string;
222
- export declare function getRandomBytes(length: number, encoding?: 'base16'): string;
223
- export declare function getRandomBytes(length: number, encoding?: 'base58'): string;
224
- export declare function getRandomBytes(length: number, encoding?: 'base64'): string;
225
- export declare function getRandomBytes(length: number, encoding?: 'buffer'): Buffer;
226
- export declare function getRandomBytes(length: number, encoding?: 'Uint8Array'): Uint8Array;
227
- export declare function getRandomBytes(length: number, encoding?: EncodingType): BytesType;
228
- export declare const Signers: Readonly<{
229
- [x: number]: import("./signer/ed25519").Ed25519Signer | import("./signer/secp256k1").Secp256k1Signer | import("./signer/passkey").PasskeySigner;
230
- }>;
231
- export declare const Hashers: Readonly<{
232
- [x: number]: (data: BytesType, round?: number, encoding?: EncodingType) => BytesType;
233
- }>;
234
- export declare const toTxHash: (buf: Buffer | Uint8Array) => string;
230
+ declare function getRandomBytes(length: number, encoding?: 'hex'): string;
231
+ declare function getRandomBytes(length: number, encoding?: 'base16'): string;
232
+ declare function getRandomBytes(length: number, encoding?: 'base58'): string;
233
+ declare function getRandomBytes(length: number, encoding?: 'base64'): string;
234
+ declare function getRandomBytes(length: number, encoding?: 'buffer'): Buffer;
235
+ declare function getRandomBytes(length: number, encoding?: 'Uint8Array'): Uint8Array;
236
+ declare function getRandomBytes(length: number, encoding?: EncodingType): BytesType;
237
+ declare const toTxHash: (buf: Buffer | Uint8Array) => string;
238
+ //#endregion
239
+ export { AddressType, HashFnType, HashType, Hasher, KeyType, RoleType, Signer, SignerType, getHasher, getRandomBytes, getSigner, toTxHash, types };