lunesjs 1.7.0 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
package/lib/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { transferTokenFactory } from "./tx/transfer/service.transfer";
1
+ import { transferTokenFactory } from "./tx/transfer/transfer.service";
2
2
  import { walletFactory } from "./wallet/wallet.service";
3
3
  declare const _default: {
4
4
  transferTokenFactory: typeof transferTokenFactory;
package/lib/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const service_transfer_1 = require("./tx/transfer/service.transfer");
3
+ const transfer_service_1 = require("./tx/transfer/transfer.service");
4
4
  const wallet_service_1 = require("./wallet/wallet.service");
5
5
  const crypto_1 = require("./utils/crypto");
6
6
  exports.default = {
7
- transferTokenFactory: service_transfer_1.transferTokenFactory,
7
+ transferTokenFactory: transfer_service_1.transferTokenFactory,
8
8
  walletFactory: wallet_service_1.walletFactory,
9
9
  crypto: crypto_1.crypto
10
10
  };
@@ -20,17 +20,39 @@ export declare class TransferToken {
20
20
  assetId: string;
21
21
  amount: number;
22
22
  sender: string;
23
+ type: number;
23
24
  fee: number;
24
25
  };
25
26
  sign(privateKey: string): TransferToken;
27
+ broadcast(node?: string): Promise<{
28
+ isSuccess: boolean;
29
+ response: {
30
+ senderPublicKey: string;
31
+ timestamp: number;
32
+ signature: string;
33
+ recipient: string;
34
+ feeAsset: string;
35
+ assetId: string;
36
+ sender: string;
37
+ amount: number;
38
+ type: number;
39
+ fee: number;
40
+ id: string;
41
+ };
42
+ } | {
43
+ isSuccess: boolean;
44
+ response: {
45
+ codeError: number;
46
+ message: string;
47
+ };
48
+ }>;
26
49
  }
27
50
  export declare type Transfer = {
28
51
  senderPublicKey: string;
52
+ receiverAddress: string;
29
53
  timestamp?: number;
30
54
  feeAsset?: string;
31
- receiver: string;
32
55
  assetId?: string;
33
- sender?: string;
34
56
  chain?: number;
35
57
  amount: number;
36
58
  fee?: number;
@@ -22,10 +22,19 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
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
+ };
25
34
  Object.defineProperty(exports, "__esModule", { value: true });
26
35
  exports.transferTokenFactory = exports.TransferToken = void 0;
27
- const crypto_1 = require("../../utils/crypto");
28
36
  const utils_1 = require("./utils");
37
+ const crypto_1 = require("../../utils/crypto");
29
38
  const wasm = __importStar(require("lunesrs"));
30
39
  class TransferToken {
31
40
  constructor(senderPublicKey, timestamp, receiver, feeAsset, assetId, amount, sender, fee) {
@@ -51,6 +60,7 @@ class TransferToken {
51
60
  assetId: this.assetId,
52
61
  amount: this.amount,
53
62
  sender: this.sender,
63
+ type: this.type,
54
64
  fee: this.fee
55
65
  };
56
66
  }
@@ -58,6 +68,11 @@ class TransferToken {
58
68
  this.signature = (0, utils_1.signTransfer)(privateKey, this);
59
69
  return this;
60
70
  }
71
+ broadcast(node) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ return yield (0, utils_1.broadcastTransfer)(node != undefined ? node : "https://lunesnode-testnet.lunes.io", this);
74
+ });
75
+ }
61
76
  }
62
77
  exports.TransferToken = TransferToken;
63
78
  function transferTokenFactory(tx) {
@@ -76,9 +91,9 @@ function transferTokenFactory(tx) {
76
91
  if (fee < 100000) {
77
92
  throw new Error(`Fee should be greater than 100000, but ${fee}`);
78
93
  }
79
- if (crypto_1.crypto.sameChainAddress(tx.receiver, sender) != true) {
94
+ if (crypto_1.crypto.sameChainAddress(tx.receiverAddress, sender) != true) {
80
95
  throw new Error("Sender AND Receiver should be same chain");
81
96
  }
82
- return new TransferToken(tx.senderPublicKey, timestamp, tx.receiver, feeAsset, assetId, Math.floor(tx.amount * 10e7), sender, fee);
97
+ return new TransferToken(tx.senderPublicKey, timestamp, tx.receiverAddress, feeAsset, assetId, Math.floor(tx.amount * 10e7), sender, fee);
83
98
  }
84
99
  exports.transferTokenFactory = transferTokenFactory;
@@ -1,3 +1,28 @@
1
- import { TransferToken } from "./service.transfer";
1
+ import { TransferToken } from "./transfer.service";
2
2
  export declare function serializeTransfer(tx: TransferToken): Uint8Array;
3
3
  export declare function signTransfer(senderPrivateKey: string, tx: TransferToken): string;
4
+ export declare function broadcastTransfer(node: string, tx: TransferToken): Promise<TransferSuccess | TransferFail>;
5
+ declare type TransferSuccess = {
6
+ isSuccess: boolean;
7
+ response: {
8
+ senderPublicKey: string;
9
+ timestamp: number;
10
+ signature: string;
11
+ recipient: string;
12
+ feeAsset: string;
13
+ assetId: string;
14
+ sender: string;
15
+ amount: number;
16
+ type: number;
17
+ fee: number;
18
+ id: string;
19
+ };
20
+ };
21
+ declare type TransferFail = {
22
+ isSuccess: boolean;
23
+ response: {
24
+ codeError: number;
25
+ message: string;
26
+ };
27
+ };
28
+ export {};
@@ -22,9 +22,22 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
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
+ };
25
37
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.signTransfer = exports.serializeTransfer = void 0;
38
+ exports.broadcastTransfer = exports.signTransfer = exports.serializeTransfer = void 0;
27
39
  const wasm = __importStar(require("lunesrs"));
40
+ const axios_1 = __importDefault(require("axios"));
28
41
  function serializeTransfer(tx) {
29
42
  const tokenId = tx.assetId != ""
30
43
  ? new Uint8Array([1, ...wasm.base58ToArray(tx.assetId)])
@@ -49,3 +62,40 @@ function signTransfer(senderPrivateKey, tx) {
49
62
  return wasm.arrayToBase58(wasm.fastSignature(wasm.base58ToArray(senderPrivateKey), wasm.base58ToArray(tx.message)));
50
63
  }
51
64
  exports.signTransfer = signTransfer;
65
+ function broadcastTransfer(node, tx) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
68
+ axios_1.default
69
+ .post(`${node}/transactions/broadcast`, tx.transaction())
70
+ .then((res) => {
71
+ const x = {
72
+ isSuccess: true,
73
+ response: {
74
+ senderPublicKey: res.data.senderPublicKey,
75
+ timestamp: res.data.timestamp,
76
+ signature: res.data.signature,
77
+ recipient: res.data.recipient,
78
+ feeAsset: res.data.feeAsset,
79
+ assetId: res.data.assetId,
80
+ sender: res.data.sender,
81
+ amount: res.data.amount,
82
+ type: res.data.type,
83
+ fee: res.data.fee,
84
+ id: res.data.id
85
+ }
86
+ };
87
+ resolve(x);
88
+ })
89
+ .catch(erro => {
90
+ resolve({
91
+ isSuccess: false,
92
+ response: {
93
+ codeError: erro.response.data.error,
94
+ message: erro.response.data.message
95
+ }
96
+ });
97
+ });
98
+ }));
99
+ });
100
+ }
101
+ exports.broadcastTransfer = broadcastTransfer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lunesjs",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
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",