@deserialize/multi-vm-wallet 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,4 +21,5 @@ export declare abstract class ChainWallet<AddressType, PrivateKeyType, Connectio
21
21
  abstract getPrices(tokenAddresses: string[]): Promise<PriceResponse>;
22
22
  getAddress(): AddressType;
23
23
  getChainWalletConfig(): ChainWalletConfig;
24
+ abstract convertFromEntropyToPrivateKey(entropy: string): PrivateKeyType;
24
25
  }
@@ -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;CAEJ;AArCD,kCAqCC"}
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
@@ -7,11 +7,10 @@ import { ChainWallet } from "../IChainWallet";
7
7
  import { Balance, ChainWalletConfig, UserTokenBalance, TokenInfo, TransactionResult, NFT } from "../types";
8
8
  import { VM } from "../vm";
9
9
  import { EVMTransactionHistoryItem } from "./transactionParsing";
10
- import { Hex, WalletClient, PublicClient, ChainConfig } from "viem";
10
+ import { Hex, WalletClient, PublicClient } from "viem";
11
11
  import { EVMSmartWallet } from "./smartWallet";
12
12
  import { SmartWalletOptions } from "./aa-service";
13
13
  import { PriceResponse } from "../price.types";
14
- import { SavingsManager } from "../savings/saving-actions";
15
14
  export declare class EVMVM extends VM<string, string, PublicClient> {
16
15
  derivationPath: string;
17
16
  constructor(seed: string);
@@ -41,24 +40,23 @@ export declare class EVMVM extends VM<string, string, PublicClient> {
41
40
  static validateAddress(address: string): boolean;
42
41
  static getNativeBalance(address: string, connection: PublicClient): Promise<Balance>;
43
42
  static getTokenBalance(address: string, tokenAddress: string, connection: PublicClient): Promise<Balance>;
43
+ static convertFromEntropyToPrivateKey: (entropy: string) => string;
44
44
  }
45
45
  export declare class EVMChainWallet extends ChainWallet<string, string, PublicClient> {
46
46
  wallet: WalletClient;
47
47
  private smartWallet?;
48
- private savingsManager?;
49
- private smartSavingsManager?;
50
48
  constructor(config: ChainWalletConfig, privateKey: string, index: number);
51
49
  /**
52
50
  * Check if Account Abstraction is supported on this chain
53
51
  * @returns true if aaSupport is enabled in config
54
52
  */
55
53
  private isAASupportedByChain;
54
+ convertFromEntropyToPrivateKey: (entropy: string) => string;
56
55
  /**
57
56
  * Check if smart wallet is initialized and ready for AA operations
58
57
  * @returns true if extend() has been called and smart wallet exists
59
58
  */
60
59
  private isSmartWalletInitialized;
61
- createSavingsManager(mnemonic: string, index: number | undefined, chain: ChainConfig): SavingsManager;
62
60
  /**
63
61
  * Validate that AA is available for sponsored transactions
64
62
  * @throws Error with helpful message if AA is not available
package/dist/evm/evm.js CHANGED
@@ -16,8 +16,6 @@ const viem_1 = require("viem");
16
16
  const smartWallet_1 = require("./smartWallet");
17
17
  const price_1 = require("../price");
18
18
  const accounts_1 = require("viem/accounts");
19
- // import { extendWalletClientWithSavings } from "../savings";
20
- const saving_actions_1 = require("../savings/saving-actions");
21
19
  class EVMVM extends vm_1.VM {
22
20
  derivationPath = "m/44'/60'/0'/0/"; // Default EVM derivation path
23
21
  constructor(seed) {
@@ -81,14 +79,18 @@ class EVMVM extends vm_1.VM {
81
79
  // Implement token balance retrieval logic here
82
80
  return await (0, utils_1.getTokenBalance)(tokenAddress, address, connection);
83
81
  }
82
+ static convertFromEntropyToPrivateKey = (entropy) => {
83
+ return (0, viem_1.toHex)(entropy);
84
+ };
84
85
  }
85
86
  exports.EVMVM = EVMVM;
86
87
  class EVMChainWallet extends IChainWallet_1.ChainWallet {
87
88
  wallet;
88
89
  smartWallet;
89
- savingsManager;
90
- smartSavingsManager;
90
+ // private savingsManager?: SavingsManager
91
+ // private smartSavingsManager?: SmartSavingsManager
91
92
  constructor(config, privateKey, index) {
93
+ privateKey = privateKey.startsWith('0x') ? privateKey : `0x${privateKey}`;
92
94
  super(config, privateKey, index);
93
95
  this.connection = (0, viem_1.createPublicClient)({
94
96
  chain: (0, utils_1.fromChainToViemChain)(config),
@@ -113,6 +115,9 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
113
115
  isAASupportedByChain() {
114
116
  return this.config.aaSupport?.enabled === true;
115
117
  }
118
+ convertFromEntropyToPrivateKey = (entropy) => {
119
+ return (0, viem_1.toHex)(entropy);
120
+ };
116
121
  /**
117
122
  * Check if smart wallet is initialized and ready for AA operations
118
123
  * @returns true if extend() has been called and smart wallet exists
@@ -120,9 +125,9 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
120
125
  isSmartWalletInitialized() {
121
126
  return !!this.smartWallet;
122
127
  }
123
- createSavingsManager(mnemonic, index = 0, chain) {
124
- return new saving_actions_1.SavingsManager(mnemonic, index, chain);
125
- }
128
+ // createSavingsManager(mnemonic: string, index: number = 0, chain: ChainWalletConfig) {
129
+ // return new SavingsManager(mnemonic, index, (chain))
130
+ // }
126
131
  /**
127
132
  * Validate that AA is available for sponsored transactions
128
133
  * @throws Error with helpful message if AA is not available
@@ -1 +1 @@
1
- {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../utils/evm/evm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../utils/evm/evm.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,3 @@
1
1
  "use strict";
2
- // import { WalletClient, PublicClient } from "viem";
3
- // import { SavingsActions } from "./saving-actions";
4
- // export interface ExtendedWalletClient extends WalletClient {
5
- // extendSavings?: (mnemonic: string, walletIndex?: number) => SavingsActions;
6
- // savingsActions?: SavingsActions;
7
- // }
8
- // /**
9
- // * Adds savings functionality to an existing WalletClient
10
- // */
11
- // export function extendWalletClientWithSavings(
12
- // wallet: WalletClient,
13
- // client: PublicClient,
14
- // walletIndex: number = 0
15
- // ): ExtendedWalletClient {
16
- // const extended = wallet as ExtendedWalletClient;
17
- // extended.extendSavings = (mnemonic: string, index: number = walletIndex) => {
18
- // if (!extended.savingsActions) {
19
- // extended.savingsActions = new SavingsActions(mnemonic, index);
20
- // }
21
- // return extended.savingsActions;
22
- // };
23
- // return extended;
24
- // }
2
+ // export * from "./saving-actions"
25
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/savings/index.ts"],"names":[],"mappings":";AAAA,qDAAqD;AACrD,qDAAqD;AAGrD,+DAA+D;AAC/D,kFAAkF;AAClF,uCAAuC;AACvC,IAAI;AAEJ,MAAM;AACN,4DAA4D;AAC5D,MAAM;AACN,iDAAiD;AACjD,4BAA4B;AAC5B,4BAA4B;AAC5B,8BAA8B;AAC9B,4BAA4B;AAC5B,uDAAuD;AAEvD,oFAAoF;AACpF,0CAA0C;AAC1C,6EAA6E;AAC7E,YAAY;AACZ,0CAA0C;AAC1C,SAAS;AAET,uBAAuB;AACvB,IAAI"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/savings/index.ts"],"names":[],"mappings":";AAAA,mCAAmC"}
@@ -1,29 +0,0 @@
1
- import { WalletClient, PublicClient, ChainConfig } from "viem";
2
- import { TransactionResult } from "../types";
3
- /**
4
- * Handles multi-pocket savings accounts for an EVM wallet
5
- */
6
- export declare class SavingsManager {
7
- private mnemonic;
8
- private walletIndex;
9
- private pockets;
10
- constructor(mnemonic: string, walletIndex: number | undefined, chain: ChainConfig);
11
- getTotalTokenBalanceOfAllPockets(tokens: string[], pockets: number[]): void;
12
- getPocketTokenBalance(tokens: string[], pocket: number): void;
13
- /**
14
- * Derive a pocket (savings account) at accountIndex
15
- */
16
- derivePocket(accountIndex: number): {
17
- privateKey: string;
18
- address: string;
19
- derivationPath: string;
20
- };
21
- getPocket(accountIndex: number): {
22
- privateKey: string;
23
- address: string;
24
- derivationPath: string;
25
- };
26
- transferToPocket(mainWallet: WalletClient, client: PublicClient, accountIndex: number, amount: string): Promise<TransactionResult>;
27
- transferTokenToPocket(mainWallet: WalletClient, client: PublicClient, tokenAddress: string, accountIndex: number, amount: bigint): Promise<TransactionResult>;
28
- verifyPocketAddress(accountIndex: number, storedAddress: string): boolean;
29
- }
@@ -1,56 +1,78 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SavingsManager = void 0;
4
- const walletBip32_1 = require("../walletBip32");
5
- const ethers_1 = require("ethers");
6
- const evm_1 = require("../evm");
7
- /**
8
- * Handles multi-pocket savings accounts for an EVM wallet
9
- */
10
- class SavingsManager {
11
- mnemonic;
12
- walletIndex;
13
- pockets = new Map();
14
- constructor(mnemonic, walletIndex = 0, chain) {
15
- this.mnemonic = mnemonic;
16
- this.walletIndex = walletIndex;
17
- }
18
- getTotalTokenBalanceOfAllPockets(tokens, pockets) {
19
- const balances = pockets.map((p) => { });
20
- }
21
- getPocketTokenBalance(tokens, pocket) {
22
- const balances = tokens.map((t) => {
23
- });
24
- }
25
- /**
26
- * Derive a pocket (savings account) at accountIndex
27
- */
28
- derivePocket(accountIndex) {
29
- const derivationPath = `m/44'/60'/${accountIndex}'/0/${this.walletIndex}`;
30
- const { privateKey } = (0, walletBip32_1.EVMDeriveChildPrivateKey)(this.mnemonic, this.walletIndex, `m/44'/60'/${accountIndex}'/0/`);
31
- const wallet = new ethers_1.ethers.Wallet(privateKey);
32
- const pocket = { privateKey, address: wallet.address, derivationPath };
33
- this.pockets.set(accountIndex, pocket);
34
- return pocket;
35
- }
36
- getPocket(accountIndex) {
37
- if (!this.pockets.has(accountIndex)) {
38
- return this.derivePocket(accountIndex);
39
- }
40
- return this.pockets.get(accountIndex);
41
- }
42
- async transferToPocket(mainWallet, client, accountIndex, amount) {
43
- const pocket = this.getPocket(accountIndex);
44
- return await (0, evm_1.sendNativeToken)(mainWallet, client, pocket.address, amount, 5);
45
- }
46
- async transferTokenToPocket(mainWallet, client, tokenAddress, accountIndex, amount) {
47
- const pocket = this.getPocket(accountIndex);
48
- return await (0, evm_1.sendERC20Token)(mainWallet, client, tokenAddress, pocket.address, amount, 5);
49
- }
50
- verifyPocketAddress(accountIndex, storedAddress) {
51
- const pocket = this.getPocket(accountIndex);
52
- return pocket.address.toLowerCase() === storedAddress.toLowerCase();
53
- }
54
- }
55
- exports.SavingsManager = SavingsManager;
2
+ // import { EVMDeriveChildPrivateKey } from "../walletBip32";
3
+ // import { ethers } from "ethers";
4
+ // import { WalletClient, PublicClient, Hex, Chain } from "viem";
5
+ // import { } from "../utils";
6
+ // import { ChainWalletConfig, TransactionResult } from "../types";
7
+ // import { getNativeBalance, sendERC20Token, sendNativeToken } from "../evm";
8
+ // import { fetchPrices } from "../price";
9
+ // import { privateKeyToAccount } from "viem/accounts";
10
+ // /**
11
+ // * Handles multi-pocket savings accounts for an EVM wallet
12
+ // */
13
+ // export class BaseSavingsManager {
14
+ // private mnemonic: string;
15
+ // private walletIndex: number;
16
+ // chain: ChainWalletConfig
17
+ // private pockets: Map<number, { privateKey: string; address: string; derivationPath: string }> = new Map();
18
+ // constructor(mnemonic: string, walletIndex: number = 0, chain: ChainWalletConfig) {
19
+ // this.mnemonic = mnemonic;
20
+ // this.chain = chain
21
+ // this.walletIndex = walletIndex;
22
+ // }
23
+ // /**
24
+ // * Derive a pocket (savings account) at accountIndex
25
+ // */
26
+ // derivePocket(accountIndex: number) {
27
+ // const derivationPath = `m/44'/60'/${accountIndex}'/0/${this.walletIndex}`;
28
+ // const { privateKey } = EVMDeriveChildPrivateKey(this.mnemonic, this.walletIndex, `m/44'/60'/${accountIndex}'/0/`);
29
+ // const wallet = new ethers.Wallet(privateKey);
30
+ // const pocket = { privateKey, address: wallet.address, derivationPath };
31
+ // this.pockets.set(accountIndex, pocket);
32
+ // return pocket;
33
+ // }
34
+ // getPocket(accountIndex: number) {
35
+ // if (!this.pockets.has(accountIndex)) {
36
+ // return this.derivePocket(accountIndex);
37
+ // }
38
+ // return this.pockets.get(accountIndex)!;
39
+ // }
40
+ // async transferToPocket(
41
+ // mainWallet: WalletClient,
42
+ // client: PublicClient,
43
+ // accountIndex: number,
44
+ // amount: string
45
+ // ): Promise<TransactionResult> {
46
+ // const pocket = this.getPocket(accountIndex);
47
+ // return await sendNativeToken(mainWallet, client, pocket.address as Hex, amount, 5);
48
+ // }
49
+ // async transferTokenToPocket(
50
+ // mainWallet: WalletClient,
51
+ // client: PublicClient,
52
+ // tokenAddress: string,
53
+ // accountIndex: number,
54
+ // amount: bigint
55
+ // ): Promise<TransactionResult> {
56
+ // const pocket = this.getPocket(accountIndex);
57
+ // return await sendERC20Token(mainWallet, client, tokenAddress as Hex, pocket.address as Hex, amount, 5);
58
+ // }
59
+ // verifyPocketAddress(accountIndex: number, storedAddress: string) {
60
+ // const pocket = this.getPocket(accountIndex);
61
+ // return pocket.address.toLowerCase() === storedAddress.toLowerCase();
62
+ // }
63
+ // }
64
+ // export class SavingsManager extends BaseSavingsManager {
65
+ // constructor(mnemonic: string, walletIndex: number = 0, chain: ChainWalletConfig) {
66
+ // super(mnemonic, walletIndex, chain)
67
+ // }
68
+ // getTotalTokenBalanceOfAllPockets(tokens: string[], pockets: number[]) {
69
+ // const balances = pockets.map((p: number) => { })
70
+ // }
71
+ // getPocketTokenBalance(tokens: string[], pocket: number) {
72
+ // const account = privateKeyToAccount(`0x${this.derivePocket(pocket).privateKey}`)
73
+ // const balances = tokens.map((t: string) => {
74
+ // const nativeBalance = getNativeBalance(account.address)
75
+ // })
76
+ // }
77
+ // }
56
78
  //# sourceMappingURL=saving-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"saving-actions.js","sourceRoot":"","sources":["../../utils/savings/saving-actions.ts"],"names":[],"mappings":";;;AAAA,gDAA0D;AAC1D,mCAAgC;AAIhC,gCAAyD;AAEzD;;GAEG;AACH,MAAa,cAAc;IACf,QAAQ,CAAS;IACjB,WAAW,CAAS;IACpB,OAAO,GAAiF,IAAI,GAAG,EAAE,CAAC;IAE1G,YAAY,QAAgB,EAAE,cAAsB,CAAC,EAAE,KAAkB;QACrE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,gCAAgC,CAAC,MAAgB,EAAE,OAAiB;QAEhE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,qBAAqB,CAAC,MAAgB,EAAE,MAAc;QAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;QAE1C,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,YAAoB;QAC7B,MAAM,cAAc,GAAG,aAAa,YAAY,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,sCAAwB,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,YAAY,MAAM,CAAC,CAAC;QAClH,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,YAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;IAC3C,CAAC;IACD,KAAK,CAAC,gBAAgB,CAClB,UAAwB,EACxB,MAAoB,EACpB,YAAoB,EACpB,MAAc;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,OAAO,MAAM,IAAA,qBAAe,EAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,OAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,qBAAqB,CACvB,UAAwB,EACxB,MAAoB,EACpB,YAAoB,EACpB,YAAoB,EACpB,MAAc;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,OAAO,MAAM,IAAA,oBAAc,EAAC,UAAU,EAAE,MAAM,EAAE,YAAmB,EAAE,MAAM,CAAC,OAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,mBAAmB,CAAC,YAAoB,EAAE,aAAqB;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;IACxE,CAAC;CACJ;AAlED,wCAkEC"}
