@deserialize/multi-vm-wallet 1.0.372 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/bip32.d.ts +1 -3
  2. package/dist/bip32.js +103 -33
  3. package/dist/bip32.js.map +1 -1
  4. package/dist/bip32Old.d.ts +51 -0
  5. package/dist/bip32Old.js +856 -0
  6. package/dist/bip32Old.js.map +1 -0
  7. package/dist/{utils/bip32.d.ts → bip32Small.d.ts} +1 -3
  8. package/dist/bip32Small.js +115 -0
  9. package/dist/bip32Small.js.map +1 -0
  10. package/dist/bipTest.d.ts +0 -0
  11. package/dist/bipTest.js +363 -0
  12. package/dist/bipTest.js.map +1 -0
  13. package/dist/constant.d.ts +2 -0
  14. package/dist/constant.js +55 -0
  15. package/dist/constant.js.map +1 -0
  16. package/dist/evm/evm.d.ts +1 -0
  17. package/dist/evm/evm.js +1 -0
  18. package/dist/evm/evm.js.map +1 -1
  19. package/dist/evm/utils.d.ts +2 -1
  20. package/dist/evm/utils.js +24 -1
  21. package/dist/evm/utils.js.map +1 -1
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.js +1 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/svm/svm.d.ts +1 -0
  26. package/dist/svm/svm.js +12 -8
  27. package/dist/svm/svm.js.map +1 -1
  28. package/dist/svm/transactionSender.js +6 -2
  29. package/dist/svm/transactionSender.js.map +1 -1
  30. package/dist/svm/utils.d.ts +1 -0
  31. package/dist/svm/utils.js +25 -33
  32. package/dist/svm/utils.js.map +1 -1
  33. package/dist/test.d.ts +2 -0
  34. package/dist/test.js +42 -0
  35. package/dist/test.js.map +1 -0
  36. package/dist/types.d.ts +2 -0
  37. package/dist/types.js.map +1 -1
  38. package/dist/vm.d.ts +2 -1
  39. package/dist/vm.js +2 -2
  40. package/dist/vm.js.map +1 -1
  41. package/package.json +2 -5
  42. package/utils/bip32.ts +124 -35
  43. package/utils/bip32Old.ts +1004 -0
  44. package/utils/bip32Small.ts +91 -0
  45. package/utils/bipTest.ts +442 -0
  46. package/utils/constant.ts +55 -0
  47. package/utils/evm/evm.ts +4 -3
  48. package/utils/evm/utils.ts +29 -1
  49. package/utils/index.ts +2 -1
  50. package/utils/svm/svm.ts +14 -12
  51. package/utils/svm/transactionSender.ts +7 -2
  52. package/utils/svm/utils.ts +33 -33
  53. package/utils/test.ts +49 -0
  54. package/utils/types.ts +2 -0
  55. package/utils/vm.ts +4 -3
  56. package/dist/tsconfig.tsbuildinfo +0 -1
  57. package/dist/utils/IChainWallet.d.ts +0 -17
  58. package/dist/utils/IChainWallet.js +0 -22
  59. package/dist/utils/bip32.js +0 -99
  60. package/dist/utils/evm/evm.d.ts +0 -39
  61. package/dist/utils/evm/evm.js +0 -233
  62. package/dist/utils/evm/index.d.ts +0 -2
  63. package/dist/utils/evm/index.js +0 -18
  64. package/dist/utils/evm/utils.d.ts +0 -207
  65. package/dist/utils/evm/utils.js +0 -537
  66. package/dist/utils/index.d.ts +0 -7
  67. package/dist/utils/index.js +0 -23
  68. package/dist/utils/svm/index.d.ts +0 -1
  69. package/dist/utils/svm/index.js +0 -17
  70. package/dist/utils/svm/svm.d.ts +0 -36
  71. package/dist/utils/svm/svm.js +0 -166
  72. package/dist/utils/svm/transactionSender.d.ts +0 -8
  73. package/dist/utils/svm/transactionSender.js +0 -83
  74. package/dist/utils/svm/utils.d.ts +0 -85
  75. package/dist/utils/svm/utils.js +0 -304
  76. package/dist/utils/types.d.ts +0 -44
  77. package/dist/utils/types.js +0 -9
  78. package/dist/utils/vm.d.ts +0 -12
  79. package/dist/utils/vm.js +0 -48
package/dist/bip32.d.ts CHANGED
@@ -1,9 +1,7 @@
1
- import { BIP32Interface } from "bip32";
2
1
  import { Keypair } from "@solana/web3.js";
3
2
  export declare function GenerateNewMnemonic(): string;
4
3
  export declare function ValidateMnemonic(mnemonic: string): true;
