@ledgerhq/coin-vechain 2.4.2-nightly.1 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +2 -2
- package/CHANGELOG.md +8 -7
- package/lib/bridge/broadcast.js +12 -3
- package/lib/bridge/broadcast.js.map +1 -1
- package/lib/bridge/buildOptimisticOperatioin.js +11 -2
- package/lib/bridge/buildOptimisticOperatioin.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +12 -3
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getTransactionStatus.js +13 -4
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/index.js +10 -1
- package/lib/bridge/index.js.map +1 -1
- package/lib/bridge/prepareTransaction.js +17 -8
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/signOperation.js +26 -15
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronisation.js +19 -9
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/bridge/transaction.js +4 -16
- package/lib/bridge/transaction.js.map +1 -1
- package/lib/common-logic/logic.js +13 -4
- package/lib/common-logic/logic.js.map +1 -1
- package/lib/common-logic/mapping-utils.js +19 -10
- package/lib/common-logic/mapping-utils.js.map +1 -1
- package/lib/common-logic/transaction-utils.js +29 -26
- package/lib/common-logic/transaction-utils.js.map +1 -1
- package/lib/network/sdk.js +35 -26
- package/lib/network/sdk.js.map +1 -1
- package/lib/signer/getAddress.js +14 -5
- package/lib/signer/getAddress.js.map +1 -1
- package/lib/signer/signMessage.js +12 -3
- package/lib/signer/signMessage.js.map +1 -1
- package/lib/test/bot-specs.js +44 -37
- package/lib/test/bot-specs.js.map +1 -1
- package/lib/test/cli.js +1 -6
- package/lib/test/cli.js.map +1 -1
- package/lib-es/bridge/broadcast.js +12 -3
- package/lib-es/bridge/broadcast.js.map +1 -1
- package/lib-es/bridge/buildOptimisticOperatioin.js +11 -2
- package/lib-es/bridge/buildOptimisticOperatioin.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js +12 -3
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +13 -4
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/index.js +10 -1
- package/lib-es/bridge/index.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +17 -8
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/signOperation.js +26 -15
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/synchronisation.js +19 -9
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/bridge/transaction.js +4 -16
- package/lib-es/bridge/transaction.js.map +1 -1
- package/lib-es/common-logic/logic.js +13 -4
- package/lib-es/common-logic/logic.js.map +1 -1
- package/lib-es/common-logic/mapping-utils.js +19 -10
- package/lib-es/common-logic/mapping-utils.js.map +1 -1
- package/lib-es/common-logic/transaction-utils.js +29 -26
- package/lib-es/common-logic/transaction-utils.js.map +1 -1
- package/lib-es/network/sdk.js +35 -26
- package/lib-es/network/sdk.js.map +1 -1
- package/lib-es/signer/getAddress.js +14 -5
- package/lib-es/signer/getAddress.js.map +1 -1
- package/lib-es/signer/signMessage.js +12 -3
- package/lib-es/signer/signMessage.js.map +1 -1
- package/lib-es/test/bot-specs.js +44 -37
- package/lib-es/test/bot-specs.js.map +1 -1
- package/lib-es/test/cli.js +1 -6
- package/lib-es/test/cli.js.map +1 -1
- package/package.json +5 -5
- package/tsconfig.json +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping-utils.js","sourceRoot":"","sources":["../../src/common-logic/mapping-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapping-utils.js","sourceRoot":"","sources":["../../src/common-logic/mapping-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
13
|
};
|
|
@@ -31,7 +40,7 @@ exports.generateNonce = generateNonce;
|
|
|
31
40
|
* @param transaction - The transaction to estimate the gas for
|
|
32
41
|
* @returns an estimate of the gas usage
|
|
33
42
|
*/
|
|
34
|
-
const estimateGas =
|
|
43
|
+
const estimateGas = (t) => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
44
|
const intrinsicGas = thor_devkit_1.Transaction.intrinsicGas(t.body.clauses);
|
|
36
45
|
const queryData = [];
|
|
37
46
|
t.body.clauses.forEach(c => {
|
|
@@ -42,32 +51,32 @@ const estimateGas = async (t) => {
|
|
|
42
51
|
});
|
|
43
52
|
}
|
|
44
53
|
});
|
|
45
|
-
const response =
|
|
54
|
+
const response = yield (0, network_1.query)(queryData);
|
|
46
55
|
const execGas = response.reduce((sum, out) => sum + out.gasUsed, 0);
|
|
47
56
|
return intrinsicGas + (execGas ? execGas + GAS_COEFFICIENT : 0);
|
|
48
|
-
};
|
|
57
|
+
});
|
|
49
58
|
exports.estimateGas = estimateGas;
|
|
50
|
-
const getBaseGasPrice =
|
|
59
|
+
const getBaseGasPrice = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
60
|
const queryData = {
|
|
52
61
|
to: constants_1.PARAMS_ADDRESS,
|
|
53
62
|
data: params_1.default.get.encode(constants_1.BASE_GAS_PRICE_KEY),
|
|
54
63
|
};
|
|
55
|
-
const response =
|
|
64
|
+
const response = yield (0, network_1.query)([queryData]);
|
|
56
65
|
// Expect 1 value
|
|
57
66
|
if (response && response.length != 1)
|
|
58
67
|
throw Error("Unexpected response received for query");
|
|
59
68
|
return response[0].data;
|
|
60
|
-
};
|
|
69
|
+
});
|
|
61
70
|
/**
|
|
62
71
|
* Calculate the fee in VTHO
|
|
63
72
|
* @param gas - the gas used
|
|
64
73
|
* @param gasPriceCoef - the gas price coefficient
|
|
65
74
|
* @returns the fee in VTHO
|
|
66
75
|
*/
|
|
67
|
-
const calculateFee =
|
|
68
|
-
const baseGasPrice =
|
|
76
|
+
const calculateFee = (gas, gasPriceCoef) => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
+
const baseGasPrice = yield getBaseGasPrice();
|
|
69
78
|
return new bignumber_js_1.default(baseGasPrice).times(gasPriceCoef).idiv(255).plus(baseGasPrice).times(gas);
|
|
70
|
-
};
|
|
79
|
+
});
|
|
71
80
|
exports.calculateFee = calculateFee;
|
|
72
81
|
// Here there is a circular dependency between values, that is why we need the do-while loop
|
|
73
82
|
// dependencies are:
|
|
@@ -78,7 +87,7 @@ exports.calculateFee = calculateFee;
|
|
|
78
87
|
// balance: USER
|
|
79
88
|
// circular dependency is:
|
|
80
89
|
// amount -> spendableBalance -> fees -> amount
|
|
81
|
-
const calculateTransactionInfo =
|
|
90
|
+
const calculateTransactionInfo = (account, transaction, fixedMaxTokenFees) => __awaiter(void 0, void 0, void 0, function* () {
|
|
82
91
|
const { subAccounts } = account;
|
|
83
92
|
const { amount: oldAmount, subAccountId, useAllAmount } = transaction;
|
|
84
93
|
const tokenAccount = subAccountId && subAccounts
|
|
@@ -89,7 +98,7 @@ const calculateTransactionInfo = async (account, transaction, fixedMaxTokenFees)
|
|
|
89
98
|
const isTokenAccount = !!tokenAccount;
|
|
90
99
|
let amount = oldAmount;
|
|
91
100
|
let amountBackup;
|
|
92
|
-
let tempTransaction = {
|
|
101
|
+
let tempTransaction = Object.assign(Object.assign({}, transaction), { amount });
|
|
93
102
|
let balance = account.balance;
|
|
94
103
|
let spendableBalance = account.balance;
|
|
95
104
|
let maxEstimatedGasFees = new bignumber_js_1.default(0);
|
|
@@ -99,7 +108,7 @@ const calculateTransactionInfo = async (account, transaction, fixedMaxTokenFees)
|
|
|
99
108
|
let iterations = 0;
|
|
100
109
|
do {
|
|
101
110
|
amountBackup = amount;
|
|
102
|
-
const estimatedGasAndFees = fixedMaxTokenFees || (
|
|
111
|
+
const estimatedGasAndFees = fixedMaxTokenFees || (yield (0, exports.calculateGasFees)(tempTransaction, isTokenAccount));
|
|
103
112
|
maxEstimatedGasFees = estimatedGasAndFees.estimatedGasFees;
|
|
104
113
|
maxEstimatedGas = estimatedGasAndFees.estimatedGas;
|
|
105
114
|
if (isTokenAccount && tokenAccount) {
|
|
@@ -113,10 +122,7 @@ const calculateTransactionInfo = async (account, transaction, fixedMaxTokenFees)
|
|
|
113
122
|
spendableBalance = account.balance;
|
|
114
123
|
}
|
|
115
124
|
amount = useAllAmount ? spendableBalance : oldAmount;
|
|
116
|
-
tempTransaction = {
|
|
117
|
-
...tempTransaction,
|
|
118
|
-
amount,
|
|
119
|
-
};
|
|
125
|
+
tempTransaction = Object.assign(Object.assign({}, tempTransaction), { amount });
|
|
120
126
|
iterations++;
|
|
121
127
|
} while (!amountBackup.isEqualTo(amount) && iterations < MAX_ITERATIONS);
|
|
122
128
|
if (iterations === MAX_ITERATIONS) {
|
|
@@ -132,30 +138,27 @@ const calculateTransactionInfo = async (account, transaction, fixedMaxTokenFees)
|
|
|
132
138
|
estimatedFees: maxEstimatedGasFees.toString(),
|
|
133
139
|
estimatedGas: maxEstimatedGas,
|
|
134
140
|
};
|
|
135
|
-
};
|
|
141
|
+
});
|
|
136
142
|
exports.calculateTransactionInfo = calculateTransactionInfo;
|
|
137
|
-
const calculateGasFees =
|
|
143
|
+
const calculateGasFees = (transaction, isTokenAccount) => __awaiter(void 0, void 0, void 0, function* () {
|
|
138
144
|
if (transaction.recipient && (0, address_utils_1.isValid)(transaction.recipient)) {
|
|
139
145
|
let clauses;
|
|
140
146
|
if (isTokenAccount) {
|
|
141
|
-
clauses =
|
|
147
|
+
clauses = yield (0, logic_1.calculateClausesVtho)(transaction.recipient, transaction.amount);
|
|
142
148
|
}
|
|
143
149
|
else {
|
|
144
|
-
clauses =
|
|
150
|
+
clauses = yield (0, logic_1.calculateClausesVet)(transaction.recipient, transaction.amount);
|
|
145
151
|
}
|
|
146
|
-
const gas =
|
|
147
|
-
...transaction,
|
|
148
|
-
body: { ...transaction.body, clauses: clauses },
|
|
149
|
-
});
|
|
152
|
+
const gas = yield (0, exports.estimateGas)(Object.assign(Object.assign({}, transaction), { body: Object.assign(Object.assign({}, transaction.body), { clauses: clauses }) }));
|
|
150
153
|
return {
|
|
151
154
|
estimatedGas: gas,
|
|
152
|
-
estimatedGasFees:
|
|
155
|
+
estimatedGasFees: yield (0, exports.calculateFee)(new bignumber_js_1.default(gas), transaction.body.gasPriceCoef || types_1.DEFAULT_GAS_COEFFICIENT),
|
|
153
156
|
};
|
|
154
157
|
}
|
|
155
158
|
return {
|
|
156
159
|
estimatedGas: 0,
|
|
157
160
|
estimatedGasFees: new bignumber_js_1.default(0),
|
|
158
161
|
};
|
|
159
|
-
};
|
|
162
|
+
});
|
|
160
163
|
exports.calculateGasFees = calculateGasFees;
|
|
161
164
|
//# sourceMappingURL=transaction-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-utils.js","sourceRoot":"","sources":["../../src/common-logic/transaction-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction-utils.js","sourceRoot":"","sources":["../../src/common-logic/transaction-utils.ts"],"names":[],"mappings":"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"}
|
package/lib/network/sdk.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
13
|
};
|
|
@@ -11,21 +20,21 @@ const constants_1 = require("../contracts/constants");
|
|
|
11
20
|
const types_1 = require("../types");
|
|
12
21
|
const live_env_1 = require("@ledgerhq/live-env");
|
|
13
22
|
const BASE_URL = (0, live_env_1.getEnv)("API_VECHAIN_THOREST");
|
|
14
|
-
const getAccount =
|
|
15
|
-
const { data } =
|
|
23
|
+
const getAccount = (address) => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
const { data } = yield (0, network_1.default)({
|
|
16
25
|
method: "GET",
|
|
17
26
|
url: `${BASE_URL}/accounts/${address}`,
|
|
18
27
|
});
|
|
19
28
|
return data;
|
|
20
|
-
};
|
|
29
|
+
});
|
|
21
30
|
exports.getAccount = getAccount;
|
|
22
|
-
const getLastBlockHeight =
|
|
23
|
-
const { data } =
|
|
31
|
+
const getLastBlockHeight = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
const { data } = yield (0, network_1.default)({
|
|
24
33
|
method: "GET",
|
|
25
34
|
url: `${BASE_URL}/blocks/best`,
|
|
26
35
|
});
|
|
27
36
|
return data.number;
|
|
28
|
-
};
|
|
37
|
+
});
|
|
29
38
|
exports.getLastBlockHeight = getLastBlockHeight;
|
|
30
39
|
/**
|
|
31
40
|
* Get VET operations
|
|
@@ -34,7 +43,7 @@ exports.getLastBlockHeight = getLastBlockHeight;
|
|
|
34
43
|
* @param startAt
|
|
35
44
|
* @returns an array of operations
|
|
36
45
|
*/
|
|
37
|
-
const getOperations =
|
|
46
|
+
const getOperations = (accountId, addr, startAt) => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
47
|
const query = {
|
|
39
48
|
range: {
|
|
40
49
|
unit: "block",
|
|
@@ -43,14 +52,14 @@ const getOperations = async (accountId, addr, startAt) => {
|
|
|
43
52
|
criteriaSet: [{ sender: addr }, { recipient: addr }],
|
|
44
53
|
order: "desc",
|
|
45
54
|
};
|
|
46
|
-
const { data } =
|
|
55
|
+
const { data } = yield (0, network_1.default)({
|
|
47
56
|
method: "POST",
|
|
48
57
|
url: `${BASE_URL}/logs/transfer`,
|
|
49
58
|
data: JSON.stringify(query),
|
|
50
59
|
});
|
|
51
|
-
const operations =
|
|
60
|
+
const operations = yield (0, common_logic_1.mapVetTransfersToOperations)(data, accountId, addr);
|
|
52
61
|
return operations;
|
|
53
|
-
};
|
|
62
|
+
});
|
|
54
63
|
exports.getOperations = getOperations;
|
|
55
64
|
/**
|
|
56
65
|
* Get operations for a fungible token
|
|
@@ -60,7 +69,7 @@ exports.getOperations = getOperations;
|
|
|
60
69
|
* @param startAt
|
|
61
70
|
* @returns an array of operations
|
|
62
71
|
*/
|
|
63
|
-
const getTokenOperations =
|
|
72
|
+
const getTokenOperations = (accountId, addr, tokenAddr, startAt) => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
73
|
const paddedAddress = (0, common_logic_1.padAddress)(addr);
|
|
65
74
|
const query = {
|
|
66
75
|
range: {
|
|
@@ -81,25 +90,25 @@ const getTokenOperations = async (accountId, addr, tokenAddr, startAt) => {
|
|
|
81
90
|
],
|
|
82
91
|
order: "desc",
|
|
83
92
|
};
|
|
84
|
-
const { data } =
|
|
93
|
+
const { data } = yield (0, network_1.default)({
|
|
85
94
|
method: "POST",
|
|
86
95
|
url: `${BASE_URL}/logs/event`,
|
|
87
96
|
data: JSON.stringify(query),
|
|
88
97
|
});
|
|
89
|
-
const operations =
|
|
98
|
+
const operations = yield (0, common_logic_1.mapTokenTransfersToOperations)(data, accountId, addr);
|
|
90
99
|
return operations;
|
|
91
|
-
};
|
|
100
|
+
});
|
|
92
101
|
exports.getTokenOperations = getTokenOperations;
|
|
93
102
|
/**
|
|
94
103
|
* Submit a transaction and return the ID
|
|
95
104
|
* @param tx - The transaction to submit
|
|
96
105
|
* @returns transaction ID
|
|
97
106
|
*/
|
|
98
|
-
const submit =
|
|
107
|
+
const submit = (tx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
99
108
|
const encodedRawTx = {
|
|
100
109
|
raw: `${types_1.HEX_PREFIX}${tx.encode().toString("hex")}`,
|
|
101
110
|
};
|
|
102
|
-
const { data } =
|
|
111
|
+
const { data } = yield (0, network_1.default)({
|
|
103
112
|
method: "POST",
|
|
104
113
|
url: `${BASE_URL}/transactions`,
|
|
105
114
|
data: encodedRawTx,
|
|
@@ -108,41 +117,41 @@ const submit = async (tx) => {
|
|
|
108
117
|
if (!data.id)
|
|
109
118
|
throw Error("Expected an ID to be returned");
|
|
110
119
|
return data.id;
|
|
111
|
-
};
|
|
120
|
+
});
|
|
112
121
|
exports.submit = submit;
|
|
113
122
|
/**
|
|
114
123
|
* Query the blockchain
|
|
115
124
|
* @param queryData - The query data
|
|
116
125
|
* @returns a result of the query
|
|
117
126
|
*/
|
|
118
|
-
const query =
|
|
119
|
-
const { data } =
|
|
127
|
+
const query = (queryData) => __awaiter(void 0, void 0, void 0, function* () {
|
|
128
|
+
const { data } = yield (0, network_1.default)({
|
|
120
129
|
method: "POST",
|
|
121
130
|
url: `${BASE_URL}/accounts/*`,
|
|
122
131
|
data: { clauses: queryData },
|
|
123
132
|
});
|
|
124
133
|
return data;
|
|
125
|
-
};
|
|
134
|
+
});
|
|
126
135
|
exports.query = query;
|
|
127
136
|
/**
|
|
128
137
|
* Get the block ref to use in a transaction
|
|
129
138
|
* @returns the block ref of head
|
|
130
139
|
*/
|
|
131
|
-
const getBlockRef =
|
|
132
|
-
const { data } =
|
|
140
|
+
const getBlockRef = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
141
|
+
const { data } = yield (0, network_1.default)({
|
|
133
142
|
method: "GET",
|
|
134
143
|
url: `${BASE_URL}/blocks/best`,
|
|
135
144
|
});
|
|
136
145
|
return data.id.slice(0, 18);
|
|
137
|
-
};
|
|
146
|
+
});
|
|
138
147
|
exports.getBlockRef = getBlockRef;
|
|
139
148
|
/**
|
|
140
149
|
* Get fees paid for the transaction
|
|
141
150
|
* @param transactionId - the id of the transaction
|
|
142
151
|
* @return the fee paid in VTHO or 0
|
|
143
152
|
*/
|
|
144
|
-
const getFees =
|
|
145
|
-
const { data } =
|
|
153
|
+
const getFees = (transactionID) => __awaiter(void 0, void 0, void 0, function* () {
|
|
154
|
+
const { data } = yield (0, network_1.default)({
|
|
146
155
|
method: "GET",
|
|
147
156
|
url: `${BASE_URL}/transactions/${transactionID}/receipt`,
|
|
148
157
|
params: { id: transactionID },
|
|
@@ -150,6 +159,6 @@ const getFees = async (transactionID) => {
|
|
|
150
159
|
if (!data || !data.paid)
|
|
151
160
|
return new bignumber_js_1.default(0);
|
|
152
161
|
return new bignumber_js_1.default(data.paid);
|
|
153
|
-
};
|
|
162
|
+
});
|
|
154
163
|
exports.getFees = getFees;
|
|
155
164
|
//# sourceMappingURL=sdk.js.map
|
package/lib/network/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"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"}
|
package/lib/signer/getAddress.js
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
13
|
};
|
|
5
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
15
|
const eip55_1 = __importDefault(require("eip55"));
|
|
7
16
|
const resolver = (signerContext) => {
|
|
8
|
-
return
|
|
9
|
-
const sig =
|
|
10
|
-
return
|
|
11
|
-
});
|
|
17
|
+
return (deviceId_1, _a) => __awaiter(void 0, [deviceId_1, _a], void 0, function* (deviceId, { path, verify }) {
|
|
18
|
+
const sig = yield signerContext(deviceId, (signer) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
return yield signer.getAddress(path, verify, false); // Note: Do we need to check askChainCode or false?
|
|
20
|
+
}));
|
|
12
21
|
if (!sig.address || !sig.publicKey.length)
|
|
13
22
|
throw Error(`[vechain] Response is empty ${sig.address} ${sig.publicKey}`);
|
|
14
23
|
const address = eip55_1.default.encode(sig.address);
|
|
@@ -17,7 +26,7 @@ const resolver = (signerContext) => {
|
|
|
17
26
|
publicKey: sig.publicKey,
|
|
18
27
|
path,
|
|
19
28
|
};
|
|
20
|
-
};
|
|
29
|
+
});
|
|
21
30
|
};
|
|
22
31
|
exports.default = resolver;
|
|
23
32
|
//# sourceMappingURL=getAddress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,kDAA0B;AAK1B,MAAM,QAAQ,GAAG,CAAC,aAA2C,EAAgB,EAAE;IAC7E,OAAO,iBAA8D,EAAE,wDAAzD,QAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAqB;QACjE,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAM,MAAM,EAAC,EAAE;YACvD,OAAO,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,mDAAmD;QAC1G,CAAC,CAAA,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM;YACvC,MAAM,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO;YACL,OAAO;YACP,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI;SACL,CAAC;IACJ,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.signMessage = void 0;
|
|
4
13
|
const thor_devkit_1 = require("thor-devkit");
|
|
5
|
-
const signMessage = (signerContext) =>
|
|
14
|
+
const signMessage = (signerContext) => (deviceId, path, message, rawMessage) => __awaiter(void 0, void 0, void 0, function* () {
|
|
6
15
|
let messageObj;
|
|
7
16
|
let unsigned;
|
|
8
17
|
try {
|
|
@@ -15,8 +24,8 @@ const signMessage = (signerContext) => async (deviceId, path, message, rawMessag
|
|
|
15
24
|
catch (e) {
|
|
16
25
|
throw new Error("Message is not a valid JSON object");
|
|
17
26
|
}
|
|
18
|
-
const result =
|
|
27
|
+
const result = yield signerContext(deviceId, signer => signer.signTransaction(path, unsigned.encode().toString("hex")));
|
|
19
28
|
return result.toString("hex");
|
|
20
|
-
};
|
|
29
|
+
});
|
|
21
30
|
exports.signMessage = signMessage;
|
|
22
31
|
//# sourceMappingURL=signMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../src/signer/signMessage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../src/signer/signMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6D;AAItD,MAAM,WAAW,GACtB,CAAC,aAA2C,EAAE,EAAE,CAChD,CAAO,QAAgB,EAAE,IAAY,EAAE,OAAe,EAAE,UAAkB,EAAE,EAAE;IAC5E,IAAI,UAAU,CAAC;IACf,IAAI,QAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,IAAI,OAAO;YAAE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;;YACzC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzC,QAAQ,GAAG,IAAI,yBAAe,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACpD,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAChE,CAAC;IAEF,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAA,CAAC;AAjBS,QAAA,WAAW,eAiBpB"}
|
package/lib/test/bot-specs.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
13
|
};
|
|
@@ -22,32 +31,30 @@ const vechainTest = {
|
|
|
22
31
|
allowEmptyAccounts: true,
|
|
23
32
|
testTimeout: 60 * 1000, // 1 minute
|
|
24
33
|
genericDeviceAction: bot_deviceActions_1.default.acceptTransaction,
|
|
25
|
-
onSpeculosDeviceCreated:
|
|
34
|
+
onSpeculosDeviceCreated: (_a) => __awaiter(void 0, [_a], void 0, function* ({ transport }) {
|
|
26
35
|
// enable contract data
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
yield transport.button(specs_1.SpeculosButton.RIGHT);
|
|
37
|
+
yield transport.button(specs_1.SpeculosButton.BOTH);
|
|
38
|
+
yield transport.button(specs_1.SpeculosButton.BOTH);
|
|
39
|
+
yield transport.button(specs_1.SpeculosButton.RIGHT);
|
|
40
|
+
yield transport.button(specs_1.SpeculosButton.BOTH);
|
|
32
41
|
// enable multi-clause
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
},
|
|
42
|
+
yield transport.button(specs_1.SpeculosButton.RIGHT);
|
|
43
|
+
yield transport.button(specs_1.SpeculosButton.BOTH);
|
|
44
|
+
yield transport.button(specs_1.SpeculosButton.RIGHT);
|
|
45
|
+
yield transport.button(specs_1.SpeculosButton.BOTH);
|
|
46
|
+
yield transport.button(specs_1.SpeculosButton.RIGHT);
|
|
47
|
+
yield transport.button(specs_1.SpeculosButton.BOTH);
|
|
48
|
+
}),
|
|
40
49
|
};
|
|
41
|
-
const vet = {
|
|
42
|
-
name: "VeChain VET",
|
|
43
|
-
...vechainTest,
|
|
44
|
-
mutations: [
|
|
50
|
+
const vet = Object.assign(Object.assign({ name: "VeChain VET" }, vechainTest), { mutations: [
|
|
45
51
|
{
|
|
46
52
|
name: "move ~50% VET",
|
|
47
53
|
feature: "send",
|
|
48
54
|
maxRun: 1,
|
|
49
55
|
transaction: ({ account, siblings, bridge, maxSpendable, }) => {
|
|
50
|
-
|
|
56
|
+
var _a;
|
|
57
|
+
if (!((_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a[0]))
|
|
51
58
|
throw new Error("no VTHO account");
|
|
52
59
|
(0, invariant_1.default)(account.balance.gt(MIN_VET_TRANSACTION_AMOUNT), "Vechain: VET balance is empty");
|
|
53
60
|
(0, invariant_1.default)(account.subAccounts[0].balance.gt(MAX_VTHO_FEE_FOR_VET_TRANSACTION), "Vechain: VTHO balance is not enough");
|
|
@@ -70,10 +77,11 @@ const vet = {
|
|
|
70
77
|
feature: "sendMax",
|
|
71
78
|
maxRun: 1,
|
|
72
79
|
transaction: ({ account, siblings, bridge, }) => {
|
|
73
|
-
|
|
80
|
+
var _a, _b;
|
|
81
|
+
if (!((_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a[0]))
|
|
74
82
|
throw new Error("no VTHO account");
|
|
75
83
|
(0, invariant_1.default)(account.balance.gt(MIN_VET_TRANSACTION_AMOUNT), "Vechain: VET balance is empty");
|
|
76
|
-
(0, invariant_1.default)(account.subAccounts
|
|
84
|
+
(0, invariant_1.default)((_b = account.subAccounts) === null || _b === void 0 ? void 0 : _b[0].balance.gt(MAX_VTHO_FEE_FOR_VET_TRANSACTION), "Vechain: VTHO balance is not enough");
|
|
77
85
|
const sibling = (0, specs_1.pickSiblings)(siblings, 4);
|
|
78
86
|
const recipient = sibling.freshAddress;
|
|
79
87
|
const transaction = bridge.createTransaction(account);
|
|
@@ -87,21 +95,17 @@ const vet = {
|
|
|
87
95
|
(0, specs_1.botTest)("account balance decreased with operation value", () => expect(account.balance.toString()).toBe(new bignumber_js_1.default(0).toString()));
|
|
88
96
|
},
|
|
89
97
|
},
|
|
90
|
-
]
|
|
91
|
-
}
|
|
92
|
-
const vtho = {
|
|
93
|
-
name: "VeChain VTHO",
|
|
94
|
-
...vechainTest,
|
|
95
|
-
skipOperationHistory: true,
|
|
96
|
-
mutations: [
|
|
98
|
+
] });
|
|
99
|
+
const vtho = Object.assign(Object.assign({ name: "VeChain VTHO" }, vechainTest), { skipOperationHistory: true, mutations: [
|
|
97
100
|
{
|
|
98
101
|
name: "move ~50% VTHO",
|
|
99
102
|
feature: "tokens",
|
|
100
103
|
maxRun: 1,
|
|
101
104
|
transaction: ({ account, siblings, bridge, }) => {
|
|
102
|
-
|
|
105
|
+
var _a, _b;
|
|
106
|
+
if (!((_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a[0]))
|
|
103
107
|
throw new Error("no VTHO account");
|
|
104
|
-
(0, invariant_1.default)(account.subAccounts
|
|
108
|
+
(0, invariant_1.default)((_b = account.subAccounts) === null || _b === void 0 ? void 0 : _b[0].balance.gt(MAX_VTHO_FEE_FOR_VTHO_TRANSACTION * 2), "Vechain: VTHO balance is not enough");
|
|
105
109
|
const sibling = (0, specs_1.pickSiblings)(siblings, 2);
|
|
106
110
|
const recipient = sibling.freshAddress;
|
|
107
111
|
if (!account.subAccounts ||
|
|
@@ -118,9 +122,12 @@ const vtho = {
|
|
|
118
122
|
};
|
|
119
123
|
},
|
|
120
124
|
test: ({ account, accountBeforeTransaction, }) => {
|
|
121
|
-
(0, specs_1.botTest)("account balance decreased with operation value", () =>
|
|
122
|
-
|
|
123
|
-
.toString()))
|
|
125
|
+
(0, specs_1.botTest)("account balance decreased with operation value", () => {
|
|
126
|
+
var _a, _b;
|
|
127
|
+
return expect((_a = account === null || account === void 0 ? void 0 : account.subAccounts) === null || _a === void 0 ? void 0 : _a[0].balance.toString()).toBe(new bignumber_js_1.default(((_b = accountBeforeTransaction === null || accountBeforeTransaction === void 0 ? void 0 : accountBeforeTransaction.subAccounts) === null || _b === void 0 ? void 0 : _b[0].balance) || 0)
|
|
128
|
+
.div(2)
|
|
129
|
+
.toString());
|
|
130
|
+
});
|
|
124
131
|
},
|
|
125
132
|
},
|
|
126
133
|
{
|
|
@@ -128,9 +135,10 @@ const vtho = {
|
|
|
128
135
|
feature: "tokens",
|
|
129
136
|
maxRun: 1,
|
|
130
137
|
transaction: ({ account, siblings, bridge, }) => {
|
|
131
|
-
|
|
138
|
+
var _a, _b;
|
|
139
|
+
if (!((_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a[0]))
|
|
132
140
|
throw new Error("no VTHO account");
|
|
133
|
-
(0, invariant_1.default)(account.subAccounts
|
|
141
|
+
(0, invariant_1.default)((_b = account.subAccounts) === null || _b === void 0 ? void 0 : _b[0].balance.gt(MAX_VTHO_FEE_FOR_VTHO_TRANSACTION), "Vechain: VTHO balance is not enough");
|
|
134
142
|
const sibling = (0, specs_1.pickSiblings)(siblings, 4);
|
|
135
143
|
const recipient = sibling.freshAddress;
|
|
136
144
|
if (!account.subAccounts ||
|
|
@@ -149,10 +157,9 @@ const vtho = {
|
|
|
149
157
|
};
|
|
150
158
|
},
|
|
151
159
|
test: ({ account }) => {
|
|
152
|
-
(0, specs_1.botTest)("account balance decreased with operation value", () => expect(account
|
|
160
|
+
(0, specs_1.botTest)("account balance decreased with operation value", () => { var _a; return expect((_a = account === null || account === void 0 ? void 0 : account.subAccounts) === null || _a === void 0 ? void 0 : _a[0].balance.toString()).toBe(new bignumber_js_1.default(0).toString()); });
|
|
153
161
|
},
|
|
154
162
|
},
|
|
155
|
-
]
|
|
156
|
-
};
|
|
163
|
+
] });
|
|
157
164
|
exports.default = { vtho, vet };
|
|
158
165
|
//# sourceMappingURL=bot-specs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-specs.js","sourceRoot":"","sources":["../../src/test/bot-specs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bot-specs.js","sourceRoot":"","sources":["../../src/test/bot-specs.ts"],"names":[],"mappings":"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"}
|