@ledgerhq/coin-stellar 2.0.0 → 2.1.0-next.0
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/CHANGELOG.md +18 -0
- package/jest.config.js +14 -2
- package/jest.integ.config.js +1 -0
- package/lib/api/index.integ.test.js +2 -2
- package/lib/api/index.integ.test.js.map +1 -1
- package/lib/bridge/generators.fixture.d.ts +20 -0
- package/lib/bridge/generators.fixture.d.ts.map +1 -0
- package/lib/bridge/generators.fixture.js +42 -0
- package/lib/bridge/generators.fixture.js.map +1 -0
- package/lib/bridge/msw-handles.fixture.d.ts +4 -0
- package/lib/bridge/msw-handles.fixture.d.ts.map +1 -0
- package/lib/bridge/msw-handles.fixture.js +111 -0
- package/lib/bridge/msw-handles.fixture.js.map +1 -0
- package/lib/bridge/synchronization.d.ts.map +1 -1
- package/lib/bridge/synchronization.integ.test.js +1 -1
- package/lib/bridge/synchronization.integ.test.js.map +1 -1
- package/lib/bridge/synchronization.js +12 -6
- package/lib/bridge/synchronization.js.map +1 -1
- package/lib/bridge/synchronization.unit.test.d.ts +2 -0
- package/lib/bridge/synchronization.unit.test.d.ts.map +1 -0
- package/lib/bridge/synchronization.unit.test.js +130 -0
- package/lib/bridge/synchronization.unit.test.js.map +1 -0
- package/lib/network/horizon.d.ts +3 -7
- package/lib/network/horizon.d.ts.map +1 -1
- package/lib/network/horizon.integ.test.d.ts +2 -0
- package/lib/network/horizon.integ.test.d.ts.map +1 -0
- package/lib/network/horizon.integ.test.js +42 -0
- package/lib/network/horizon.integ.test.js.map +1 -0
- package/lib/network/horizon.js +10 -3
- package/lib/network/horizon.js.map +1 -1
- package/lib/network/serialization.js +1 -1
- package/lib/network/serialization.js.map +1 -1
- package/lib-es/api/index.integ.test.js +2 -2
- package/lib-es/api/index.integ.test.js.map +1 -1
- package/lib-es/bridge/generators.fixture.d.ts +20 -0
- package/lib-es/bridge/generators.fixture.d.ts.map +1 -0
- package/lib-es/bridge/generators.fixture.js +38 -0
- package/lib-es/bridge/generators.fixture.js.map +1 -0
- package/lib-es/bridge/msw-handles.fixture.d.ts +4 -0
- package/lib-es/bridge/msw-handles.fixture.d.ts.map +1 -0
- package/lib-es/bridge/msw-handles.fixture.js +108 -0
- package/lib-es/bridge/msw-handles.fixture.js.map +1 -0
- 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 +12 -6
- package/lib-es/bridge/synchronization.js.map +1 -1
- package/lib-es/bridge/synchronization.unit.test.d.ts +2 -0
- package/lib-es/bridge/synchronization.unit.test.d.ts.map +1 -0
- package/lib-es/bridge/synchronization.unit.test.js +125 -0
- package/lib-es/bridge/synchronization.unit.test.js.map +1 -0
- package/lib-es/network/horizon.d.ts +3 -7
- package/lib-es/network/horizon.d.ts.map +1 -1
- package/lib-es/network/horizon.integ.test.d.ts +2 -0
- package/lib-es/network/horizon.integ.test.d.ts.map +1 -0
- package/lib-es/network/horizon.integ.test.js +37 -0
- package/lib-es/network/horizon.integ.test.js.map +1 -0
- package/lib-es/network/horizon.js +10 -3
- package/lib-es/network/horizon.js.map +1 -1
- package/lib-es/network/serialization.js +1 -1
- package/lib-es/network/serialization.js.map +1 -1
- package/package.json +11 -8
- package/src/api/index.integ.test.ts +2 -2
- package/src/bridge/generators.fixture.ts +42 -0
- package/src/bridge/msw-handles.fixture.ts +114 -0
- package/src/bridge/synchronization.integ.test.ts +8 -12
- package/src/bridge/synchronization.ts +16 -5
- package/src/bridge/synchronization.unit.test.ts +148 -0
- package/src/network/horizon.integ.test.ts +54 -0
- package/src/network/horizon.ts +17 -13
- package/src/network/serialization.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @ledgerhq/coin-stellar
|
|
2
2
|
|
|
3
|
+
## 2.1.0-next.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#9298](https://github.com/LedgerHQ/ledger-live/pull/9298) [`2785d49`](https://github.com/LedgerHQ/ledger-live/commit/2785d49ac320498f98ed39b4eccc48310ad35fe1) Thanks [@Canestin](https://github.com/Canestin)! - config coin-integration env for sonarqube
|
|
8
|
+
|
|
9
|
+
- [#9584](https://github.com/LedgerHQ/ledger-live/pull/9584) [`32f2a0c`](https://github.com/LedgerHQ/ledger-live/commit/32f2a0cf073e5c1a5d65cbe44e69660f8f510dd7) Thanks [@francois-guerin-ledger](https://github.com/francois-guerin-ledger)! - perf: set a limit on the number of operations retrieved during the initial synchronization of the Stellar account to improve sync performance.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [[`2785d49`](https://github.com/LedgerHQ/ledger-live/commit/2785d49ac320498f98ed39b4eccc48310ad35fe1), [`2effe04`](https://github.com/LedgerHQ/ledger-live/commit/2effe04d9d4b3e407ed25da3b9f11324a82126d3), [`32f2a0c`](https://github.com/LedgerHQ/ledger-live/commit/32f2a0cf073e5c1a5d65cbe44e69660f8f510dd7), [`2407a6e`](https://github.com/LedgerHQ/ledger-live/commit/2407a6e1f3153c30c52d4bac4c9334fa95c351da), [`40e98c3`](https://github.com/LedgerHQ/ledger-live/commit/40e98c392bd9192570e46c2d62cf0779bdfe01ec), [`a656e47`](https://github.com/LedgerHQ/ledger-live/commit/a656e47c1dc3ac8b578debf9cf80eab370c7086f)]:
|
|
14
|
+
- @ledgerhq/coin-framework@2.5.0-next.0
|
|
15
|
+
- @ledgerhq/types-live@6.65.0-next.0
|
|
16
|
+
- @ledgerhq/live-env@2.7.0-next.0
|
|
17
|
+
- @ledgerhq/types-cryptoassets@7.21.0-next.0
|
|
18
|
+
- @ledgerhq/cryptoassets@13.14.0-next.0
|
|
19
|
+
- @ledgerhq/live-network@2.0.6-next.0
|
|
20
|
+
|
|
3
21
|
## 2.0.0
|
|
4
22
|
|
|
5
23
|
### Major Changes
|
package/jest.config.js
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
/** @type {import('ts-jest/dist/types').JestConfigWithTsJest} */
|
|
2
2
|
module.exports = {
|
|
3
|
-
collectCoverageFrom: ["src/**/*.ts"],
|
|
4
|
-
coverageDirectory: "coverage",
|
|
5
3
|
preset: "ts-jest",
|
|
4
|
+
passWithNoTests: true,
|
|
5
|
+
collectCoverageFrom: [
|
|
6
|
+
"src/**/*.ts",
|
|
7
|
+
"!src/**/*.test.ts",
|
|
8
|
+
"!src/**/*.spec.ts",
|
|
9
|
+
"!src/test/**/*.ts",
|
|
10
|
+
],
|
|
11
|
+
coverageReporters: ["json", ["lcov", { file: "stellar-lcov.info", projectRoot: "../" }], "text"],
|
|
6
12
|
testEnvironment: "node",
|
|
7
13
|
testPathIgnorePatterns: ["lib/", "lib-es/", ".*\\.integ\\.test\\.[tj]s"],
|
|
14
|
+
reporters: [
|
|
15
|
+
[
|
|
16
|
+
"jest-sonar",
|
|
17
|
+
{ outputName: "stellar-sonar-executionTests-report.xml", reportedFilePath: "absolute" },
|
|
18
|
+
],
|
|
19
|
+
],
|
|
8
20
|
};
|
package/jest.integ.config.js
CHANGED
|
@@ -4,7 +4,7 @@ const _1 = require(".");
|
|
|
4
4
|
/**
|
|
5
5
|
* Testnet scan: https://testnet.lumenscan.io/
|
|
6
6
|
*/
|
|
7
|
-
describe("Stellar Api", () => {
|
|
7
|
+
describe.skip("Stellar Api", () => {
|
|
8
8
|
let module;
|
|
9
9
|
const address = "GBAUZBDXMVV7HII4JWBGFMLVKVJ6OLQAKOCGXM5E2FM4TAZB6C7JO2L7";
|
|
10
10
|
beforeAll(() => {
|
|
@@ -33,7 +33,7 @@ describe("Stellar Api", () => {
|
|
|
33
33
|
let txs;
|
|
34
34
|
beforeAll(async () => {
|
|
35
35
|
[txs] = await module.listOperations(address, { minHeight: 0 });
|
|
36
|
-
}
|
|
36
|
+
});
|
|
37
37
|
it("returns a list regarding address parameter", async () => {
|
|
38
38
|
expect(txs.length).toBeGreaterThanOrEqual(100);
|
|
39
39
|
txs.forEach(operation => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":";;AACA,wBAA8B;AAG9B;;GAEG;AACH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const generateOperationsList: (address: string, count?: number) => {
|
|
2
|
+
_links: {
|
|
3
|
+
transaction: {
|
|
4
|
+
href: string;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
id: string;
|
|
8
|
+
paging_token: string;
|
|
9
|
+
transaction_successful: boolean;
|
|
10
|
+
source_account: string;
|
|
11
|
+
type: string;
|
|
12
|
+
type_i: number;
|
|
13
|
+
created_at: string;
|
|
14
|
+
transaction_hash: string;
|
|
15
|
+
asset_type: string;
|
|
16
|
+
from: string;
|
|
17
|
+
to: string;
|
|
18
|
+
amount: string;
|
|
19
|
+
}[];
|
|
20
|
+
//# sourceMappingURL=generators.fixture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generators.fixture.d.ts","sourceRoot":"","sources":["../../src/bridge/generators.fixture.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,sBAAsB,YAAa,MAAM;;;;;;;;;;;;;;;;;;GA4BrD,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateOperationsList = void 0;
|
|
4
|
+
const msw_handles_fixture_1 = require("./msw-handles.fixture");
|
|
5
|
+
const generateFakeTxHash = () => {
|
|
6
|
+
let hash = "";
|
|
7
|
+
const hexChars = "0123456789abcdef";
|
|
8
|
+
for (let i = 0; i < 64; i++) {
|
|
9
|
+
hash += hexChars[Math.floor(Math.random() * 16)];
|
|
10
|
+
}
|
|
11
|
+
return hash;
|
|
12
|
+
};
|
|
13
|
+
const generateOperationsList = (address, count = 100) => {
|
|
14
|
+
const operations = [];
|
|
15
|
+
for (let i = 0; i < count; i++) {
|
|
16
|
+
const randomId = Math.floor(Math.random() * 1000000000);
|
|
17
|
+
const randomTxHash = generateFakeTxHash();
|
|
18
|
+
const operation = {
|
|
19
|
+
_links: {
|
|
20
|
+
transaction: {
|
|
21
|
+
href: `${msw_handles_fixture_1.HORIZON_TEST_BASE_URL}/transactions/${randomTxHash}`,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
id: randomId.toString(),
|
|
25
|
+
paging_token: randomId.toString(),
|
|
26
|
+
transaction_successful: true,
|
|
27
|
+
source_account: address,
|
|
28
|
+
type: "payment",
|
|
29
|
+
type_i: 1,
|
|
30
|
+
created_at: "2025-03-12T07:13:30Z",
|
|
31
|
+
transaction_hash: randomTxHash,
|
|
32
|
+
asset_type: "native",
|
|
33
|
+
from: address,
|
|
34
|
+
to: "GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF",
|
|
35
|
+
amount: "1.0000000",
|
|
36
|
+
};
|
|
37
|
+
operations.push(operation);
|
|
38
|
+
}
|
|
39
|
+
return operations;
|
|
40
|
+
};
|
|
41
|
+
exports.generateOperationsList = generateOperationsList;
|
|
42
|
+
//# sourceMappingURL=generators.fixture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generators.fixture.js","sourceRoot":"","sources":["../../src/bridge/generators.fixture.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAE9D,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,MAAM,QAAQ,GAAG,kBAAkB,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEK,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE;IACrE,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE;gBACN,WAAW,EAAE;oBACX,IAAI,EAAE,GAAG,2CAAqB,iBAAiB,YAAY,EAAE;iBAC9D;aACF;YACD,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE;YACvB,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE;YACjC,sBAAsB,EAAE,IAAI;YAC5B,cAAc,EAAE,OAAO;YACvB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,sBAAsB;YAClC,gBAAgB,EAAE,YAAY;YAC9B,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,0DAA0D;YAC9D,MAAM,EAAE,WAAW;SACpB,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AA5BW,QAAA,sBAAsB,0BA4BjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"msw-handles.fixture.d.ts","sourceRoot":"","sources":["../../src/bridge/msw-handles.fixture.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AAEnE,eAAO,MAAM,OAAO,6BA2GnB,CAAC;AACF,eAAO,MAAM,UAAU,mCAAgB,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mockServer = exports.handles = exports.HORIZON_TEST_BASE_URL = void 0;
|
|
4
|
+
const msw_1 = require("msw");
|
|
5
|
+
const node_1 = require("msw/node");
|
|
6
|
+
exports.HORIZON_TEST_BASE_URL = "https://horizon.example.com";
|
|
7
|
+
exports.handles = [
|
|
8
|
+
msw_1.http.get(`${exports.HORIZON_TEST_BASE_URL}/accounts/:addr`, ({ params }) => {
|
|
9
|
+
const addr = params.addr;
|
|
10
|
+
return msw_1.HttpResponse.json({
|
|
11
|
+
id: addr,
|
|
12
|
+
account_id: addr,
|
|
13
|
+
sequence: "126500681086402560",
|
|
14
|
+
subentry_count: 0,
|
|
15
|
+
last_modified_ledger: 56086052,
|
|
16
|
+
last_modified_time: "2025-03-10T10:24:01Z",
|
|
17
|
+
thresholds: {
|
|
18
|
+
low_threshold: 0,
|
|
19
|
+
med_threshold: 0,
|
|
20
|
+
high_threshold: 0,
|
|
21
|
+
},
|
|
22
|
+
flags: {
|
|
23
|
+
auth_required: false,
|
|
24
|
+
auth_revocable: false,
|
|
25
|
+
auth_immutable: false,
|
|
26
|
+
auth_clawback_enabled: false,
|
|
27
|
+
},
|
|
28
|
+
balances: [
|
|
29
|
+
{
|
|
30
|
+
balance: "83277.0750826",
|
|
31
|
+
buying_liabilities: "0.0000000",
|
|
32
|
+
selling_liabilities: "0.0000000",
|
|
33
|
+
asset_type: "native",
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
signers: [
|
|
37
|
+
{
|
|
38
|
+
weight: 1,
|
|
39
|
+
key: addr,
|
|
40
|
+
type: "ed25519_public_key",
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
data: {},
|
|
44
|
+
num_sponsoring: 0,
|
|
45
|
+
num_sponsored: 0,
|
|
46
|
+
paging_token: addr,
|
|
47
|
+
});
|
|
48
|
+
}),
|
|
49
|
+
msw_1.http.get(`${exports.HORIZON_TEST_BASE_URL}/fee_stats`, () => {
|
|
50
|
+
return msw_1.HttpResponse.json({
|
|
51
|
+
last_ledger: "56116307",
|
|
52
|
+
last_ledger_base_fee: "100",
|
|
53
|
+
ledger_capacity_usage: "0.56",
|
|
54
|
+
fee_charged: {
|
|
55
|
+
max: "404782",
|
|
56
|
+
min: "100",
|
|
57
|
+
mode: "100",
|
|
58
|
+
p10: "100",
|
|
59
|
+
p20: "100",
|
|
60
|
+
p30: "100",
|
|
61
|
+
p40: "100",
|
|
62
|
+
p50: "100",
|
|
63
|
+
p60: "100",
|
|
64
|
+
p70: "100",
|
|
65
|
+
p80: "100",
|
|
66
|
+
p90: "100",
|
|
67
|
+
p95: "100",
|
|
68
|
+
p99: "100",
|
|
69
|
+
},
|
|
70
|
+
max_fee: {
|
|
71
|
+
max: "129853690",
|
|
72
|
+
min: "100",
|
|
73
|
+
mode: "5000002",
|
|
74
|
+
p10: "101",
|
|
75
|
+
p20: "2569",
|
|
76
|
+
p30: "15885",
|
|
77
|
+
p40: "51234",
|
|
78
|
+
p50: "100159",
|
|
79
|
+
p60: "250005",
|
|
80
|
+
p70: "500000",
|
|
81
|
+
p80: "2000001",
|
|
82
|
+
p90: "5000002",
|
|
83
|
+
p95: "7062290",
|
|
84
|
+
p99: "112536447",
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
}),
|
|
88
|
+
msw_1.http.get(`${exports.HORIZON_TEST_BASE_URL}/transactions/:txId`, ({ params }) => {
|
|
89
|
+
const txId = params.txId;
|
|
90
|
+
const ledgerNum = Math.floor(Math.random() * 1000000);
|
|
91
|
+
return msw_1.HttpResponse.json({
|
|
92
|
+
_links: {
|
|
93
|
+
ledger: {
|
|
94
|
+
href: `${exports.HORIZON_TEST_BASE_URL}/ledgers/${ledgerNum}`,
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
id: txId,
|
|
98
|
+
hash: txId,
|
|
99
|
+
ledger: ledgerNum,
|
|
100
|
+
created_at: "2024-11-07T01:24:02Z",
|
|
101
|
+
});
|
|
102
|
+
}),
|
|
103
|
+
msw_1.http.get(`${exports.HORIZON_TEST_BASE_URL}/ledgers/:ledgerNum`, () => {
|
|
104
|
+
return msw_1.HttpResponse.json({
|
|
105
|
+
hash: "0000000000000000000000000000000000000000000000000000000000000000",
|
|
106
|
+
closed_at: "2024-01-07T09:28:18Z",
|
|
107
|
+
});
|
|
108
|
+
}),
|
|
109
|
+
];
|
|
110
|
+
exports.mockServer = (0, node_1.setupServer)();
|
|
111
|
+
//# sourceMappingURL=msw-handles.fixture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"msw-handles.fixture.js","sourceRoot":"","sources":["../../src/bridge/msw-handles.fixture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronization.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"synchronization.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAOtF,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,CA8EpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronization.integ.test.js","sourceRoot":"","sources":["../../src/bridge/synchronization.integ.test.ts"],"names":[],"mappings":";;AAAA,+BAA8C;AAI9C,2CAAgD;AAChD,4DAA+D;AAE/D,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,GAAG,IAAA,qCAAoB,GAAE,CAAC;AAE5C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,MAAwC,CAAC;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,GAAsB,EAAE,CAAC,CAAC;YAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,QAAQ,EAAE;gBACR,GAAG,EAAE,iCAAiC;gBACtC,UAAU,EAAE,GAAG;aAChB;SACF,CAAC,CAAC;QACH,MAAM,GAAG,IAAA,qBAAa,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC;QACR,0DAA0D;QAC1D,0DAA0D;KAC3D,CAAC,
|
|
1
|
+
{"version":3,"file":"synchronization.integ.test.js","sourceRoot":"","sources":["../../src/bridge/synchronization.integ.test.ts"],"names":[],"mappings":";;AAAA,+BAA8C;AAI9C,2CAAgD;AAChD,4DAA+D;AAE/D,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,GAAG,IAAA,qCAAoB,GAAE,CAAC;AAE5C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,MAAwC,CAAC;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,GAAsB,EAAE,CAAC,CAAC;YAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,QAAQ,EAAE;gBACR,GAAG,EAAE,iCAAiC;gBACtC,UAAU,EAAE,GAAG;aAChB;SACF,CAAC,CAAC;QACH,MAAM,GAAG,IAAA,qBAAa,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC;QACR,0DAA0D;QAC1D,0DAA0D;KAC3D,CAAC,CAAC,oDAAoD,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE;QACnF,MAAM,OAAO,GAAG,MAAM,WAAW,CAA8B,MAAM,CAAC,aAAa,EAAE;YACnF,GAAG,YAAY;YACf,EAAE,EAAE,gBAAgB,SAAS,GAAG;YAChC,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,SAAS,GAAG,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -8,6 +8,7 @@ const network_1 = require("../network");
|
|
|
8
8
|
const tokens_1 = require("./tokens");
|
|
9
9
|
const types_1 = require("../types");
|
|
10
10
|
const logic_1 = require("./logic");
|
|
11
|
+
const live_env_1 = require("@ledgerhq/live-env");
|
|
11
12
|
const getAccountShape = async (info, syncConfig) => {
|
|
12
13
|
const { address, currency, initialAccount, derivationMode } = info;
|
|
13
14
|
// FIXME Workaround for burn address, see https://ledgerhq.atlassian.net/browse/LIVE-4014
|
|
@@ -22,12 +23,17 @@ const getAccountShape = async (info, syncConfig) => {
|
|
|
22
23
|
});
|
|
23
24
|
const { blockHeight, balance, spendableBalance, assets } = await (0, network_1.fetchAccount)(address);
|
|
24
25
|
const oldOperations = (initialAccount?.operations || []);
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
const lastPagingToken = oldOperations[0]?.extra.pagingToken || "";
|
|
27
|
+
const isInitSync = lastPagingToken === "";
|
|
28
|
+
const newOperations = (await (0, network_1.fetchAllOperations)(accountId, address, isInitSync ? "desc" : "asc", lastPagingToken,
|
|
29
|
+
/**
|
|
30
|
+
* For an account with a particularly high number of historical transactions,
|
|
31
|
+
* retrieving all the data would take a considerable amount of time and is likely to
|
|
32
|
+
* fail due to poor network connection quality or other reasons. Therefore, we set a
|
|
33
|
+
* limit on the number of retrieval operations here.
|
|
34
|
+
* If users want to access historical records from earlier, I would suggest they use a professional blockchain explorer.
|
|
35
|
+
*/
|
|
36
|
+
isInitSync ? (0, live_env_1.getEnv)("API_STELLAR_HORIZON_INITIAL_FETCH_MAX_OPERATIONS") : undefined)) || [];
|
|
31
37
|
const allOperations = (0, jsHelpers_1.mergeOps)(oldOperations, newOperations);
|
|
32
38
|
const assetOperations = [];
|
|
33
39
|
allOperations.forEach(operation => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronization.js","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":";;;AAAA,kEAAyE;AACzE,wEAAkF;AAElF,yEAAsF;AACtF,wCAA8D;AAC9D,qCAA4C;AAC5C,oCAAqE;AACrE,mCAA+C;
|
|
1
|
+
{"version":3,"file":"synchronization.js","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":";;;AAAA,kEAAyE;AACzE,wEAAkF;AAElF,yEAAsF;AACtF,wCAA8D;AAC9D,qCAA4C;AAC5C,oCAAqE;AACrE,mCAA+C;AAC/C,iDAA4C;AAErC,MAAM,eAAe,GAA6B,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;IAClF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAEnE,yFAAyF;IACzF,IAAI,OAAO,KAAK,4BAAoB;QAAE,MAAM,IAAI,+BAAuB,EAAE,CAAC;IAE1E,MAAM,SAAS,GAAG,IAAA,uBAAe,EAAC;QAChC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,aAAa,EAAE,OAAO;QACtB,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;IAEvF,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,UAAU,IAAI,EAAE,CAAuB,CAAC;IAC/E,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IAClE,MAAM,UAAU,GAAG,eAAe,KAAK,EAAE,CAAC;IAE1C,MAAM,aAAa,GACjB,CAAC,MAAM,IAAA,4BAAkB,EACvB,SAAS,EACT,OAAO,EACP,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAC3B,eAAe;IACf;;;;;;OAMG;IACH,UAAU,CAAC,CAAC,CAAC,IAAA,iBAAM,EAAC,kDAAkD,CAAC,CAAC,CAAC,CAAC,SAAS,CACpF,CAAC,IAAI,EAAE,CAAC;IAEX,MAAM,aAAa,GAAG,IAAA,oBAAQ,EAAC,aAAa,EAAE,aAAa,CAAuB,CAAC;IACnF,MAAM,eAAe,GAAuB,EAAE,CAAC;IAE/C,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAChC,IACE,SAAS,EAAE,KAAK,EAAE,SAAS;YAC3B,SAAS,EAAE,KAAK,EAAE,WAAW;YAC7B,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAC/C,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GACf,IAAA,yBAAgB,EAAC;QACf,QAAQ;QACR,SAAS;QACT,MAAM;QACN,UAAU;QACV,UAAU,EAAE,eAAe;KAC5B,CAAC,IAAI,EAAE,CAAC;IAEX,MAAM,KAAK,GAAG;QACZ,EAAE,EAAE,SAAS;QACb,OAAO;QACP,gBAAgB;QAChB,eAAe,EAAE,aAAa,CAAC,MAAM;QACrC,WAAW;QACX,WAAW;KACZ,CAAC;IAEF,OAAO;QACL,GAAG,KAAK;QACR,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACjC,MAAM,aAAa,GAAG,IAAA,0BAAkB,EAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAE/D,OAAO;gBACL,GAAG,EAAE;gBACL,aAAa;aACd,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AA9EW,QAAA,eAAe,mBA8E1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synchronization.unit.test.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronization.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const msw_1 = require("msw");
|
|
7
|
+
const config_1 = __importDefault(require("../config"));
|
|
8
|
+
const currencies_1 = require("@ledgerhq/cryptoassets/lib/currencies");
|
|
9
|
+
const synchronization_1 = require("./synchronization");
|
|
10
|
+
const msw_handles_fixture_1 = require("./msw-handles.fixture");
|
|
11
|
+
const generators_fixture_1 = require("./generators.fixture");
|
|
12
|
+
describe("getAccountShape", () => {
|
|
13
|
+
beforeAll(() => {
|
|
14
|
+
config_1.default.setCoinConfig(() => ({
|
|
15
|
+
status: { type: "active" },
|
|
16
|
+
explorer: {
|
|
17
|
+
url: msw_handles_fixture_1.HORIZON_TEST_BASE_URL,
|
|
18
|
+
fetchLimit: 100,
|
|
19
|
+
},
|
|
20
|
+
}));
|
|
21
|
+
msw_handles_fixture_1.mockServer.listen({ onUnhandledRequest: "error" });
|
|
22
|
+
});
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
let requestCount = 0; // track the number of requests
|
|
25
|
+
msw_handles_fixture_1.mockServer.resetHandlers();
|
|
26
|
+
msw_handles_fixture_1.mockServer.use(...msw_handles_fixture_1.handles, msw_1.http.get(`${msw_handles_fixture_1.HORIZON_TEST_BASE_URL}/accounts/:addr/operations`, ({ params, request }) => {
|
|
27
|
+
const addr = params.addr;
|
|
28
|
+
const url = new URL(request.url);
|
|
29
|
+
const order = url.searchParams.get("order");
|
|
30
|
+
let operationsCount = 100;
|
|
31
|
+
// init sync, reach the threshold for fetching operations
|
|
32
|
+
if (addr == "GC65W5WLL7FN6WASRY5RCQAFF2CM75RBY2A6G7GF6UP244PVPUFBLIB6") {
|
|
33
|
+
if (order !== "desc") {
|
|
34
|
+
return msw_1.HttpResponse.json({}, { status: 400 });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// init sync, not reach the threshold for fetching operations
|
|
38
|
+
if (addr == "GBRBXWKLSAE2JMVCJSPC2NJEOS33MLMQ6DPSBEK76DEB5A6Q3DR43BJC") {
|
|
39
|
+
if (order !== "desc") {
|
|
40
|
+
return msw_1.HttpResponse.json({}, { status: 400 });
|
|
41
|
+
}
|
|
42
|
+
if (requestCount >= 3) {
|
|
43
|
+
operationsCount = 0;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// sync, fetch new operations after init sync
|
|
47
|
+
if (addr == "GBYLYVN3JLX4CTJ7HRAME5MNT5BJ32JLYBI7M7R5TI35I3HR6DLU46CC") {
|
|
48
|
+
switch (requestCount) {
|
|
49
|
+
case 0:
|
|
50
|
+
operationsCount = 80;
|
|
51
|
+
break;
|
|
52
|
+
case 2:
|
|
53
|
+
{
|
|
54
|
+
operationsCount = 10;
|
|
55
|
+
if (order !== "asc") {
|
|
56
|
+
return msw_1.HttpResponse.json({}, { status: 400 });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
operationsCount = 0;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
requestCount++;
|
|
65
|
+
const resp = {
|
|
66
|
+
_links: {
|
|
67
|
+
self: {
|
|
68
|
+
href: `${msw_handles_fixture_1.HORIZON_TEST_BASE_URL}/accounts/${addr}/operations?order=${order}`,
|
|
69
|
+
},
|
|
70
|
+
next: {
|
|
71
|
+
href: `${msw_handles_fixture_1.HORIZON_TEST_BASE_URL}/accounts/${addr}/operations?order=${order}`,
|
|
72
|
+
},
|
|
73
|
+
prev: {
|
|
74
|
+
href: `${msw_handles_fixture_1.HORIZON_TEST_BASE_URL}/accounts/${addr}/operations?order=${order}`,
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
_embedded: {
|
|
78
|
+
records: (0, generators_fixture_1.generateOperationsList)(addr, operationsCount),
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
return msw_1.HttpResponse.json(resp);
|
|
82
|
+
}));
|
|
83
|
+
});
|
|
84
|
+
afterAll(() => {
|
|
85
|
+
msw_handles_fixture_1.mockServer.close();
|
|
86
|
+
});
|
|
87
|
+
it("init sync, reach the threshold for fetching operations", async () => {
|
|
88
|
+
const info = {
|
|
89
|
+
address: "GC65W5WLL7FN6WASRY5RCQAFF2CM75RBY2A6G7GF6UP244PVPUFBLIB6",
|
|
90
|
+
currency: (0, currencies_1.getCryptoCurrencyById)("stellar"),
|
|
91
|
+
derivationMode: "",
|
|
92
|
+
index: 0,
|
|
93
|
+
};
|
|
94
|
+
const syncConfig = {};
|
|
95
|
+
const account = await (0, synchronization_1.getAccountShape)(info, syncConfig);
|
|
96
|
+
expect(account.operations?.length).toEqual(1000);
|
|
97
|
+
});
|
|
98
|
+
it("init sync, not reach the threshold for fetching operations", async () => {
|
|
99
|
+
const info = {
|
|
100
|
+
address: "GBRBXWKLSAE2JMVCJSPC2NJEOS33MLMQ6DPSBEK76DEB5A6Q3DR43BJC",
|
|
101
|
+
currency: (0, currencies_1.getCryptoCurrencyById)("stellar"),
|
|
102
|
+
derivationMode: "",
|
|
103
|
+
index: 0,
|
|
104
|
+
};
|
|
105
|
+
const syncConfig = {};
|
|
106
|
+
const account = await (0, synchronization_1.getAccountShape)(info, syncConfig);
|
|
107
|
+
expect(account.operations?.length).toEqual(300);
|
|
108
|
+
});
|
|
109
|
+
it("sync, fetch new operations after init sync", async () => {
|
|
110
|
+
const initInfo = {
|
|
111
|
+
address: "GBYLYVN3JLX4CTJ7HRAME5MNT5BJ32JLYBI7M7R5TI35I3HR6DLU46CC",
|
|
112
|
+
currency: (0, currencies_1.getCryptoCurrencyById)("stellar"),
|
|
113
|
+
derivationMode: "",
|
|
114
|
+
index: 0,
|
|
115
|
+
};
|
|
116
|
+
const syncConfig = {};
|
|
117
|
+
const initAccount = await (0, synchronization_1.getAccountShape)(initInfo, syncConfig);
|
|
118
|
+
expect(initAccount.operations?.length).toEqual(80);
|
|
119
|
+
const info = {
|
|
120
|
+
address: "GBYLYVN3JLX4CTJ7HRAME5MNT5BJ32JLYBI7M7R5TI35I3HR6DLU46CC",
|
|
121
|
+
currency: (0, currencies_1.getCryptoCurrencyById)("stellar"),
|
|
122
|
+
derivationMode: "",
|
|
123
|
+
index: 0,
|
|
124
|
+
initialAccount: initAccount,
|
|
125
|
+
};
|
|
126
|
+
const account = await (0, synchronization_1.getAccountShape)(info, syncConfig);
|
|
127
|
+
expect(account.operations?.length).toEqual(90);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=synchronization.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synchronization.unit.test.js","sourceRoot":"","sources":["../../src/bridge/synchronization.unit.test.ts"],"names":[],"mappings":"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"}
|
package/lib/network/horizon.d.ts
CHANGED
|
@@ -24,21 +24,17 @@ export declare function fetchAccount(addr: string): Promise<{
|
|
|
24
24
|
assets: BalanceAsset[];
|
|
25
25
|
}>;
|
|
26
26
|
/**
|
|
27
|
-
* Fetch
|
|
27
|
+
* Fetch operations for a single account from indexer
|
|
28
28
|
*
|
|
29
29
|
* @param {string} accountId
|
|
30
30
|
* @param {string} addr
|
|
31
31
|
* @param {string} order - "desc" or "asc" order of returned records
|
|
32
32
|
* @param {string} cursor - point to start fetching records
|
|
33
|
+
* @param {number} maxOperations - maximum number of operations to return, stops fetching after reaching this threshold
|
|
33
34
|
*
|
|
34
35
|
* @return {Operation[]}
|
|
35
36
|
*/
|
|
36
|
-
export declare function fetchAllOperations(
|
|
37
|
-
accountId: string;
|
|
38
|
-
addr: string;
|
|
39
|
-
order: "asc" | "desc";
|
|
40
|
-
cursor: string | undefined;
|
|
41
|
-
}): Promise<StellarOperation[]>;
|
|
37
|
+
export declare function fetchAllOperations(accountId: string, addr: string, order: "asc" | "desc", cursor?: string, maxOperations?: number): Promise<StellarOperation[]>;
|
|
42
38
|
export declare function fetchOperations({ accountId, addr, order, cursor, limit, }: {
|
|
43
39
|
accountId: string;
|
|
44
40
|
addr: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"horizon.d.ts","sourceRoot":"","sources":["../../src/network/horizon.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAEL,aAAa,EASd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAEhB,KAAK,MAAM,EACX,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAqBlB,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,WAAW,IAAI,CAAC;AA+C7B,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,sBAAsB,CAAC;CAChD,CAAC,CAsCD;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC;IACnB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC,CA6BD;AAED
|
|
1
|
+
{"version":3,"file":"horizon.d.ts","sourceRoot":"","sources":["../../src/network/horizon.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAEL,aAAa,EASd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAEhB,KAAK,MAAM,EACX,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAqBlB,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,WAAW,IAAI,CAAC;AA+C7B,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,sBAAsB,CAAC;CAChD,CAAC,CAsCD;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC;IACnB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC,CA6BD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,MAAM,GAAE,MAAW,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoE7B;AAGD,wBAAsB,eAAe,CAAC,EACpC,SAAS,EACT,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,GACN,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,GAAG,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC,CAsDxC;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAqBpF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAGxE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOtE;AAED,wBAAsB,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMrF;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAU7E;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC,CAOD;AAED,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CACxC,KAAK,CAAC;IACJ,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,EACF;IACE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,GAAG,IAAI,CAQT,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"horizon.integ.test.d.ts","sourceRoot":"","sources":["../../src/network/horizon.integ.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const config_1 = __importDefault(require("../config"));
|
|
7
|
+
const horizon_1 = require("./horizon");
|
|
8
|
+
describe("fetchAllOperations", () => {
|
|
9
|
+
beforeAll(() => {
|
|
10
|
+
config_1.default.setCoinConfig(() => ({
|
|
11
|
+
status: { type: "active" },
|
|
12
|
+
explorer: {
|
|
13
|
+
url: "https://stellar.coin.ledger.com",
|
|
14
|
+
fetchLimit: 10,
|
|
15
|
+
},
|
|
16
|
+
}));
|
|
17
|
+
});
|
|
18
|
+
it("fetch operations with limitations, set order to desc", async () => {
|
|
19
|
+
const addr = "GCOCZ3ODGW3YH6PPGMLGT3MORS5YBTVJCSL46TC2NMU2KCXGL52XLEZB";
|
|
20
|
+
const limit = 30;
|
|
21
|
+
const ops = await (0, horizon_1.fetchAllOperations)(addr, addr, "desc", "241343231793946722", limit);
|
|
22
|
+
expect(ops.length).toEqual(limit);
|
|
23
|
+
expect(ops[0].id).toEqual(`${addr}-241343231793946721-IN`);
|
|
24
|
+
expect(ops[29].id).toEqual(`${addr}-241343231793946692-IN`);
|
|
25
|
+
}, 10 * 1_000);
|
|
26
|
+
it("fetch operations without limitations, set order to desc", async () => {
|
|
27
|
+
const addr = "GCOCZ3ODGW3YH6PPGMLGT3MORS5YBTVJCSL46TC2NMU2KCXGL52XLEZB";
|
|
28
|
+
const ops = await (0, horizon_1.fetchAllOperations)(addr, addr, "desc", "241330913827401737");
|
|
29
|
+
expect(ops.length).toEqual(19);
|
|
30
|
+
expect(ops[0].id).toEqual(`${addr}-241330913827401736-IN`);
|
|
31
|
+
expect(ops[18].id).toEqual(`${addr}-241330845108273153-IN`);
|
|
32
|
+
}, 10 * 1_000);
|
|
33
|
+
it("fetch operations with limitations, set order to asc", async () => {
|
|
34
|
+
const addr = "GCOCZ3ODGW3YH6PPGMLGT3MORS5YBTVJCSL46TC2NMU2KCXGL52XLEZB";
|
|
35
|
+
const limit = 20;
|
|
36
|
+
const ops = await (0, horizon_1.fetchAllOperations)(addr, addr, "asc", "241343201729257475", limit);
|
|
37
|
+
expect(ops.length).toEqual(limit);
|
|
38
|
+
expect(ops[0].id).toEqual(`${addr}-241343201729257476-IN`);
|
|
39
|
+
expect(ops[19].id).toEqual(`${addr}-241343201729257495-IN`);
|
|
40
|
+
}, 10 * 1_000);
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=horizon.integ.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"horizon.integ.test.js","sourceRoot":"","sources":["../../src/network/horizon.integ.test.ts"],"names":[],"mappings":";;;;;AAAA,uDAA0D;AAC1D,uCAA+C;AAE/C,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,gBAAU,CAAC,aAAa,CACtB,GAAsB,EAAE,CAAC,CAAC;YACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,QAAQ,EAAE;gBACR,GAAG,EAAE,iCAAiC;gBACtC,UAAU,EAAE,EAAE;aACf;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CACA,sDAAsD,EACtD,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,0DAA0D,CAAC;QACxE,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAkB,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACtF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;IAC9D,CAAC,EACD,EAAE,GAAG,KAAK,CACX,CAAC;IAEF,EAAE,CACA,yDAAyD,EACzD,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,0DAA0D,CAAC;QACxE,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAkB,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;IAC9D,CAAC,EACD,EAAE,GAAG,KAAK,CACX,CAAC;IAEF,EAAE,CACA,qDAAqD,EACrD,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,0DAA0D,CAAC;QACxE,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAkB,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACrF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;IAC9D,CAAC,EACD,EAAE,GAAG,KAAK,CACX,CAAC;AACJ,CAAC,CAAC,CAAC"}
|