5
- export declare function GenerateSeed(_mnemonic?: string): string;
6
- export declare function getSeedNode(seed: string): BIP32Interface;
4
+ export declare function GenerateSeed(_mnemonic?: string): Uint8Array<ArrayBufferLike>;
7
5
  export declare function EVMDeriveChildPrivateKey(seed: string, index: number, derivationPath: string): {
8
6
  privateKey: string;
9
7
  publicKey: string;
package/dist/bip32.js CHANGED
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ // import * as bip39 from "bip39";
3
+ // import BIP32Factory from "bip32";
4
+ // import * as ecc from "tiny-secp256k1";
5
+ // import { BIP32Interface } from "bip32";
6
+ // import * as ed25519 from "ed25519-hd-key";
7
+ // import { Keypair } from "@solana/web3.js";
2
8
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
9
  if (k2 === undefined) k2 = k;
4
10
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -32,69 +38,133 @@ var __importStar = (this && this.__importStar) || (function () {
32
38
  return result;
33
39
  };
34
40
  })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
41
  Object.defineProperty(exports, "__esModule", { value: true });
39
42
  exports.GenerateNewMnemonic = GenerateNewMnemonic;
40
43
  exports.ValidateMnemonic = ValidateMnemonic;
41
44
  exports.GenerateSeed = GenerateSeed;
42
- exports.getSeedNode = getSeedNode;
43
45
  exports.EVMDeriveChildPrivateKey = EVMDeriveChildPrivateKey;
44
46
  exports.SVMDeriveChildPrivateKey = SVMDeriveChildPrivateKey;
45
- const bip39 = __importStar(require("bip39"));
46
- const bip32_1 = __importDefault(require("bip32"));
47
- const ecc = __importStar(require("tiny-secp256k1"));
48
- const ed25519 = __importStar(require("ed25519-hd-key"));
49
- const web3_js_1 = require("@solana/web3.js");
50
- const bip32 = (0, bip32_1.default)(ecc);
51
- // export function getPublicKeyFromSeed(seed: string, index: number) {
52
- // const node = getSeedNode(seed);
53
- // const { publicKey } = deriveChildPrivateKey(node, index);
54
- // return publicKey;
47
+ // // export function getPublicKeyFromSeed(seed: string, index: number) {
48
+ // // const node = getSeedNode(seed);
49
+ // // const { publicKey } = deriveChildPrivateKey(node, index);
50
+ // // return publicKey;
51
+ // // }
52
+ // // export function getPrivateKeyFromSeed(seed: string, index: number) {
53
+ // // const node = getSeedNode(seed);
54
+ // // const keyPair = deriveChildPrivateKey(node, index);
55
+ // // return keyPair.privateKey;
56
+ // // }
57
+ // export function GenerateNewMnemonic() {
58
+ // const mnemonic = bip39.generateMnemonic();
59
+ // return mnemonic;
60
+ // }
61
+ // export function ValidateMnemonic(mnemonic: string) {
62
+ // const isValid = bip39.validateMnemonic(mnemonic);
63
+ // if (!isValid) {
64
+ // throw new Error("Invalid mnemonic");
65
+ // }
66
+ // return isValid;
67
+ // }
68
+ // export function GenerateSeed(_mnemonic?: string) {
69
+ // const mnemonic = _mnemonic || bip39.generateMnemonic();
70
+ // const seed = bip39.mnemonicToSeedSync(mnemonic);
71
+ // const seedString = seed.toString("hex");
72
+ // return seedString;
55
73
  // }
56
- // export function getPrivateKeyFromSeed(seed: string, index: number) {
74
+ // export function getSeedNode(seed: string) {
75
+ // const bip32 = BIP32Factory(ecc);
76
+ // const restoredSeedBuffer = Buffer.from(seed, "hex");
77
+ // const node: BIP32Interface = bip32.fromSeed(restoredSeedBuffer);
78
+ // return node;
79
+ // }
80
+ // //EVM
81
+ // export function EVMDeriveChildPrivateKey(seed: string, index: number, derivationPath: string) {
57
82
  // const node = getSeedNode(seed);
58
- // const keyPair = deriveChildPrivateKey(node, index);
59
- // return keyPair.privateKey;
83
+ // const child = node.derivePath(`${derivationPath}${index}'`);
84
+ // const privateKey = child.privateKey!.toString("hex");
85
+ // const publicKey = child.publicKey.toString("hex");
86
+ // return { privateKey, publicKey };
87
+ // }
88
+ // //SVM
89
+ // export function SVMDeriveChildPrivateKey(seed: string, index: number, derivationPath: string) {
90
+ // const path = `${derivationPath}${index}'`;
91
+ // // Derive a seed from the given path
92
+ // const derivedSeed = ed25519.derivePath(path, seed).key;
93
+ // const derivedKeyPair = Keypair.fromSeed(derivedSeed);
94
+ // return derivedKeyPair;
60
95
  // }
