@aptos-labs/ts-sdk 7.0.1 → 7.1.0

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 (93) hide show
  1. package/dist/account/AbstractKeylessAccount.d.ts.map +1 -1
  2. package/dist/account/AbstractKeylessAccount.js +3 -0
  3. package/dist/account/AbstractKeylessAccount.js.map +1 -1
  4. package/dist/account/EphemeralKeyPair.d.ts +29 -6
  5. package/dist/account/EphemeralKeyPair.d.ts.map +1 -1
  6. package/dist/account/EphemeralKeyPair.js +35 -8
  7. package/dist/account/EphemeralKeyPair.js.map +1 -1
  8. package/dist/bcs/deserializer.d.ts.map +1 -1
  9. package/dist/bcs/deserializer.js +15 -0
  10. package/dist/bcs/deserializer.js.map +1 -1
  11. package/dist/cli/index.d.ts +1 -0
  12. package/dist/cli/index.d.ts.map +1 -1
  13. package/dist/cli/index.js +1 -0
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/localNode.d.ts.map +1 -1
  16. package/dist/cli/localNode.js +6 -0
  17. package/dist/cli/localNode.js.map +1 -1
  18. package/dist/cli/move.d.ts.map +1 -1
  19. package/dist/cli/move.js +8 -0
  20. package/dist/cli/move.js.map +1 -1
  21. package/dist/cli/spawnArgs.d.ts +12 -0
  22. package/dist/cli/spawnArgs.d.ts.map +1 -0
  23. package/dist/cli/spawnArgs.js +51 -0
  24. package/dist/cli/spawnArgs.js.map +1 -0
  25. package/dist/core/crypto/ed25519.d.ts +117 -4
  26. package/dist/core/crypto/ed25519.d.ts.map +1 -1
  27. package/dist/core/crypto/ed25519.js +128 -14
  28. package/dist/core/crypto/ed25519.js.map +1 -1
  29. package/dist/core/crypto/keyless.d.ts +14 -0
  30. package/dist/core/crypto/keyless.d.ts.map +1 -1
  31. package/dist/core/crypto/keyless.js +22 -3
  32. package/dist/core/crypto/keyless.js.map +1 -1
  33. package/dist/core/crypto/poseidon.js +5 -5
  34. package/dist/core/crypto/poseidon.js.map +1 -1
  35. package/dist/core/crypto/secp256k1.d.ts +123 -5
  36. package/dist/core/crypto/secp256k1.d.ts.map +1 -1
  37. package/dist/core/crypto/secp256k1.js +137 -13
  38. package/dist/core/crypto/secp256k1.js.map +1 -1
  39. package/dist/core/crypto/secp256r1.d.ts +121 -1
  40. package/dist/core/crypto/secp256r1.d.ts.map +1 -1
  41. package/dist/core/crypto/secp256r1.js +156 -9
  42. package/dist/core/crypto/secp256r1.js.map +1 -1
  43. package/dist/core/crypto/utils.d.ts +28 -1
  44. package/dist/core/crypto/utils.d.ts.map +1 -1
  45. package/dist/core/crypto/utils.js +28 -1
  46. package/dist/core/crypto/utils.js.map +1 -1
  47. package/dist/errors/index.d.ts +19 -0
  48. package/dist/errors/index.d.ts.map +1 -1
  49. package/dist/errors/index.js +35 -0
  50. package/dist/errors/index.js.map +1 -1
  51. package/dist/internal/account.d.ts +17 -0
  52. package/dist/internal/account.d.ts.map +1 -1
  53. package/dist/internal/account.js +66 -17
  54. package/dist/internal/account.js.map +1 -1
  55. package/dist/internal/keyless.d.ts.map +1 -1
  56. package/dist/internal/keyless.js +86 -2
  57. package/dist/internal/keyless.js.map +1 -1
  58. package/dist/internal/transaction.d.ts.map +1 -1
  59. package/dist/internal/transaction.js +20 -3
  60. package/dist/internal/transaction.js.map +1 -1
  61. package/dist/transactions/transactionBuilder/encryptPayload.d.ts.map +1 -1
  62. package/dist/transactions/transactionBuilder/encryptPayload.js +37 -38
  63. package/dist/transactions/transactionBuilder/encryptPayload.js.map +1 -1
  64. package/dist/transactions/types.d.ts +17 -13
  65. package/dist/transactions/types.d.ts.map +1 -1
  66. package/dist/utils/helpers.d.ts +16 -0
  67. package/dist/utils/helpers.d.ts.map +1 -1
  68. package/dist/utils/helpers.js +29 -0
  69. package/dist/utils/helpers.js.map +1 -1
  70. package/dist/version.d.ts +1 -1
  71. package/dist/version.js +1 -1
  72. package/package.json +3 -2
  73. package/src/account/AbstractKeylessAccount.ts +3 -0
  74. package/src/account/EphemeralKeyPair.ts +35 -8
  75. package/src/bcs/deserializer.ts +16 -0
  76. package/src/cli/index.ts +1 -0
  77. package/src/cli/localNode.ts +7 -0
  78. package/src/cli/move.ts +9 -0
  79. package/src/cli/spawnArgs.ts +55 -0
  80. package/src/core/crypto/ed25519.ts +132 -15
  81. package/src/core/crypto/keyless.ts +22 -3
  82. package/src/core/crypto/poseidon.ts +5 -5
  83. package/src/core/crypto/secp256k1.ts +141 -13
  84. package/src/core/crypto/secp256r1.ts +164 -11
  85. package/src/core/crypto/utils.ts +28 -1
  86. package/src/errors/index.ts +37 -0
  87. package/src/internal/account.ts +73 -17
  88. package/src/internal/keyless.ts +88 -2
  89. package/src/internal/transaction.ts +22 -3
  90. package/src/transactions/transactionBuilder/encryptPayload.ts +51 -45
  91. package/src/transactions/types.ts +17 -13
  92. package/src/utils/helpers.ts +33 -0
  93. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["../../../src/core/crypto/secp256k1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["../../../src/core/crypto/secp256k1.ts"],"names":[],"mappings":"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"}
@@ -53,10 +53,49 @@ export declare class Secp256r1PublicKey extends PublicKey {
53
53
  * @category Serialization
54
54
  */
55
55
  bcsToBytes(): Uint8Array<ArrayBufferLike>;
56
+ /**
57
+ * Verifies a signature against the exact bytes of `message`. This is the
58
+ * unambiguous form — the input is interpreted as raw bytes regardless of
59
+ * what they encode. Pair with {@link Secp256r1PrivateKey.signBytes}.
60
+ *
61
+ * The message is SHA3-256 hashed before verification (matching the
62
+ * Aptos-side Secp256r1 signing convention), and the signature is required
63
+ * to be in canonical low-S form for malleability resistance.
64
+ *
65
+ * @param args - The arguments for verification.
66
+ * @param args.message - The exact bytes that were signed.
67
+ * @param args.signature - The signature to verify.
68
+ * @group Implementation
69
+ * @category Serialization
70
+ */
71
+ verifyBytes(args: {
72
+ message: Uint8Array;
73
+ signature: Signature;
74
+ }): boolean;
75
+ /**
76
+ * Verifies a signature against the UTF-8 encoding of `message`. The input
77
+ * is always treated as text — there is no hex/text heuristic. Pair with
78
+ * {@link Secp256r1PrivateKey.signText}.
79
+ *
80
+ * @param args - The arguments for verification.
81
+ * @param args.message - The text that was signed.
82
+ * @param args.signature - The signature to verify.
83
+ * @group Implementation
84
+ * @category Serialization
85
+ */
86
+ verifyText(args: {
87
+ message: string;
88
+ signature: Signature;
89
+ }): boolean;
56
90
  /**
57
91
  * Verifies a Secp256r1 signature against the public key.
58
92
  *
59
- * This function checks the validity of a signature for a given message.
93
+ * @deprecated The polymorphic `message: HexInput` input is ambiguous a
94
+ * bare even-length string of hex characters (e.g., `"cafe"`) is verified
95
+ * against the 2 bytes `[0xCA, 0xFE]`, not 4 UTF-8 text bytes. Use
96
+ * {@link verifyBytes} for `Uint8Array` input or {@link verifyText} for
97
+ * `string` input; both are unambiguous. See
98
+ * {@link convertSigningMessage} for the full legacy rule.
60
99
  *
61
100
  * @param args - The arguments for verifying the signature.
62
101
  * @param args.message - The message that was signed.
@@ -148,6 +187,11 @@ export declare class Secp256r1PrivateKey extends PrivateKey {
148
187
  * @category Serialization
149
188
  */
150
189
  private readonly key;
190
+ /**
191
+ * Whether the key has been cleared from memory.
192
+ * @private
193
+ */
194
+ private cleared;
151
195
  /**
152
196
  * Create a new PrivateKey instance from a Uint8Array or String.
153
197
  *
@@ -163,6 +207,7 @@ export declare class Secp256r1PrivateKey extends PrivateKey {
163
207
  * Get the private key in bytes (Uint8Array).
164
208
  *
165
209
  * @returns
210
+ * @throws Error if the private key has been cleared from memory.
166
211
  * @group Implementation
167
212
  * @category Serialization
168
213
  */
@@ -170,7 +215,15 @@ export declare class Secp256r1PrivateKey extends PrivateKey {
170
215
  /**
171
216
  * Get the private key as a string representation.
172
217
  *
218
+ * SECURITY: This produces an immutable JS string containing the key
219
+ * material. Strings cannot be zeroed by `clear()` (see the `clear()`
220
+ * JSDoc for the four classes of unreachable copies). Avoid calling this
221
+ * method on long-lived `Secp256r1PrivateKey` instances in processes
222
+ * where memory hygiene matters; prefer `toUint8Array()`, which returns
223
+ * a clearable `Uint8Array`.
224
+ *
173
225
  * @returns string representation of the private key
226
+ * @throws Error if the private key has been cleared from memory.
174
227
  * @group Implementation
175
228
  * @category Serialization
176
229
  */
@@ -178,15 +231,54 @@ export declare class Secp256r1PrivateKey extends PrivateKey {
178
231
  /**
179
232
  * Get the private key as a hex string with the 0x prefix.
180
233
  *
234
+ * SECURITY: Same caveat as `toString()` — produces an immutable JS string
235
+ * containing the key material; cannot be zeroed by `clear()`.
236
+ *
181
237
  * @returns string representation of the private key.
238
+ * @throws Error if the private key has been cleared from memory.
182
239
  */
183
240
  toHexString(): string;
241
+ /**
242
+ * Sign exactly the bytes of `message`. The input is interpreted as raw
243
+ * bytes regardless of what they encode. Pair with
244
+ * {@link Secp256r1PublicKey.verifyBytes}.
245
+ *
246
+ * The message is SHA3-256 hashed before signing (matching the Aptos-side
247
+ * Secp256r1 signing convention).
248
+ *
249
+ * @param message - The exact bytes to sign.
250
+ * @returns The generated signature for the provided bytes.
251
+ * @throws Error if the private key has been cleared from memory.
252
+ * @group Implementation
253
+ * @category Serialization
254
+ */
255
+ signBytes(message: Uint8Array): Secp256r1Signature;
256
+ /**
257
+ * Sign the UTF-8 encoding of `message`. The input is always treated as
258
+ * text — there is no hex/text heuristic. Pair with
259
+ * {@link Secp256r1PublicKey.verifyText}.
260
+ *
261
+ * @param message - The text to sign.
262
+ * @returns The generated signature for the UTF-8 bytes of the provided text.
263
+ * @throws Error if the private key has been cleared from memory.
264
+ * @group Implementation
265
+ * @category Serialization
266
+ */
267
+ signText(message: string): Secp256r1Signature;
184
268
  /**
185
269
  * Sign the given message with the private key.
186
270
  * This function generates a cryptographic signature for the provided message.
187
271
  *
272
+ * @deprecated The polymorphic `message: HexInput` input is ambiguous — a
273
+ * bare even-length string of hex characters (e.g., `"cafe"`) is signed
274
+ * as the 2 bytes `[0xCA, 0xFE]`, not 4 UTF-8 text bytes. Use
275
+ * {@link signBytes} for `Uint8Array` input or {@link signText} for
276
+ * `string` input; both are unambiguous. See
277
+ * {@link convertSigningMessage} for the full legacy rule.
278
+ *
188
279
  * @param message - A message in HexInput format to be signed.
189
280
  * @returns Signature - The generated signature for the provided message.
281
+ * @throws Error if the private key has been cleared from memory.
190
282
  * @group Implementation
191
283
  * @category Serialization
192
284
  */
@@ -221,10 +313,38 @@ export declare class Secp256r1PrivateKey extends PrivateKey {
221
313
  * Derive the Secp256r1PublicKey from this private key.
222
314
  *
223
315
  * @returns Secp256r1PublicKey The derived public key.
316
+ * @throws Error if the private key has been cleared from memory.
224
317
  * @group Implementation
225
318
  * @category Serialization
226
319
  */
227
320
  publicKey(): Secp256r1PublicKey;
321
+ /**
322
+ * Throws if the key has already been cleared.
323
+ * @private
324
+ */
325
+ private ensureNotCleared;
326
+ /**
327
+ * Overwrites the underlying private-key byte buffer with random bytes and
328
+ * then zeros. After calling this method the key can no longer sign or
329
+ * derive a public key.
330
+ *
331
+ * SECURITY: This is a best-effort window-narrowing tool, NOT a true
332
+ * zeroization guarantee. See `Ed25519PrivateKey.clear()` for the full
333
+ * enumeration of JavaScript-level limits (immutable string copies, noble
334
+ * `BigInt` intermediates, JIT register/stack residue, GC-relocated
335
+ * copies). For Secp256r1 specifically, non-extractable `crypto.subtle`
336
+ * P-256 keys are universally supported across modern runtimes and are
337
+ * the architecturally-correct path for callers who need real memory
338
+ * hygiene; consider that alternative for new code.
339
+ *
340
+ * @group Implementation
341
+ * @category Serialization
342
+ */
343
+ clear(): void;
344
+ /**
345
+ * Returns whether `clear()` has been called.
346
+ */
347
+ isCleared(): boolean;
228
348
  }
229
349
  export declare class WebAuthnSignature extends Signature {
230
350
  signature: Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"secp256r1.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/secp256r1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secp256r1.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/secp256r1.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ import { PublicKey } from "./publicKey.js";
9
9
  import { PrivateKey } from "./privateKey.js";
10
10
  import { Signature } from "./signature.js";
11
11
  import { AuthenticationKey } from "../authenticationKey.js";
12
+ import { convertSigningMessage } from "./utils.js";
13
+ import { TEXT_ENCODER } from "../../utils/const.js";
12
14
  /**
13
15
  * Represents a Secp256r1 ECDSA public key.
14
16
  *
@@ -83,10 +85,49 @@ export class Secp256r1PublicKey extends PublicKey {
83
85
  this.serialize(serializer);
84
86
  return serializer.toUint8Array();
85
87
  }
88
+ /**
89
+ * Verifies a signature against the exact bytes of `message`. This is the
90
+ * unambiguous form — the input is interpreted as raw bytes regardless of
91
+ * what they encode. Pair with {@link Secp256r1PrivateKey.signBytes}.
92
+ *
93
+ * The message is SHA3-256 hashed before verification (matching the
94
+ * Aptos-side Secp256r1 signing convention), and the signature is required
95
+ * to be in canonical low-S form for malleability resistance.
96
+ *
97
+ * @param args - The arguments for verification.
98
+ * @param args.message - The exact bytes that were signed.
99
+ * @param args.signature - The signature to verify.
100
+ * @group Implementation
101
+ * @category Serialization
102
+ */
103
+ verifyBytes(args) {
104
+ const { message, signature } = args;
105
+ const sha3Message = sha3_256(message);
106
+ return p256.verify(signature.toUint8Array(), sha3Message, this.toUint8Array(), { prehash: false, lowS: true });
107
+ }
108
+ /**
109
+ * Verifies a signature against the UTF-8 encoding of `message`. The input
110
+ * is always treated as text — there is no hex/text heuristic. Pair with
111
+ * {@link Secp256r1PrivateKey.signText}.
112
+ *
113
+ * @param args - The arguments for verification.
114
+ * @param args.message - The text that was signed.
115
+ * @param args.signature - The signature to verify.
116
+ * @group Implementation
117
+ * @category Serialization
118
+ */
119
+ verifyText(args) {
120
+ return this.verifyBytes({ message: TEXT_ENCODER.encode(args.message), signature: args.signature });
121
+ }
86
122
  /**
87
123
  * Verifies a Secp256r1 signature against the public key.
88
124
  *
89
- * This function checks the validity of a signature for a given message.
125
+ * @deprecated The polymorphic `message: HexInput` input is ambiguous a
126
+ * bare even-length string of hex characters (e.g., `"cafe"`) is verified
127
+ * against the 2 bytes `[0xCA, 0xFE]`, not 4 UTF-8 text bytes. Use
128
+ * {@link verifyBytes} for `Uint8Array` input or {@link verifyText} for
129
+ * `string` input; both are unambiguous. See
130
+ * {@link convertSigningMessage} for the full legacy rule.
90
131
  *
91
132
  * @param args - The arguments for verifying the signature.
92
133
  * @param args.message - The message that was signed.
@@ -96,10 +137,9 @@ export class Secp256r1PublicKey extends PublicKey {
96
137
  */
97
138
  verifySignature(args) {
98
139
  const { message, signature } = args;
99
- const msgHex = Hex.fromHexInput(message).toUint8Array();
100
- const sha3Message = sha3_256(msgHex);
101
- const rawSignature = signature.toUint8Array();
102
- return p256.verify(rawSignature, sha3Message, this.toUint8Array(), { prehash: false });
140
+ const messageToVerify = convertSigningMessage(message);
141
+ const msgBytes = Hex.fromHexInput(messageToVerify).toUint8Array();
142
+ return this.verifyBytes({ message: msgBytes, signature });
103
143
  }
104
144
  /**
105
145
  * Note: Secp256r1Signatures can be verified synchronously.
@@ -211,6 +251,11 @@ export class Secp256r1PrivateKey extends PrivateKey {
211
251
  * @category Serialization
212
252
  */
213
253
  key;
254
+ /**
255
+ * Whether the key has been cleared from memory.
256
+ * @private
257
+ */
258
+ cleared = false;
214
259
  /**
215
260
  * Create a new PrivateKey instance from a Uint8Array or String.
216
261
  *
@@ -234,44 +279,101 @@ export class Secp256r1PrivateKey extends PrivateKey {
234
279
  * Get the private key in bytes (Uint8Array).
235
280
  *
236
281
  * @returns
282
+ * @throws Error if the private key has been cleared from memory.
237
283
  * @group Implementation
238
284
  * @category Serialization
239
285
  */
240
286
  toUint8Array() {
287
+ this.ensureNotCleared();
241
288
  return this.key.toUint8Array();
242
289
  }
243
290
  /**
244
291
  * Get the private key as a string representation.
245
292
  *
293
+ * SECURITY: This produces an immutable JS string containing the key
294
+ * material. Strings cannot be zeroed by `clear()` (see the `clear()`
295
+ * JSDoc for the four classes of unreachable copies). Avoid calling this
296
+ * method on long-lived `Secp256r1PrivateKey` instances in processes
297
+ * where memory hygiene matters; prefer `toUint8Array()`, which returns
298
+ * a clearable `Uint8Array`.
299
+ *
246
300
  * @returns string representation of the private key
301
+ * @throws Error if the private key has been cleared from memory.
247
302
  * @group Implementation
248
303
  * @category Serialization
249
304
  */
250
305
  toString() {
306
+ this.ensureNotCleared();
251
307
  return PrivateKey.formatPrivateKey(this.key.toString(), PrivateKeyVariants.Secp256r1);
252
308
  }
253
309
  /**
254
310
  * Get the private key as a hex string with the 0x prefix.
255
311
  *
312
+ * SECURITY: Same caveat as `toString()` — produces an immutable JS string
313
+ * containing the key material; cannot be zeroed by `clear()`.
314
+ *
256
315
  * @returns string representation of the private key.
316
+ * @throws Error if the private key has been cleared from memory.
257
317
  */
258
318
  toHexString() {
319
+ this.ensureNotCleared();
259
320
  return this.key.toString();
260
321
  }
322
+ /**
323
+ * Sign exactly the bytes of `message`. The input is interpreted as raw
324
+ * bytes regardless of what they encode. Pair with
325
+ * {@link Secp256r1PublicKey.verifyBytes}.
326
+ *
327
+ * The message is SHA3-256 hashed before signing (matching the Aptos-side
328
+ * Secp256r1 signing convention).
329
+ *
330
+ * @param message - The exact bytes to sign.
331
+ * @returns The generated signature for the provided bytes.
332
+ * @throws Error if the private key has been cleared from memory.
333
+ * @group Implementation
334
+ * @category Serialization
335
+ */
336
+ signBytes(message) {
337
+ this.ensureNotCleared();
338
+ const sha3Message = sha3_256(message);
339
+ const signature = p256.sign(sha3Message, this.key.toUint8Array(), { prehash: false });
340
+ return new Secp256r1Signature(signature);
341
+ }
342
+ /**
343
+ * Sign the UTF-8 encoding of `message`. The input is always treated as
344
+ * text — there is no hex/text heuristic. Pair with
345
+ * {@link Secp256r1PublicKey.verifyText}.
346
+ *
347
+ * @param message - The text to sign.
348
+ * @returns The generated signature for the UTF-8 bytes of the provided text.
349
+ * @throws Error if the private key has been cleared from memory.
350
+ * @group Implementation
351
+ * @category Serialization
352
+ */
353
+ signText(message) {
354
+ return this.signBytes(TEXT_ENCODER.encode(message));
355
+ }
261
356
  /**
262
357
  * Sign the given message with the private key.
263
358
  * This function generates a cryptographic signature for the provided message.
264
359
  *
360
+ * @deprecated The polymorphic `message: HexInput` input is ambiguous — a
361
+ * bare even-length string of hex characters (e.g., `"cafe"`) is signed
362
+ * as the 2 bytes `[0xCA, 0xFE]`, not 4 UTF-8 text bytes. Use
363
+ * {@link signBytes} for `Uint8Array` input or {@link signText} for
364
+ * `string` input; both are unambiguous. See
365
+ * {@link convertSigningMessage} for the full legacy rule.
366
+ *
265
367
  * @param message - A message in HexInput format to be signed.
266
368
  * @returns Signature - The generated signature for the provided message.
369
+ * @throws Error if the private key has been cleared from memory.
267
370
  * @group Implementation
268
371
  * @category Serialization
269
372
  */
270
373
  sign(message) {
271
- const msgHex = Hex.fromHexInput(message);
272
- const sha3Message = sha3_256(msgHex.toUint8Array());
273
- const signature = p256.sign(sha3Message, this.key.toUint8Array(), { prehash: false });
274
- return new Secp256r1Signature(signature);
374
+ const messageToSign = convertSigningMessage(message);
375
+ const msgBytes = Hex.fromHexInput(messageToSign).toUint8Array();
376
+ return this.signBytes(msgBytes);
275
377
  }
276
378
  /**
277
379
  * Serializes the data into a byte array using the provided serializer.
@@ -311,13 +413,58 @@ export class Secp256r1PrivateKey extends PrivateKey {
311
413
  * Derive the Secp256r1PublicKey from this private key.
312
414
  *
313
415
  * @returns Secp256r1PublicKey The derived public key.
416
+ * @throws Error if the private key has been cleared from memory.
314
417
  * @group Implementation
315
418
  * @category Serialization
316
419
  */
317
420
  publicKey() {
421
+ this.ensureNotCleared();
318
422
  const bytes = p256.getPublicKey(this.key.toUint8Array(), false);
319
423
  return new Secp256r1PublicKey(bytes);
320
424
  }
425
+ /**
426
+ * Throws if the key has already been cleared.
427
+ * @private
428
+ */
429
+ ensureNotCleared() {
430
+ if (this.cleared) {
431
+ throw new Error("Private key has been cleared from memory and can no longer be used");
432
+ }
433
+ }
434
+ /**
435
+ * Overwrites the underlying private-key byte buffer with random bytes and
436
+ * then zeros. After calling this method the key can no longer sign or
437
+ * derive a public key.
438
+ *
439
+ * SECURITY: This is a best-effort window-narrowing tool, NOT a true
440
+ * zeroization guarantee. See `Ed25519PrivateKey.clear()` for the full
441
+ * enumeration of JavaScript-level limits (immutable string copies, noble
442
+ * `BigInt` intermediates, JIT register/stack residue, GC-relocated
443
+ * copies). For Secp256r1 specifically, non-extractable `crypto.subtle`
444
+ * P-256 keys are universally supported across modern runtimes and are
445
+ * the architecturally-correct path for callers who need real memory
446
+ * hygiene; consider that alternative for new code.
447
+ *
448
+ * @group Implementation
449
+ * @category Serialization
450
+ */
451
+ clear() {
452
+ if (!this.cleared) {
453
+ const keyBytes = this.key.toUint8Array();
454
+ // Multiple overwrite passes for consistency with the other private-key classes.
455
+ crypto.getRandomValues(keyBytes);
456
+ keyBytes.fill(0xff);
457
+ crypto.getRandomValues(keyBytes);
458
+ keyBytes.fill(0);
459
+ this.cleared = true;
460
+ }
461
+ }
462
+ /**
463
+ * Returns whether `clear()` has been called.
464
+ */
465
+ isCleared() {
466
+ return this.cleared;
467
+ }
321
468
  }
322
469
  export class WebAuthnSignature extends Signature {
323
470
  signature;
@@ -1 +1 @@
1
- {"version":3,"file":"secp256r1.js","sourceRoot":"","sources":["../../../src/core/crypto/secp256r1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secp256r1.js","sourceRoot":"","sources":["../../../src/core/crypto/secp256r1.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,34 @@ import { HexInput, SigningScheme } from "../../types/index.js";
2
2
  import { AccountPublicKey } from "./publicKey.js";
3
3
  import { BaseAccountPublicKey } from "./types.js";
4
4
  /**
5
- * Helper function to convert a message to sign or to verify to a valid message input
5
+ * Normalizes a sign/verify message into a {@link HexInput} that downstream
6
+ * callers can pass to `Hex.fromHexInput()`.
7
+ *
8
+ * Behavior — be aware before passing a string:
9
+ * - `Uint8Array` → returned as-is (used as raw bytes).
10
+ * - String that parses as hex via `Hex.isValid()` (with or without a `0x`
11
+ * prefix) → returned as the original hex string, which downstream
12
+ * `Hex.fromHexInput()` decodes to its byte form.
13
+ * - Any other string → returned as the UTF-8 byte encoding of the string.
14
+ *
15
+ * **AMBIGUITY**: a bare even-length string of hex characters is *always*
16
+ * interpreted as hex, even when the caller intended it as text. For example:
17
+ *
18
+ * ```ts
19
+ * sign("cafe") // signs 2 bytes: [0xCA, 0xFE]
20
+ * sign("decade") // signs 3 bytes: [0xDE, 0xCA, 0xDE]
21
+ * sign("0xcafe") // signs 2 bytes: [0xCA, 0xFE] (explicit hex)
22
+ * sign("hello") // signs 5 bytes: UTF-8 "hello" (not valid hex)
23
+ * sign(new TextEncoder().encode("cafe")) // signs 4 bytes: UTF-8 "cafe"
24
+ * ```
25
+ *
26
+ * If you mean *text*, pass `TextEncoder.encode(text)` or any `Uint8Array`.
27
+ * If you mean *hex bytes*, the most explicit form is also a `Uint8Array`
28
+ * (`Hex.fromHexInput("0x...").toUint8Array()`), or a string prefixed with
29
+ * `0x` for clarity. The heuristic is preserved as-is for backwards
30
+ * compatibility — changing it would silently re-interpret bytes signed by
31
+ * existing dApps and wallets — but new code should treat string inputs to
32
+ * `sign()` / `verifySignature()` as untyped and prefer `Uint8Array`.
6
33
  *
7
34
  * @param message a message as a string or Uint8Array
8
35
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,QAAQ,KAAG,QAazD,CAAC;AAEF,eAAO,MAAM,sCAAsC,GAAI,WAAW,gBAAgB,KAAG,oBAiBpF,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,WAAW,gBAAgB,KAAG,aAe7E,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,QAAQ,KAAG,QAazD,CAAC;AAEF,eAAO,MAAM,sCAAsC,GAAI,WAAW,gBAAgB,KAAG,oBAiBpF,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,WAAW,gBAAgB,KAAG,aAe7E,CAAC"}
@@ -7,7 +7,34 @@ import { MultiKey } from "./multiKey.js";
7
7
  import { AnyPublicKey } from "./singleKey.js";
8
8
  import { detectPublicKeyVariant } from "./anyKeyRegistry.js";
9
9
  /**
10
- * Helper function to convert a message to sign or to verify to a valid message input
10
+ * Normalizes a sign/verify message into a {@link HexInput} that downstream
11
+ * callers can pass to `Hex.fromHexInput()`.
12
+ *
13
+ * Behavior — be aware before passing a string:
14
+ * - `Uint8Array` → returned as-is (used as raw bytes).
15
+ * - String that parses as hex via `Hex.isValid()` (with or without a `0x`
16
+ * prefix) → returned as the original hex string, which downstream
17
+ * `Hex.fromHexInput()` decodes to its byte form.
18
+ * - Any other string → returned as the UTF-8 byte encoding of the string.
19
+ *
20
+ * **AMBIGUITY**: a bare even-length string of hex characters is *always*
21
+ * interpreted as hex, even when the caller intended it as text. For example:
22
+ *
23
+ * ```ts
24
+ * sign("cafe") // signs 2 bytes: [0xCA, 0xFE]
25
+ * sign("decade") // signs 3 bytes: [0xDE, 0xCA, 0xDE]
26
+ * sign("0xcafe") // signs 2 bytes: [0xCA, 0xFE] (explicit hex)
27
+ * sign("hello") // signs 5 bytes: UTF-8 "hello" (not valid hex)
28
+ * sign(new TextEncoder().encode("cafe")) // signs 4 bytes: UTF-8 "cafe"
29
+ * ```
30
+ *
31
+ * If you mean *text*, pass `TextEncoder.encode(text)` or any `Uint8Array`.
32
+ * If you mean *hex bytes*, the most explicit form is also a `Uint8Array`
33
+ * (`Hex.fromHexInput("0x...").toUint8Array()`), or a string prefixed with
34
+ * `0x` for clarity. The heuristic is preserved as-is for backwards
35
+ * compatibility — changing it would silently re-interpret bytes signed by
36
+ * existing dApps and wallets — but new code should treat string inputs to
37
+ * `sign()` / `verifySignature()` as untyped and prefer `Uint8Array`.
11
38
  *
12
39
  * @param message a message as a string or Uint8Array
13
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/crypto/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAiB,EAAY,EAAE;IACnE,gEAAgE;IAChE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,mDAAmD;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,8CAA8C;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,0BAA0B;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,SAA2B,EAAwB,EAAE;IAC1G,IACE,SAAS,YAAY,gBAAgB;QACrC,SAAS,YAAY,YAAY;QACjC,SAAS,YAAY,qBAAqB;QAC1C,SAAS,YAAY,QAAQ,EAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,4EAA4E;IAC5E,kEAAkE;IAClE,uEAAuE;IACvE,wEAAwE;IACxE,IAAI,sBAAsB,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACpD,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,SAA2B,EAAiB,EAAE;IAC5F,MAAM,oBAAoB,GAAG,sCAAsC,CAAC,SAAS,CAAC,CAAC;IAC/E,IAAI,oBAAoB,YAAY,gBAAgB,EAAE,CAAC;QACrD,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,oBAAoB,YAAY,YAAY,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IACD,IAAI,oBAAoB,YAAY,qBAAqB,EAAE,CAAC;QAC1D,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;IACD,IAAI,oBAAoB,YAAY,QAAQ,EAAE,CAAC;QAC7C,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,oBAAoB,EAAE,CAAC,CAAC;AACrE,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/crypto/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAiB,EAAY,EAAE;IACnE,gEAAgE;IAChE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,mDAAmD;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,8CAA8C;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,0BAA0B;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,SAA2B,EAAwB,EAAE;IAC1G,IACE,SAAS,YAAY,gBAAgB;QACrC,SAAS,YAAY,YAAY;QACjC,SAAS,YAAY,qBAAqB;QAC1C,SAAS,YAAY,QAAQ,EAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,4EAA4E;IAC5E,kEAAkE;IAClE,uEAAuE;IACvE,wEAAwE;IACxE,IAAI,sBAAsB,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACpD,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,SAA2B,EAAiB,EAAE;IAC5F,MAAM,oBAAoB,GAAG,sCAAsC,CAAC,SAAS,CAAC,CAAC;IAC/E,IAAI,oBAAoB,YAAY,gBAAgB,EAAE,CAAC;QACrD,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,oBAAoB,YAAY,YAAY,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IACD,IAAI,oBAAoB,YAAY,qBAAqB,EAAE,CAAC;QAC1D,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;IACD,IAAI,oBAAoB,YAAY,QAAQ,EAAE,CAAC;QAC7C,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,oBAAoB,EAAE,CAAC,CAAC;AACrE,CAAC,CAAC"}
@@ -102,11 +102,30 @@ type AptosApiErrorOpts = {
102
102
  * @param statusText - The message associated with the response status.
103
103
  * @param data - The response data returned from the API.
104
104
  * @param request - The original AptosRequest that triggered the error.
105
+ *
106
+ * SECURITY: `Error.message` is sanitized for `AptosApiType.PEPPER` and
107
+ * `AptosApiType.PROVER` so that response bodies (which can contain JWT claims
108
+ * or pepper-derived material) don't leak into default log/crash sinks. The
109
+ * `data` field, however, ALWAYS holds the raw response body — including for
110
+ * those sensitive API types — so callers that log or serialize
111
+ * `AptosApiError.data` (e.g., `JSON.stringify(error)`, Sentry's automatic
112
+ * field capture, custom structured loggers) must treat it accordingly. If
113
+ * you only need a human-readable summary, prefer `error.message`.
105
114
  */
106
115
  export declare class AptosApiError extends Error {
107
116
  readonly url: string;
108
117
  readonly status: number;
109
118
  readonly statusText: string;
119
+ /**
120
+ * The raw response body returned by the API.
121
+ *
122
+ * SECURITY: For `AptosApiType.PEPPER` and `AptosApiType.PROVER`, this can
123
+ * contain sensitive keyless-flow material (JWT claims, pepper-derived
124
+ * state). It is NOT redacted here — only `Error.message` is. Treat
125
+ * `error.data` as sensitive when handling errors from those API types,
126
+ * especially before passing the error to a structured logger or crash
127
+ * reporter.
128
+ */
110
129
  readonly data: any;
111
130
  readonly request: AptosRequest;
112
131
  /**