1
+ {"version":3,"file":"saving-actions.js","sourceRoot":"","sources":["../../utils/savings/saving-actions.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,mCAAmC;AACnC,iEAAiE;AACjE,8BAA8B;AAC9B,mEAAmE;AACnE,8EAA8E;AAC9E,0CAA0C;AAC1C,uDAAuD;AAEvD,MAAM;AACN,6DAA6D;AAC7D,MAAM;AACN,oCAAoC;AACpC,gCAAgC;AAChC,mCAAmC;AACnC,+BAA+B;AAC/B,iHAAiH;AAEjH,yFAAyF;AACzF,oCAAoC;AACpC,6BAA6B;AAC7B,0CAA0C;AAC1C,QAAQ;AAIR,UAAU;AACV,2DAA2D;AAC3D,UAAU;AACV,2CAA2C;AAC3C,qFAAqF;AACrF,6HAA6H;AAC7H,wDAAwD;AAExD,kFAAkF;AAClF,kDAAkD;AAClD,yBAAyB;AACzB,QAAQ;AAER,wCAAwC;AACxC,iDAAiD;AACjD,sDAAsD;AACtD,YAAY;AACZ,kDAAkD;AAClD,QAAQ;AACR,8BAA8B;AAC9B,oCAAoC;AACpC,gCAAgC;AAChC,gCAAgC;AAChC,yBAAyB;AACzB,sCAAsC;AACtC,uDAAuD;AACvD,8FAA8F;AAC9F,QAAQ;AAER,mCAAmC;AACnC,oCAAoC;AACpC,gCAAgC;AAChC,gCAAgC;AAChC,gCAAgC;AAChC,yBAAyB;AACzB,sCAAsC;AACtC,uDAAuD;AACvD,kHAAkH;AAClH,QAAQ;AAER,yEAAyE;AACzE,uDAAuD;AACvD,+EAA+E;AAC/E,QAAQ;AACR,IAAI;AAEJ,2DAA2D;AAE3D,yFAAyF;AACzF,8CAA8C;AAC9C,QAAQ;AACR,8EAA8E;AAE9E,2DAA2D;AAC3D,QAAQ;AAER,gEAAgE;AAChE,2FAA2F;AAC3F,uDAAuD;AACvD,sEAAsE;AAGtE,aAAa;AACb,QAAQ;AAER,IAAI"}
package/dist/svm/svm.d.ts CHANGED
@@ -19,6 +19,7 @@ export declare class SVMVM extends VM<PublicKey, Keypair, Connection> {
19
19
  }) => Promise<string>;
