lunesjs 1.5.10 → 1.5.13

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md ADDED
@@ -0,0 +1,3 @@
1
+ # CHANGELOG
2
+
3
+ # [v0.0.0]
@@ -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,27 @@
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
+ })(
11
+ (TransferToken =
12
+ TransactionsTypes.TransferToken ||
13
+ (TransactionsTypes.TransferToken = {}))
14
+ )
15
+ let IssueToken
16
+ ;(function (IssueToken) {
17
+ IssueToken[(IssueToken["int"] = 5)] = "int"
18
+ IssueToken[(IssueToken["fee"] = 1000000000)] = "fee"
19
+ })(
20
+ (IssueToken =
21
+ TransactionsTypes.IssueToken || (TransactionsTypes.IssueToken = {}))
22
+ )
23
+ //...
24
+ })(
25
+ (TransactionsTypes =
26
+ exports.TransactionsTypes || (exports.TransactionsTypes = {}))
27
+ )
@@ -0,0 +1,21 @@
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(
12
+ senderPublicKey: string,
13
+ recipient: string,
14
+ amount: number,
15
+ assetId?: string,
16
+ chain?: WalletTypes.Chain,
17
+ timestamp?: number,
18
+ feeAsset?: string,
19
+ fee?: number
20
+ ): TransferToken
21
+ export {}
@@ -0,0 +1,153 @@
1
+ "use strict"
2
+ var __createBinding =
3
+ (this && this.__createBinding) ||
4
+ (Object.create
5
+ ? function (o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k
7
+ var desc = Object.getOwnPropertyDescriptor(m, k)
8
+ if (
9
+ !desc ||
10
+ ("get" in desc
11
+ ? !m.__esModule
12
+ : desc.writable || desc.configurable)
13
+ ) {
14
+ desc = {
15
+ enumerable: true,
16
+ get: function () {
17
+ return m[k]
18
+ }
19
+ }
20
+ }
21
+ Object.defineProperty(o, k2, desc)
22
+ }
23
+ : function (o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k
25
+ o[k2] = m[k]
26
+ })
27
+ var __setModuleDefault =
28
+ (this && this.__setModuleDefault) ||
29
+ (Object.create
30
+ ? function (o, v) {
31
+ Object.defineProperty(o, "default", {
32
+ enumerable: true,
33
+ value: v
34
+ })
35
+ }
36
+ : function (o, v) {
37
+ o["default"] = v
38
+ })
39
+ var __importStar =
40
+ (this && this.__importStar) ||
41
+ function (mod) {
42
+ if (mod && mod.__esModule) return mod
43
+ var result = {}
44
+ if (mod != null)
45
+ for (var k in mod)
46
+ if (
47
+ k !== "default" &&
48
+ Object.prototype.hasOwnProperty.call(mod, k)
49
+ )
50
+ __createBinding(result, mod, k)
51
+ __setModuleDefault(result, mod)
52
+ return result
53
+ }
54
+ var __awaiter =
55
+ (this && this.__awaiter) ||
56
+ function (thisArg, _arguments, P, generator) {
57
+ function adopt(value) {
58
+ return value instanceof P
59
+ ? value
60
+ : new P(function (resolve) {
61
+ resolve(value)
62
+ })
63
+ }
64
+ return new (P || (P = Promise))(function (resolve, reject) {
65
+ function fulfilled(value) {
66
+ try {
67
+ step(generator.next(value))
68
+ } catch (e) {
69
+ reject(e)
70
+ }
71
+ }
72
+ function rejected(value) {
73
+ try {
74
+ step(generator["throw"](value))
75
+ } catch (e) {
76
+ reject(e)
77
+ }
78
+ }
79
+ function step(result) {
80
+ result.done
81
+ ? resolve(result.value)
82
+ : adopt(result.value).then(fulfilled, rejected)
83
+ }
84
+ step(
85
+ (generator = generator.apply(thisArg, _arguments || [])).next()
86
+ )
87
+ })
88
+ }
89
+ var __importDefault =
90
+ (this && this.__importDefault) ||
91
+ function (mod) {
92
+ return mod && mod.__esModule ? mod : { default: mod }
93
+ }
94
+ Object.defineProperty(exports, "__esModule", { value: true })
95
+ exports.transferTokenFactory = void 0
96
+ const transactions_types_1 = require("../transactions.types")
97
+ const wallet_types_1 = require("../../wallet/wallet.types")
98
+ const validator_1 = __importDefault(require("./validator"))
99
+ const wasm = __importStar(require("lunesrs"))
100
+ class TransferToken {
101
+ constructor(tx) {
102
+ this.tx = tx
103
+ }
104
+ transaction() {
105
+ return this.tx
106
+ }
107
+ sign(privateKey) {
108
+ this.tx.signature = validator_1.default.sign(privateKey, this.tx)
109
+ return this.tx
110
+ }
111
+ send() {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ validator_1.default.send(this.tx)
114
+ })
115
+ }
116
+ }
117
+ function transferTokenFactory(
118
+ senderPublicKey,
119
+ recipient,
120
+ amount,
121
+ assetId,
122
+ chain,
123
+ timestamp,
124
+ feeAsset,
125
+ fee
126
+ ) {
127
+ const chain_id =
128
+ chain != undefined ? chain : wallet_types_1.WalletTypes.Chain.Mainnet
129
+ if (
130
+ false ==
131
+ validator_1.default.ready(senderPublicKey, recipient, amount, chain_id)
132
+ ) {
133
+ throw new Error("dados invalidos")
134
+ }
135
+ return new TransferToken({
136
+ senderPublicKey: senderPublicKey,
137
+ recipient: recipient,
138
+ amount: amount,
139
+ sender: wasm.arrayToBase58(
140
+ wasm.toAddress(1, chain_id, wasm.base58ToArray(senderPublicKey))
141
+ ),
142
+ timestamp: timestamp != undefined ? timestamp : new Date().getTime(),
143
+ feeAsset: feeAsset != undefined ? feeAsset : "",
144
+ assetId: assetId != undefined ? assetId : "",
145
+ type: transactions_types_1.TransactionsTypes.TransferToken.int,
146
+ fee:
147
+ fee != undefined
148
+ ? fee
149
+ : transactions_types_1.TransactionsTypes.TransferToken.fee,
150
+ signature: ""
151
+ })
152
+ }
153
+ 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,22 @@
1
+ import { WalletTypes } from "../../wallet/wallet.types"
2
+ import { ITransfer } from "./transfer.types"
3
+ declare const validator: {
4
+ serialize: (
5
+ senderPublicKey: string,
6
+ assetId: string,
7
+ feeAsset: string,
8
+ timestamp: number,
9
+ amount: number,
10
+ fee: number,
11
+ recipient: string
12
+ ) => Uint8Array
13
+ ready: (
14
+ senderPublicKey: string,
15
+ recipient: string,
16
+ amount: number,
17
+ chain: WalletTypes.Chain
18
+ ) => boolean
19
+ sign: (privateKey: WalletTypes.PrivateKey, tx: ITransfer) => string
20
+ send: (tx: ITransfer) => Promise<void>
21
+ }
22
+ export default validator
@@ -0,0 +1,176 @@
1
+ "use strict"
2
+ var __createBinding =
3
+ (this && this.__createBinding) ||
4
+ (Object.create
5
+ ? function (o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k
7
+ var desc = Object.getOwnPropertyDescriptor(m, k)
8
+ if (
9
+ !desc ||
10
+ ("get" in desc
11
+ ? !m.__esModule
12
+ : desc.writable || desc.configurable)
13
+ ) {
14
+ desc = {
15
+ enumerable: true,
16
+ get: function () {
17
+ return m[k]
18
+ }
19
+ }
20
+ }
21
+ Object.defineProperty(o, k2, desc)
22
+ }
23
+ : function (o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k
25
+ o[k2] = m[k]
26
+ })
27
+ var __setModuleDefault =
28
+ (this && this.__setModuleDefault) ||
29
+ (Object.create
30
+ ? function (o, v) {
31
+ Object.defineProperty(o, "default", {
32
+ enumerable: true,
33
+ value: v
34
+ })
35
+ }
36
+ : function (o, v) {
37
+ o["default"] = v
38
+ })
39
+ var __importStar =
40
+ (this && this.__importStar) ||
41
+ function (mod) {
42
+ if (mod && mod.__esModule) return mod
43
+ var result = {}
44
+ if (mod != null)
45
+ for (var k in mod)
46
+ if (
47
+ k !== "default" &&
48
+ Object.prototype.hasOwnProperty.call(mod, k)
49
+ )
50
+ __createBinding(result, mod, k)
51
+ __setModuleDefault(result, mod)
52
+ return result
53
+ }
54
+ var __awaiter =
55
+ (this && this.__awaiter) ||
56
+ function (thisArg, _arguments, P, generator) {
57
+ function adopt(value) {
58
+ return value instanceof P
59
+ ? value
60
+ : new P(function (resolve) {
61
+ resolve(value)
62
+ })
63
+ }
64
+ return new (P || (P = Promise))(function (resolve, reject) {
65
+ function fulfilled(value) {
66
+ try {
67
+ step(generator.next(value))
68
+ } catch (e) {
69
+ reject(e)
70
+ }
71
+ }
72
+ function rejected(value) {
73
+ try {
74
+ step(generator["throw"](value))
75
+ } catch (e) {
76
+ reject(e)
77
+ }
78
+ }
79
+ function step(result) {
80
+ result.done
81
+ ? resolve(result.value)
82
+ : adopt(result.value).then(fulfilled, rejected)
83
+ }
84
+ step(
85
+ (generator = generator.apply(thisArg, _arguments || [])).next()
86
+ )
87
+ })
88
+ }
89
+ var __importDefault =
90
+ (this && this.__importDefault) ||
91
+ function (mod) {
92
+ return mod && mod.__esModule ? mod : { default: mod }
93
+ }
94
+ Object.defineProperty(exports, "__esModule", { value: true })
95
+ const transactions_types_1 = require("../transactions.types")
96
+ const crypto_1 = __importDefault(require("../../../utils/crypto"))
97
+ const wasm = __importStar(require("lunesrs"))
98
+ const axios_1 = __importDefault(require("axios"))
99
+ const validator = {
100
+ serialize: (
101
+ senderPublicKey,
102
+ assetId,
103
+ feeAsset,
104
+ timestamp,
105
+ amount,
106
+ fee,
107
+ recipient
108
+ ) => {
109
+ const tokenId =
110
+ assetId != ""
111
+ ? new Uint8Array([1, ...wasm.base58ToArray(assetId)])
112
+ : new Uint8Array([0])
113
+ const tokenFee =
114
+ feeAsset != ""
115
+ ? new Uint8Array([1, ...wasm.base58ToArray(feeAsset)])
116
+ : new Uint8Array([0])
117
+ return new Uint8Array([
118
+ ...[transactions_types_1.TransactionsTypes.TransferToken.int],
119
+ ...wasm.base58ToArray(senderPublicKey),
120
+ ...tokenId,
121
+ ...tokenFee,
122
+ ...wasm.serializeUInteger(BigInt(timestamp)),
123
+ ...wasm.serializeUInteger(BigInt(amount)),
124
+ ...wasm.serializeUInteger(BigInt(fee)),
125
+ ...wasm.base58ToArray(recipient)
126
+ ])
127
+ },
128
+ ready: (senderPublicKey, recipient, amount, chain) => {
129
+ const sender = wasm.arrayToBase58(
130
+ wasm.toAddress(1, chain, wasm.base58ToArray(senderPublicKey))
131
+ )
132
+ if (amount <= 0) {
133
+ return false
134
+ } else if (
135
+ !(
136
+ crypto_1.default.validateAddress(sender, chain) === true &&
137
+ crypto_1.default.validateAddress(recipient, chain) === true
138
+ )
139
+ ) {
140
+ return false
141
+ } else {
142
+ return true
143
+ }
144
+ },
145
+ sign: (privateKey, tx) => {
146
+ const message = validator.serialize(
147
+ tx.senderPublicKey,
148
+ tx.assetId,
149
+ tx.feeAsset,
150
+ tx.timestamp,
151
+ tx.amount,
152
+ tx.fee,
153
+ tx.recipient
154
+ )
155
+ return crypto_1.default.fastSignature(
156
+ privateKey,
157
+ wasm.arrayToBase58(new Uint8Array(message))
158
+ )
159
+ },
160
+ send: (tx) =>
161
+ __awaiter(void 0, void 0, void 0, function* () {
162
+ yield axios_1.default
163
+ .request({
164
+ url: "https://lunesnode.lunes.io/transactions/broadcast",
165
+ method: "post",
166
+ data: tx
167
+ })
168
+ .then((x) => {
169
+ console.log(x)
170
+ })
171
+ .catch((error) => {
172
+ console.error(error.response.data)
173
+ })
174
+ })
175
+ }
176
+ 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