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,6 @@
1
+ import { WalletTypes } from "../wallet/wallet.types";
2
+ export interface BaseTransaction {
3
+ sign(privateKey: WalletTypes.PrivateKey): object;
4
+ transaction(): object;
5
+ send(): object;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ export declare namespace TransactionsTypes {
2
+ enum TransferToken {
3
+ int = 4,
4
+ fee = 1000000
5
+ }
6
+ enum IssueToken {
7
+ int = 5,
8
+ fee = 1000000000
9
+ }
10
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionsTypes = void 0;
4
+ var TransactionsTypes;
5
+ (function (TransactionsTypes) {
6
+ let TransferToken;
7
+ (function (TransferToken) {
8
+ TransferToken[TransferToken["int"] = 4] = "int";
9
+ TransferToken[TransferToken["fee"] = 1000000] = "fee";
10
+ })(TransferToken = TransactionsTypes.TransferToken || (TransactionsTypes.TransferToken = {}));
11
+ let IssueToken;
12
+ (function (IssueToken) {
13
+ IssueToken[IssueToken["int"] = 5] = "int";
14
+ IssueToken[IssueToken["fee"] = 1000000000] = "fee";
15
+ })(IssueToken = TransactionsTypes.IssueToken || (TransactionsTypes.IssueToken = {}));
16
+ //...
17
+ })(TransactionsTypes = exports.TransactionsTypes || (exports.TransactionsTypes = {}));
@@ -0,0 +1,12 @@
1
+ import { WalletTypes } from "../../wallet/wallet.types";
2
+ import { BaseTransaction } from "../BaseTransaction";
3
+ import { ITransfer } from "./transfer.types";
4
+ declare class TransferToken implements BaseTransaction {
5
+ private tx;
6
+ constructor(tx: ITransfer);
7
+ transaction(): ITransfer;
8
+ sign(privateKey: WalletTypes.PrivateKey): ITransfer;
9
+ send(): Promise<void>;
10
+ }
11
+ export declare function transferTokenFactory(senderPublicKey: string, recipient: string, amount: number, assetId?: string, chain?: WalletTypes.Chain, timestamp?: number, feeAsset?: string, fee?: number): TransferToken;
12
+ export {};
@@ -0,0 +1,78 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.transferTokenFactory = void 0;
39
+ const transactions_types_1 = require("../transactions.types");
40
+ const wallet_types_1 = require("../../wallet/wallet.types");
41
+ const validator_1 = __importDefault(require("./validator"));
42
+ const wasm = __importStar(require("lunesrs"));
43
+ class TransferToken {
44
+ constructor(tx) {
45
+ this.tx = tx;
46
+ }
47
+ transaction() {
48
+ return this.tx;
49
+ }
50
+ sign(privateKey) {
51
+ this.tx.signature = validator_1.default.sign(privateKey, this.tx);
52
+ return this.tx;
53
+ }
54
+ send() {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ validator_1.default.send(this.tx);
57
+ });
58
+ }
59
+ }
60
+ function transferTokenFactory(senderPublicKey, recipient, amount, assetId, chain, timestamp, feeAsset, fee) {
61
+ const chain_id = chain != undefined ? chain : wallet_types_1.WalletTypes.Chain.Mainnet;
62
+ if (false == validator_1.default.ready(senderPublicKey, recipient, amount, chain_id)) {
63
+ throw new Error("dados invalidos");
64
+ }
65
+ return new TransferToken({
66
+ senderPublicKey: senderPublicKey,
67
+ recipient: recipient,
68
+ amount: amount,
69
+ sender: wasm.arrayToBase58(wasm.toAddress(1, chain_id, wasm.base58ToArray(senderPublicKey))),
70
+ timestamp: timestamp != undefined ? timestamp : new Date().getTime(),
71
+ feeAsset: feeAsset != undefined ? feeAsset : "",
72
+ assetId: assetId != undefined ? assetId : "",
73
+ type: transactions_types_1.TransactionsTypes.TransferToken.int,
74
+ fee: fee != undefined ? fee : transactions_types_1.TransactionsTypes.TransferToken.fee,
75
+ signature: ""
76
+ });
77
+ }
78
+ exports.transferTokenFactory = transferTokenFactory;
@@ -0,0 +1,12 @@
1
+ export interface ITransfer {
2
+ senderPublicKey: string;
3
+ timestamp: number;
4
+ signature: string;
5
+ recipient: string;
6
+ feeAsset: string;
7
+ assetId: string;
8
+ amount: number;
9
+ sender: string;
10
+ type: number;
11
+ fee: number;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import { WalletTypes } from "../../wallet/wallet.types";
2
+ import { ITransfer } from "./transfer.types";
3
+ declare const validator: {
4
+ serialize: (senderPublicKey: string, assetId: string, feeAsset: string, timestamp: number, amount: number, fee: number, recipient: string) => Uint8Array;
5
+ ready: (senderPublicKey: string, recipient: string, amount: number, chain: WalletTypes.Chain) => boolean;
6
+ sign: (privateKey: WalletTypes.PrivateKey, tx: ITransfer) => string;
7
+ send: (tx: ITransfer) => Promise<void>;
8
+ };
9
+ export default validator;
@@ -0,0 +1,93 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ const transactions_types_1 = require("../transactions.types");
39
+ const crypto_1 = __importDefault(require("../../../utils/crypto"));
40
+ const wasm = __importStar(require("lunesrs"));
41
+ const axios_1 = __importDefault(require("axios"));
42
+ const validator = {
43
+ serialize: (senderPublicKey, assetId, feeAsset, timestamp, amount, fee, recipient) => {
44
+ const tokenId = assetId != ""
45
+ ? new Uint8Array([1, ...wasm.base58ToArray(assetId)])
46
+ : new Uint8Array([0]);
47
+ const tokenFee = feeAsset != ""
48
+ ? new Uint8Array([1, ...wasm.base58ToArray(feeAsset)])
49
+ : new Uint8Array([0]);
50
+ return new Uint8Array([
51
+ ...[transactions_types_1.TransactionsTypes.TransferToken.int],
52
+ ...wasm.base58ToArray(senderPublicKey),
53
+ ...tokenId,
54
+ ...tokenFee,
55
+ ...wasm.serializeUInteger(BigInt(timestamp)),
56
+ ...wasm.serializeUInteger(BigInt(amount)),
57
+ ...wasm.serializeUInteger(BigInt(fee)),
58
+ ...wasm.base58ToArray(recipient)
59
+ ]);
60
+ },
61
+ ready: (senderPublicKey, recipient, amount, chain) => {
62
+ const sender = wasm.arrayToBase58(wasm.toAddress(1, chain, wasm.base58ToArray(senderPublicKey)));
63
+ if (amount <= 0) {
64
+ return false;
65
+ }
66
+ else if (!(crypto_1.default.validateAddress(sender, chain) === true &&
67
+ crypto_1.default.validateAddress(recipient, chain) === true)) {
68
+ return false;
69
+ }
70
+ else {
71
+ return true;
72
+ }
73
+ },
74
+ sign: (privateKey, tx) => {
75
+ const message = validator.serialize(tx.senderPublicKey, tx.assetId, tx.feeAsset, tx.timestamp, tx.amount, tx.fee, tx.recipient);
76
+ return crypto_1.default.fastSignature(privateKey, wasm.arrayToBase58(new Uint8Array(message)));
77
+ },
78
+ send: (tx) => __awaiter(void 0, void 0, void 0, function* () {
79
+ yield axios_1.default
80
+ .request({
81
+ url: "https://lunesnode.lunes.io/transactions/broadcast",
82
+ method: "post",
83
+ data: tx
84
+ })
85
+ .then((x) => {
86
+ console.log(x);
87
+ })
88
+ .catch((error) => {
89
+ console.error(error.response.data);
90
+ });
91
+ })
92
+ };
93
+ exports.default = validator;
@@ -0,0 +1,8 @@
1
+ declare const walletConstants: {
2
+ addressVersion: number;
3
+ addressChecksumLength: number;
4
+ addressHashLength: number;
5
+ addressLength: number;
6
+ wordsList: string[];
7
+ };
8
+ export default walletConstants;