@tatumio/egld 2.2.100 → 2.2.102

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/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@tatumio/egld",
3
- "version": "2.2.100",
3
+ "version": "2.2.102",
4
4
  "license": "MIT",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
7
  "dependencies": {
8
- "@tatumio/api-client": "2.2.100",
8
+ "@tatumio/api-client": "2.2.102",
9
9
  "axios": "^0.26.0",
10
10
  "form-data": "^4.0.0",
11
- "@tatumio/shared-testing-common": "2.2.100",
12
- "@tatumio/shared-core": "2.2.100",
13
- "@tatumio/shared-abstract-sdk": "2.2.100",
11
+ "@tatumio/shared-testing-common": "2.2.102",
12
+ "@tatumio/shared-core": "2.2.102",
13
+ "@tatumio/shared-abstract-sdk": "2.2.102",
14
14
  "bignumber.js": "^9.1.2",
15
15
  "lodash": "^4.17.21",
16
- "@tatumio/shared-blockchain-abstract": "2.2.100",
16
+ "@tatumio/shared-blockchain-abstract": "2.2.102",
17
17
  "ed25519-hd-key": "^1.2.0",
18
18
  "web3-core": "^1.7.4",
19
19
  "@elrondnetwork/erdjs": "^9.2.4",
@@ -13,6 +13,8 @@ export declare const TatumEgldSDK: (args: SDKArguments) => {
13
13
  }>;
14
14
  generatePrivateKeyFromMnemonic: (testnet: boolean, mnemonic: string, i: number) => Promise<string>;
15
15
  generateAddress: (testnet: boolean, mnemonic: string, i: number) => Promise<string>;
16
+ generateAddressFromPrivateKey: (privateKey: string) => string;
17
+ generateAddressFromXPub: (mnemonic: string, i: number, testnet?: boolean) => Promise<string>;
16
18
  };
17
19
  transaction: {
18
20
  prepare: {
@@ -22,10 +22,27 @@ export declare const egldWallet: () => {
22
22
  * @returns blockchain private key to the address
23
23
  */
24
24
  generatePrivateKeyFromMnemonic: (testnet: boolean, mnemonic: string, i: number) => Promise<string>;
25
+ /**
26
+ * Generate address from mnemonic
27
+ * @param testnet testnet or mainnet version of address
28
+ * @param mnemonic mnemonic to generate address from
29
+ * @param i derivation index of address to generate
30
+ * @returns blockchain address
31
+ */
32
+ generateAddress: (testnet: boolean, mnemonic: string, i: number) => Promise<string>;
25
33
  /**
26
34
  * Generate address from private key
27
35
  * @param privateKey private key to use
28
- * @returns blockchain private key to the address
36
+ * @returns blockchain address
29
37
  */
30
- generateAddress: (testnet: boolean, mnemonic: string, i: number) => Promise<string>;
38
+ generateAddressFromPrivateKey: (privateKey: string) => string;
39
+ /**
40
+ * Generate address from mnemonic
41
+ * Note: EGLD does not support xpub, so mnemonic is used instead for API consistency
42
+ * @param mnemonic mnemonic to generate address from
43
+ * @param i derivation index of address to generate. Up to 2^31 addresses can be generated.
44
+ * @param testnet testnet or mainnet version of address
45
+ * @returns blockchain address
46
+ */
47
+ generateAddressFromXPub: (mnemonic: string, i: number, testnet?: boolean) => Promise<string>;
31
48
  };
@@ -16,8 +16,7 @@ const generatePrivateKey = (testnet, mnemonic, i) => tslib_1.__awaiter(void 0, v
16
16
  const convertPrivateKey = (privKey) => {
17
17
  const publicKey = (0, ed25519_hd_key_1.getPublicKey)(Buffer.from(privKey, 'hex'), false).toString('hex');
18
18
  const words = bech32.toWords(Buffer.from(publicKey.slice(-64), 'hex'));
19
- const address = bech32.encode('erd', words);
20
- return address;
19
+ return bech32.encode('erd', words);
21
20
  };
22
21
  const egldWallet = () => {
23
22
  return {
@@ -52,14 +51,40 @@ const egldWallet = () => {
52
51
  return generatePrivateKey(testnet, mnemonic, i);
53
52
  },
54
53
  /**
55
- * Generate address from private key
56
- * @param privateKey private key to use
57
- * @returns blockchain private key to the address
54
+ * Generate address from mnemonic
55
+ * @param testnet testnet or mainnet version of address
56
+ * @param mnemonic mnemonic to generate address from
57
+ * @param i derivation index of address to generate
58
+ * @returns blockchain address
58
59
  */
59
60
  generateAddress: (testnet, mnemonic, i) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
60
61
  const privateKey = yield generatePrivateKey(testnet, mnemonic, i);
61
62
  return convertPrivateKey(privateKey);
62
63
  }),
64
+ /**
65
+ * Generate address from private key
66
+ * @param privateKey private key to use
67
+ * @returns blockchain address
68
+ */
69
+ generateAddressFromPrivateKey: (privateKey) => {
70
+ return convertPrivateKey(privateKey);
71
+ },
72
+ /**
73
+ * Generate address from mnemonic
74
+ * Note: EGLD does not support xpub, so mnemonic is used instead for API consistency
75
+ * @param mnemonic mnemonic to generate address from
76
+ * @param i derivation index of address to generate. Up to 2^31 addresses can be generated.
77
+ * @param testnet testnet or mainnet version of address
78
+ * @returns blockchain address
79
+ */
80
+ generateAddressFromXPub: (mnemonic, i, testnet) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
81
+ const path = (testnet ? shared_core_1.COMMON_TESTNET_DERIVATION_PATH + "'" : shared_core_1.DERIVATION_PATH.EGLD) + `/${i}'`;
82
+ const seed = yield (0, bip39_1.mnemonicToSeed)(mnemonic);
83
+ const { key } = (0, ed25519_hd_key_1.derivePath)(path, seed.toString('hex'));
84
+ const publicKey = (0, ed25519_hd_key_1.getPublicKey)(key, false).toString('hex');
85
+ const words = bech32.toWords(Buffer.from(publicKey.slice(-64), 'hex'));
86
+ return bech32.encode('erd', words);
87
+ }),
63
88
  };
