@ledgerhq/coin-tron 5.6.0-nightly.1 → 5.6.0-nightly.20251030160608
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 +1 -1
- package/.unimportedrc.json +2 -1
- package/CHANGELOG.md +16 -10
- package/lib/bridge/deviceTransactionConfig.d.ts +1 -1
- package/lib/bridge/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/bridge/deviceTransactionConfig.js +1 -1
- package/lib/bridge/deviceTransactionConfig.js.map +1 -1
- package/lib/bridge/getEstimateFees.test.js +27 -19
- package/lib/bridge/getEstimateFees.test.js.map +1 -1
- package/lib/bridge/synchronization.d.ts.map +1 -1
- package/lib/bridge/synchronization.integ.test.js +4 -4
- package/lib/bridge/synchronization.integ.test.js.map +1 -1
- package/lib/bridge/synchronization.js +49 -52
- package/lib/bridge/synchronization.js.map +1 -1
- package/lib/bridge/synchronization.test.js +87 -4
- package/lib/bridge/synchronization.test.js.map +1 -1
- package/lib/test/bot-specs.js +2 -2
- package/lib/test/bot-specs.js.map +1 -1
- package/lib-es/bridge/deviceTransactionConfig.d.ts +1 -1
- package/lib-es/bridge/deviceTransactionConfig.d.ts.map +1 -1
- package/lib-es/bridge/deviceTransactionConfig.js +1 -1
- package/lib-es/bridge/deviceTransactionConfig.js.map +1 -1
- package/lib-es/bridge/getEstimateFees.test.js +27 -19
- package/lib-es/bridge/getEstimateFees.test.js.map +1 -1
- package/lib-es/bridge/synchronization.d.ts.map +1 -1
- package/lib-es/bridge/synchronization.integ.test.js +1 -1
- package/lib-es/bridge/synchronization.integ.test.js.map +1 -1
- package/lib-es/bridge/synchronization.js +49 -52
- package/lib-es/bridge/synchronization.js.map +1 -1
- package/lib-es/bridge/synchronization.test.js +84 -1
- package/lib-es/bridge/synchronization.test.js.map +1 -1
- package/lib-es/test/bot-specs.js +1 -1
- package/lib-es/test/bot-specs.js.map +1 -1
- package/package.json +10 -10
- package/src/bridge/deviceTransactionConfig.ts +2 -2
- package/src/bridge/getEstimateFees.test.ts +28 -19
- package/src/bridge/synchronization.integ.test.ts +1 -1
- package/src/bridge/synchronization.test.ts +92 -1
- package/src/bridge/synchronization.ts +75 -80
- package/src/test/bot-specs.ts +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/coin-tron@5.5.
|
|
2
|
+
> @ledgerhq/coin-tron@5.5.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-tron
|
|
3
3
|
> tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
|
|
4
4
|
|
package/.unimportedrc.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
# @ledgerhq/coin-tron
|
|
2
2
|
|
|
3
|
-
## 5.6.0-nightly.
|
|
3
|
+
## 5.6.0-nightly.20251030160608
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
7
|
-
- [#
|
|
7
|
+
- [#12340](https://github.com/LedgerHQ/ledger-live/pull/12340) [`8d7c1f7`](https://github.com/LedgerHQ/ledger-live/commit/8d7c1f7a92489647399b0e780d4bb926508e8554) Thanks [@gre-ledger](https://github.com/gre-ledger)! - migrate getDeviceTransactionConfig to async
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
- [#12297](https://github.com/LedgerHQ/ledger-live/pull/12297) [`c96d73f`](https://github.com/LedgerHQ/ledger-live/commit/c96d73fed0a75a9c208f78d51c34b742703a7dda) Thanks [@Justkant](https://github.com/Justkant)! - feat(coin-framework): add postSync support to scanAccounts and apply across coins [LIVE-21755]
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
Adds optional postSync hook to makeScanAccounts (invoked after account shape build).
|
|
12
|
+
Applies postSync in bitcoin, cardano, evm, and tron currency bridges.
|
|
13
|
+
Exports tron postSync so it can be passed during scanning.
|
|
14
|
+
Ensures scanAccounts benefits from the same normalization/cleanup logic as sync without breaking existing callers (default no-op).
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
- [#12372](https://github.com/LedgerHQ/ledger-live/pull/12372) [`a731c4c`](https://github.com/LedgerHQ/ledger-live/commit/a731c4cd492a968eb7baa981fdd8aaddedd21f25) Thanks [@jprudent](https://github.com/jprudent)! - Add AlpacaApi.getValidators and implementation for SUI
|
|
15
17
|
|
|
16
18
|
### Patch Changes
|
|
17
19
|
|
|
18
|
-
- Updated dependencies [[`2c6a198`](https://github.com/LedgerHQ/ledger-live/commit/2c6a198ba28391695202a0787ce168c53768ff37)]:
|
|
19
|
-
- @ledgerhq/
|
|
20
|
-
- @ledgerhq/
|
|
21
|
-
- @ledgerhq/
|
|
20
|
+
- Updated dependencies [[`b4ceaff`](https://github.com/LedgerHQ/ledger-live/commit/b4ceaff2ecf68d8a14e09801c76ab0b014c45286), [`da750a1`](https://github.com/LedgerHQ/ledger-live/commit/da750a16ee5f2c083114569b8ae3c708cceba06c), [`63e8f34`](https://github.com/LedgerHQ/ledger-live/commit/63e8f342f6b951ab77bb710b9971f033c05e579e), [`ccf788d`](https://github.com/LedgerHQ/ledger-live/commit/ccf788d7c0239ca95e76c3cc340f9a6bd09ea726), [`34b28dd`](https://github.com/LedgerHQ/ledger-live/commit/34b28dd5e819906daaa79db5fe6064674def5e7d), [`9f61dcf`](https://github.com/LedgerHQ/ledger-live/commit/9f61dcf6163fd66657e5be732c28bea623a40515), [`607e4be`](https://github.com/LedgerHQ/ledger-live/commit/607e4be33145c102debce1606224b08579888aa8), [`c96d73f`](https://github.com/LedgerHQ/ledger-live/commit/c96d73fed0a75a9c208f78d51c34b742703a7dda), [`7744980`](https://github.com/LedgerHQ/ledger-live/commit/774498090411f1a6d6c06395dda1fc7cd24adf24), [`77566c5`](https://github.com/LedgerHQ/ledger-live/commit/77566c5a3b5795f5938bd5daaa5f8d65934c56b8), [`c1a4bfd`](https://github.com/LedgerHQ/ledger-live/commit/c1a4bfd34b46c6b6587d247673cadb3c078deb1d), [`5b41dd5`](https://github.com/LedgerHQ/ledger-live/commit/5b41dd56e024a5d03ba0e49084113c04887395db), [`f8d904d`](https://github.com/LedgerHQ/ledger-live/commit/f8d904de5607c103549f247428b5a4079f28c1c0), [`eb176c2`](https://github.com/LedgerHQ/ledger-live/commit/eb176c201d711f1d28f74de831c4a6cd0c2d4a50), [`a731c4c`](https://github.com/LedgerHQ/ledger-live/commit/a731c4cd492a968eb7baa981fdd8aaddedd21f25), [`b962966`](https://github.com/LedgerHQ/ledger-live/commit/b962966525517c5cfa7f1f8826f8f2b9162189e4), [`759064d`](https://github.com/LedgerHQ/ledger-live/commit/759064d4815c636af2d73ba548a85b4f53e7b491), [`f392f69`](https://github.com/LedgerHQ/ledger-live/commit/f392f6912f445cc2f7cf4dfcfd030fa3da76f736), [`36e5168`](https://github.com/LedgerHQ/ledger-live/commit/36e5168397eaec2a5f425038392a4400f60571d0), [`6ccabef`](https://github.com/LedgerHQ/ledger-live/commit/6ccabef8f3c4e8cc042299d531684595ebadcc55), [`3d4188a`](https://github.com/LedgerHQ/ledger-live/commit/3d4188a26021d33b950129d82cb55d2c2e8d4358), [`d9305e8`](https://github.com/LedgerHQ/ledger-live/commit/d9305e8a4d8364366aaba05dd698396d28b539dc), [`2c6a198`](https://github.com/LedgerHQ/ledger-live/commit/2c6a198ba28391695202a0787ce168c53768ff37)]:
|
|
21
|
+
- @ledgerhq/cryptoassets@13.32.0-nightly.20251030160608
|
|
22
|
+
- @ledgerhq/types-cryptoassets@7.30.0-nightly.20251030160608
|
|
23
|
+
- @ledgerhq/coin-framework@6.8.0-nightly.20251030160608
|
|
24
|
+
- @ledgerhq/live-network@2.1.0-nightly.20251030160608
|
|
25
|
+
- @ledgerhq/types-live@6.88.0-nightly.20251030160608
|
|
26
|
+
- @ledgerhq/devices@8.7.0-nightly.20251030160608
|
|
27
|
+
- @ledgerhq/errors@6.27.0-nightly.20251030160608
|
|
22
28
|
|
|
23
29
|
## 5.5.0
|
|
24
30
|
|
|
@@ -15,6 +15,6 @@ declare function getDeviceTransactionConfig({ transaction: { votes, resource, mo
|
|
|
15
15
|
parentAccount: Account | null | undefined;
|
|
16
16
|
transaction: Transaction;
|
|
17
17
|
status: TransactionStatus;
|
|
18
|
-
}): Array<DeviceTransactionField
|
|
18
|
+
}): Promise<Array<DeviceTransactionField>>;
|
|
19
19
|
export default getDeviceTransactionConfig;
|
|
20
20
|
//# sourceMappingURL=deviceTransactionConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,KAAK,sBAAsB,GAAG,4BAA4B,GAAG,2BAA2B,CAAC;AAEzF,
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,KAAK,sBAAsB,GAAG,4BAA4B,GAAG,2BAA2B,CAAC;AAEzF,iBAAe,0BAA0B,CAAC,EACxC,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EACjD,OAAO,EACP,aAAa,EACb,MAAM,EAAE,EAAE,MAAM,EAAE,GACnB,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAoEzC;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const account_1 = require("@ledgerhq/coin-framework/account");
|
|
4
|
-
function getDeviceTransactionConfig({ transaction: { votes, resource, mode, recipient }, account, parentAccount, status: { amount }, }) {
|
|
4
|
+
async function getDeviceTransactionConfig({ transaction: { votes, resource, mode, recipient }, account, parentAccount, status: { amount }, }) {
|
|
5
5
|
const mainAccount = (0, account_1.getMainAccount)(account, parentAccount);
|
|
6
6
|
const fields = [];
|
|
7
7
|
if (resource) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.ts"],"names":[],"mappings":";;AACA,8DAAkE;AAiBlE,
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.ts"],"names":[],"mappings":";;AACA,8DAAkE;AAiBlE,KAAK,UAAU,0BAA0B,CAAC,EACxC,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EACjD,OAAO,EACP,aAAa,EACb,MAAM,EAAE,EAAE,MAAM,EAAE,GAMnB;IACC,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;SAC5E,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,wFAAwF;QACxF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,WAAW,CAAC,YAAY;SAClC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,WAAW,CAAC,YAAY;SAClC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE,WAAW,CAAC,YAAY;SAClC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,WAAW,CAAC,YAAY;SAClC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAe,0BAA0B,CAAC"}
|
|
@@ -8,14 +8,16 @@ const getEstimateFees_1 = __importDefault(require("./getEstimateFees"));
|
|
|
8
8
|
const utils_1 = require("./utils");
|
|
9
9
|
const logic_1 = require("../logic");
|
|
10
10
|
const constants_1 = require("../logic/constants");
|
|
11
|
+
// Mock typed functions
|
|
12
|
+
const mockGetAccount = jest.mocked(logic_1.getAccount);
|
|
13
|
+
const mockEstimateFees = jest.mocked(logic_1.estimateFees);
|
|
14
|
+
const mockExtractBandwidthInfo = jest.mocked(utils_1.extractBandwidthInfo);
|
|
11
15
|
jest.mock("./utils", () => ({
|
|
12
16
|
extractBandwidthInfo: jest.fn(),
|
|
13
17
|
getEstimatedBlockSize: jest.fn().mockReturnValue(new bignumber_js_1.default(200)),
|
|
14
18
|
}));
|
|
15
|
-
jest.mock("../logic"
|
|
16
|
-
|
|
17
|
-
getAccount: jest.fn(),
|
|
18
|
-
}));
|
|
19
|
+
jest.mock("../logic/estimateFees");
|
|
20
|
+
jest.mock("../logic/getAccount");
|
|
19
21
|
describe("getEstimatedFees", () => {
|
|
20
22
|
const mockAccount = {
|
|
21
23
|
id: "mock-account-id",
|
|
@@ -52,8 +54,8 @@ describe("getEstimatedFees", () => {
|
|
|
52
54
|
});
|
|
53
55
|
describe("getFeesFromBandwidth", () => {
|
|
54
56
|
it("should return STANDARD_FEES_NATIVE if bandwidth is insufficient", async () => {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
mockGetAccount.mockResolvedValue([{ address: "mock-contract-address", trc20: [] }]);
|
|
58
|
+
mockExtractBandwidthInfo.mockReturnValue({
|
|
57
59
|
freeUsed: new bignumber_js_1.default(0),
|
|
58
60
|
freeLimit: new bignumber_js_1.default(0),
|
|
59
61
|
gainedUsed: new bignumber_js_1.default(0),
|
|
@@ -63,8 +65,8 @@ describe("getEstimatedFees", () => {
|
|
|
63
65
|
expect(result).toEqual(constants_1.STANDARD_FEES_NATIVE);
|
|
64
66
|
});
|
|
65
67
|
it("should return 0 if bandwidth is sufficient", async () => {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
mockGetAccount.mockResolvedValue([{ address: "mock-contract-address", trc20: [] }]);
|
|
69
|
+
mockExtractBandwidthInfo.mockReturnValue({
|
|
68
70
|
freeUsed: new bignumber_js_1.default(0),
|
|
69
71
|
freeLimit: new bignumber_js_1.default(500),
|
|
70
72
|
gainedUsed: new bignumber_js_1.default(0),
|
|
@@ -76,8 +78,10 @@ describe("getEstimatedFees", () => {
|
|
|
76
78
|
});
|
|
77
79
|
describe("getFeesFromAccountActivation", () => {
|
|
78
80
|
it("should return ACTIVATION_FEES if recipient account is not active", async () => {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
mockGetAccount.mockResolvedValue([]);
|
|
82
|
+
mockExtractBandwidthInfo.mockReturnValue({
|
|
83
|
+
freeUsed: new bignumber_js_1.default(0),
|
|
84
|
+
freeLimit: new bignumber_js_1.default(0),
|
|
81
85
|
gainedUsed: new bignumber_js_1.default(0),
|
|
82
86
|
gainedLimit: new bignumber_js_1.default(0),
|
|
83
87
|
});
|
|
@@ -85,8 +89,10 @@ describe("getEstimatedFees", () => {
|
|
|
85
89
|
expect(result).toEqual(constants_1.ACTIVATION_FEES);
|
|
86
90
|
});
|
|
87
91
|
it("should return STANDARD_FEES_TRC_20 if recipient has TRC20 balance", async () => {
|
|
88
|
-
|
|
89
|
-
|
|
92
|
+
mockGetAccount.mockResolvedValue([{ address: "mock-contract-address", trc20: [] }]);
|
|
93
|
+
mockExtractBandwidthInfo.mockReturnValue({
|
|
94
|
+
freeUsed: new bignumber_js_1.default(0),
|
|
95
|
+
freeLimit: new bignumber_js_1.default(0),
|
|
90
96
|
gainedUsed: new bignumber_js_1.default(0),
|
|
91
97
|
gainedLimit: new bignumber_js_1.default(500),
|
|
92
98
|
});
|
|
@@ -94,9 +100,11 @@ describe("getEstimatedFees", () => {
|
|
|
94
100
|
expect(result).toEqual(constants_1.STANDARD_FEES_TRC_20);
|
|
95
101
|
});
|
|
96
102
|
it("should return estimated fees for TRC20 token transfer", async () => {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
103
|
+
mockGetAccount.mockResolvedValue([]);
|
|
104
|
+
mockEstimateFees.mockResolvedValue(1000n);
|
|
105
|
+
mockExtractBandwidthInfo.mockReturnValue({
|
|
106
|
+
freeUsed: new bignumber_js_1.default(0),
|
|
107
|
+
freeLimit: new bignumber_js_1.default(0),
|
|
100
108
|
gainedUsed: new bignumber_js_1.default(0),
|
|
101
109
|
gainedLimit: new bignumber_js_1.default(0),
|
|
102
110
|
});
|
|
@@ -106,8 +114,8 @@ describe("getEstimatedFees", () => {
|
|
|
106
114
|
});
|
|
107
115
|
describe("getEstimatedFees", () => {
|
|
108
116
|
it("should prioritize account activation fees over bandwidth fees", async () => {
|
|
109
|
-
|
|
110
|
-
|
|
117
|
+
mockGetAccount.mockResolvedValue([]);
|
|
118
|
+
mockExtractBandwidthInfo.mockReturnValue({
|
|
111
119
|
freeUsed: new bignumber_js_1.default(0),
|
|
112
120
|
freeLimit: new bignumber_js_1.default(0),
|
|
113
121
|
gainedUsed: new bignumber_js_1.default(0),
|
|
@@ -117,8 +125,8 @@ describe("getEstimatedFees", () => {
|
|
|
117
125
|
expect(result).toEqual(constants_1.ACTIVATION_FEES);
|
|
118
126
|
});
|
|
119
127
|
it("should return bandwidth fees if no account activation is required", async () => {
|
|
120
|
-
|
|
121
|
-
|
|
128
|
+
mockGetAccount.mockResolvedValue([{ address: "mock-address", trc20: [] }]);
|
|
129
|
+
mockExtractBandwidthInfo.mockReturnValue({
|
|
122
130
|
freeUsed: new bignumber_js_1.default(0),
|
|
123
131
|
freeLimit: new bignumber_js_1.default(500),
|
|
124
132
|
gainedUsed: new bignumber_js_1.default(0),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEstimateFees.test.js","sourceRoot":"","sources":["../../src/bridge/getEstimateFees.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,wEAAiD;AACjD,mCAA+C;AAC/C,oCAAoD;AACpD,kDAAiG;AAIjG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC/B,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC;CACrE,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"getEstimateFees.test.js","sourceRoot":"","sources":["../../src/bridge/getEstimateFees.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronization.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAUtF,OAAO,EAAE,WAAW,EAAsC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"synchronization.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAUtF,OAAO,EAAE,WAAW,EAAsC,MAAM,UAAU,CAAC;AA0D3E,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,CA8HxD,CAAC;AAEF,eAAO,MAAM,QAAQ,YAAa,WAAW,UAAU,WAAW,KAAG,WAkBpE,CAAC;AA0BF,eAAO,MAAM,IAAI,uJAGf,CAAC"}
|
|
@@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
6
|
+
const cryptoassets_1 = require("@ledgerhq/cryptoassets");
|
|
7
7
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
8
|
const rxjs_1 = require("rxjs");
|
|
9
|
-
const
|
|
9
|
+
const index_1 = require("./index");
|
|
10
10
|
const utils_1 = require("./utils");
|
|
11
|
-
const tron = (0,
|
|
11
|
+
const tron = (0, cryptoassets_1.getCryptoCurrencyById)("tron");
|
|
12
12
|
const defaultSyncConfig = {
|
|
13
13
|
paginationConfig: {},
|
|
14
14
|
blacklistedTokenIds: [],
|
|
@@ -63,7 +63,7 @@ describe("Sync Accounts", () => {
|
|
|
63
63
|
url: "https://tron.coin.ledger.com",
|
|
64
64
|
},
|
|
65
65
|
});
|
|
66
|
-
bridge = (0,
|
|
66
|
+
bridge = (0, index_1.createBridges)(signer, coinConfig);
|
|
67
67
|
});
|
|
68
68
|
it("should always have tronResources", async () => {
|
|
69
69
|
const account = await syncAccount(bridge.accountBridge, dummyAccount, defaultSyncConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronization.integ.test.js","sourceRoot":"","sources":["../../src/bridge/synchronization.integ.test.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"synchronization.integ.test.js","sourceRoot":"","sources":["../../src/bridge/synchronization.integ.test.ts"],"names":[],"mappings":";;;;;AAAA,yDAA+D;AAE/D,gEAAqC;AACrC,+BAA8C;AAG9C,mCAAwC;AACxC,mCAA+C;AAE/C,MAAM,IAAI,GAAG,IAAA,oCAAqB,EAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,iBAAiB,GAAG;IACxB,gBAAgB,EAAE,EAAE;IACpB,mBAAmB,EAAE,EAAE;CACxB,CAAC;AACF,SAAS,WAAW,CAClB,MAA2B,EAC3B,OAAU,EACV,aAAyB,iBAAiB;IAE1C,OAAO,IAAA,qBAAc,EACnB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAA,aAAM,EAAC,CAAC,CAAC,EAAE,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CACvF,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAgB;IAChC,IAAI,EAAE,SAAS;IACf,EAAE,EAAE,EAAE;IACN,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,EAAE;IAChB,gBAAgB,EAAE,EAAE;IACpB,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;IACzB,gBAAgB,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;IAClC,eAAe,EAAE,CAAC;IAClB,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,EAAE;IACrB,YAAY,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,IAAI,IAAI,EAAE;IACxB,mBAAmB,EAAE;QACnB,IAAI,EAAE;YACJ,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,SAAS;SACtB;QACD,GAAG,EAAE;YACH,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,SAAS;SACtB;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,SAAS;SACtB;KACF;IACD,aAAa,EAAE,EAAS;CACzB,CAAC;AAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,MAAwC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,GAAmB,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE;gBACR,GAAG,EAAE,8BAA8B;aACpC;SACF,CAAC,CAAC;QACH,MAAM,GAAG,IAAA,qBAAa,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,MAAM,CAAC,aAAa,EACpB,YAAY,EACZ,iBAAiB,CAClB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACxD,QAAQ;QACR,MAAM,EAAE,GAAG,oCAAoC,CAAC;QAEhD,OAAO;QACP,MAAM,OAAO,GAAG,MAAM,WAAW,CAA2B,MAAM,CAAC,aAAa,EAAE;YAChF,GAAG,YAAY;YACf,EAAE,EAAE,aAAa,EAAE,GAAG;YACtB,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAC3E,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,SAAS,EAAE,+CAA+C;YAC1D,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,QAAQ;YACrB,IAAI,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;YAC1C,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,IAAI,sBAAS,CAAC,GAAG,CAAC;YACvB,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,kEAAkE;YACxE,EAAE,EAAE,mHAAmH;YACvH,UAAU,EAAE,CAAC,oCAAoC,CAAC;YAClD,OAAO,EAAE,CAAC,oCAAoC,CAAC;YAC/C,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI,sBAAS,CAAC,UAAU,CAAC;SACjC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,KAAK,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,WAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CACxC,qDAAqD,SAAS,QAAQ,SAAS,SAAS,CACzF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -7,7 +7,7 @@ exports.sync = exports.postSync = exports.getAccountShape = void 0;
|
|
|
7
7
|
const account_1 = require("@ledgerhq/coin-framework/account");
|
|
8
8
|
const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
|
|
9
9
|
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
10
|
-
const index_1 = require("@ledgerhq/
|
|
10
|
+
const index_1 = require("@ledgerhq/coin-framework/crypto-assets/index");
|
|
11
11
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
12
12
|
const compact_1 = __importDefault(require("lodash/compact"));
|
|
13
13
|
const get_1 = __importDefault(require("lodash/get"));
|
|
@@ -18,6 +18,38 @@ const utils_1 = require("./utils");
|
|
|
18
18
|
const getAccount_1 = require("../logic/getAccount");
|
|
19
19
|
// the balance does not update straightaway so we should ignore recent operations if they are in pending for a bit
|
|
20
20
|
const PREFER_PENDING_OPERATIONS_UNTIL_BLOCK_VALIDATION = 35;
|
|
21
|
+
const MAX_OPERATIONS_PAGE_SIZE = 1000;
|
|
22
|
+
async function getTrc10Tokens(acc) {
|
|
23
|
+
const trc10Tokens = [];
|
|
24
|
+
for (const { key, value } of (0, get_1.default)(acc, "assetV2", [])) {
|
|
25
|
+
const tokenInfo = await (0, index_1.getCryptoAssetsStore)().findTokenById(`tron/trc10/${key}`);
|
|
26
|
+
if (tokenInfo) {
|
|
27
|
+
trc10Tokens.push({
|
|
28
|
+
key,
|
|
29
|
+
type: "trc10",
|
|
30
|
+
tokenId: tokenInfo.id,
|
|
31
|
+
balance: value.toString(),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return trc10Tokens;
|
|
36
|
+
}
|
|
37
|
+
async function getTrc20Tokens(acc, currencyId) {
|
|
38
|
+
const trc20Tokens = [];
|
|
39
|
+
for (const trc20 of (0, get_1.default)(acc, "trc20", [])) {
|
|
40
|
+
const [[contractAddress, balance]] = Object.entries(trc20);
|
|
41
|
+
const tokenInfo = await (0, index_1.getCryptoAssetsStore)().findTokenByAddressInCurrency(contractAddress, currencyId);
|
|
42
|
+
if (tokenInfo) {
|
|
43
|
+
trc20Tokens.push({
|
|
44
|
+
key: contractAddress,
|
|
45
|
+
type: "trc20",
|
|
46
|
+
tokenId: tokenInfo.id,
|
|
47
|
+
balance,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return trc20Tokens;
|
|
52
|
+
}
|
|
21
53
|
const getAccountShape = async ({ initialAccount, currency, address, derivationMode }, syncConfig) => {
|
|
22
54
|
const { height: blockHeight } = await (0, logic_1.lastBlock)();
|
|
23
55
|
const tronAcc = await (0, getAccount_1.getAccount)(address);
|
|
@@ -37,12 +69,8 @@ const getAccountShape = async ({ initialAccount, currency, address, derivationMo
|
|
|
37
69
|
};
|
|
38
70
|
}
|
|
39
71
|
const acc = tronAcc[0];
|
|
40
|
-
const cacheTransactionInfoById = initialAccount
|
|
41
|
-
|
|
42
|
-
...(initialAccount?.tronResources?.cacheTransactionInfoById || {}),
|
|
43
|
-
}
|
|
44
|
-
: {};
|
|
45
|
-
const operationsPageSize = Math.min(1000, (0, pagination_1.getOperationsPageSize)(initialAccount && initialAccount.id, syncConfig));
|
|
72
|
+
const cacheTransactionInfoById = initialAccount?.tronResources?.cacheTransactionInfoById || {};
|
|
73
|
+
const operationsPageSize = Math.min(MAX_OPERATIONS_PAGE_SIZE, (0, pagination_1.getOperationsPageSize)(initialAccount?.id, syncConfig));
|
|
46
74
|
// FIXME: this is not optional especially that we might already have initialAccount
|
|
47
75
|
// use minimalOperationsBuilderSync to reconciliate and KEEP REF
|
|
48
76
|
const txs = await (0, network_1.fetchTronAccountTxs)(address, txs => txs.length < operationsPageSize, cacheTransactionInfoById, network_1.defaultFetchParams);
|
|
@@ -52,37 +80,14 @@ const getAccountShape = async ({ initialAccount, currency, address, derivationMo
|
|
|
52
80
|
const balance = (0, logic_1.computeBalanceBridge)(acc);
|
|
53
81
|
const parentTxs = txs.filter(utils_1.isParentTx);
|
|
54
82
|
const parentOperations = (0, compact_1.default)(parentTxs.map(tx => (0, utils_1.txInfoToOperation)(accountId, address, tx)));
|
|
55
|
-
const trc10Tokens =
|
|
56
|
-
|
|
57
|
-
if (tokenInfo) {
|
|
58
|
-
accumulator.push({
|
|
59
|
-
key,
|
|
60
|
-
type: "trc10",
|
|
61
|
-
tokenId: tokenInfo.id,
|
|
62
|
-
balance: value.toString(),
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
return accumulator;
|
|
66
|
-
}, []);
|
|
67
|
-
const trc20Tokens = (0, get_1.default)(acc, "trc20", []).reduce((accumulator, trc20) => {
|
|
68
|
-
const [[contractAddress, balance]] = Object.entries(trc20);
|
|
69
|
-
const tokenInfo = (0, index_1.findTokenByAddressInCurrency)(contractAddress, currency.id);
|
|
70
|
-
if (tokenInfo) {
|
|
71
|
-
accumulator.push({
|
|
72
|
-
key: contractAddress,
|
|
73
|
-
type: "trc20",
|
|
74
|
-
tokenId: tokenInfo.id,
|
|
75
|
-
balance,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
return accumulator;
|
|
79
|
-
}, []);
|
|
83
|
+
const trc10Tokens = await getTrc10Tokens(acc);
|
|
84
|
+
const trc20Tokens = await getTrc20Tokens(acc, currency.id);
|
|
80
85
|
const { blacklistedTokenIds = [] } = syncConfig;
|
|
81
|
-
const subAccounts =
|
|
82
|
-
|
|
83
|
-
const token = (0, index_1.
|
|
86
|
+
const subAccounts = [];
|
|
87
|
+
for (const { key, tokenId, balance } of trc10Tokens.concat(trc20Tokens)) {
|
|
88
|
+
const token = await (0, index_1.getCryptoAssetsStore)().findTokenById(tokenId);
|
|
84
89
|
if (!token || blacklistedTokenIds.includes(tokenId))
|
|
85
|
-
|
|
90
|
+
continue;
|
|
86
91
|
const id = (0, account_1.encodeTokenAccountId)(accountId, token);
|
|
87
92
|
const tokenTxs = txs.filter(tx => tx.tokenId === key);
|
|
88
93
|
const operations = (0, compact_1.default)(tokenTxs.map(tx => (0, utils_1.txInfoToOperation)(id, address, tx)));
|
|
@@ -102,8 +107,8 @@ const getAccountShape = async ({ initialAccount, currency, address, derivationMo
|
|
|
102
107
|
swapHistory: maybeExistingSubAccount ? maybeExistingSubAccount.swapHistory : [],
|
|
103
108
|
balanceHistoryCache: account_1.emptyHistoryCache, // calculated in the jsHelpers
|
|
104
109
|
};
|
|
105
|
-
|
|
106
|
-
}
|
|
110
|
+
subAccounts.push(sub);
|
|
111
|
+
}
|
|
107
112
|
// Filter blacklisted tokens from the initial account's subAccounts
|
|
108
113
|
// Could be use to filter out tokens that got their CAL id changed
|
|
109
114
|
const filteredInitialSubAccounts = (initialAccount?.subAccounts || []).filter(subAccount => !blacklistedTokenIds.includes(subAccount.token.id));
|
|
@@ -175,20 +180,12 @@ exports.postSync = postSync;
|
|
|
175
180
|
const mergeSubAccounts = (subAccounts1, subAccounts2) => {
|
|
176
181
|
const existingIds = new Set(subAccounts1.map(subAccount => subAccount.id));
|
|
177
182
|
const filteredSubAccounts2 = subAccounts2
|
|
178
|
-
.
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
return {
|
|
185
|
-
...subAccount,
|
|
186
|
-
balance: new bignumber_js_1.default(0),
|
|
187
|
-
spendableBalance: new bignumber_js_1.default(0),
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
})
|
|
191
|
-
.filter((elt) => elt !== null);
|
|
183
|
+
.filter(subAccount => !existingIds.has(subAccount.id))
|
|
184
|
+
.map(subAccount => ({
|
|
185
|
+
...subAccount,
|
|
186
|
+
balance: new bignumber_js_1.default(0),
|
|
187
|
+
spendableBalance: new bignumber_js_1.default(0),
|
|
188
|
+
}));
|
|
192
189
|
return subAccounts1.concat(filteredSubAccounts2);
|
|
193
190
|
};
|
|
194
191
|
exports.sync = (0, jsHelpers_1.makeSync)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronization.js","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":";;;;;;AAAA,8DAI0C;AAC1C,yEAAsF;AACtF,kEAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"synchronization.js","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,17 +27,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
|
|
30
|
-
const
|
|
30
|
+
const cryptoassets_1 = require("@ledgerhq/cryptoassets");
|
|
31
31
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
32
32
|
const rxjs_1 = require("rxjs");
|
|
33
33
|
const config_1 = __importDefault(require("../config"));
|
|
34
34
|
const tronNetwork = __importStar(require("../network"));
|
|
35
35
|
const index_mock_1 = require("../network/index.mock");
|
|
36
36
|
const synchronization_account_fixture_json_1 = __importDefault(require("./fixtures/synchronization.account.fixture.json"));
|
|
37
|
-
const
|
|
37
|
+
const index_1 = require("./index");
|
|
38
38
|
const synchronization_1 = require("./synchronization");
|
|
39
39
|
const node_1 = require("msw/node");
|
|
40
|
-
const
|
|
40
|
+
const index_2 = require("@ledgerhq/coin-framework/crypto-assets/index");
|
|
41
|
+
jest.mock("@ledgerhq/coin-framework/crypto-assets/index");
|
|
42
|
+
const currency = (0, cryptoassets_1.getCryptoCurrencyById)("tron");
|
|
41
43
|
const defaultSyncConfig = {
|
|
42
44
|
paginationConfig: {},
|
|
43
45
|
};
|
|
@@ -123,6 +125,82 @@ const reviver = (key, value) => {
|
|
|
123
125
|
describe("sync", () => {
|
|
124
126
|
let bridge;
|
|
125
127
|
beforeAll(() => {
|
|
128
|
+
// Mock the crypto assets store with the expected tokens
|
|
129
|
+
const parentCurrency = {
|
|
130
|
+
type: "CryptoCurrency",
|
|
131
|
+
id: "tron",
|
|
132
|
+
coinType: 195,
|
|
133
|
+
name: "Tron",
|
|
134
|
+
managerAppName: "Tron",
|
|
135
|
+
ticker: "TRX",
|
|
136
|
+
scheme: "tron",
|
|
137
|
+
color: "#D9012C",
|
|
138
|
+
family: "tron",
|
|
139
|
+
blockAvgTime: 9,
|
|
140
|
+
units: [{ name: "TRX", code: "TRX", magnitude: 6 }],
|
|
141
|
+
explorerViews: [
|
|
142
|
+
{
|
|
143
|
+
tx: "https://tronscan.org/#/transaction/$hash",
|
|
144
|
+
address: "https://tronscan.org/#/address/$address",
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
keywords: ["trx", "tron"],
|
|
148
|
+
};
|
|
149
|
+
const mockTokens = {
|
|
150
|
+
"tron/trc10/1002000": {
|
|
151
|
+
type: "TokenCurrency",
|
|
152
|
+
id: "tron/trc10/1002000",
|
|
153
|
+
contractAddress: "TF5Bn4cJCT6GVeUgyCN4rBhDg42KBrpAjg",
|
|
154
|
+
parentCurrency,
|
|
155
|
+
tokenType: "trc10",
|
|
156
|
+
name: "BitTorrent Old",
|
|
157
|
+
ticker: "BTTOLD",
|
|
158
|
+
delisted: true,
|
|
159
|
+
disableCountervalue: false,
|
|
160
|
+
ledgerSignature: "0a0a426974546f7272656e7410061a46304402202e2502f36b00e57be785fc79ec4043abcdd4fdd1b58d737ce123599dffad2cb602201702c307f009d014a553503b499591558b3634ceee4c054c61cedd8aca94c02b",
|
|
161
|
+
units: [{ name: "BitTorrent Old", code: "BTTOLD", magnitude: 6 }],
|
|
162
|
+
},
|
|
163
|
+
"tron/trc20/tla2f6vpqdgre67v1736s7bj8ray5wyju7": {
|
|
164
|
+
type: "TokenCurrency",
|
|
165
|
+
id: "tron/trc20/tla2f6vpqdgre67v1736s7bj8ray5wyju7",
|
|
166
|
+
contractAddress: "TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7",
|
|
167
|
+
parentCurrency,
|
|
168
|
+
tokenType: "trc20",
|
|
169
|
+
name: "WINK",
|
|
170
|
+
ticker: "WIN",
|
|
171
|
+
delisted: false,
|
|
172
|
+
disableCountervalue: false,
|
|
173
|
+
ledgerSignature: null,
|
|
174
|
+
units: [{ name: "WINK", code: "WIN", magnitude: 6 }],
|
|
175
|
+
},
|
|
176
|
+
"tron/trc20/tcfll5dx5zjdknwuesxxi1vpwjlvmwzzy9": {
|
|
177
|
+
type: "TokenCurrency",
|
|
178
|
+
id: "tron/trc20/tcfll5dx5zjdknwuesxxi1vpwjlvmwzzy9",
|
|
179
|
+
contractAddress: "TCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy9",
|
|
180
|
+
parentCurrency,
|
|
181
|
+
tokenType: "trc20",
|
|
182
|
+
name: "JUST GOV",
|
|
183
|
+
ticker: "JST",
|
|
184
|
+
delisted: false,
|
|
185
|
+
disableCountervalue: false,
|
|
186
|
+
ledgerSignature: null,
|
|
187
|
+
units: [{ name: "JUST GOV", code: "JST", magnitude: 18 }],
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
index_2.getCryptoAssetsStore.mockReturnValue({
|
|
191
|
+
findTokenById: jest.fn().mockImplementation((id) => {
|
|
192
|
+
return Promise.resolve(mockTokens[id] || null);
|
|
193
|
+
}),
|
|
194
|
+
findTokenByAddressInCurrency: jest
|
|
195
|
+
.fn()
|
|
196
|
+
.mockImplementation((address, currencyId) => {
|
|
197
|
+
if (currencyId === "tron") {
|
|
198
|
+
const token = Object.values(mockTokens).find(token => token.contractAddress.toLowerCase() === address.toLowerCase());
|
|
199
|
+
return Promise.resolve(token || null);
|
|
200
|
+
}
|
|
201
|
+
return Promise.resolve(null);
|
|
202
|
+
}),
|
|
203
|
+
});
|
|
126
204
|
const signer = jest.fn();
|
|
127
205
|
const coinConfig = () => ({
|
|
128
206
|
status: {
|
|
@@ -132,7 +210,7 @@ describe("sync", () => {
|
|
|
132
210
|
url: index_mock_1.TRONGRID_BASE_URL_MOCKED,
|
|
133
211
|
},
|
|
134
212
|
});
|
|
135
|
-
bridge = (0,
|
|
213
|
+
bridge = (0, index_1.createBridges)(signer, coinConfig);
|
|
136
214
|
index_mock_1.mockServer.listen({ onUnhandledRequest: "error" });
|
|
137
215
|
});
|
|
138
216
|
afterAll(() => {
|
|
@@ -159,6 +237,11 @@ describe("scanAccounts", () => {
|
|
|
159
237
|
const address = "TT2T17KZhoDu47i2E4FWxfG79zdkEWkU9N";
|
|
160
238
|
beforeAll(() => {
|
|
161
239
|
spyGetTronAccountNetwork = jest.spyOn(tronNetwork, "getTronAccountNetwork");
|
|
240
|
+
// Mock the crypto assets store for scanAccounts tests - same as sync tests
|
|
241
|
+
index_2.getCryptoAssetsStore.mockReturnValue({
|
|
242
|
+
findTokenById: jest.fn().mockResolvedValue(null),
|
|
243
|
+
findTokenByAddressInCurrency: jest.fn().mockResolvedValue(null),
|
|
244
|
+
});
|
|
162
245
|
config_1.default.setCoinConfig(() => ({
|
|
163
246
|
status: {
|
|
164
247
|
type: "active",
|