@shapeshiftoss/hdwallet-native 1.62.32 → 1.62.34
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/dist/adapter.d.ts +17 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js.map +1 -1
- package/dist/arkeo.d.ts +2 -2
- package/dist/arkeo.d.ts.map +1 -1
- package/dist/binance.d.ts +2 -2
- package/dist/binance.d.ts.map +1 -1
- package/dist/bitcoin.d.ts +2 -2
- package/dist/bitcoin.d.ts.map +1 -1
- package/dist/cosmos.d.ts +2 -2
- package/dist/cosmos.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.d.ts +4 -4
- package/dist/crypto/isolation/adapters/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.d.ts +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/index.d.ts +3 -1
- package/dist/crypto/isolation/adapters/index.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/index.js +7 -3
- package/dist/crypto/isolation/adapters/index.js.map +1 -1
- package/dist/crypto/isolation/adapters/stark.d.ts +30 -0
- package/dist/crypto/isolation/adapters/stark.d.ts.map +1 -0
- package/dist/crypto/isolation/adapters/stark.js +56 -0
- package/dist/crypto/isolation/adapters/stark.js.map +1 -0
- package/dist/crypto/isolation/adapters/starknet.d.ts +50 -0
- package/dist/crypto/isolation/adapters/starknet.d.ts.map +1 -0
- package/dist/crypto/isolation/adapters/starknet.js +117 -0
- package/dist/crypto/isolation/adapters/starknet.js.map +1 -0
- package/dist/crypto/isolation/core/bip32/interfaces.d.ts +2 -1
- package/dist/crypto/isolation/core/bip32/interfaces.d.ts.map +1 -1
- package/dist/crypto/isolation/core/bip32/interfaces.js.map +1 -1
- package/dist/crypto/isolation/core/index.d.ts +1 -0
- package/dist/crypto/isolation/core/index.d.ts.map +1 -1
- package/dist/crypto/isolation/core/index.js +2 -1
- package/dist/crypto/isolation/core/index.js.map +1 -1
- package/dist/crypto/isolation/core/stark/index.d.ts +3 -0
- package/dist/crypto/isolation/core/stark/index.d.ts.map +1 -0
- package/dist/crypto/isolation/core/stark/index.js +21 -0
- package/dist/crypto/isolation/core/stark/index.js.map +1 -0
- package/dist/crypto/isolation/core/stark/interfaces.d.ts +43 -0
- package/dist/crypto/isolation/core/stark/interfaces.d.ts.map +1 -0
- package/dist/crypto/isolation/core/stark/interfaces.js +3 -0
- package/dist/crypto/isolation/core/stark/interfaces.js.map +1 -0
- package/dist/crypto/isolation/engines/default/bip32.d.ts +15 -1
- package/dist/crypto/isolation/engines/default/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.js +27 -0
- package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/default/index.d.ts +1 -0
- package/dist/crypto/isolation/engines/default/index.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/default/index.js +2 -1
- package/dist/crypto/isolation/engines/default/index.js.map +1 -1
- package/dist/crypto/isolation/engines/default/stark.d.ts +78 -0
- package/dist/crypto/isolation/engines/default/stark.d.ts.map +1 -0
- package/dist/crypto/isolation/engines/default/stark.js +187 -0
- package/dist/crypto/isolation/engines/default/stark.js.map +1 -0
- package/dist/crypto/isolation/engines/dummy/bip32.d.ts +5 -0
- package/dist/crypto/isolation/engines/dummy/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip32.js +9 -0
- package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -1
- package/dist/ethereum.d.ts +2 -2
- package/dist/ethereum.d.ts.map +1 -1
- package/dist/kava.d.ts +2 -2
- package/dist/kava.d.ts.map +1 -1
- package/dist/mayachain.d.ts +2 -2
- package/dist/mayachain.d.ts.map +1 -1
- package/dist/native.d.ts +75 -35
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +46 -6
- package/dist/native.js.map +1 -1
- package/dist/osmosis.d.ts +2 -2
- package/dist/osmosis.d.ts.map +1 -1
- package/dist/secret.d.ts +2 -2
- package/dist/secret.d.ts.map +1 -1
- package/dist/solana.d.ts +1 -1
- package/dist/solana.d.ts.map +1 -1
- package/dist/starknet.d.ts +46 -0
- package/dist/starknet.d.ts.map +1 -0
- package/dist/starknet.js +93 -0
- package/dist/starknet.js.map +1 -0
- package/dist/sui.d.ts +1 -1
- package/dist/sui.d.ts.map +1 -1
- package/dist/terra.d.ts +2 -2
- package/dist/terra.d.ts.map +1 -1
- package/dist/thorchain.d.ts +2 -2
- package/dist/thorchain.d.ts.map +1 -1
- package/dist/tron.d.ts +1 -1
- package/dist/tron.d.ts.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/stark/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.derivePath = void 0;
|
|
18
|
+
var bip32_1 = require("../bip32");
|
|
19
|
+
Object.defineProperty(exports, "derivePath", { enumerable: true, get: function () { return bip32_1.derivePath; } });
|
|
20
|
+
__exportStar(require("./interfaces"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/stark/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAsC;AAA7B,mGAAA,UAAU,OAAA;AACnB,+CAA6B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Revocable } from "..";
|
|
2
|
+
import { ChainCode } from "../bip32";
|
|
3
|
+
/**
|
|
4
|
+
* Stark curve Node interface for Starknet
|
|
5
|
+
*
|
|
6
|
+
* OVERVIEW:
|
|
7
|
+
* Implements hierarchical deterministic key derivation for Starknet using the STARK curve.
|
|
8
|
+
* Uses standard BIP32 secp256k1 derivation math (per SLIP-0010 and industry standard),
|
|
9
|
+
* then applies Starknet-specific key grinding for public key generation and signing.
|
|
10
|
+
*
|
|
11
|
+
* STARK CURVE:
|
|
12
|
+
* - Weierstrass curve: y² = x³ + ax + b (mod p)
|
|
13
|
+
* - Prime field: p = 2^251 + 17×2^192 + 1 (251-bit, not 256-bit like secp256k1)
|
|
14
|
+
* - Parameters: a = 1, b = π
|
|
15
|
+
* - Different from secp256k1, requires separate implementation
|
|
16
|
+
* - Spec: https://docs.starkware.co/starkex/crypto/stark-curve.html
|
|
17
|
+
*
|
|
18
|
+
* KEY METHODS:
|
|
19
|
+
* - getPublicKey(): Returns Stark public key (after grinding) as hex string
|
|
20
|
+
* - sign(): ECDSA signature on STARK curve, returns {r, s} with 64-char hex padding
|
|
21
|
+
* - derive(): BIP32 child key derivation using secp256k1 field arithmetic
|
|
22
|
+
*
|
|
23
|
+
* REFERENCES:
|
|
24
|
+
* - STARK Curve: https://docs.starkware.co/starkex/crypto/stark-curve.html
|
|
25
|
+
* - Key Grinding: https://docs.starkware.co/starkex/crypto/key-derivation.html
|
|
26
|
+
* - Starknet Cryptography: https://docs.starknet.io/architecture/cryptography/
|
|
27
|
+
* - SLIP-0010: https://github.com/satoshilabs/slips/blob/master/slip-0010.md
|
|
28
|
+
*/
|
|
29
|
+
export interface Node extends Partial<Revocable> {
|
|
30
|
+
readonly explicitPath?: string;
|
|
31
|
+
/** Get Stark public key (applies key grinding, returns hex string) */
|
|
32
|
+
getPublicKey(): Promise<string>;
|
|
33
|
+
/** Get BIP32 chain code for derivation */
|
|
34
|
+
getChainCode(): Promise<ChainCode>;
|
|
35
|
+
/** Derive child key using BIP32 secp256k1 math (per industry standard) */
|
|
36
|
+
derive(index: number): Promise<this>;
|
|
37
|
+
/** Sign transaction hash on STARK curve (returns padded 64-char hex r,s) */
|
|
38
|
+
sign(txHash: string): Promise<{
|
|
39
|
+
r: string;
|
|
40
|
+
s: string;
|
|
41
|
+
}>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/stark/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,IAAK,SAAQ,OAAO,CAAC,SAAS,CAAC;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,sEAAsE;IACtE,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,0CAA0C;IAC1C,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,0EAA0E;IAC1E,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,4EAA4E;IAC5E,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/core/stark/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -18,7 +18,7 @@ export declare class Node extends Node_base implements Core.BIP32.Node, Core.Sec
|
|
|
18
18
|
protected constructor(privateKey: Uint8Array, chainCode: Uint8Array, explicitPath?: string);
|
|
19
19
|
static create(privateKey: Uint8Array, chainCode: Uint8Array, explicitPath?: string): Promise<Core.BIP32.Node>;
|
|
20
20
|
getPublicKey(): Promise<Core.SecP256K1.CompressedPoint>;
|
|
21
|
-
getChainCode(): Promise<Buffer & Uint8Array & {
|
|
21
|
+
getChainCode(): Promise<Buffer<ArrayBufferLike> & Uint8Array & {
|
|
22
22
|
length: 32;
|
|
23
23
|
}>;
|
|
24
24
|
ecdsaSign(digestAlgorithm: null, msg: ByteArray<32>, counter?: Uint32): Promise<Core.SecP256K1.Signature>;
|
|
@@ -46,5 +46,19 @@ export declare class Seed extends Seed_base implements Core.BIP32.Seed {
|
|
|
46
46
|
static create(seed: Uint8Array): Promise<Core.BIP32.Seed>;
|
|
47
47
|
toSecp256k1MasterKey(): Promise<Core.BIP32.Node>;
|
|
48
48
|
toEd25519MasterKey(): Promise<Core.Ed25519.Node>;
|
|
49
|
+
/**
|
|
50
|
+
* Create Stark master key for Starknet
|
|
51
|
+
*
|
|
52
|
+
* Uses "Bitcoin seed" HMAC key per SLIP-0010 because Starknet follows the
|
|
53
|
+
* industry standard of using secp256k1 BIP32 derivation math, then applying
|
|
54
|
+
* Stark-specific operations (grinding, STARK curve signing) only at the end.
|
|
55
|
+
*
|
|
56
|
+
* This matches implementations by Argent and Ledger.
|
|
57
|
+
*
|
|
58
|
+
* References:
|
|
59
|
+
* - https://github.com/argentlabs/argent-starknet-recover/blob/main/keyDerivation.ts
|
|
60
|
+
* - https://community.starknet.io/t/account-keys-and-addresses-derivation-standard/1230
|
|
61
|
+
*/
|
|
62
|
+
toStarkMasterKey(): Promise<Core.Stark.Node>;
|
|
49
63
|
}
|
|
50
64
|
//# sourceMappingURL=bip32.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip32.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAc,SAAS,EAA6B,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip32.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAc,SAAS,EAA6B,MAAM,EAAE,MAAM,aAAa,CAAC;AAKvF,cAAc,kBAAkB,CAAC;;;;;;;;;;;AAEjC,qBAAa,IACX,SAAQ,SACR,YAAW,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;;IAGtF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAElD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,SAAS,aAAa,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM;WAU7E,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAK7G,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;IAMvD,YAAY;;;IAIZ,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IACzG,SAAS,CACb,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAC9C,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IAiB9B,oBAAoB,CACxB,eAAe,EAAE,IAAI,EACrB,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;IACzC,oBAAoB,CACxB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAC9C,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;IAuBzC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBpC,IAAI,CACR,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EACpC,eAAe,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,GAC9C,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAOnB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;YAIhF,KAAK;CAiBpB;;;;;;;;;;;AAGD,qBAAa,IAAK,SAAQ,SAAoB,YAAW,IAAI,CAAC,KAAK,CAAC,IAAI;;IAGtE,SAAS,aAAa,IAAI,EAAE,UAAU;WAMzB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAKzD,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAUhD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAUtD;;;;;;;;;;;;OAYG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;CAWnD"}
|
|
@@ -57,6 +57,7 @@ const isolation_1 = require("../../../isolation");
|
|
|
57
57
|
const types_1 = require("../../types");
|
|
58
58
|
const Ed25519 = __importStar(require("./ed25519"));
|
|
59
59
|
const revocable_1 = require("./revocable");
|
|
60
|
+
const Stark = __importStar(require("./stark"));
|
|
60
61
|
__exportStar(require("../../core/bip32"), exports);
|
|
61
62
|
class Node extends (0, revocable_1.Revocable)(class {
|
|
62
63
|
}) {
|
|
@@ -203,6 +204,32 @@ class Seed extends (0, revocable_1.Revocable)(class {
|
|
|
203
204
|
return out;
|
|
204
205
|
});
|
|
205
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* Create Stark master key for Starknet
|
|
209
|
+
*
|
|
210
|
+
* Uses "Bitcoin seed" HMAC key per SLIP-0010 because Starknet follows the
|
|
211
|
+
* industry standard of using secp256k1 BIP32 derivation math, then applying
|
|
212
|
+
* Stark-specific operations (grinding, STARK curve signing) only at the end.
|
|
213
|
+
*
|
|
214
|
+
* This matches implementations by Argent and Ledger.
|
|
215
|
+
*
|
|
216
|
+
* References:
|
|
217
|
+
* - https://github.com/argentlabs/argent-starknet-recover/blob/main/keyDerivation.ts
|
|
218
|
+
* - https://community.starknet.io/t/account-keys-and-addresses-derivation-standard/1230
|
|
219
|
+
*/
|
|
220
|
+
toStarkMasterKey() {
|
|
221
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
222
|
+
// Use "Bitcoin seed" per SLIP-0010 standard for secp256k1-based derivation
|
|
223
|
+
// Starknet uses standard BIP32 secp256k1 derivation, then applies grinding
|
|
224
|
+
const hmacKey = (0, types_1.safeBufferFrom)(new TextEncoder().encode("Bitcoin seed"));
|
|
225
|
+
const I = (0, types_1.safeBufferFrom)(bip32crypto.hmacSHA512((0, types_1.safeBufferFrom)(hmacKey), __classPrivateFieldGet(this, _Seed_seed, "f")));
|
|
226
|
+
const IL = I.subarray(0, 32);
|
|
227
|
+
const IR = I.subarray(32, 64);
|
|
228
|
+
const out = yield Stark.Node.create(IL, IR);
|
|
229
|
+
this.addRevoker(() => { var _a; return (_a = out.revoke) === null || _a === void 0 ? void 0 : _a.call(out); });
|
|
230
|
+
return out;
|
|
231
|
+
});
|
|
232
|
+
}
|
|
206
233
|
}
|
|
207
234
|
exports.Seed = Seed;
|
|
208
235
|
_Seed_seed = new WeakMap();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip32.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAA0C;AAC1C,8DAAgD;AAEhD,kDAA0C;AAC1C,uCAAuF;AACvF,mDAAqC;AACrC,2CAAmD;
|
|
1
|
+
{"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip32.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,aAAa,CAAC"}
|
|
@@ -26,9 +26,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
26
26
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.ED25519 = exports.BIP39 = exports.BIP32 = void 0;
|
|
29
|
+
exports.Stark = exports.ED25519 = exports.BIP39 = exports.BIP32 = void 0;
|
|
30
30
|
exports.BIP32 = __importStar(require("./bip32"));
|
|
31
31
|
exports.BIP39 = __importStar(require("./bip39"));
|
|
32
32
|
exports.ED25519 = __importStar(require("./ed25519"));
|
|
33
|
+
exports.Stark = __importStar(require("./stark"));
|
|
33
34
|
__exportStar(require("./revocable"), exports);
|
|
34
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiC;AACjC,iDAAiC;AACjC,qDAAqC;AACrC,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiC;AACjC,iDAAiC;AACjC,qDAAqC;AACrC,iDAAiC;AACjC,8CAA4B"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Core } from "../../../isolation";
|
|
2
|
+
import { Uint32 } from "../../types";
|
|
3
|
+
export * from "../../core/stark";
|
|
4
|
+
declare const Node_base: {
|
|
5
|
+
new (...args: any[]): {
|
|
6
|
+
readonly "__#3@#revokers": Set<() => void>;
|
|
7
|
+
"__#3@#revoked": boolean;
|
|
8
|
+
readonly revoke: () => void;
|
|
9
|
+
readonly addRevoker: (revoker: () => void) => void;
|
|
10
|
+
};
|
|
11
|
+
} & {
|
|
12
|
+
new (): {};
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Stark curve Node for Starknet
|
|
16
|
+
*
|
|
17
|
+
* DERIVATION APPROACH:
|
|
18
|
+
* Uses standard BIP32 secp256k1 derivation (same as Bitcoin/Ethereum) per SLIP-0010,
|
|
19
|
+
* then applies Starknet-specific key grinding and uses STARK curve for final operations.
|
|
20
|
+
*
|
|
21
|
+
* This matches industry standard implementations (Argent, Ledger) which derive using
|
|
22
|
+
* secp256k1 BIP32 math, then apply grinding for Stark operations.
|
|
23
|
+
*
|
|
24
|
+
* STARK CURVE SPECIFICATIONS:
|
|
25
|
+
* - Type: Weierstrass elliptic curve (y² = x³ + ax + b)
|
|
26
|
+
* - Prime field (p): 2^251 + 17×2^192 + 1 = 3618502788666131213697322783095070105623107215331596699973092056135872020481
|
|
27
|
+
* - Curve order (n): 3618502788666131213697322783095070105526743751716087489154079457884512865583
|
|
28
|
+
* - Parameters: a = 1, b = 3141592653589793238462643383279502884197169399375105820974944592307816406665
|
|
29
|
+
* - Bit length: 252 bits (vs 256 for secp256k1)
|
|
30
|
+
* - Generator: (874739451078007766457464989774322083649278607533249481151382481072868806602, 152666792071518830868575557812948353041420400780739481342941381225525861407)
|
|
31
|
+
*
|
|
32
|
+
* KEY GRINDING:
|
|
33
|
+
* Starknet requires "key grinding" to ensure derived private keys fall within the STARK curve order.
|
|
34
|
+
* The grinding algorithm iteratively hashes until finding a valid key: hash(key||i) mod stark_order.
|
|
35
|
+
* See: https://docs.starkware.co/starkex/crypto/key-derivation.html
|
|
36
|
+
*
|
|
37
|
+
* REFERENCES:
|
|
38
|
+
* - STARK Curve: https://docs.starkware.co/starkex/crypto/stark-curve.html
|
|
39
|
+
* - Key Derivation: https://docs.starkware.co/starkex/crypto/key-derivation.html
|
|
40
|
+
* - Community Standard (BIP-44 preferred): https://community.starknet.io/t/account-keys-and-addresses-derivation-standard/1230
|
|
41
|
+
* - Starknet Cryptography: https://docs.starknet.io/architecture/cryptography/
|
|
42
|
+
* - SLIP-0010 (HD wallet standard): https://github.com/satoshilabs/slips/blob/master/slip-0010.md
|
|
43
|
+
* - @scure/starknet (implementation): https://github.com/paulmillr/scure-starknet
|
|
44
|
+
* - Argent reference: https://github.com/argentlabs/argent-starknet-recover/blob/main/keyDerivation.ts
|
|
45
|
+
*/
|
|
46
|
+
export declare class Node extends Node_base implements Core.Stark.Node {
|
|
47
|
+
#private;
|
|
48
|
+
readonly chainCode: Buffer & Core.BIP32.ChainCode;
|
|
49
|
+
readonly explicitPath?: string;
|
|
50
|
+
protected constructor(privateKey: Uint8Array, chainCode: Uint8Array, explicitPath?: string);
|
|
51
|
+
static create(privateKey: Uint8Array, chainCode: Uint8Array, explicitPath?: string): Promise<Core.Stark.Node>;
|
|
52
|
+
/**
|
|
53
|
+
* Get Stark public key
|
|
54
|
+
* Applies Starknet-specific key grinding before deriving public key on STARK curve
|
|
55
|
+
* Returns zero-padded 64-character hex string (66 chars total with 0x prefix)
|
|
56
|
+
*/
|
|
57
|
+
getPublicKey(): Promise<string>;
|
|
58
|
+
getChainCode(): Promise<Buffer<ArrayBufferLike> & Uint8Array & {
|
|
59
|
+
length: 32;
|
|
60
|
+
}>;
|
|
61
|
+
/**
|
|
62
|
+
* Sign transaction hash on STARK curve
|
|
63
|
+
* Applies key grinding and returns ECDSA signature with proper padding
|
|
64
|
+
*/
|
|
65
|
+
sign(txHash: string): Promise<{
|
|
66
|
+
r: string;
|
|
67
|
+
s: string;
|
|
68
|
+
}>;
|
|
69
|
+
/**
|
|
70
|
+
* Derive child key using standard BIP32 secp256k1 derivation
|
|
71
|
+
*
|
|
72
|
+
* NOTE: This uses secp256k1 field arithmetic (ecc.privateAdd) per SLIP-0010,
|
|
73
|
+
* which is the industry standard for Starknet (matches Argent, Ledger implementations).
|
|
74
|
+
* The derived key is then ground for Stark operations in getPublicKey/sign methods.
|
|
75
|
+
*/
|
|
76
|
+
derive(index: Uint32): Promise<this>;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=stark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stark.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/stark.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAwC,MAAM,EAAE,MAAM,aAAa,CAAC;AAG3E,cAAc,kBAAkB,CAAC;;;;;;;;;;;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,IAAK,SAAQ,SAAoB,YAAW,IAAI,CAAC,KAAK,CAAC,IAAI;;IAEtE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,SAAS,aAAa,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM;WAU7E,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAKnH;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAS/B,YAAY;;;IAIlB;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAS7D;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA+B3C"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
+
};
|
|
28
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
29
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
30
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
31
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
32
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
33
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
34
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
38
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
39
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
40
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
41
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
42
|
+
};
|
|
43
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
44
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
45
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
46
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
47
|
+
};
|
|
48
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
49
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
50
|
+
};
|
|
51
|
+
var _Node_privateKey;
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.Node = void 0;
|
|
54
|
+
const secp256k1_1 = __importDefault(require("@bitcoinerlab/secp256k1"));
|
|
55
|
+
const starknet = __importStar(require("@scure/starknet"));
|
|
56
|
+
const bip32crypto = __importStar(require("bip32/src/crypto"));
|
|
57
|
+
const isolation_1 = require("../../../isolation");
|
|
58
|
+
const types_1 = require("../../types");
|
|
59
|
+
const revocable_1 = require("./revocable");
|
|
60
|
+
__exportStar(require("../../core/stark"), exports);
|
|
61
|
+
/**
|
|
62
|
+
* Stark curve Node for Starknet
|
|
63
|
+
*
|
|
64
|
+
* DERIVATION APPROACH:
|
|
65
|
+
* Uses standard BIP32 secp256k1 derivation (same as Bitcoin/Ethereum) per SLIP-0010,
|
|
66
|
+
* then applies Starknet-specific key grinding and uses STARK curve for final operations.
|
|
67
|
+
*
|
|
68
|
+
* This matches industry standard implementations (Argent, Ledger) which derive using
|
|
69
|
+
* secp256k1 BIP32 math, then apply grinding for Stark operations.
|
|
70
|
+
*
|
|
71
|
+
* STARK CURVE SPECIFICATIONS:
|
|
72
|
+
* - Type: Weierstrass elliptic curve (y² = x³ + ax + b)
|
|
73
|
+
* - Prime field (p): 2^251 + 17×2^192 + 1 = 3618502788666131213697322783095070105623107215331596699973092056135872020481
|
|
74
|
+
* - Curve order (n): 3618502788666131213697322783095070105526743751716087489154079457884512865583
|
|
75
|
+
* - Parameters: a = 1, b = 3141592653589793238462643383279502884197169399375105820974944592307816406665
|
|
76
|
+
* - Bit length: 252 bits (vs 256 for secp256k1)
|
|
77
|
+
* - Generator: (874739451078007766457464989774322083649278607533249481151382481072868806602, 152666792071518830868575557812948353041420400780739481342941381225525861407)
|
|
78
|
+
*
|
|
79
|
+
* KEY GRINDING:
|
|
80
|
+
* Starknet requires "key grinding" to ensure derived private keys fall within the STARK curve order.
|
|
81
|
+
* The grinding algorithm iteratively hashes until finding a valid key: hash(key||i) mod stark_order.
|
|
82
|
+
* See: https://docs.starkware.co/starkex/crypto/key-derivation.html
|
|
83
|
+
*
|
|
84
|
+
* REFERENCES:
|
|
85
|
+
* - STARK Curve: https://docs.starkware.co/starkex/crypto/stark-curve.html
|
|
86
|
+
* - Key Derivation: https://docs.starkware.co/starkex/crypto/key-derivation.html
|
|
87
|
+
* - Community Standard (BIP-44 preferred): https://community.starknet.io/t/account-keys-and-addresses-derivation-standard/1230
|
|
88
|
+
* - Starknet Cryptography: https://docs.starknet.io/architecture/cryptography/
|
|
89
|
+
* - SLIP-0010 (HD wallet standard): https://github.com/satoshilabs/slips/blob/master/slip-0010.md
|
|
90
|
+
* - @scure/starknet (implementation): https://github.com/paulmillr/scure-starknet
|
|
91
|
+
* - Argent reference: https://github.com/argentlabs/argent-starknet-recover/blob/main/keyDerivation.ts
|
|
92
|
+
*/
|
|
93
|
+
class Node extends (0, revocable_1.Revocable)(class {
|
|
94
|
+
}) {
|
|
95
|
+
constructor(privateKey, chainCode, explicitPath) {
|
|
96
|
+
super();
|
|
97
|
+
_Node_privateKey.set(this, void 0);
|
|
98
|
+
// We avoid handing the private key to any non-platform code -- including our type-checking machinery.
|
|
99
|
+
if (privateKey.length !== 32)
|
|
100
|
+
throw new Error("bad private key length");
|
|
101
|
+
__classPrivateFieldSet(this, _Node_privateKey, (0, types_1.safeBufferFrom)(privateKey), "f");
|
|
102
|
+
this.addRevoker(() => __classPrivateFieldGet(this, _Node_privateKey, "f").fill(0));
|
|
103
|
+
this.chainCode = (0, types_1.safeBufferFrom)((0, types_1.checkType)(isolation_1.Core.BIP32.ChainCode, chainCode));
|
|
104
|
+
this.explicitPath = explicitPath;
|
|
105
|
+
}
|
|
106
|
+
static create(privateKey, chainCode, explicitPath) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
const obj = new Node(privateKey, chainCode, explicitPath);
|
|
109
|
+
return (0, revocable_1.revocable)(obj, (x) => obj.addRevoker(x));
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Get Stark public key
|
|
114
|
+
* Applies Starknet-specific key grinding before deriving public key on STARK curve
|
|
115
|
+
* Returns zero-padded 64-character hex string (66 chars total with 0x prefix)
|
|
116
|
+
*/
|
|
117
|
+
getPublicKey() {
|
|
118
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
const groundPrivateKey = starknet.grindKey(__classPrivateFieldGet(this, _Node_privateKey, "f"));
|
|
120
|
+
const publicKey = starknet.getStarkKey(groundPrivateKey);
|
|
121
|
+
// Ensure proper zero-padding to 64 hex characters per Starknet address spec
|
|
122
|
+
return publicKey.startsWith("0x")
|
|
123
|
+
? "0x" + publicKey.slice(2).padStart(64, "0")
|
|
124
|
+
: "0x" + publicKey.padStart(64, "0");
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
getChainCode() {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
return this.chainCode;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Sign transaction hash on STARK curve
|
|
134
|
+
* Applies key grinding and returns ECDSA signature with proper padding
|
|
135
|
+
*/
|
|
136
|
+
sign(txHash) {
|
|
137
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
const groundPrivateKey = starknet.grindKey(__classPrivateFieldGet(this, _Node_privateKey, "f"));
|
|
139
|
+
const signature = starknet.sign(txHash, groundPrivateKey);
|
|
140
|
+
return {
|
|
141
|
+
r: signature.r.toString(16).padStart(64, "0"),
|
|
142
|
+
s: signature.s.toString(16).padStart(64, "0"),
|
|
143
|
+
};
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Derive child key using standard BIP32 secp256k1 derivation
|
|
148
|
+
*
|
|
149
|
+
* NOTE: This uses secp256k1 field arithmetic (ecc.privateAdd) per SLIP-0010,
|
|
150
|
+
* which is the industry standard for Starknet (matches Argent, Ledger implementations).
|
|
151
|
+
* The derived key is then ground for Stark operations in getPublicKey/sign methods.
|
|
152
|
+
*/
|
|
153
|
+
derive(index) {
|
|
154
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
155
|
+
types_1.Uint32.assert(index);
|
|
156
|
+
const serP = Buffer.alloc(37);
|
|
157
|
+
if (index < 0x80000000) {
|
|
158
|
+
// Non-hardened derivation uses public key
|
|
159
|
+
// For Stark, we use secp256k1 public key for BIP32 derivation (industry standard)
|
|
160
|
+
// The grinding + Stark operations happen only in final getPublicKey/sign
|
|
161
|
+
const secp256k1PubKey = secp256k1_1.default.pointFromScalar(__classPrivateFieldGet(this, _Node_privateKey, "f"), true);
|
|
162
|
+
if (secp256k1PubKey === null) {
|
|
163
|
+
throw new Error("Failed to generate public key from private key");
|
|
164
|
+
}
|
|
165
|
+
serP.set(secp256k1PubKey, 0);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
// Hardened derivation uses private key
|
|
169
|
+
serP.set(__classPrivateFieldGet(this, _Node_privateKey, "f"), 1);
|
|
170
|
+
}
|
|
171
|
+
serP.writeUInt32BE(index, 33);
|
|
172
|
+
const I = bip32crypto.hmacSHA512(this.chainCode, serP);
|
|
173
|
+
const IL = I.slice(0, 32);
|
|
174
|
+
const IR = I.slice(32, 64);
|
|
175
|
+
// Use secp256k1 curve arithmetic for derivation (per SLIP-0010 / industry standard)
|
|
176
|
+
const ki = secp256k1_1.default.privateAdd(__classPrivateFieldGet(this, _Node_privateKey, "f"), IL);
|
|
177
|
+
if (ki === null)
|
|
178
|
+
throw new Error("ki is null; this should be cryptographically impossible");
|
|
179
|
+
const out = yield Node.create(ki, IR);
|
|
180
|
+
this.addRevoker(() => { var _a; return (_a = out.revoke) === null || _a === void 0 ? void 0 : _a.call(out); });
|
|
181
|
+
return out;
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
exports.Node = Node;
|
|
186
|
+
_Node_privateKey = new WeakMap();
|
|
187
|
+
//# sourceMappingURL=stark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stark.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/stark.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,5 +22,10 @@ export declare class Seed implements Core.BIP32.Seed {
|
|
|
22
22
|
static create(xpubTree: ParsedXpubTree): Promise<Core.BIP32.Seed>;
|
|
23
23
|
toSecp256k1MasterKey(): Promise<Core.BIP32.Node>;
|
|
24
24
|
toEd25519MasterKey(): Promise<Core.Ed25519.Node>;
|
|
25
|
+
/**
|
|
26
|
+
* Dummy engine doesn't support Stark curve operations
|
|
27
|
+
* Stark curve requires actual private key material for key grinding and signing
|
|
28
|
+
*/
|
|
29
|
+
toStarkMasterKey(): Promise<Core.Stark.Node>;
|
|
25
30
|
}
|
|
26
31
|
//# sourceMappingURL=bip32.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/bip32.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAA6B,MAAM,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAoB,cAAc,EAAE,MAAM,SAAS,CAAC;AAE3D,cAAc,kBAAkB,CAAC;AAEjC,qBAAa,IAAK,YAAW,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;IACtG,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,SAAS,aAAa,QAAQ,EAAE,cAAc;WAIjC,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAIjE,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;IAIvD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAI7C,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IACzG,SAAS,CACb,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAC9C,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IAK9B,oBAAoB,CACxB,eAAe,EAAE,IAAI,EACrB,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;IACzC,oBAAoB,CACxB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAC9C,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;IAKzC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCpC,IAAI,CACR,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EACpC,eAAe,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,GAC9C,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAKnB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;CAI/F;AAED,qBAAa,IAAK,YAAW,IAAI,CAAC,KAAK,CAAC,IAAI;IAC1C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,SAAS,aAAa,QAAQ,EAAE,cAAc;WAIjC,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAIjE,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAIhD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/bip32.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAA6B,MAAM,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAoB,cAAc,EAAE,MAAM,SAAS,CAAC;AAE3D,cAAc,kBAAkB,CAAC;AAEjC,qBAAa,IAAK,YAAW,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;IACtG,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,SAAS,aAAa,QAAQ,EAAE,cAAc;WAIjC,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAIjE,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;IAIvD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAI7C,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IACzG,SAAS,CACb,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAC9C,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IAK9B,oBAAoB,CACxB,eAAe,EAAE,IAAI,EACrB,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;IACzC,oBAAoB,CACxB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAC9C,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;IAKzC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCpC,IAAI,CACR,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EACpC,eAAe,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,GAC9C,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAKnB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;CAI/F;AAED,qBAAa,IAAK,YAAW,IAAI,CAAC,KAAK,CAAC,IAAI;IAC1C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,SAAS,aAAa,QAAQ,EAAE,cAAc;WAIjC,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAIjE,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAIhD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAItD;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;CAGnD"}
|
|
@@ -141,6 +141,15 @@ class Seed {
|
|
|
141
141
|
throw new types_2.DummyEngineError();
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Dummy engine doesn't support Stark curve operations
|
|
146
|
+
* Stark curve requires actual private key material for key grinding and signing
|
|
147
|
+
*/
|
|
148
|
+
toStarkMasterKey() {
|
|
149
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
150
|
+
throw new types_2.DummyEngineError();
|
|
151
|
+
});
|
|
152
|
+
}
|
|
144
153
|
}
|
|
145
154
|
exports.Seed = Seed;
|
|
146
155
|
//# sourceMappingURL=bip32.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/bip32.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/dummy/bip32.ts"],"names":[],"mappings":"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"}
|
package/dist/ethereum.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export declare function MixinNativeETHWallet<TBase extends core.Constructor<Nati
|
|
|
39
39
|
readonly _supportsPlasma: true;
|
|
40
40
|
readonly _supportsHyperEvm: true;
|
|
41
41
|
readonly _supportsEthSwitchChain: false;
|
|
42
|
-
"__#
|
|
42
|
+
"__#13@#ethSigner": SignerAdapter | undefined;
|
|
43
43
|
ethInitializeWallet(masterKey: Isolation.Core.BIP32.Node): Promise<void>;
|
|
44
44
|
ethWipe(): void;
|
|
45
45
|
ethGetAddress(msg: core.ETHGetAddress): Promise<core.Address | null>;
|
|
@@ -47,7 +47,7 @@ export declare function MixinNativeETHWallet<TBase extends core.Constructor<Nati
|
|
|
47
47
|
ethSignMessage(msg: core.ETHSignMessage): Promise<core.ETHSignedMessage | null>;
|
|
48
48
|
ethSignTypedData(msg: core.ETHSignTypedData): Promise<core.ETHSignedTypedData | null>;
|
|
49
49
|
ethVerifyMessage({ address, message, signature }: core.ETHVerifyMessage): Promise<boolean>;
|
|
50
|
-
readonly "__#
|
|
50
|
+
readonly "__#20@#events": import("eventemitter2").EventEmitter2;
|
|
51
51
|
readonly events: import("eventemitter2").EventEmitter2;
|
|
52
52
|
needsMnemonic<T>(hasMnemonic: boolean, callback: () => T): T | null;
|
|
53
53
|
getVendor(): string;
|
package/dist/ethereum.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.d.ts","sourceRoot":"","sources":["../src/ethereum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAGrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;;8BAMvE,OAAO,CAAC,OAAO,CAAC;qCAIT,OAAO,CAAC,OAAO,CAAC;uCAIpB,OAAO;8BAIV,OAAO,CAAC,OAAO,CAAC;gCAIpB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;gCAcnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,SAAS;;;;;;;;;;;;UAMhF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK;;;;;;;;;;;;;;;4BAiBpF,aAAa,GAAG,SAAS;uCAEA,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;;2BAUrD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;uBAWrD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;4BA2C5C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;8BAYzD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;0DAOnC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ethereum.d.ts","sourceRoot":"","sources":["../src/ethereum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAGrD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK;;;;8BAMvE,OAAO,CAAC,OAAO,CAAC;qCAIT,OAAO,CAAC,OAAO,CAAC;uCAIpB,OAAO;8BAIV,OAAO,CAAC,OAAO,CAAC;gCAIpB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;gCAcnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,SAAS;;;;;;;;;;;;UAMhF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK;;;;;;;;;;;;;;;4BAiBpF,aAAa,GAAG,SAAS;uCAEA,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;;2BAUrD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;uBAWrD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;4BA2C5C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;8BAYzD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;0DAOnC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;0BAvEnD,KAAM,YAAY,GAAE,KAAM,eAE3E;;UA2EC"}
|
package/dist/kava.d.ts
CHANGED
|
@@ -24,14 +24,14 @@ export declare function MixinNativeKavaWalletInfo<TBase extends core.Constructor
|
|
|
24
24
|
export declare function MixinNativeKavaWallet<TBase extends core.Constructor<NativeHDWalletBase>>(Base: TBase): {
|
|
25
25
|
new (...args: any[]): {
|
|
26
26
|
readonly _supportsKava: true;
|
|
27
|
-
"__#
|
|
27
|
+
"__#14@#masterKey": Isolation.Core.BIP32.Node | undefined;
|
|
28
28
|
kavaInitializeWallet(masterKey: Isolation.Core.BIP32.Node): Promise<void>;
|
|
29
29
|
kavaWipe(): void;
|
|
30
30
|
kavaBech32ify(address: ArrayLike<number>, prefix: string): string;
|
|
31
31
|
createKavaAddress(publicKey: string): string;
|
|
32
32
|
kavaGetAddress(msg: core.KavaGetAddress): Promise<string | null>;
|
|
33
33
|
kavaSignTx(msg: core.KavaSignTx): Promise<core.KavaSignedTx | null>;
|
|
34
|
-
readonly "__#
|
|
34
|
+
readonly "__#20@#events": import("eventemitter2").EventEmitter2;
|
|
35
35
|
readonly events: import("eventemitter2").EventEmitter2;
|
|
36
36
|
needsMnemonic<T>(hasMnemonic: boolean, callback: () => T): T | null;
|
|
37
37
|
getVendor(): string;
|