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 +3 -0
- package/lib/client/transactions/BaseTransaction.d.ts +6 -0
- package/lib/client/transactions/BaseTransaction.js +2 -0
- package/lib/client/transactions/transactions.types.d.ts +10 -0
- package/lib/client/transactions/transactions.types.js +27 -0
- package/lib/client/transactions/transfer/service.transfer.d.ts +21 -0
- package/lib/client/transactions/transfer/service.transfer.js +153 -0
- package/lib/client/transactions/transfer/transfer.types.d.ts +12 -0
- package/lib/client/transactions/transfer/transfer.types.js +2 -0
- package/lib/client/transactions/transfer/validator.d.ts +22 -0
- package/lib/client/transactions/transfer/validator.js +176 -0
- package/lib/client/wallet/constants.d.ts +8 -0
- package/lib/client/wallet/constants.js +2064 -0
- package/lib/client/wallet/service.account.d.ts +28 -0
- package/lib/client/wallet/service.account.js +83 -0
- package/lib/client/wallet/wallet.types.d.ts +21 -0
- package/lib/client/wallet/wallet.types.js +11 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.js +24 -0
- package/lib/utils/crypto.d.ts +25 -0
- package/lib/utils/crypto.js +147 -0
- package/package.json +4 -3
package/CHANGELOG.md
ADDED
@@ -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,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
|