96
+ const web3_js_1 = require("@solana/web3.js");
97
+ const bip39 = __importStar(require("@scure/bip39"));
98
+ const bip32_1 = require("@scure/bip32");
99
+ const buffer_1 = require("buffer"); // Import the polyfill
100
+ window.Buffer = buffer_1.Buffer; // Inject Buffer into the global scope
101
+ const english_1 = require("@scure/bip39/wordlists/english");
102
+ const hmac_1 = require("../node_modules/@noble/hashes/hmac");
103
+ const sha512_1 = require("../node_modules/@noble/hashes/sha512");
61
104
  function GenerateNewMnemonic() {
62
- const mnemonic = bip39.generateMnemonic();
105
+ const mnemonic = bip39.generateMnemonic(english_1.wordlist);
63
106
  return mnemonic;
64
107
  }
65
108
  function ValidateMnemonic(mnemonic) {
66
- const isValid = bip39.validateMnemonic(mnemonic);
109
+ const isValid = bip39.validateMnemonic(mnemonic, english_1.wordlist);
67
110
  if (!isValid) {
68
111
  throw new Error("Invalid mnemonic");
69
112
  }
70
113
  return isValid;
71
114
  }
72
115
  function GenerateSeed(_mnemonic) {
73
- const mnemonic = _mnemonic || bip39.generateMnemonic();
74
- const seed = bip39.mnemonicToSeedSync(mnemonic);
75
- const seedString = seed.toString("hex");
116
+ const mnemonic = _mnemonic || bip39.generateMnemonic(english_1.wordlist);
117
+ const seedString = bip39.mnemonicToSeedSync(mnemonic);
76
118
  return seedString;
77
119
  }
78
- function getSeedNode(seed) {
79
- const bip32 = (0, bip32_1.default)(ecc);
80
- const restoredSeedBuffer = Buffer.from(seed, "hex");
81
- const node = bip32.fromSeed(restoredSeedBuffer);
82
- return node;
83
- }
84
120
  //EVM
85
121
  function EVMDeriveChildPrivateKey(seed, index, derivationPath) {
86
- const node = getSeedNode(seed);
87
- const child = node.derivePath(`${derivationPath}${index}'`);
88
- const privateKey = child.privateKey.toString("hex");
89
- const publicKey = child.publicKey.toString("hex");
122
+ const path = `${derivationPath}${index}'`;
123
+ const scureNode = bip32_1.HDKey.fromMasterSeed(buffer_1.Buffer.from(seed, "hex"));
124
+ const child = scureNode.derive(path);
125
+ const privateKey = buffer_1.Buffer.from(child.privateKey).toString("hex");
126
+ const publicKey = buffer_1.Buffer.from(child.publicKey).toString("hex");
90
127
  return { privateKey, publicKey };
91
128
  }
92
129
  //SVM
93
130
  function SVMDeriveChildPrivateKey(seed, index, derivationPath) {
94
131
  const path = `${derivationPath}${index}'`;
95
132
  // Derive a seed from the given path
96
- const derivedSeed = ed25519.derivePath(path, seed).key;
133
+ const derivedSeed = derivePathEclipticCurve(path, buffer_1.Buffer.from(seed, "hex")).key;
97
134
  const derivedKeyPair = web3_js_1.Keypair.fromSeed(derivedSeed);
98
135
  return derivedKeyPair;
99
136
  }
137
+ function derivePathEclipticCurve(path, seed) {
138
+ const segments = path
139
+ .split("/")
140
+ .slice(1)
141
+ .map((seg) => {
142
+ if (!seg.endsWith("'")) {
143
+ throw new Error("Only hardened derivation is supported");
144
+ }
145
+ return parseInt(seg.slice(0, -1), 10) + 0x80000000;
146
+ });
147
+ // Initialize with master key derivation
148
+ let hmacResult = (0, hmac_1.hmac)(sha512_1.sha512, "ed25519 seed", seed);
149
+ let key = hmacResult.slice(0, 32);
150
+ let chainCode = hmacResult.slice(32, 64);
151
+ // Derive each path segment
152
+ for (const segment of segments) {
153
+ const result = hardenedDerivation(key, chainCode, segment);
154
+ key = buffer_1.Buffer.from(result.key);
155
+ chainCode = buffer_1.Buffer.from(result.chainCode);
156
+ }
157
+ return { key, chainCode };
158
+ }
159
+ function hardenedDerivation(parentKey, parentChainCode, index) {
160
+ const indexBuffer = new Uint8Array(4);
161
+ new DataView(indexBuffer.buffer).setUint32(0, index, false);
162
+ // Proper SLIP-0010 format: 0x00 + parent_key + index
163
+ const data = new Uint8Array([0x00, ...parentKey, ...indexBuffer]);
164
+ const hmacResult = (0, hmac_1.hmac)(sha512_1.sha512, parentChainCode, data);
165
+ return {
166
+ key: hmacResult.slice(0, 32), // Left 32 bytes
167
+ chainCode: hmacResult.slice(32, 64) // Right 32 bytes
168
+ };
169
+ }
100
170
  //# sourceMappingURL=bip32.js.map