64
89
  };
65
90
  exports.egldWallet = egldWallet;
@@ -1 +1 @@
1
- {"version":3,"file":"egld.wallet.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/egld/src/lib/services/egld.wallet.ts"],"names":[],"mappings":";;;;AAAA,uDAAgC;AAChC,iCAAwD;AACxD,mDAAyD;AACzD,oDAAyD;AACzD,sDAAsF;AAEtF,MAAM,kBAAkB,GAAG,CAAO,OAAgB,EAAE,QAAgB,EAAE,CAAS,EAAmB,EAAE;IAClG,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,4CAA8B,GAAG,GAAG,CAAC,CAAC,CAAC,6BAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAA;IAC/F,MAAM,IAAI,GAAG,MAAM,IAAA,sBAAc,EAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAA,2BAAU,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACtD,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE;IAC5C,MAAM,SAAS,GAAG,IAAA,6BAAY,EAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAClF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC3C,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAEM,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,OAAO;QACL;;;;WAIG;QACH,wBAAwB,EAAE,CAAO,IAAY,EAAmB,EAAE;YAChE,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,EAAE;aACT,CAAA;QACH,CAAC,CAAA;QACD;;;;WAIG;QACH,cAAc,EAAE,CAAC,QAAiB,EAAE,EAAE;YACpC,QAAQ,KAAR,QAAQ,GAAK,IAAA,wBAAgB,EAAC,GAAG,CAAC,EAAA;YAClC,OAAO,wBAAW,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QACjE,CAAC;QAED;;;;;;WAMG;QACH,8BAA8B,EAAE,CAAC,OAAgB,EAAE,QAAgB,EAAE,CAAS,EAAE,EAAE;YAChF,OAAO,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QACjD,CAAC;QAED;;;;WAIG;QACH,eAAe,EAAE,CAAO,OAAgB,EAAE,QAAgB,EAAE,CAAS,EAAE,EAAE;YACvE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;YACjE,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAA;QACtC,CAAC,CAAA;KACF,CAAA;AACH,CAAC,CAAA;AA5CY,QAAA,UAAU,cA4CtB"}
1
+ {"version":3,"file":"egld.wallet.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/egld/src/lib/services/egld.wallet.ts"],"names":[],"mappings":"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"}