lunesjs 1.5.10 → 1.5.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,20 @@
1
+ import { IAccount } from "./wallet.types";
2
+ declare class Account implements IAccount {
3
+ privateKey: string;
4
+ publicKey: string;
5
+ address: string;
6
+ chain: number;
7
+ nonce: number;
8
+ seed: string;
9
+ constructor(wallet: IAccount);
10
+ }
11
+ export declare function accountFactory({ privateKey, publicKey, address, nWords, chain, nonce, seed }?: {
12
+ privateKey?: string;
13
+ publicKey?: string;
14
+ address?: string;
15
+ nWords?: number;
16
+ chain?: number;
17
+ nonce?: number;
18
+ seed?: string;
19
+ }): Account;
20
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.accountFactory = void 0;
7
+ const crypto_1 = __importDefault(require("../../utils/crypto"));
8
+ class Account {
9
+ constructor(wallet) {
10
+ this.privateKey = wallet.privateKey;
11
+ this.publicKey = wallet.publicKey;
12
+ this.address = wallet.address;
13
+ this.chain = wallet.chain;
14
+ this.nonce = wallet.nonce;
15
+ this.seed = wallet.seed;
16
+ }
17
+ }
18
+ function accountFactory({ privateKey, publicKey, address, nWords, chain, nonce, seed } = {}) {
19
+ if (seed != undefined) {
20
+ return new Account(Object.assign({}, crypto_1.default.fromExistingSeed(seed, nonce != undefined ? nonce : 0, chain != undefined ? chain : 1)));
21
+ }
22
+ else if (privateKey != undefined) {
23
+ return new Account(Object.assign({}, crypto_1.default.fromPrivateKey(privateKey, chain != undefined ? chain : 1)));
24
+ }
25
+ else if (publicKey != undefined) {
26
+ return new Account(Object.assign({}, crypto_1.default.fromPublicKey(publicKey, chain != undefined ? chain : 1)));
27
+ }
28
+ else if (address != undefined) {
29
+ return new Account(Object.assign({}, crypto_1.default.fromAddress(address, chain != undefined ? chain : 0)));
30
+ }
31
+ else {
32
+ return new Account(Object.assign({}, crypto_1.default.fromNewSeed(nWords != undefined ? nWords : 12, nonce != undefined ? nonce : 0, chain != undefined ? chain : 1)));
33
+ }
34
+ }
35
+ exports.accountFactory = accountFactory;
@@ -0,0 +1,21 @@
1
+ export declare type empty = "";
2
+ export declare type zero = 0;
3
+ export declare namespace WalletTypes {
4
+ type Seed = string | empty;
5
+ type Nonce = number | zero;
6
+ enum Chain {
7
+ Mainnet = 1,
8
+ Testnet = 0
9
+ }
10
+ type PrivateKey = string | empty;
11
+ type PublicKey = string | empty;
12
+ type Address = string | empty;
13
+ }
14
+ export interface IAccount {
15
+ privateKey: WalletTypes.PrivateKey;
16
+ publicKey: WalletTypes.PublicKey;
17
+ address: WalletTypes.Address;
18
+ nonce: WalletTypes.Nonce;
19
+ chain: WalletTypes.Chain;
20
+ seed: WalletTypes.Seed;
21
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletTypes = void 0;
4
+ var WalletTypes;
5
+ (function (WalletTypes) {
6
+ let Chain;
7
+ (function (Chain) {
8
+ Chain[Chain["Mainnet"] = 1] = "Mainnet";
9
+ Chain[Chain["Testnet"] = 0] = "Testnet";
10
+ })(Chain = WalletTypes.Chain || (WalletTypes.Chain = {}));
11
+ })(WalletTypes = exports.WalletTypes || (exports.WalletTypes = {}));
package/lib/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export { transferTokenFactory } from "./client/transactions/transfer/service.transfer";
2
+ export { accountFactory } from "./client/wallet/service.account";
3
+ export { IAccount } from "./client/wallet/wallet.types";
4
+ import cryptoUtils from "./utils/crypto";
5
+ export default cryptoUtils;
package/lib/index.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.accountFactory = exports.transferTokenFactory = void 0;
7
+ var service_transfer_1 = require("./client/transactions/transfer/service.transfer");
8
+ Object.defineProperty(exports, "transferTokenFactory", { enumerable: true, get: function () { return service_transfer_1.transferTokenFactory; } });
9
+ var service_account_1 = require("./client/wallet/service.account");
10
+ Object.defineProperty(exports, "accountFactory", { enumerable: true, get: function () { return service_account_1.accountFactory; } });
11
+ const crypto_1 = __importDefault(require("./utils/crypto"));
12
+ exports.default = crypto_1.default;
@@ -0,0 +1,13 @@
1
+ import { IAccount, WalletTypes } from "../client/wallet/wallet.types";
2
+ declare const cryptoUtils: {
3
+ fromExistingSeed: (seed: string, nonce: number, chain: WalletTypes.Chain) => IAccount;
4
+ fromPrivateKey: (privateKey: string, chain: WalletTypes.Chain) => IAccount;
5
+ fromPublicKey: (publicKey: string, chain: WalletTypes.Chain) => IAccount;
6
+ fromAddress: (address: string, chain: WalletTypes.Chain) => IAccount;
7
+ fromNewSeed: (nWords: number, nonce: number, chain: WalletTypes.Chain) => IAccount;
8
+ validateAddress: (address: string, chain: WalletTypes.Chain) => boolean;
9
+ validateSignature: (publicKey: string, message: string, signature: string) => boolean;
10
+ fastSignature: (privateKey: string, message: string) => string;
11
+ fullSignature: (privateKey: string, message: string) => string;
12
+ };
13
+ export default cryptoUtils;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const constants_1 = __importDefault(require("../client/wallet/constants"));
30
+ const wasm = __importStar(require("lunesrs"));
31
+ const cryptoUtils = {
32
+ fromExistingSeed: (seed, nonce, chain) => {
33
+ const hidden_seed = wasm.hiddenSeed(nonce, seed);
34
+ const privateKey = wasm.toPrivateKey(hidden_seed);
35
+ const publicKey = wasm.toPublicKey(privateKey);
36
+ const address = wasm.toAddress(1, chain, publicKey);
37
+ return {
38
+ nonce: nonce,
39
+ chain: chain,
40
+ seed: seed,
41
+ privateKey: wasm.arrayToBase58(privateKey),
42
+ publicKey: wasm.arrayToBase58(publicKey),
43
+ address: wasm.arrayToBase58(address)
44
+ };
45
+ },
46
+ fromPrivateKey: (privateKey, chain) => {
47
+ const publicKey = wasm.toPublicKey(wasm.base58ToArray(privateKey));
48
+ const address = wasm.toAddress(1, chain, publicKey);
49
+ return {
50
+ seed: "",
51
+ nonce: 0,
52
+ chain: chain,
53
+ privateKey: privateKey,
54
+ publicKey: wasm.arrayToBase58(publicKey),
55
+ address: wasm.arrayToBase58(address)
56
+ };
57
+ },
58
+ fromPublicKey: (publicKey, chain) => {
59
+ const address = wasm.toAddress(1, chain, wasm.base58ToArray(publicKey));
60
+ return {
61
+ seed: "",
62
+ nonce: 0,
63
+ privateKey: "",
64
+ chain: chain,
65
+ publicKey: publicKey,
66
+ address: wasm.arrayToBase58(address)
67
+ };
68
+ },
69
+ fromAddress: (address, chain) => {
70
+ return {
71
+ seed: "",
72
+ nonce: 0,
73
+ privateKey: "",
74
+ publicKey: "",
75
+ chain: chain,
76
+ address: address
77
+ };
78
+ },
79
+ fromNewSeed: (nWords, nonce, chain) => {
80
+ let seed = [];
81
+ nWords = nWords != undefined ? Math.round(nWords / 3) : 4;
82
+ for (let i = 0; i < nWords; i++) {
83
+ for (let n in wasm.randomTripleNumber()) {
84
+ seed.push(constants_1.default.wordsList[n]);
85
+ }
86
+ }
87
+ return cryptoUtils.fromExistingSeed(seed.join(" "), nonce, chain);
88
+ },
89
+ validateAddress: (address, chain) => {
90
+ return wasm.validateAddress(chain, wasm.base58ToArray(address));
91
+ },
92
+ validateSignature: (publicKey, message, signature) => {
93
+ return wasm.validateSignature(wasm.base58ToArray(publicKey), wasm.base58ToArray(message), wasm.base58ToArray(signature));
94
+ },
95
+ fastSignature: (privateKey, message) => {
96
+ return wasm.arrayToBase58(wasm.fastSignature(wasm.base58ToArray(privateKey), wasm.base58ToArray(message)));
97
+ },
98
+ fullSignature: (privateKey, message) => {
99
+ return wasm.arrayToBase58(wasm.fullSignature(wasm.base58ToArray(privateKey), wasm.base58ToArray(message)));
100
+ }
101
+ };
102
+ exports.default = cryptoUtils;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lunesjs",
3
- "version": "1.5.10",
3
+ "version": "1.5.11",
4
4
  "description": "Library for communication with nodes in mainnet or testnet of the lunes-blockchain network",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",