package/dist/bip32.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bip32.js","sourceRoot":"","sources":["../utils/bip32.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,kDAGC;AACD,4CAMC;AACD,oCAKC;AAED,kCAKC;AAID,4DAMC;AAKD,4DAMC;AAjED,6CAA+B;AAC/B,kDAAiC;AACjC,oDAAsC;AAEtC,wDAA0C;AAC1C,6CAA0C;AAE1C,MAAM,KAAK,GAAG,IAAA,eAAY,EAAC,GAAG,CAAC,CAAC;AAGhC,sEAAsE;AACtE,sCAAsC;AACtC,gEAAgE;AAChE,wBAAwB;AACxB,IAAI;AACJ,uEAAuE;AACvE,sCAAsC;AACtC,0DAA0D;AAC1D,iCAAiC;AACjC,IAAI;AAEJ,SAAgB,mBAAmB;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAC1C,OAAO,QAAQ,CAAC;AACpB,CAAC;AACD,SAAgB,gBAAgB,CAAC,QAAgB;IAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AACD,SAAgB,YAAY,CAAC,SAAkB;IAC3C,MAAM,QAAQ,GAAG,SAAS,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,IAAA,eAAY,EAAC,GAAG,CAAC,CAAC;IAChC,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,IAAI,GAAmB,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,KAAK;AACL,SAAgB,wBAAwB,CAAC,IAAY,EAAE,KAAa,EAAE,cAAsB;IACxF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,cAAc,GAAG,KAAK,GAAG,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC;AAID,KAAK;AACL,SAAgB,wBAAwB,CAAC,IAAY,EAAE,KAAa,EAAE,cAAsB;IACxF,MAAM,IAAI,GAAG,GAAG,cAAc,GAAG,KAAK,GAAG,CAAC;IAC1C,oCAAoC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC;IACvD,MAAM,cAAc,GAAG,iBAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrD,OAAO,cAAc,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"bip32.js","sourceRoot":"","sources":["../utils/bip32.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { Buffer } from "buffer";
2
+ import { Keypair, Connection, BlockhashWithExpiryBlockHeight } from "@solana/web3.js";
3
+ export type TransactionSenderAndConfirmationWaiterArgs = {
4
+ connection: Connection;
5
+ serializedTransaction: Buffer;
6
+ blockhashWithExpiryBlockHeight: BlockhashWithExpiryBlockHeight;
7
+ };
8
+ export interface Chain {
9
+ name: string;
10
+ symbol: string;
11
+ chainDecimals: string;
12
+ explorer: string;
13
+ http: string[];
14
+ ws: string;
15
+ nativeTokenProfitSpreed: string;
16
+ chainTokenExplorer: string;
17
+ isEvm: boolean;
18
+ isDevnet: boolean;
19
+ }
20
+ export declare const chain: Chain;
21
+ declare class MasterSmartWalletClass {
22
+ chain: Chain;
23
+ connection: Connection;
24
+ masterKeyPair: {
25
+ privateKey: Uint8Array;
26
+ publicKey: string;
27
+ };
28
+ isDevnet: boolean;
29
+ seed: string;
30
+ masterAddress: string;
31
+ constructor(mnemonic: string, chain: Chain);
32
+ static generateSalt(): string;
33
+ static deriveKey(password: string, salt: string, iterations?: number, keySize?: number): string;
34
+ static encryptSeedPhrase(seedPhrase: string, password: string): {
35
+ encrypted: string;
36
+ salt: string;
37
+ };
38
+ static decryptSeedPhrase(encryptedSeedPhrase: string, password: string, salt: string): string | null;
39
+ static GenerateNewSeed(): string;
40
+ solGetKeyPairFromSeed(): Keypair;
41
+ deriveChildPrivateKey(index: number): {
42
+ privateKey: Uint8Array<ArrayBufferLike>;
43
+ publicKey: string;
44
+ };
45
+ deriveChildKeypair(index: number): Keypair;
46
+ private derivePath;
47
+ private hardenedDerivation;
48
+ }
49
+ export declare class SoonClass extends MasterSmartWalletClass {
50
+ }
51
+ export default MasterSmartWalletClass;