20
20
  static signTransaction: (transaction: VersionedTransaction | Transaction, signers: Keypair) => Promise<VersionedTransaction | Transaction>;
21
21
  static sendTransaction: (transaction: VersionedTransaction | Transaction, connection: Connection) => Promise<string>;
22
+ static convertFromEntropyToPrivateKey: (entropy: string) => Keypair;
22
23
  generatePrivateKey(index: number, seed?: string, mnemonic?: string, derivationPath?: string): {
23
24
  privateKey: Keypair;
24
25
  index: number;
@@ -44,6 +45,7 @@ export declare class SVMVM extends VM<PublicKey, Keypair, Connection> {
44
45
  export declare class SVMChainWallet extends ChainWallet<PublicKey, Keypair, Connection> {
45
46
  constructor(config: ChainWalletConfig, privateKey: Keypair, index: number);
46
47
  generateAddress(): PublicKey;
48
+ convertFromEntropyToPrivateKey: (entropy: string) => Keypair;
47
49
  getNativeBalance(): Promise<Balance>;
48
50
  getTokenBalance(tokenAddress: PublicKey): Promise<Balance>;
49
51
  discoverToken(): Promise<UserTokenBalance<PublicKey>[]>;
package/dist/svm/svm.js CHANGED
@@ -42,6 +42,9 @@ class SVMVM extends vm_1.VM {
42
42
  static signAndSendTransaction = utils_1.signAndSendTransaction;
43
43
  static signTransaction = utils_1.signTransaction;
44
44
  static sendTransaction = utils_1.sendTransaction;
45
+ static convertFromEntropyToPrivateKey = (entropy) => {
46
+ return web3_js_1.Keypair.fromSeed(Buffer.from(entropy));
47
+ };
45
48
  generatePrivateKey(index, seed, mnemonic, derivationPath = this.derivationPath) {
46
49
  let _seed;
47
50
  if (seed) {
@@ -95,6 +98,9 @@ class SVMChainWallet extends IChainWallet_1.ChainWallet {
95
98
  generateAddress() {
96
99
  return this.address;
97
100
  }
101
+ convertFromEntropyToPrivateKey = (entropy) => {
102
+ return web3_js_1.Keypair.fromSeed(Buffer.from(entropy));
103
+ };
98
104
  async getNativeBalance() {
99
105
  // Implement native balance retrieval logic here
100
106
  return await SVMVM.getNativeBalance(this.address, this.connection);
@@ -1 +1 @@
1
- {"version":3,"file":"svm.js","sourceRoot":"","sources":["../../utils/svm/svm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svm.js","sourceRoot":"","sources":["../../utils/svm/svm.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1 +1,2 @@
1
- export {};
1
+ import { vmTypes } from "./types";
2
+ export declare const getPrivateKeyFromAnother: (privateKey: any, fromVm: vmTypes, toVm: vmTypes) => string | import("@solana/web3.js").Keypair | undefined;
package/dist/utils.js CHANGED
@@ -1,3 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPrivateKeyFromAnother = void 0;
4
+ const evm_1 = require("./evm");
5
+ const svm_1 = require("./svm");
6
+ const sha2_1 = require("@noble/hashes/sha2");
7
+ const getPrivateKeyFromAnother = (privateKey, fromVm, toVm) => {
8
+ if (fromVm === "EVM") {
9
+ if (toVm === "SVM") {
10
+ return svm_1.SVMVM.convertFromEntropyToPrivateKey((0, sha2_1.sha256)(privateKey).toString());
11
+ }
12
+ }
13
+ else if (fromVm === "SVM") {
14
+ if (toVm === "EVM") {
15
+ return evm_1.EVMVM.convertFromEntropyToPrivateKey((0, sha2_1.sha256)(privateKey).toString());
16
+ }
17
+ }
18
+ else {
19
+ throw new Error("No conversion available for this vms yet");
20
+ }
21
+ };
22
+ exports.getPrivateKeyFromAnother = getPrivateKeyFromAnother;
3
23
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils/utils.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils/utils.ts"],"names":[],"mappings":";;;AAAA,+BAAgD;AAChD,+BAA8B;AAE9B,6CAA4C;AAGrC,MAAM,wBAAwB,GAAG,CAAC,UAAe,EAAE,MAAe,EAAE,IAAa,EAAE,EAAE;IAExF,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACnB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACjB,OAAO,WAAK,CAAC,8BAA8B,CAAC,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9E,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACjB,OAAO,WAAK,CAAC,8BAA8B,CAAC,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9E,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC/D,CAAC;AACL,CAAC,CAAA;AAbY,QAAA,wBAAwB,4BAapC"}
package/dist/vm.js.map CHANGED
@@ -1 +1 @@
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,gBAgFC"}
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deserialize/multi-vm-wallet",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "devDependencies": {
5
5
  "@types/bn.js": "^5.2.0",
6
6
  "@types/crypto-js": "^4.2.2",
@@ -40,4 +40,6 @@ export abstract class ChainWallet<AddressType, PrivateKeyType, ConnectionType> {
40
40
  return this.config;
41
41
  }
42
42
 
43
+ abstract convertFromEntropyToPrivateKey(entropy: string): PrivateKeyType
44
+
43
45
  }
package/utils/evm/evm.ts CHANGED
@@ -30,7 +30,7 @@ import {
30
30
  fromChainToViemChain
31
31
  } from "./utils";
32
32
  import { EVMTransactionHistoryItem, getEVMTransactionHistory } from "./transactionParsing";
33
- import { createPublicClient, Hex, http, parseEther, parseUnits, Call, walletActions, WalletClient, createWalletClient, Chain, ClientConfig, EIP1193RequestFn, TransportConfig, PublicClient, ChainConfig } from "viem";
33
+ import { createPublicClient, Hex, http, parseEther, parseUnits, Call, walletActions, WalletClient, createWalletClient, Chain, ClientConfig, EIP1193RequestFn, TransportConfig, PublicClient, ChainConfig, toHex } from "viem";
34
34
  import { EVMSmartWallet } from "./smartWallet";
35
35
  import { SmartWalletOptions } from "./aa-service";
36
36
 
@@ -45,9 +45,9 @@ import {
45
45
  } from "../savings/types";
46
46
  import { fetchPrices } from "../price";
47
47
  import { PriceResponse } from "../price.types";
48
- import { Account, privateKeyToAccount } from "viem/accounts";
48
+ import { Account, generatePrivateKey, privateKeyToAccount } from "viem/accounts";
49
49
  // import { extendWalletClientWithSavings } from "../savings";
50
- import { SavingsManager } from "../savings/saving-actions";
50
+ // import { SavingsManager } from "../savings/saving-actions";
51
51
 
52
52
 
53
53
  interface DebonkQuoteResponse {
@@ -159,15 +159,20 @@ export class EVMVM extends VM<string, string, PublicClient> {
159
159
  // Implement token balance retrieval logic here
160
160
  return await getTokenBalance(tokenAddress as Hex, address as Hex, connection)
161
161
  }
162
+
163
+ static convertFromEntropyToPrivateKey = (entropy: string): string => {
164
+ return toHex(entropy)
165
+ }
162
166
  }
163
167
 
164
168
  export class EVMChainWallet extends ChainWallet<string, string, PublicClient> {
165
169
  wallet: WalletClient
166
170
  private smartWallet?: EVMSmartWallet
167
- private savingsManager?: SavingsManager
168
- private smartSavingsManager?: SmartSavingsManager
171
+ // private savingsManager?: SavingsManager
172
+ // private smartSavingsManager?: SmartSavingsManager
169
173
 
170
174
  constructor(config: ChainWalletConfig, privateKey: string, index: number) {
175
+ privateKey = privateKey.startsWith('0x') ? privateKey : `0x${privateKey}`
171
176
  super(config, privateKey, index);
172
177
  this.connection = createPublicClient(
173
178
  {
@@ -184,6 +189,7 @@ export class EVMChainWallet extends ChainWallet<string, string, PublicClient> {
184
189
 
185
190
  this.address = account.address
186
191
  this.privateKey = privateKey;
192
+
187
193
  }
188
194
 
189
195
  // ============================================
@@ -198,6 +204,10 @@ export class EVMChainWallet extends ChainWallet<string, string, PublicClient> {
198
204
  return this.config.aaSupport?.enabled === true;
199
205
  }
200
206
 
207
+ convertFromEntropyToPrivateKey = (entropy: string): string => {
208
+ return toHex(entropy)
209
+ }
210
+
201
211
  /**
202
212
  * Check if smart wallet is initialized and ready for AA operations
203
213
  * @returns true if extend() has been called and smart wallet exists
@@ -206,9 +216,9 @@ export class EVMChainWallet extends ChainWallet<string, string, PublicClient> {
206
216
  return !!this.smartWallet;
207
217
  }
208
218
 
209
- createSavingsManager(mnemonic: string, index: number = 0, chain: ChainConfig) {
210
- return new SavingsManager(mnemonic, index, chain)
211
- }
219
+ // createSavingsManager(mnemonic: string, index: number = 0, chain: ChainWalletConfig) {
220
+ // return new SavingsManager(mnemonic, index, (chain))
221
+ // }
212
222
 
213
223
  /**
214
224
  * Validate that AA is available for sponsored transactions
@@ -1,28 +1 @@
1
- // import { WalletClient, PublicClient } from "viem";
2
- // import { SavingsActions } from "./saving-actions";
3
-
4
-
5
- // export interface ExtendedWalletClient extends WalletClient {
6
- // extendSavings?: (mnemonic: string, walletIndex?: number) => SavingsActions;
7
- // savingsActions?: SavingsActions;
8
- // }
9
-
10
- // /**
11
- // * Adds savings functionality to an existing WalletClient
12
- // */
13
- // export function extendWalletClientWithSavings(
14
- // wallet: WalletClient,
15
- // client: PublicClient,
16
- // walletIndex: number = 0
17
- // ): ExtendedWalletClient {
18
- // const extended = wallet as ExtendedWalletClient;
19
-
20
- // extended.extendSavings = (mnemonic: string, index: number = walletIndex) => {
21
- // if (!extended.savingsActions) {
22
- // extended.savingsActions = new SavingsActions(mnemonic, index);
23
- // }
24
- // return extended.savingsActions;
25
- // };
26
-
27
- // return extended;
28
- // }
1
+ // export * from "./saving-actions"
@@ -1,77 +1,92 @@
1
- import { EVMDeriveChildPrivateKey } from "../walletBip32";
2
- import { ethers } from "ethers";
3
- import { WalletClient, PublicClient, Hex, ChainConfig } from "viem";
4
- import { } from "../utils";
5
- import { TransactionResult } from "../types";
6
- import { sendERC20Token, sendNativeToken } from "../evm";
7
-
8
- /**
9
- * Handles multi-pocket savings accounts for an EVM wallet
10
- */
11
- export class SavingsManager {
12
- private mnemonic: string;
13
- private walletIndex: number;
14
- private pockets: Map<number, { privateKey: string; address: string; derivationPath: string }> = new Map();
15
-
16
- constructor(mnemonic: string, walletIndex: number = 0, chain: ChainConfig) {
17
- this.mnemonic = mnemonic;
18
- this.walletIndex = walletIndex;
19
- }
20
-
21
- getTotalTokenBalanceOfAllPockets(tokens: string[], pockets: number[]) {
22
-
23
- const balances = pockets.map((p: number) => { })
24
- }
25
-
26
- getPocketTokenBalance(tokens: string[], pocket: number) {
27
-
28
- const balances = tokens.map((t: string) => {
29
-
30
- })
31
- }
32
-
33
- /**
34
- * Derive a pocket (savings account) at accountIndex
35
- */
36
- derivePocket(accountIndex: number) {
37
- const derivationPath = `m/44'/60'/${accountIndex}'/0/${this.walletIndex}`;
38
- const { privateKey } = EVMDeriveChildPrivateKey(this.mnemonic, this.walletIndex, `m/44'/60'/${accountIndex}'/0/`);
39
- const wallet = new ethers.Wallet(privateKey);
40
-
41
- const pocket = { privateKey, address: wallet.address, derivationPath };
42
- this.pockets.set(accountIndex, pocket);
43
- return pocket;
44
- }
45
-
46
- getPocket(accountIndex: number) {
47
- if (!this.pockets.has(accountIndex)) {
48
- return this.derivePocket(accountIndex);
49
- }
50
- return this.pockets.get(accountIndex)!;
51
- }
52
- async transferToPocket(
53
- mainWallet: WalletClient,
54
- client: PublicClient,
55
- accountIndex: number,
56
- amount: string
57
- ): Promise<TransactionResult> {
58
- const pocket = this.getPocket(accountIndex);
59
- return await sendNativeToken(mainWallet, client, pocket.address as Hex, amount, 5);
60
- }
61
-
62
- async transferTokenToPocket(
63
- mainWallet: WalletClient,
64
- client: PublicClient,
65
- tokenAddress: string,
66
- accountIndex: number,
67
- amount: bigint
68
- ): Promise<TransactionResult> {
69
- const pocket = this.getPocket(accountIndex);
70
- return await sendERC20Token(mainWallet, client, tokenAddress as Hex, pocket.address as Hex, amount, 5);
71
- }
72
-
73
- verifyPocketAddress(accountIndex: number, storedAddress: string) {
74
- const pocket = this.getPocket(accountIndex);
75
- return pocket.address.toLowerCase() === storedAddress.toLowerCase();
76
- }
77
- }
1
+ // import { EVMDeriveChildPrivateKey } from "../walletBip32";
2
+ // import { ethers } from "ethers";
3
+ // import { WalletClient, PublicClient, Hex, Chain } from "viem";
4
+ // import { } from "../utils";
5
+ // import { ChainWalletConfig, TransactionResult } from "../types";
6
+ // import { getNativeBalance, sendERC20Token, sendNativeToken } from "../evm";
7
+ // import { fetchPrices } from "../price";
8
+ // import { privateKeyToAccount } from "viem/accounts";
9
+
10
+ // /**
11
+ // * Handles multi-pocket savings accounts for an EVM wallet
12
+ // */
13
+ // export class BaseSavingsManager {
14
+ // private mnemonic: string;
15
+ // private walletIndex: number;
16
+ // chain: ChainWalletConfig
17
+ // private pockets: Map<number, { privateKey: string; address: string; derivationPath: string }> = new Map();
18
+
19
+ // constructor(mnemonic: string, walletIndex: number = 0, chain: ChainWalletConfig) {
20
+ // this.mnemonic = mnemonic;
21
+ // this.chain = chain
22
+ // this.walletIndex = walletIndex;
23
+ // }
24
+
25
+
26
+
27
+ // /**
28
+ // * Derive a pocket (savings account) at accountIndex
29
+ // */
30
+ // derivePocket(accountIndex: number) {
31
+ // const derivationPath = `m/44'/60'/${accountIndex}'/0/${this.walletIndex}`;
32
+ // const { privateKey } = EVMDeriveChildPrivateKey(this.mnemonic, this.walletIndex, `m/44'/60'/${accountIndex}'/0/`);
33
+ // const wallet = new ethers.Wallet(privateKey);
34
+
35
+ // const pocket = { privateKey, address: wallet.address, derivationPath };
36
+ // this.pockets.set(accountIndex, pocket);
37
+ // return pocket;
38
+ // }
39
+
40
+ // getPocket(accountIndex: number) {
41
+ // if (!this.pockets.has(accountIndex)) {
42
+ // return this.derivePocket(accountIndex);
43
+ // }
44
+ // return this.pockets.get(accountIndex)!;
45
+ // }
46
+ // async transferToPocket(
47
+ // mainWallet: WalletClient,
48
+ // client: PublicClient,
49
+ // accountIndex: number,
50
+ // amount: string
51
+ // ): Promise<TransactionResult> {
52
+ // const pocket = this.getPocket(accountIndex);
53
+ // return await sendNativeToken(mainWallet, client, pocket.address as Hex, amount, 5);
54
+ // }
55
+
56
+ // async transferTokenToPocket(
57
+ // mainWallet: WalletClient,
58
+ // client: PublicClient,
59
+ // tokenAddress: string,
60
+ // accountIndex: number,
61
+ // amount: bigint
62
+ // ): Promise<TransactionResult> {
63
+ // const pocket = this.getPocket(accountIndex);
64
+ // return await sendERC20Token(mainWallet, client, tokenAddress as Hex, pocket.address as Hex, amount, 5);
65
+ // }
66
+
67
+ // verifyPocketAddress(accountIndex: number, storedAddress: string) {
68
+ // const pocket = this.getPocket(accountIndex);
69
+ // return pocket.address.toLowerCase() === storedAddress.toLowerCase();
70
+ // }
71
+ // }
72
+
73
+ // export class SavingsManager extends BaseSavingsManager {
74
+
75
+ // constructor(mnemonic: string, walletIndex: number = 0, chain: ChainWalletConfig) {
76
+ // super(mnemonic, walletIndex, chain)
77
+ // }
78
+ // getTotalTokenBalanceOfAllPockets(tokens: string[], pockets: number[]) {
79
+
80
+ // const balances = pockets.map((p: number) => { })
81
+ // }
82
+
83
+ // getPocketTokenBalance(tokens: string[], pocket: number) {
84
+ // const account = privateKeyToAccount(`0x${this.derivePocket(pocket).privateKey}`)
85
+ // const balances = tokens.map((t: string) => {
86
+ // const nativeBalance = getNativeBalance(account.address)
87
+
88
+
89
+ // })
90
+ // }
91
+
92
+ // }
package/utils/svm/svm.ts CHANGED
@@ -64,6 +64,10 @@ export class SVMVM extends VM<PublicKey, Keypair, Connection> {
64
64
 
65
65
  static sendTransaction = sendTransaction
66
66
 
67
+ static convertFromEntropyToPrivateKey = (entropy: string): Keypair => {
68
+ return Keypair.fromSeed(Buffer.from(entropy))
69
+ }
70
+
67
71
 
68
72
  generatePrivateKey(index: number, seed?: string, mnemonic?: string, derivationPath = this.derivationPath) {
69
73
  let _seed: string
@@ -121,6 +125,10 @@ export class SVMChainWallet extends ChainWallet<PublicKey, Keypair, Connection>
121
125
  generateAddress() {
122
126
  return this.address;
123
127
  }
128
+
129
+ convertFromEntropyToPrivateKey = (entropy: string): Keypair => {
130
+ return Keypair.fromSeed(Buffer.from(entropy))
131
+ }
124
132
  async getNativeBalance(): Promise<Balance> {
125
133
  // Implement native balance retrieval logic here
126
134
  return await SVMVM.getNativeBalance(this.address, this.connection!)
package/utils/utils.ts CHANGED
@@ -1,3 +1,20 @@
1
- import { getNativeBalance } from "./evm";
2
- import { ChainWalletConfig } from "./types";
1
+ import { EVMVM, getNativeBalance } from "./evm";
2
+ import { SVMVM } from "./svm";
3
+ import { ChainWalletConfig, vmTypes } from "./types";
4
+ import { sha256 } from "@noble/hashes/sha2";
3
5
 
6
+
7
+ export const getPrivateKeyFromAnother = (privateKey: any, fromVm: vmTypes, toVm: vmTypes) => {
8
+
9
+ if (fromVm === "EVM") {
10
+ if (toVm === "SVM") {
11
+ return SVMVM.convertFromEntropyToPrivateKey(sha256(privateKey).toString())
12
+ }
13
+ } else if (fromVm === "SVM") {
14
+ if (toVm === "EVM") {
15
+ return EVMVM.convertFromEntropyToPrivateKey(sha256(privateKey).toString())
16
+ }
17
+ } else {
18
+ throw new Error("No conversion available for this vms yet")
19
+ }
20
+ }
package/utils/vm.ts CHANGED
@@ -64,6 +64,7 @@ export abstract class VM<AddressType, PrivateKeyType, ConnectionType> {
64
64
  encryptSeedPhrase = VM.encryptSeedPhrase
65
65
  decryptSeedPhrase = VM.decryptSeedPhrase
66
66
 
67
+
67
68
  abstract derivationPath: string
68
69
 
69
70