@ledgerhq/coin-tron 0.2.2 → 0.2.3
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 +14 -0
- package/lib/bridge/broadcast.js +3 -12
- package/lib/bridge/broadcast.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +9 -12
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getEstimateFees.js +7 -17
- package/lib/bridge/getEstimateFees.js.map +1 -1
- package/lib/bridge/getTransactionStatus.js +18 -26
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/preload.js +3 -12
- package/lib/bridge/preload.js.map +1 -1
- package/lib/bridge/prepareTransaction.js +4 -13
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/serialization.js +8 -8
- package/lib/bridge/serialization.js.map +1 -1
- package/lib/bridge/signOperation.js +39 -53
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronization.integ.test.js +10 -15
- package/lib/bridge/synchronization.integ.test.js.map +1 -1
- package/lib/bridge/synchronization.js +25 -23
- package/lib/bridge/synchronization.js.map +1 -1
- package/lib/bridge/transaction.js +20 -4
- package/lib/bridge/transaction.js.map +1 -1
- package/lib/logic/utils.test.js +21 -10
- package/lib/logic/utils.test.js.map +1 -1
- package/lib/network/format.js +4 -5
- package/lib/network/format.js.map +1 -1
- package/lib/network/index.integ.test.js +3 -12
- package/lib/network/index.integ.test.js.map +1 -1
- package/lib/network/index.js +296 -321
- package/lib/network/index.js.map +1 -1
- package/lib/network/index.test.js +4 -14
- package/lib/network/index.test.js.map +1 -1
- package/lib/signer/getAddress.js +4 -13
- package/lib/signer/getAddress.js.map +1 -1
- package/lib/test/bridgeDatasetTest.js +33 -7
- package/lib/test/bridgeDatasetTest.js.map +1 -1
- package/lib/test/cli.js +7 -2
- package/lib/test/cli.js.map +1 -1
- package/lib-es/bridge/broadcast.js +3 -12
- package/lib-es/bridge/broadcast.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js +9 -12
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib-es/bridge/getEstimateFees.js +7 -17
- package/lib-es/bridge/getEstimateFees.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +18 -26
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/preload.js +3 -12
- package/lib-es/bridge/preload.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +4 -13
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/serialization.js +8 -8
- package/lib-es/bridge/serialization.js.map +1 -1
- package/lib-es/bridge/signOperation.js +39 -53
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/synchronization.integ.test.js +10 -15
- package/lib-es/bridge/synchronization.integ.test.js.map +1 -1
- package/lib-es/bridge/synchronization.js +25 -23
- package/lib-es/bridge/synchronization.js.map +1 -1
- package/lib-es/bridge/transaction.js +20 -4
- package/lib-es/bridge/transaction.js.map +1 -1
- package/lib-es/logic/utils.test.js +21 -10
- package/lib-es/logic/utils.test.js.map +1 -1
- package/lib-es/network/format.js +4 -5
- package/lib-es/network/format.js.map +1 -1
- package/lib-es/network/index.integ.test.js +3 -12
- package/lib-es/network/index.integ.test.js.map +1 -1
- package/lib-es/network/index.js +296 -321
- package/lib-es/network/index.js.map +1 -1
- package/lib-es/network/index.test.js +4 -14
- package/lib-es/network/index.test.js.map +1 -1
- package/lib-es/signer/getAddress.js +4 -13
- package/lib-es/signer/getAddress.js.map +1 -1
- package/lib-es/test/bridgeDatasetTest.js +33 -7
- package/lib-es/test/bridgeDatasetTest.js.map +1 -1
- package/lib-es/test/cli.js +7 -2
- package/lib-es/test/cli.js.map +1 -1
- package/package.json +4 -4
- package/tsconfig.json +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/coin-tron@0.2.
|
|
3
|
-
> tsc && tsc -m
|
|
2
|
+
> @ledgerhq/coin-tron@0.2.3 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-tron
|
|
3
|
+
> tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
|
|
4
4
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @ledgerhq/coin-tron
|
|
2
2
|
|
|
3
|
+
## 0.2.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`5e18866`](https://github.com/LedgerHQ/ledger-live/commit/5e18866320b843632699659ee66f6c410c108c1e)]:
|
|
8
|
+
- @ledgerhq/coin-framework@1.0.0
|
|
9
|
+
|
|
10
|
+
## 0.2.3-next.0
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [[`5e18866`](https://github.com/LedgerHQ/ledger-live/commit/5e18866320b843632699659ee66f6c410c108c1e)]:
|
|
15
|
+
- @ledgerhq/coin-framework@1.0.0-next.0
|
|
16
|
+
|
|
3
17
|
## 0.2.2
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/lib/bridge/broadcast.js
CHANGED
|
@@ -1,26 +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
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
const network_1 = require("../network");
|
|
13
|
-
const broadcast =
|
|
4
|
+
const broadcast = async ({ signedOperation: { signature, operation, rawData }, }) => {
|
|
14
5
|
const transaction = {
|
|
15
6
|
raw_data: rawData,
|
|
16
7
|
txID: operation.hash,
|
|
17
8
|
signature: [signature],
|
|
18
9
|
};
|
|
19
|
-
const submittedTransaction =
|
|
10
|
+
const submittedTransaction = await (0, network_1.broadcastTron)(transaction);
|
|
20
11
|
if (submittedTransaction.result !== true) {
|
|
21
12
|
throw new Error(submittedTransaction.resultMessage);
|
|
22
13
|
}
|
|
23
14
|
return operation;
|
|
24
|
-
}
|
|
15
|
+
};
|
|
25
16
|
exports.default = broadcast;
|
|
26
17
|
//# sourceMappingURL=broadcast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/bridge/broadcast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/bridge/broadcast.ts"],"names":[],"mappings":";;AACA,wCAA2C;AAE3C,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,eAAe,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAInD,EAAsB,EAAE;IACvB,MAAM,WAAW,GAAG;QAClB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC;IACF,MAAM,oBAAoB,GAAG,MAAM,IAAA,uBAAa,EAAC,WAAW,CAAC,CAAC;IAE9D,IAAI,oBAAoB,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
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
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -16,12 +7,18 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
|
16
7
|
const account_1 = require("@ledgerhq/coin-framework/account");
|
|
17
8
|
const createTransaction_1 = __importDefault(require("./createTransaction"));
|
|
18
9
|
const getEstimateFees_1 = __importDefault(require("./getEstimateFees"));
|
|
19
|
-
const estimateMaxSpendable =
|
|
10
|
+
const estimateMaxSpendable = async ({ account, parentAccount, transaction }) => {
|
|
20
11
|
const mainAccount = (0, account_1.getMainAccount)(account, parentAccount);
|
|
21
|
-
const fees =
|
|
12
|
+
const fees = await (0, getEstimateFees_1.default)(mainAccount, {
|
|
13
|
+
...(0, createTransaction_1.default)(),
|
|
14
|
+
subAccountId: account.type === "Account" ? null : account.id,
|
|
15
|
+
...transaction,
|
|
16
|
+
recipient: transaction?.recipient || "0x0000000000000000000000000000000000000000",
|
|
17
|
+
amount: new bignumber_js_1.default(0),
|
|
18
|
+
}, account.type === "TokenAccount" ? account : undefined);
|
|
22
19
|
return account.type === "Account"
|
|
23
20
|
? bignumber_js_1.default.max(0, account.spendableBalance.minus(fees))
|
|
24
21
|
: account.balance;
|
|
25
|
-
}
|
|
22
|
+
};
|
|
26
23
|
exports.default = estimateMaxSpendable;
|
|
27
24
|
//# sourceMappingURL=estimateMaxSpendable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateMaxSpendable.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"estimateMaxSpendable.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,8DAAkE;AAGlE,4EAAoD;AACpD,wEAAiD;AAEjD,MAAM,oBAAoB,GAGE,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAsB,EAAE;IAChG,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAgB,EACjC,WAAW,EACX;QACE,GAAG,IAAA,2BAAiB,GAAE;QACtB,YAAY,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;QAC5D,GAAG,WAAW;QACd,SAAS,EAAE,WAAW,EAAE,SAAS,IAAI,4CAA4C;QACjF,MAAM,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;KACzB,EACD,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACtD,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS;QAC/B,CAAC,CAAC,sBAAS,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACtB,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
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
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -30,14 +21,13 @@ const getFeesFromBandwidth = (account, transaction) => {
|
|
|
30
21
|
return new bignumber_js_1.default(0); // no fee
|
|
31
22
|
};
|
|
32
23
|
// Special case: If activated an account, cost around 0.1 TRX
|
|
33
|
-
const getFeesFromAccountActivation = (account, transaction, tokenAccount) =>
|
|
34
|
-
|
|
35
|
-
const [recipientAccount] = yield (0, network_1.fetchTronAccount)(transaction.recipient);
|
|
24
|
+
const getFeesFromAccountActivation = async (account, transaction, tokenAccount) => {
|
|
25
|
+
const [recipientAccount] = await (0, network_1.fetchTronAccount)(transaction.recipient);
|
|
36
26
|
const { gainedUsed, gainedLimit } = (0, utils_1.extractBandwidthInfo)(transaction.networkInfo);
|
|
37
27
|
const available = gainedLimit.minus(gainedUsed);
|
|
38
28
|
const estimatedBandwidthCost = (0, utils_1.getEstimatedBlockSize)(account, transaction);
|
|
39
29
|
const hasTRC20 = Boolean(tokenAccount &&
|
|
40
|
-
|
|
30
|
+
recipientAccount?.trc20?.some(trc20 => tokenAccount.token.contractAddress in trc20));
|
|
41
31
|
if (!recipientAccount && !hasTRC20 && available.lt(estimatedBandwidthCost)) {
|
|
42
32
|
// if we have a token account but the recipient is either not active or the account does not have a trc20 balance for the given token.
|
|
43
33
|
if (tokenAccount && tokenAccount.token.tokenType === "trc20") {
|
|
@@ -53,16 +43,16 @@ const getFeesFromAccountActivation = (account, transaction, tokenAccount) => __a
|
|
|
53
43
|
return constants_1.STANDARD_FEES_TRC_20; // cost is 13.3959 TRX
|
|
54
44
|
}
|
|
55
45
|
return new bignumber_js_1.default(0); // no fee
|
|
56
|
-
}
|
|
57
|
-
const getEstimatedFees = (account, transaction, tokenAccount) =>
|
|
46
|
+
};
|
|
47
|
+
const getEstimatedFees = async (account, transaction, tokenAccount) => {
|
|
58
48
|
const feesFromAccountActivation = transaction.mode === "send"
|
|
59
|
-
?
|
|
49
|
+
? await getFeesFromAccountActivation(account, transaction, tokenAccount)
|
|
60
50
|
: new bignumber_js_1.default(0);
|
|
61
51
|
if (feesFromAccountActivation.gt(0)) {
|
|
62
52
|
return feesFromAccountActivation;
|
|
63
53
|
}
|
|
64
54
|
const feesFromBandwidth = getFeesFromBandwidth(account, transaction);
|
|
65
55
|
return feesFromBandwidth;
|
|
66
|
-
}
|
|
56
|
+
};
|
|
67
57
|
exports.default = getEstimatedFees;
|
|
68
58
|
//# sourceMappingURL=getEstimateFees.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEstimateFees.js","sourceRoot":"","sources":["../../src/bridge/getEstimateFees.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getEstimateFees.js","sourceRoot":"","sources":["../../src/bridge/getEstimateFees.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,4 @@
|
|
|
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
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -21,8 +12,7 @@ const constants_1 = require("../logic/constants");
|
|
|
21
12
|
const network_1 = require("../network");
|
|
22
13
|
const errors_2 = require("../types/errors");
|
|
23
14
|
const getEstimateFees_1 = __importDefault(require("./getEstimateFees"));
|
|
24
|
-
const getTransactionStatus = (acc, transaction) =>
|
|
25
|
-
var _a, _b, _c, _d;
|
|
15
|
+
const getTransactionStatus = async (acc, transaction) => {
|
|
26
16
|
const errors = {};
|
|
27
17
|
const warnings = {};
|
|
28
18
|
const { family, mode, recipient, resource, votes, useAllAmount = false } = transaction;
|
|
@@ -30,7 +20,7 @@ const getTransactionStatus = (acc, transaction) => __awaiter(void 0, void 0, voi
|
|
|
30
20
|
? null
|
|
31
21
|
: acc.subAccounts && acc.subAccounts.find(ta => ta.id === transaction.subAccountId);
|
|
32
22
|
const account = tokenAccount || acc;
|
|
33
|
-
const isContractInteraction = (
|
|
23
|
+
const isContractInteraction = (await (0, network_1.fetchTronContract)(tokenAccount ? tokenAccount.token.contractAddress : recipient)) !==
|
|
34
24
|
undefined;
|
|
35
25
|
if (mode === "send" && !recipient) {
|
|
36
26
|
errors.recipient = new errors_1.RecipientRequired();
|
|
@@ -39,7 +29,7 @@ const getTransactionStatus = (acc, transaction) => __awaiter(void 0, void 0, voi
|
|
|
39
29
|
if (recipient === acc.freshAddress) {
|
|
40
30
|
errors.recipient = new errors_1.InvalidAddressBecauseDestinationIsAlsoSource();
|
|
41
31
|
}
|
|
42
|
-
else if (recipient && !(
|
|
32
|
+
else if (recipient && !(await (0, network_1.validateAddress)(recipient))) {
|
|
43
33
|
errors.recipient = new errors_1.InvalidAddress(undefined, {
|
|
44
34
|
currencyName: acc.currency.name,
|
|
45
35
|
});
|
|
@@ -49,25 +39,25 @@ const getTransactionStatus = (acc, transaction) => __awaiter(void 0, void 0, voi
|
|
|
49
39
|
account.type === "TokenAccount" &&
|
|
50
40
|
account.token.tokenType === "trc20" &&
|
|
51
41
|
!isContractInteraction && // send trc20 to a smart contract is allowed
|
|
52
|
-
(
|
|
42
|
+
(await (0, network_1.fetchTronAccount)(recipient)).length === 0) {
|
|
53
43
|
// send trc20 to a new account is forbidden by us (because it will not activate the account)
|
|
54
44
|
errors.recipient = new errors_2.TronSendTrc20ToNewAccountForbidden();
|
|
55
45
|
}
|
|
56
46
|
}
|
|
57
47
|
if (mode === "unfreeze") {
|
|
58
48
|
const { bandwidth, energy } = acc.tronResources.frozen;
|
|
59
|
-
if (resource === "BANDWIDTH" && transaction.amount.gt(
|
|
49
|
+
if (resource === "BANDWIDTH" && transaction.amount.gt(bandwidth?.amount || new bignumber_js_1.default(0))) {
|
|
60
50
|
errors.resource = new errors_2.TronNoFrozenForBandwidth();
|
|
61
51
|
}
|
|
62
|
-
else if (resource === "ENERGY" && transaction.amount.gt(
|
|
52
|
+
else if (resource === "ENERGY" && transaction.amount.gt(energy?.amount || new bignumber_js_1.default(0))) {
|
|
63
53
|
errors.resource = new errors_2.TronNoFrozenForEnergy();
|
|
64
54
|
}
|
|
65
55
|
}
|
|
66
56
|
if (mode === "legacyUnfreeze") {
|
|
67
57
|
const now = new Date();
|
|
68
58
|
const expirationDate = resource === "ENERGY"
|
|
69
|
-
?
|
|
70
|
-
:
|
|
59
|
+
? acc.tronResources.legacyFrozen.energy?.expiredAt
|
|
60
|
+
: acc.tronResources.legacyFrozen.bandwidth?.expiredAt;
|
|
71
61
|
if (!expirationDate) {
|
|
72
62
|
if (resource === "BANDWIDTH") {
|
|
73
63
|
errors.resource = new errors_2.TronNoFrozenForBandwidth();
|
|
@@ -89,8 +79,8 @@ const getTransactionStatus = (acc, transaction) => __awaiter(void 0, void 0, voi
|
|
|
89
79
|
}
|
|
90
80
|
else {
|
|
91
81
|
const unfreezingResources = [
|
|
92
|
-
...(
|
|
93
|
-
...(
|
|
82
|
+
...(acc.tronResources.unFrozen.bandwidth ?? []),
|
|
83
|
+
...(acc.tronResources.unFrozen.energy ?? []),
|
|
94
84
|
];
|
|
95
85
|
const hasNoExpiredResource = !unfreezingResources.some(unfrozen => unfrozen.expireTime.getTime() <= now.getTime());
|
|
96
86
|
if (hasNoExpiredResource) {
|
|
@@ -109,7 +99,7 @@ const getTransactionStatus = (acc, transaction) => __awaiter(void 0, void 0, voi
|
|
|
109
99
|
}
|
|
110
100
|
}
|
|
111
101
|
if (mode === "unDelegateResource" && resource && acc.tronResources) {
|
|
112
|
-
const delegatedResourceAmount =
|
|
102
|
+
const delegatedResourceAmount = await (0, network_1.getDelegatedResource)(acc, transaction, resource);
|
|
113
103
|
if (delegatedResourceAmount.lt(transaction.amount)) {
|
|
114
104
|
errors.resource = new errors_2.TronInvalidUnDelegateResourceAmount();
|
|
115
105
|
}
|
|
@@ -119,7 +109,7 @@ const getTransactionStatus = (acc, transaction) => __awaiter(void 0, void 0, voi
|
|
|
119
109
|
errors.vote = new errors_2.TronVoteRequired();
|
|
120
110
|
}
|
|
121
111
|
else {
|
|
122
|
-
const superRepresentatives =
|
|
112
|
+
const superRepresentatives = await (0, network_1.getTronSuperRepresentatives)();
|
|
123
113
|
const isValidVoteCounts = votes.every(v => v.voteCount > 0);
|
|
124
114
|
const isValidAddresses = votes.every(v => superRepresentatives.some(s => s.address === v.address));
|
|
125
115
|
if (!isValidAddresses) {
|
|
@@ -155,7 +145,7 @@ const getTransactionStatus = (acc, transaction) => __awaiter(void 0, void 0, voi
|
|
|
155
145
|
}
|
|
156
146
|
const estimatedFees = Object.entries(errors).length > 0
|
|
157
147
|
? new bignumber_js_1.default(0)
|
|
158
|
-
:
|
|
148
|
+
: await (0, getEstimateFees_1.default)(acc, transaction, tokenAccount);
|
|
159
149
|
const balance = account.type === "Account"
|
|
160
150
|
? bignumber_js_1.default.max(0, account.spendableBalance.minus(estimatedFees))
|
|
161
151
|
: account.balance;
|
|
@@ -188,7 +178,7 @@ const getTransactionStatus = (acc, transaction) => __awaiter(void 0, void 0, voi
|
|
|
188
178
|
account.token.tokenType === "trc20" &&
|
|
189
179
|
energy.lt(47619) // temporary value corresponding to usdt trc20 energy
|
|
190
180
|
) {
|
|
191
|
-
const contractUserEnergyConsumption =
|
|
181
|
+
const contractUserEnergyConsumption = await (0, network_1.getContractUserEnergyRatioConsumption)(account.token.contractAddress);
|
|
192
182
|
if (contractUserEnergyConsumption > 0) {
|
|
193
183
|
warnings.amount = new errors_2.TronNotEnoughEnergy();
|
|
194
184
|
}
|
|
@@ -209,7 +199,9 @@ const getTransactionStatus = (acc, transaction) => __awaiter(void 0, void 0, voi
|
|
|
209
199
|
// PTX swap uses this to support deeplink to buy additional currency
|
|
210
200
|
//
|
|
211
201
|
if (parentAccountBalance.lt(estimatedFees) || parentAccountBalance.isZero()) {
|
|
212
|
-
const query = new URLSearchParams(
|
|
202
|
+
const query = new URLSearchParams({
|
|
203
|
+
...(acc?.id ? { account: acc.id } : {}),
|
|
204
|
+
});
|
|
213
205
|
errors.gasLimit = new errors_1.NotEnoughGas(undefined, {
|
|
214
206
|
fees: (0, currencies_1.formatCurrencyUnit)((0, account_1.getFeesUnit)(acc.currency), estimatedFees),
|
|
215
207
|
ticker: acc.currency.ticker,
|
|
@@ -225,6 +217,6 @@ const getTransactionStatus = (acc, transaction) => __awaiter(void 0, void 0, voi
|
|
|
225
217
|
totalSpent,
|
|
226
218
|
family,
|
|
227
219
|
});
|
|
228
|
-
}
|
|
220
|
+
};
|
|
229
221
|
exports.default = getTransactionStatus;
|
|
230
222
|
//# sourceMappingURL=getTransactionStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"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"}
|
package/lib/bridge/preload.js
CHANGED
|
@@ -1,22 +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
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.hydrate = exports.preload = void 0;
|
|
13
4
|
const network_1 = require("../network");
|
|
14
|
-
const preload = () =>
|
|
15
|
-
const superRepresentatives =
|
|
5
|
+
const preload = async () => {
|
|
6
|
+
const superRepresentatives = await (0, network_1.getTronSuperRepresentatives)();
|
|
16
7
|
return {
|
|
17
8
|
superRepresentatives,
|
|
18
9
|
};
|
|
19
|
-
}
|
|
10
|
+
};
|
|
20
11
|
exports.preload = preload;
|
|
21
12
|
const hydrate = (data) => {
|
|
22
13
|
if (!data || !data.superRepresentatives)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preload.js","sourceRoot":"","sources":["../../src/bridge/preload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preload.js","sourceRoot":"","sources":["../../src/bridge/preload.ts"],"names":[],"mappings":";;;AAAA,wCAAsF;AAG/E,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;IAChC,MAAM,oBAAoB,GAAG,MAAM,IAAA,qCAA2B,GAAE,CAAC;IACjE,OAAO;QACL,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEK,MAAM,OAAO,GAAG,CAAC,IAAuD,EAAE,EAAE;IACjF,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB;QAAE,OAAO;IAEhD,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAEtC,IACE,CAAC,oBAAoB;QACrB,OAAO,oBAAoB,KAAK,QAAQ;QACxC,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAEpC,OAAO;IAET,IAAA,qCAA2B,EAAC,oBAAoB,CAAC,CAAC;AACpD,CAAC,CAAC;AAbW,QAAA,OAAO,WAalB"}
|
|
@@ -1,19 +1,10 @@
|
|
|
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
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.prepareTransaction = void 0;
|
|
13
4
|
const network_1 = require("../network");
|
|
14
|
-
const prepareTransaction = (account, transaction) =>
|
|
15
|
-
const networkInfo = transaction.networkInfo || (
|
|
16
|
-
return transaction.networkInfo === networkInfo ? transaction :
|
|
17
|
-
}
|
|
5
|
+
const prepareTransaction = async (account, transaction) => {
|
|
6
|
+
const networkInfo = transaction.networkInfo || (await (0, network_1.getTronAccountNetwork)(account.freshAddress));
|
|
7
|
+
return transaction.networkInfo === networkInfo ? transaction : { ...transaction, networkInfo };
|
|
8
|
+
};
|
|
18
9
|
exports.prepareTransaction = prepareTransaction;
|
|
19
10
|
//# sourceMappingURL=prepareTransaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;AACA,wCAAmD;AAG5C,MAAM,kBAAkB,GAGL,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;IACvD,MAAM,WAAW,GACf,WAAW,CAAC,WAAW,IAAI,CAAC,MAAM,IAAA,+BAAqB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACjF,OAAO,WAAW,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,CAAC;AACjG,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B"}
|
|
@@ -13,10 +13,10 @@ const toTronResourcesRaw = ({ frozen, unFrozen, delegatedFrozen, legacyFrozen, v
|
|
|
13
13
|
const delegatedFrozenBandwidth = delegatedFrozen.bandwidth;
|
|
14
14
|
const delegatedFrozenEnergy = delegatedFrozen.energy;
|
|
15
15
|
const cacheTransactionInfoById = {};
|
|
16
|
-
const unFrozenBandwidth = unFrozen
|
|
17
|
-
const unFrozenEnergy = unFrozen
|
|
18
|
-
const legacyFrozenBandwidth = legacyFrozen
|
|
19
|
-
const legacyFrozenEnergy = legacyFrozen
|
|
16
|
+
const unFrozenBandwidth = unFrozen?.bandwidth;
|
|
17
|
+
const unFrozenEnergy = unFrozen?.energy;
|
|
18
|
+
const legacyFrozenBandwidth = legacyFrozen?.bandwidth;
|
|
19
|
+
const legacyFrozenEnergy = legacyFrozen?.energy;
|
|
20
20
|
for (const k in cacheTx) {
|
|
21
21
|
const { fee, blockNumber, withdraw_amount, unfreeze_amount } = cacheTx[k];
|
|
22
22
|
cacheTransactionInfoById[k] = [fee, blockNumber, withdraw_amount, unfreeze_amount];
|
|
@@ -95,10 +95,10 @@ const fromTronResourcesRaw = ({ frozen, unFrozen, delegatedFrozen, legacyFrozen,
|
|
|
95
95
|
const frozenEnergy = frozen.energy;
|
|
96
96
|
const delegatedFrozenBandwidth = delegatedFrozen.bandwidth;
|
|
97
97
|
const delegatedFrozenEnergy = delegatedFrozen.energy;
|
|
98
|
-
const unFrozenBandwidth = unFrozen
|
|
99
|
-
const unFrozenEnergy = unFrozen
|
|
100
|
-
const legacyFrozenBandwidth = legacyFrozen
|
|
101
|
-
const legacyFrozenEnergy = legacyFrozen
|
|
98
|
+
const unFrozenBandwidth = unFrozen?.bandwidth;
|
|
99
|
+
const unFrozenEnergy = unFrozen?.energy;
|
|
100
|
+
const legacyFrozenBandwidth = legacyFrozen?.bandwidth;
|
|
101
|
+
const legacyFrozenEnergy = legacyFrozen?.energy;
|
|
102
102
|
const cacheTransactionInfoById = {};
|
|
103
103
|
if (cacheTransactionInfoByIdRaw) {
|
|
104
104
|
for (const k in cacheTransactionInfoByIdRaw) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../src/bridge/serialization.ts"],"names":[],"mappings":";;;AA0NA,gDAKC;AAED,oDAIC;AAED,sDA2BC;AAED,kDA2BC;AA/RD,+CAAyC;AACzC,oCAWkB;AAGX,MAAM,kBAAkB,GAAG,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,wBAAwB,EAAE,OAAO,GACnB,EAAoB,EAAE;IACpC,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,MAAM,wBAAwB,GAAG,eAAe,CAAC,SAAS,CAAC;IAC3D,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;IACrD,MAAM,wBAAwB,GAA2C,EAAE,CAAC;IAC5E,MAAM,iBAAiB,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../src/bridge/serialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,4 @@
|
|
|
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
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -19,50 +10,45 @@ const network_1 = require("../network");
|
|
|
19
10
|
const buildOptimisticOperation_1 = require("./buildOptimisticOperation");
|
|
20
11
|
const getEstimateFees_1 = __importDefault(require("./getEstimateFees"));
|
|
21
12
|
const buildSignOperation = (signerContext) => ({ account, transaction, deviceId }) => new rxjs_1.Observable(o => {
|
|
22
|
-
function main() {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
operation,
|
|
62
|
-
signature,
|
|
63
|
-
rawData,
|
|
64
|
-
},
|
|
65
|
-
});
|
|
13
|
+
async function main() {
|
|
14
|
+
const subAccount = transaction.subAccountId && account.subAccounts
|
|
15
|
+
? account.subAccounts.find(sa => sa.id === transaction.subAccountId)
|
|
16
|
+
: undefined;
|
|
17
|
+
const fee = await (0, getEstimateFees_1.default)(account, transaction, subAccount);
|
|
18
|
+
const balance = subAccount
|
|
19
|
+
? subAccount.balance
|
|
20
|
+
: bignumber_js_1.default.max(0, account.spendableBalance.minus(fee));
|
|
21
|
+
if (transaction.useAllAmount) {
|
|
22
|
+
transaction = { ...transaction }; // transaction object must not be mutated
|
|
23
|
+
transaction.amount = balance; // force the amount to be the max
|
|
24
|
+
}
|
|
25
|
+
const { raw_data_hex: rawDataHex, raw_data: rawData, txID: hash, } = await prepareTransactionForSignature(account, subAccount, transaction);
|
|
26
|
+
o.next({
|
|
27
|
+
type: "device-signature-requested",
|
|
28
|
+
});
|
|
29
|
+
const txArg = {
|
|
30
|
+
rawDataHex,
|
|
31
|
+
// only for trc10, we need to put the token ledger signature
|
|
32
|
+
tokenSignature: subAccount &&
|
|
33
|
+
subAccount.type === "TokenAccount" &&
|
|
34
|
+
subAccount.token.id.includes("trc10")
|
|
35
|
+
? subAccount.token.ledgerSignature
|
|
36
|
+
: undefined,
|
|
37
|
+
};
|
|
38
|
+
// Sign by device
|
|
39
|
+
const signature = await signerContext(deviceId, signer => signer.sign(account.freshAddressPath, txArg.rawDataHex ?? "", //FIXME: why rawDataHex could be undefined? This shouldn't be the case.
|
|
40
|
+
txArg.tokenSignature ? [txArg.tokenSignature] : []));
|
|
41
|
+
o.next({
|
|
42
|
+
type: "device-signature-granted",
|
|
43
|
+
});
|
|
44
|
+
const operation = (0, buildOptimisticOperation_1.buildOptimisticOperation)(account, subAccount, transaction, fee, hash);
|
|
45
|
+
o.next({
|
|
46
|
+
type: "signed",
|
|
47
|
+
signedOperation: {
|
|
48
|
+
operation,
|
|
49
|
+
signature,
|
|
50
|
+
rawData,
|
|
51
|
+
},
|
|
66
52
|
});
|
|
67
53
|
}
|
|
68
54
|
main().then(() => o.complete(), e => o.error(e));
|