@deserialize/multi-vm-wallet 1.4.2 → 1.4.12
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/IChainWallet.js.map +1 -1
- package/dist/evm/evm.d.ts +16 -1
- package/dist/evm/evm.js +26 -2
- package/dist/evm/evm.js.map +1 -1
- package/dist/savings/index.d.ts +0 -1
- package/dist/savings/index.js +1 -16
- package/dist/savings/index.js.map +1 -1
- package/dist/svm/svm.d.ts +16 -0
- package/dist/svm/svm.js +23 -0
- package/dist/svm/svm.js.map +1 -1
- package/dist/test.js +2 -14
- package/dist/test.js.map +1 -1
- package/dist/vm.d.ts +14 -2
- package/dist/vm.js +37 -3
- package/dist/vm.js.map +1 -1
- package/dist/walletBip32.d.ts +0 -2
- package/dist/walletBip32.js +0 -22
- package/dist/walletBip32.js.map +1 -1
- package/package.json +1 -1
- package/utils/IChainWallet.ts +0 -2
- package/utils/evm/evm.ts +33 -8
- package/utils/savings/index.ts +1 -1
- package/utils/savings/saving-actions.ts +92 -0
- package/utils/savings/savings-manager.ts +271 -0
- package/utils/svm/svm.ts +25 -1
- package/utils/test.ts +3 -26
- package/utils/vm.ts +16 -7
- package/utils/walletBip32.ts +0 -24
- package/dist/savings/saving-manager.d.ts +0 -47
- package/dist/savings/saving-manager.js +0 -119
- package/dist/savings/saving-manager.js.map +0 -1
- package/utils/savings/saving-manager.ts +0 -146
package/dist/IChainWallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IChainWallet.js","sourceRoot":"","sources":["../utils/IChainWallet.ts"],"names":[],"mappings":";;;AAKA,MAAsB,WAAW;IACnB,UAAU,CAAiB;IACrC,MAAM,CAAoB;IAC1B,OAAO,CAAc;IACrB,KAAK,CAAoB;IACzB,UAAU,CAA4B;IAEtC,YAAY,MAAyB,EAAE,UAA0B,EAAE,KAAc;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAEvB,CAAC;IAYD,+GAA+G;IAC/G,mEAAmE;IACnE,mFAAmF;IACnF,oDAAoD;IAEpD,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACD,oBAAoB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"IChainWallet.js","sourceRoot":"","sources":["../utils/IChainWallet.ts"],"names":[],"mappings":";;;AAKA,MAAsB,WAAW;IACnB,UAAU,CAAiB;IACrC,MAAM,CAAoB;IAC1B,OAAO,CAAc;IACrB,KAAK,CAAoB;IACzB,UAAU,CAA4B;IAEtC,YAAY,MAAyB,EAAE,UAA0B,EAAE,KAAc;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAEvB,CAAC;IAYD,+GAA+G;IAC/G,mEAAmE;IACnE,mFAAmF;IACnF,oDAAoD;IAEpD,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACD,oBAAoB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CAIJ;AAvCD,kCAuCC"}
|
package/dist/evm/evm.d.ts
CHANGED
|
@@ -20,7 +20,22 @@ export declare class EVMVM extends VM<string, string, PublicClient> {
|
|
|
20
20
|
privateKey: string;
|
|
21
21
|
index: number;
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Derive a savings account using BIP-44 account index
|
|
25
|
+
*
|
|
26
|
+
* Uses the pattern: m/44'/60'/accountIndex'/0/0
|
|
27
|
+
* - Main wallet: m/44'/60'/0'/0/0 (account index 0)
|
|
28
|
+
* - Savings 1: m/44'/60'/1'/0/0 (account index 1)
|
|
29
|
+
* - Savings 2: m/44'/60'/2'/0/0 (account index 2)
|
|
30
|
+
*
|
|
31
|
+
* @param accountIndex - The BIP-44 account index (0 for main, 1+ for savings)
|
|
32
|
+
* @returns Object containing privateKey, address, and derivation path
|
|
33
|
+
*/
|
|
34
|
+
deriveSavingsAccount(accountIndex: number): {
|
|
35
|
+
privateKey: string;
|
|
36
|
+
address: string;
|
|
37
|
+
derivationPath: string;
|
|
38
|
+
};
|
|
24
39
|
static fromMnemonic(mnemonic: string): VM<string, string, PublicClient>;
|
|
25
40
|
static validateAddress(address: string): boolean;
|
|
26
41
|
static getNativeBalance(address: string, connection: PublicClient): Promise<Balance>;
|
package/dist/evm/evm.js
CHANGED
|
@@ -37,8 +37,32 @@ class EVMVM extends vm_1.VM {
|
|
|
37
37
|
const privateKey = (0, walletBip32_1.EVMDeriveChildPrivateKey)(_seed, index, derivationPath).privateKey;
|
|
38
38
|
return { privateKey, index };
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Derive a savings account using BIP-44 account index
|
|
42
|
+
*
|
|
43
|
+
* Uses the pattern: m/44'/60'/accountIndex'/0/0
|
|
44
|
+
* - Main wallet: m/44'/60'/0'/0/0 (account index 0)
|
|
45
|
+
* - Savings 1: m/44'/60'/1'/0/0 (account index 1)
|
|
46
|
+
* - Savings 2: m/44'/60'/2'/0/0 (account index 2)
|
|
47
|
+
*
|
|
48
|
+
* @param accountIndex - The BIP-44 account index (0 for main, 1+ for savings)
|
|
49
|
+
* @returns Object containing privateKey, address, and derivation path
|
|
50
|
+
*/
|
|
51
|
+
deriveSavingsAccount(accountIndex) {
|
|
52
|
+
// Use fixed address index 0 for savings accounts
|
|
53
|
+
// Vary only the account index (3rd position in BIP-44)
|
|
54
|
+
const derivationPath = `m/44'/60'/${accountIndex}'/0/0`;
|
|
55
|
+
// Derive the full path directly (no additional index appended)
|
|
56
|
+
const result = (0, walletBip32_1.EVMDeriveChildPrivateKey)(this.seed, 0, `m/44'/60'/${accountIndex}'/0/`);
|
|
57
|
+
const privateKey = result.privateKey;
|
|
58
|
+
// Derive address from private key
|
|
59
|
+
const wallet = new ethers_1.ethers.Wallet(privateKey);
|
|
60
|
+
const address = wallet.address;
|
|
61
|
+
return {
|
|
62
|
+
privateKey,
|
|
63
|
+
address,
|
|
64
|
+
derivationPath
|
|
65
|
+
};
|
|
42
66
|
}
|
|
43
67
|
static fromMnemonic(mnemonic) {
|
|
44
68
|
const seed = vm_1.VM.mnemonicToSeed(mnemonic);
|
package/dist/evm/evm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../utils/evm/evm.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../utils/evm/evm.ts"],"names":[],"mappings":"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"}
|
package/dist/savings/index.d.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./saving-manager";
|
package/dist/savings/index.js
CHANGED
|
@@ -1,18 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
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
|
-
__exportStar(require("./saving-manager"), exports);
|
|
2
|
+
// export * from "./saving-actions"
|
|
18
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/savings/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/savings/index.ts"],"names":[],"mappings":";AAAA,mCAAmC"}
|
package/dist/svm/svm.d.ts
CHANGED
|
@@ -24,6 +24,22 @@ export declare class SVMVM extends VM<PublicKey, Keypair, Connection> {
|
|
|
24
24
|
privateKey: Keypair;
|
|
25
25
|
index: number;
|
|
26
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* Derive a savings account using BIP-44 account index
|
|
29
|
+
*
|
|
30
|
+
* Uses the pattern: m/44'/501'/accountIndex'/0/0
|
|
31
|
+
* - Main wallet: m/44'/501'/0'/0/0 (account index 0)
|
|
32
|
+
* - Savings 1: m/44'/501'/1'/0/0 (account index 1)
|
|
33
|
+
* - Savings 2: m/44'/501'/2'/0/0 (account index 2)
|
|
34
|
+
*
|
|
35
|
+
* @param accountIndex - The BIP-44 account index (0 for main, 1+ for savings)
|
|
36
|
+
* @returns Object containing privateKey (Keypair), address (PublicKey), and derivation path
|
|
37
|
+
*/
|
|
38
|
+
deriveSavingsAccount(accountIndex: number): {
|
|
39
|
+
privateKey: Keypair;
|
|
40
|
+
address: PublicKey;
|
|
41
|
+
derivationPath: string;
|
|
42
|
+
};
|
|
27
43
|
static fromMnemonic(mnemonic: string): VM<PublicKey, Keypair, Connection>;
|
|
28
44
|
}
|
|
29
45
|
export declare class SVMChainWallet extends ChainWallet<PublicKey, Keypair, Connection> {
|
package/dist/svm/svm.js
CHANGED
|
@@ -59,6 +59,29 @@ class SVMVM extends vm_1.VM {
|
|
|
59
59
|
const privateKey = (0, walletBip32_1.SVMDeriveChildPrivateKey)(_seed, index, derivationPath);
|
|
60
60
|
return { privateKey, index };
|
|
61
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Derive a savings account using BIP-44 account index
|
|
64
|
+
*
|
|
65
|
+
* Uses the pattern: m/44'/501'/accountIndex'/0/0
|
|
66
|
+
* - Main wallet: m/44'/501'/0'/0/0 (account index 0)
|
|
67
|
+
* - Savings 1: m/44'/501'/1'/0/0 (account index 1)
|
|
68
|
+
* - Savings 2: m/44'/501'/2'/0/0 (account index 2)
|
|
69
|
+
*
|
|
70
|
+
* @param accountIndex - The BIP-44 account index (0 for main, 1+ for savings)
|
|
71
|
+
* @returns Object containing privateKey (Keypair), address (PublicKey), and derivation path
|
|
72
|
+
*/
|
|
73
|
+
deriveSavingsAccount(accountIndex) {
|
|
74
|
+
// Use fixed address index 0 for savings accounts
|
|
75
|
+
// Vary only the account index (3rd position in BIP-44)
|
|
76
|
+
const derivationPath = `m/44'/501'/${accountIndex}'/0/0`;
|
|
77
|
+
// Derive the keypair using the account index in the path
|
|
78
|
+
const keypair = (0, walletBip32_1.SVMDeriveChildPrivateKey)(this.seed, 0, `m/44'/501'/${accountIndex}'/0/`);
|
|
79
|
+
return {
|
|
80
|
+
privateKey: keypair,
|
|
81
|
+
address: keypair.publicKey,
|
|
82
|
+
derivationPath
|
|
83
|
+
};
|
|
84
|
+
}
|
|
62
85
|
static fromMnemonic(mnemonic) {
|
|
63
86
|
const seed = vm_1.VM.mnemonicToSeed(mnemonic);
|
|
64
87
|
return new SVMVM(seed);
|
package/dist/svm/svm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svm.js","sourceRoot":"","sources":["../../utils/svm/svm.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAoG;AACpG,gDAA0D;AAC1D,8BAA2B;AAC3B,kDAA8C;AAE9C,mCAiBiB;AACjB,kDAAuB;AACvB,0DAA6B;AAE7B,oCAAuC;AAEvC,6DAA2F;AAG3F,MAAa,KAAM,SAAQ,OAAkC;IACzD,YAAY,GAAG,oBAAY,CAAA;IAC3B,MAAM,CAAC,YAAY,GAAG,oBAAY,CAAA;IAClC,MAAM,CAAC,eAAe,CAAC,OAAkB;QACrC,IAAI,CAAC;YACD,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAA;QAEhB,CAAC;IACL,CAAC;IACD,cAAc,GAAG,aAAa,CAAC,CAAC,8BAA8B;IAE9D,YAAY,IAAY;QACpB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,OAAkB,EAAE,UAAsB;QAC9D,OAAO,IAAA,2BAAmB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAkB,EAAE,YAAuB,EAAE,UAAsB;QAC5F,MAAM,OAAO,GAAG,MAAM,IAAA,uBAAe,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QACzE,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,IAAI,eAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,eAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5J,CAAC;IAED,MAAM,CAAC,sBAAsB,GAAG,8BAAsB,CAAA;IAEtD,MAAM,CAAC,eAAe,GAAG,uBAAe,CAAA;IAExC,MAAM,CAAC,eAAe,GAAG,uBAAe,CAAA;IAExC,MAAM,CAAC,8BAA8B,GAAG,CAAC,OAAe,EAAW,EAAE;QACjE,OAAO,iBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IACjD,CAAC,CAAA;IAGD,kBAAkB,CAAC,KAAa,EAAE,IAAa,EAAE,QAAiB,EAAE,cAAc,GAAG,IAAI,CAAC,cAAc;QACpG,IAAI,KAAa,CAAA;QAEjB,IAAI,IAAI,EAAE,CAAC;YACP,KAAK,GAAG,IAAI,CAAA;QAChB,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YAClB,KAAK,GAAG,OAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACJ,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,CAAC;QACD,MAAM,UAAU,GAAG,IAAA,sCAAwB,EAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAC1E,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;
|
|
1
|
+
{"version":3,"file":"svm.js","sourceRoot":"","sources":["../../utils/svm/svm.ts"],"names":[],"mappings":"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"}
|
package/dist/test.js
CHANGED
|
@@ -7,15 +7,14 @@ const chains_1 = require("viem/chains");
|
|
|
7
7
|
const account_abstraction_1 = require("viem/account-abstraction");
|
|
8
8
|
const constants_1 = require("@zerodev/sdk/constants");
|
|
9
9
|
const aa_service_1 = require("./evm/aa-service");
|
|
10
|
-
const savings_1 = require("./savings");
|
|
11
10
|
// const mnemonic = GenerateNewMnemonic()
|
|
12
11
|
// console.log('mnemonic: ', mnemonic);
|
|
13
12
|
// const seed = VM.mnemonicToSeed(mnemonic)
|
|
14
13
|
const pKey = "";
|
|
15
14
|
// const testUserKeyPair = Keypair.fromSecretKey(base58.decode(pKey));
|
|
16
15
|
// const x = testUserKeyPair instanceof Keypair;
|
|
17
|
-
const evmPrivKey = "";
|
|
18
|
-
const evmPrivateKeyExposed = "";
|
|
16
|
+
const evmPrivKey = "0xc9ca95aa5f40bae8b0f741ec89acc07b837590b2f9f818d3439df98c6e4f8dbe";
|
|
17
|
+
const evmPrivateKeyExposed = "0x92cccc7792024dcac5992e5d2986dade41770acfd3dab0fe98ee953ed1bf0c3a";
|
|
19
18
|
// const vm = new SVMVM(seed)
|
|
20
19
|
// const vmFromMnemonic = SVMVM.fromMnemonic(mnemonic)
|
|
21
20
|
// const keyFromMnemonic = vmFromMnemonic.generatePrivateKey(0)
|
|
@@ -142,17 +141,6 @@ const testModule = async () => {
|
|
|
142
141
|
const testPrice = async () => {
|
|
143
142
|
walletA.getPrices(['0x98d0baa52b2D063E780DE12F615f963Fe8537553']).then(console.log);
|
|
144
143
|
};
|
|
145
|
-
const testSavingsPocket = async () => {
|
|
146
|
-
const mnemonic = evm_1.EVMVM.generateMnemonicFromPrivateKey(evmPrivateKeyExposed);
|
|
147
|
-
console.log('mnemonic: ', mnemonic);
|
|
148
|
-
const savingsManager = new savings_1.SavingsManager(mnemonic, evmChainConfig, wallet.index);
|
|
149
|
-
const pocket0 = savingsManager.getPocket(0);
|
|
150
|
-
// const deposited = await savingsManager.transferToPocket(walletA.wallet, pocket0.index, "0.00001")
|
|
151
|
-
const balance = await savingsManager.getPocketTokenBalance([], 0);
|
|
152
|
-
console.log('balance: ', balance);
|
|
153
|
-
// console.log('deposited: ', deposited);
|
|
154
|
-
};
|
|
155
|
-
// testSavingsPocket()
|
|
156
144
|
// testPrice()
|
|
157
145
|
// console.log('wallet: ', wallet);
|
|
158
146
|
// getTokenInfo(new PublicKey("9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump"), wallet.connection!).then(e => console.log('token info: ', e))
|
package/dist/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../utils/test.ts"],"names":[],"mappings":";;AAKA,6CAAiE;AAKjE,+
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../utils/test.ts"],"names":[],"mappings":"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"}
|
package/dist/vm.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { TokenInfo, vmTypes } from "./types";
|
|
2
|
-
import { EntropyToMnemonic } from "./walletBip32";
|
|
3
2
|
export declare abstract class VM<AddressType, PrivateKeyType, ConnectionType> {
|
|
4
3
|
protected seed: string;
|
|
5
4
|
type: vmTypes;
|
|
6
5
|
constructor(seed: string, vm: vmTypes);
|
|
7
6
|
static mnemonicToSeed: (mnemonic: string) => string;
|
|
8
7
|
static generateSalt(): string;
|
|
9
|
-
static getMnemonicFromEntropy: typeof EntropyToMnemonic;
|
|
10
8
|
static deriveKey(password: string, salt: string, iterations?: number, keySize?: number): string;
|
|
11
9
|
static encryptSeedPhrase(seedPhrase: string, password: string): {
|
|
12
10
|
encrypted: string;
|
|
@@ -23,4 +21,18 @@ export declare abstract class VM<AddressType, PrivateKeyType, ConnectionType> {
|
|
|
23
21
|
index: number;
|
|
24
22
|
};
|
|
25
23
|
abstract getTokenInfo(tokenAddress: AddressType, connection: ConnectionType): Promise<TokenInfo>;
|
|
24
|
+
/**
|
|
25
|
+
* Derive a savings account using BIP-44 account index
|
|
26
|
+
*
|
|
27
|
+
* Main wallet uses: m/44'/60'/0'/0/0 (account index 0)
|
|
28
|
+
* Savings accounts use: m/44'/60'/N'/0/0 (account index N)
|
|
29
|
+
*
|
|
30
|
+
* @param accountIndex - The BIP-44 account index (1 for first savings, 2 for second, etc.)
|
|
31
|
+
* @returns Object containing privateKey, address, and derivation path
|
|
32
|
+
*/
|
|
33
|
+
abstract deriveSavingsAccount(accountIndex: number): {
|
|
34
|
+
privateKey: PrivateKeyType;
|
|
35
|
+
address: AddressType;
|
|
36
|
+
derivationPath: string;
|
|
37
|
+
};
|
|
26
38
|
}
|
package/dist/vm.js
CHANGED
|
@@ -1,11 +1,44 @@
|
|
|
1
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
39
|
exports.VM = void 0;
|
|
40
|
+
const bip39 = __importStar(require("@scure/bip39"));
|
|
7
41
|
const crypto_js_1 = __importDefault(require("crypto-js"));
|
|
8
|
-
const walletBip32_1 = require("./walletBip32");
|
|
9
42
|
// Abstract Base Classes
|
|
10
43
|
class VM {
|
|
11
44
|
seed;
|
|
@@ -14,11 +47,12 @@ class VM {
|
|
|
14
47
|
this.type = vm;
|
|
15
48
|
this.seed = seed;
|
|
16
49
|
}
|
|
17
|
-
static mnemonicToSeed =
|
|
50
|
+
static mnemonicToSeed = (mnemonic) => {
|
|
51
|
+
return Buffer.from(bip39.mnemonicToSeedSync(mnemonic)).toString("hex");
|
|
52
|
+
};
|
|
18
53
|
static generateSalt() {
|
|
19
54
|
return crypto_js_1.default.lib.WordArray.random(16).toString(); // 128-bit salt
|
|
20
55
|
}
|
|
21
|
-
static getMnemonicFromEntropy = walletBip32_1.EntropyToMnemonic;
|
|
22
56
|
static deriveKey(password, salt, iterations = 10000, keySize = 256 / 32) {
|
|
23
57
|
return crypto_js_1.default.PBKDF2(password, crypto_js_1.default.enc.Hex.parse(salt), {
|
|
24
58
|
keySize: keySize,
|
package/dist/vm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vm.js","sourceRoot":"","sources":["../utils/vm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vm.js","sourceRoot":"","sources":["../utils/vm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAAsC;AACtC,0DAAiC;AAGjC,wBAAwB;AACxB,MAAsB,EAAE;IACV,IAAI,CAAS;IACvB,IAAI,CAAS;IAEb,YAAY,IAAY,EAAE,EAAW;QACjC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IACD,MAAM,CAAC,cAAc,GAAG,CAAC,QAAgB,EAAE,EAAE;QACzC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC,CAAA;IAED,MAAM,CAAC,YAAY;QACf,OAAO,mBAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe;IACxE,CAAC;IACD,MAAM,CAAC,SAAS,CACZ,QAAgB,EAChB,IAAY,EACZ,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,GAAG,GAAG,EAAE;QAElB,OAAO,mBAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,mBAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC3D,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,UAAU;SACzB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,UAAkB,EAAE,QAAgB;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,6CAA6C;QAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,4BAA4B;QAExE,yDAAyD;QACzD,MAAM,SAAS,GAAG,mBAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEnE,iEAAiE;QACjE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,iBAAiB,CACpB,mBAA2B,EAC3B,QAAgB,EAChB,IAAY;QAEZ,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,qCAAqC;YACjF,MAAM,KAAK,GAAG,mBAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,mBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAErD,qCAAqC;YACrC,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACvD,OAAO,UAAU,CAAC;QACtB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,YAAY,GAAG,EAAE,CAAC,YAAY,CAAA;IAC9B,SAAS,GAAG,EAAE,CAAC,SAAS,CAAA;IACxB,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,CAAA;IACxC,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,CAAA;;AA1D5C,gBAiFC"}
|
package/dist/walletBip32.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Keypair } from "@solana/web3.js";
|
|
2
2
|
export declare function GenerateNewMnemonic(): string;
|
|
3
|
-
export declare const mnemonicToSeed: (mnemonic: string) => string;
|
|
4
|
-
export declare function EntropyToMnemonic(entropy: string): string;
|
|
5
3
|
export declare function ValidateMnemonic(mnemonic: string): true;
|
|
6
4
|
export declare function GenerateSeed(_mnemonic?: string): Uint8Array<ArrayBufferLike>;
|
|
7
5
|
export declare function EVMDeriveChildPrivateKey(seed: string, index: number, derivationPath: string): {
|
package/dist/walletBip32.js
CHANGED
|
@@ -39,9 +39,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
};
|
|
40
40
|
})();
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.mnemonicToSeed = void 0;
|
|
43
42
|
exports.GenerateNewMnemonic = GenerateNewMnemonic;
|
|
44
|
-
exports.EntropyToMnemonic = EntropyToMnemonic;
|
|
45
43
|
exports.ValidateMnemonic = ValidateMnemonic;
|
|
46
44
|
exports.GenerateSeed = GenerateSeed;
|
|
47
45
|
exports.EVMDeriveChildPrivateKey = EVMDeriveChildPrivateKey;
|
|
@@ -109,26 +107,6 @@ function GenerateNewMnemonic() {
|
|
|
109
107
|
const mnemonic = bip39.generateMnemonic(english_1.wordlist);
|
|
110
108
|
return mnemonic;
|
|
111
109
|
}
|
|
112
|
-
const mnemonicToSeed = (mnemonic) => {
|
|
113
|
-
return buffer_1.Buffer.from(bip39.mnemonicToSeedSync(mnemonic)).toString("hex");
|
|
114
|
-
};
|
|
115
|
-
exports.mnemonicToSeed = mnemonicToSeed;
|
|
116
|
-
function EntropyToMnemonic(entropy) {
|
|
117
|
-
const entropyBytes = buffer_1.Buffer.from(entropy);
|
|
118
|
-
// Truncate to valid BIP39 entropy length (16, 20, 24, 28, or 32 bytes)
|
|
119
|
-
// Default to 16 bytes (12 words) for shortest valid mnemonic
|
|
120
|
-
const validLength = 16;
|
|
121
|
-
const truncatedBytes = entropyBytes.length >= validLength
|
|
122
|
-
? entropyBytes.slice(0, validLength)
|
|
123
|
-
: entropyBytes; // If shorter, pad with zeros
|
|
124
|
-
// Pad if necessary
|
|
125
|
-
if (truncatedBytes.length < validLength) {
|
|
126
|
-
const padded = buffer_1.Buffer.alloc(validLength, 0);
|
|
127
|
-
truncatedBytes.copy(padded);
|
|
128
|
-
return bip39.entropyToMnemonic(padded, english_1.wordlist);
|
|
129
|
-
}
|
|
130
|
-
return bip39.entropyToMnemonic(truncatedBytes, english_1.wordlist);
|
|
131
|
-
}
|
|
132
110
|
function ValidateMnemonic(mnemonic) {
|
|
133
111
|
const isValid = bip39.validateMnemonic(mnemonic, english_1.wordlist);
|
|
134
112
|
if (!isValid) {
|
package/dist/walletBip32.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletBip32.js","sourceRoot":"","sources":["../utils/walletBip32.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,oCAAoC;AACpC,yCAAyC;AACzC,0CAA0C;AAC1C,6CAA6C;AAC7C,6CAA6C
|
|
1
|
+
{"version":3,"file":"walletBip32.js","sourceRoot":"","sources":["../utils/walletBip32.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/utils/IChainWallet.ts
CHANGED
package/utils/evm/evm.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* this is a class that will be responsible for creating several evm wallets code
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { EVMDeriveChildPrivateKey } from "../walletBip32";
|
|
8
8
|
import { ChainWallet } from "../IChainWallet";
|
|
9
9
|
import { Balance, ChainWalletConfig, NFTInfo, UserTokenBalance, TokenInfo, TransactionResult, NFT } from "../types";
|
|
10
10
|
import { VM } from "../vm";
|
|
@@ -88,7 +88,6 @@ interface DebonkSwapResult {
|
|
|
88
88
|
|
|
89
89
|
export class EVMVM extends VM<string, string, PublicClient> {
|
|
90
90
|
|
|
91
|
-
|
|
92
91
|
derivationPath = "m/44'/60'/0'/0/"; // Default EVM derivation path
|
|
93
92
|
|
|
94
93
|
constructor(seed: string) {
|
|
@@ -111,10 +110,37 @@ export class EVMVM extends VM<string, string, PublicClient> {
|
|
|
111
110
|
return { privateKey, index };
|
|
112
111
|
}
|
|
113
112
|
|
|
114
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Derive a savings account using BIP-44 account index
|
|
115
|
+
*
|
|
116
|
+
* Uses the pattern: m/44'/60'/accountIndex'/0/0
|
|
117
|
+
* - Main wallet: m/44'/60'/0'/0/0 (account index 0)
|
|
118
|
+
* - Savings 1: m/44'/60'/1'/0/0 (account index 1)
|
|
119
|
+
* - Savings 2: m/44'/60'/2'/0/0 (account index 2)
|
|
120
|
+
*
|
|
121
|
+
* @param accountIndex - The BIP-44 account index (0 for main, 1+ for savings)
|
|
122
|
+
* @returns Object containing privateKey, address, and derivation path
|
|
123
|
+
*/
|
|
124
|
+
deriveSavingsAccount(accountIndex: number): { privateKey: string; address: string; derivationPath: string } {
|
|
125
|
+
// Use fixed address index 0 for savings accounts
|
|
126
|
+
// Vary only the account index (3rd position in BIP-44)
|
|
127
|
+
const derivationPath = `m/44'/60'/${accountIndex}'/0/0`;
|
|
128
|
+
|
|
129
|
+
// Derive the full path directly (no additional index appended)
|
|
130
|
+
const result = EVMDeriveChildPrivateKey(this.seed, 0, `m/44'/60'/${accountIndex}'/0/`);
|
|
131
|
+
const privateKey = result.privateKey;
|
|
115
132
|
|
|
116
|
-
|
|
133
|
+
// Derive address from private key
|
|
134
|
+
const wallet = new ethers.Wallet(privateKey);
|
|
135
|
+
const address = wallet.address;
|
|
136
|
+
|
|
137
|
+
return {
|
|
138
|
+
privateKey,
|
|
139
|
+
address,
|
|
140
|
+
derivationPath
|
|
141
|
+
};
|
|
117
142
|
}
|
|
143
|
+
|
|
118
144
|
static fromMnemonic(mnemonic: string): VM<string, string, PublicClient> {
|
|
119
145
|
const seed = VM.mnemonicToSeed(mnemonic)
|
|
120
146
|
return new EVMVM(seed)
|
|
@@ -137,8 +163,6 @@ export class EVMVM extends VM<string, string, PublicClient> {
|
|
|
137
163
|
static convertFromEntropyToPrivateKey = (entropy: string): string => {
|
|
138
164
|
return toHex(entropy)
|
|
139
165
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
166
|
}
|
|
143
167
|
|
|
144
168
|
export class EVMChainWallet extends ChainWallet<string, string, PublicClient> {
|
|
@@ -162,8 +186,10 @@ export class EVMChainWallet extends ChainWallet<string, string, PublicClient> {
|
|
|
162
186
|
chain: fromChainToViemChain(config),
|
|
163
187
|
transport: http(config.rpcUrl)
|
|
164
188
|
})
|
|
189
|
+
|
|
165
190
|
this.address = account.address
|
|
166
191
|
this.privateKey = privateKey;
|
|
192
|
+
|
|
167
193
|
}
|
|
168
194
|
|
|
169
195
|
// ============================================
|
|
@@ -715,5 +741,4 @@ export class EVMChainWallet extends ChainWallet<string, string, PublicClient> {
|
|
|
715
741
|
// return false;
|
|
716
742
|
// }
|
|
717
743
|
// }
|
|
718
|
-
}
|
|
719
|
-
|
|
744
|
+
}
|
package/utils/savings/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./saving-
|
|
1
|
+
// export * from "./saving-actions"
|