@ledgerhq/coin-module-boilerplate 4.8.0-nightly.8 → 4.8.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +21 -72
- package/lib/api/index.test.d.ts +2 -0
- package/lib/api/index.test.d.ts.map +1 -0
- package/lib/api/index.test.js +16 -0
- package/lib/api/index.test.js.map +1 -0
- package/lib/bridge/broadcast.test.d.ts +2 -0
- package/lib/bridge/broadcast.test.d.ts.map +1 -0
- package/lib/bridge/broadcast.test.js +35 -0
- package/lib/bridge/broadcast.test.js.map +1 -0
- package/lib/bridge/createTransaction.test.d.ts +2 -0
- package/lib/bridge/createTransaction.test.d.ts.map +1 -0
- package/lib/bridge/createTransaction.test.js +12 -0
- package/lib/bridge/createTransaction.test.js.map +1 -0
- package/lib/bridge/deviceTransactionConfig.test.d.ts +2 -0
- package/lib/bridge/deviceTransactionConfig.test.d.ts.map +1 -0
- package/lib/bridge/deviceTransactionConfig.test.js +22 -0
- package/lib/bridge/deviceTransactionConfig.test.js.map +1 -0
- package/lib/bridge/index.test.d.ts +2 -0
- package/lib/bridge/index.test.d.ts.map +1 -0
- package/lib/bridge/index.test.js +31 -0
- package/lib/bridge/index.test.js.map +1 -0
- package/lib/bridge/prepareTransaction.test.d.ts +2 -0
- package/lib/bridge/prepareTransaction.test.d.ts.map +1 -0
- package/lib/bridge/prepareTransaction.test.js +30 -0
- package/lib/bridge/prepareTransaction.test.js.map +1 -0
- package/lib-es/api/index.test.d.ts +2 -0
- package/lib-es/api/index.test.d.ts.map +1 -0
- package/lib-es/api/index.test.js +14 -0
- package/lib-es/api/index.test.js.map +1 -0
- package/lib-es/bridge/broadcast.test.d.ts +2 -0
- package/lib-es/bridge/broadcast.test.d.ts.map +1 -0
- package/lib-es/bridge/broadcast.test.js +33 -0
- package/lib-es/bridge/broadcast.test.js.map +1 -0
- package/lib-es/bridge/createTransaction.test.d.ts +2 -0
- package/lib-es/bridge/createTransaction.test.d.ts.map +1 -0
- package/lib-es/bridge/createTransaction.test.js +10 -0
- package/lib-es/bridge/createTransaction.test.js.map +1 -0
- package/lib-es/bridge/deviceTransactionConfig.test.d.ts +2 -0
- package/lib-es/bridge/deviceTransactionConfig.test.d.ts.map +1 -0
- package/lib-es/bridge/deviceTransactionConfig.test.js +17 -0
- package/lib-es/bridge/deviceTransactionConfig.test.js.map +1 -0
- package/lib-es/bridge/index.test.d.ts +2 -0
- package/lib-es/bridge/index.test.d.ts.map +1 -0
- package/lib-es/bridge/index.test.js +29 -0
- package/lib-es/bridge/index.test.js.map +1 -0
- package/lib-es/bridge/prepareTransaction.test.d.ts +2 -0
- package/lib-es/bridge/prepareTransaction.test.d.ts.map +1 -0
- package/lib-es/bridge/prepareTransaction.test.js +25 -0
- package/lib-es/bridge/prepareTransaction.test.js.map +1 -0
- package/package.json +9 -9
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/coin-module-boilerplate@4.8.0
|
|
2
|
+
> @ledgerhq/coin-module-boilerplate@4.8.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-module-boilerplate
|
|
3
3
|
> tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
|
|
4
4
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,83 +1,30 @@
|
|
|
1
1
|
# @ledgerhq/coin-module-boilerplate
|
|
2
2
|
|
|
3
|
-
## 4.8.0
|
|
3
|
+
## 4.8.0
|
|
4
4
|
|
|
5
|
-
###
|
|
6
|
-
|
|
7
|
-
- Updated dependencies [[`c96d73f`](https://github.com/LedgerHQ/ledger-live/commit/c96d73fed0a75a9c208f78d51c34b742703a7dda)]:
|
|
8
|
-
- @ledgerhq/coin-framework@6.7.0-nightly.8
|
|
9
|
-
|
|
10
|
-
## 4.8.0-nightly.7
|
|
11
|
-
|
|
12
|
-
### Patch Changes
|
|
13
|
-
|
|
14
|
-
- Updated dependencies [[`b4ceaff`](https://github.com/LedgerHQ/ledger-live/commit/b4ceaff2ecf68d8a14e09801c76ab0b014c45286), [`f392f69`](https://github.com/LedgerHQ/ledger-live/commit/f392f6912f445cc2f7cf4dfcfd030fa3da76f736), [`cbc0648`](https://github.com/LedgerHQ/ledger-live/commit/cbc064885d8e0459e40d327a2e5389204b3ec705)]:
|
|
15
|
-
- @ledgerhq/cryptoassets@13.31.0-nightly.7
|
|
16
|
-
- @ledgerhq/types-live@6.87.0-nightly.5
|
|
17
|
-
- @ledgerhq/live-env@2.19.0-nightly.2
|
|
18
|
-
- @ledgerhq/coin-framework@6.7.0-nightly.7
|
|
19
|
-
- @ledgerhq/live-network@2.0.20-nightly.3
|
|
20
|
-
|
|
21
|
-
## 4.8.0-nightly.6
|
|
22
|
-
|
|
23
|
-
### Patch Changes
|
|
24
|
-
|
|
25
|
-
- Updated dependencies [[`51995e9`](https://github.com/LedgerHQ/ledger-live/commit/51995e96a9e1fafe14c7cbe45ce0b1ec8ebd106b)]:
|
|
26
|
-
- @ledgerhq/types-live@6.87.0-nightly.4
|
|
27
|
-
- @ledgerhq/coin-framework@6.7.0-nightly.6
|
|
28
|
-
- @ledgerhq/cryptoassets@13.31.0-nightly.6
|
|
29
|
-
|
|
30
|
-
## 4.8.0-nightly.5
|
|
31
|
-
|
|
32
|
-
### Patch Changes
|
|
33
|
-
|
|
34
|
-
- Updated dependencies [[`cadf2e1`](https://github.com/LedgerHQ/ledger-live/commit/cadf2e1dfb09248d3f77d96f94ae774425dbca75)]:
|
|
35
|
-
- @ledgerhq/live-env@2.19.0-nightly.1
|
|
36
|
-
- @ledgerhq/coin-framework@6.7.0-nightly.5
|
|
37
|
-
- @ledgerhq/cryptoassets@13.31.0-nightly.5
|
|
38
|
-
- @ledgerhq/live-network@2.0.20-nightly.2
|
|
39
|
-
|
|
40
|
-
## 4.8.0-nightly.4
|
|
41
|
-
|
|
42
|
-
### Patch Changes
|
|
43
|
-
|
|
44
|
-
- Updated dependencies [[`7744980`](https://github.com/LedgerHQ/ledger-live/commit/774498090411f1a6d6c06395dda1fc7cd24adf24), [`759064d`](https://github.com/LedgerHQ/ledger-live/commit/759064d4815c636af2d73ba548a85b4f53e7b491)]:
|
|
45
|
-
- @ledgerhq/types-live@6.87.0-nightly.3
|
|
46
|
-
- @ledgerhq/errors@6.27.0-nightly.0
|
|
47
|
-
- @ledgerhq/coin-framework@6.7.0-nightly.4
|
|
48
|
-
- @ledgerhq/cryptoassets@13.31.0-nightly.4
|
|
49
|
-
- @ledgerhq/devices@8.6.2-nightly.0
|
|
50
|
-
- @ledgerhq/live-network@2.0.20-nightly.1
|
|
51
|
-
|
|
52
|
-
## 4.8.0-nightly.3
|
|
53
|
-
|
|
54
|
-
### Patch Changes
|
|
55
|
-
|
|
56
|
-
- Updated dependencies [[`8645f01`](https://github.com/LedgerHQ/ledger-live/commit/8645f016191d29a55f6b0ca6e4b1d1909fd35445)]:
|
|
57
|
-
- @ledgerhq/types-live@6.87.0-nightly.2
|
|
58
|
-
- @ledgerhq/coin-framework@6.7.0-nightly.3
|
|
59
|
-
- @ledgerhq/cryptoassets@13.31.0-nightly.3
|
|
5
|
+
### Minor Changes
|
|
60
6
|
|
|
61
|
-
|
|
7
|
+
- [#12015](https://github.com/LedgerHQ/ledger-live/pull/12015) [`03af552`](https://github.com/LedgerHQ/ledger-live/commit/03af552b621e19e31747a65b1870dfe8d3bb005b) Thanks [@Justkant](https://github.com/Justkant)! - feat: new signRawTransaction to support any XRP transaction with wallet-api
|
|
62
8
|
|
|
63
9
|
### Patch Changes
|
|
64
10
|
|
|
65
|
-
- Updated dependencies [[`c6a676f`](https://github.com/LedgerHQ/ledger-live/commit/c6a676ff80581ac19b896adf44d54812983b72da), [`565da80`](https://github.com/LedgerHQ/ledger-live/commit/565da807b1ebbfc830fd0e47b3d8856f88d410a6)]:
|
|
66
|
-
- @ledgerhq/
|
|
67
|
-
- @ledgerhq/
|
|
11
|
+
- Updated dependencies [[`ea16f59`](https://github.com/LedgerHQ/ledger-live/commit/ea16f592e85019a1b77287a7f2b975c6fcffc74c), [`b88faa1`](https://github.com/LedgerHQ/ledger-live/commit/b88faa18e2f5cd309b54fc3157a44db606846cc5), [`cfe65ca`](https://github.com/LedgerHQ/ledger-live/commit/cfe65cafa268be4e53197ee163ce78f28ed72592), [`a9aacdb`](https://github.com/LedgerHQ/ledger-live/commit/a9aacdb330700f0a294833f7d77de17f179229b2), [`3979c07`](https://github.com/LedgerHQ/ledger-live/commit/3979c0715e4f54165c89d00ebe1441e064e1a110), [`f1f3845`](https://github.com/LedgerHQ/ledger-live/commit/f1f3845942e4cbce9c585dc65f6170ddbc319f19), [`c6a676f`](https://github.com/LedgerHQ/ledger-live/commit/c6a676ff80581ac19b896adf44d54812983b72da), [`b5fc1bd`](https://github.com/LedgerHQ/ledger-live/commit/b5fc1bd28fff091241905fec5ff8dc8af4c99b79), [`03af552`](https://github.com/LedgerHQ/ledger-live/commit/03af552b621e19e31747a65b1870dfe8d3bb005b), [`89ac0ed`](https://github.com/LedgerHQ/ledger-live/commit/89ac0eddc145dcf5c7cf240aa8be4301372c8f33), [`565da80`](https://github.com/LedgerHQ/ledger-live/commit/565da807b1ebbfc830fd0e47b3d8856f88d410a6), [`8645f01`](https://github.com/LedgerHQ/ledger-live/commit/8645f016191d29a55f6b0ca6e4b1d1909fd35445), [`1d9860c`](https://github.com/LedgerHQ/ledger-live/commit/1d9860cd1688131d391579955b40c6710b667db8), [`d2b12e7`](https://github.com/LedgerHQ/ledger-live/commit/d2b12e70bba9e772d078d1fe4d9c537b8d316a87), [`db25e21`](https://github.com/LedgerHQ/ledger-live/commit/db25e212b87dea426b153c6f1d988cead63c8c46), [`c8dbf40`](https://github.com/LedgerHQ/ledger-live/commit/c8dbf402268359e225a94782420111e786f875fa), [`cab7d97`](https://github.com/LedgerHQ/ledger-live/commit/cab7d9794e7babb8220c6d339fb08e618e3d4202)]:
|
|
12
|
+
- @ledgerhq/cryptoassets@13.31.0
|
|
13
|
+
- @ledgerhq/types-live@6.87.0
|
|
14
|
+
- @ledgerhq/coin-framework@6.7.0
|
|
15
|
+
- @ledgerhq/live-env@2.19.0
|
|
16
|
+
- @ledgerhq/live-network@2.0.20
|
|
68
17
|
|
|
69
|
-
## 4.8.0-
|
|
18
|
+
## 4.8.0-next.1
|
|
70
19
|
|
|
71
20
|
### Patch Changes
|
|
72
21
|
|
|
73
|
-
- Updated dependencies [[`
|
|
74
|
-
- @ledgerhq/
|
|
75
|
-
- @ledgerhq/
|
|
76
|
-
- @ledgerhq/
|
|
77
|
-
- @ledgerhq/coin-framework@6.7.0-nightly.1
|
|
78
|
-
- @ledgerhq/live-network@2.0.20-nightly.0
|
|
22
|
+
- Updated dependencies [[`b88faa1`](https://github.com/LedgerHQ/ledger-live/commit/b88faa18e2f5cd309b54fc3157a44db606846cc5)]:
|
|
23
|
+
- @ledgerhq/types-live@6.87.0-next.1
|
|
24
|
+
- @ledgerhq/coin-framework@6.7.0-next.1
|
|
25
|
+
- @ledgerhq/cryptoassets@13.31.0-next.1
|
|
79
26
|
|
|
80
|
-
## 4.8.0-
|
|
27
|
+
## 4.8.0-next.0
|
|
81
28
|
|
|
82
29
|
### Minor Changes
|
|
83
30
|
|
|
@@ -85,10 +32,12 @@
|
|
|
85
32
|
|
|
86
33
|
### Patch Changes
|
|
87
34
|
|
|
88
|
-
- Updated dependencies [[`cfe65ca`](https://github.com/LedgerHQ/ledger-live/commit/cfe65cafa268be4e53197ee163ce78f28ed72592), [`b5fc1bd`](https://github.com/LedgerHQ/ledger-live/commit/b5fc1bd28fff091241905fec5ff8dc8af4c99b79), [`03af552`](https://github.com/LedgerHQ/ledger-live/commit/03af552b621e19e31747a65b1870dfe8d3bb005b), [`d2b12e7`](https://github.com/LedgerHQ/ledger-live/commit/d2b12e70bba9e772d078d1fe4d9c537b8d316a87), [`cab7d97`](https://github.com/LedgerHQ/ledger-live/commit/cab7d9794e7babb8220c6d339fb08e618e3d4202)]:
|
|
89
|
-
- @ledgerhq/cryptoassets@13.31.0-
|
|
90
|
-
- @ledgerhq/types-live@6.87.0-
|
|
91
|
-
- @ledgerhq/coin-framework@6.7.0-
|
|
35
|
+
- Updated dependencies [[`ea16f59`](https://github.com/LedgerHQ/ledger-live/commit/ea16f592e85019a1b77287a7f2b975c6fcffc74c), [`cfe65ca`](https://github.com/LedgerHQ/ledger-live/commit/cfe65cafa268be4e53197ee163ce78f28ed72592), [`a9aacdb`](https://github.com/LedgerHQ/ledger-live/commit/a9aacdb330700f0a294833f7d77de17f179229b2), [`3979c07`](https://github.com/LedgerHQ/ledger-live/commit/3979c0715e4f54165c89d00ebe1441e064e1a110), [`f1f3845`](https://github.com/LedgerHQ/ledger-live/commit/f1f3845942e4cbce9c585dc65f6170ddbc319f19), [`c6a676f`](https://github.com/LedgerHQ/ledger-live/commit/c6a676ff80581ac19b896adf44d54812983b72da), [`b5fc1bd`](https://github.com/LedgerHQ/ledger-live/commit/b5fc1bd28fff091241905fec5ff8dc8af4c99b79), [`03af552`](https://github.com/LedgerHQ/ledger-live/commit/03af552b621e19e31747a65b1870dfe8d3bb005b), [`89ac0ed`](https://github.com/LedgerHQ/ledger-live/commit/89ac0eddc145dcf5c7cf240aa8be4301372c8f33), [`565da80`](https://github.com/LedgerHQ/ledger-live/commit/565da807b1ebbfc830fd0e47b3d8856f88d410a6), [`8645f01`](https://github.com/LedgerHQ/ledger-live/commit/8645f016191d29a55f6b0ca6e4b1d1909fd35445), [`1d9860c`](https://github.com/LedgerHQ/ledger-live/commit/1d9860cd1688131d391579955b40c6710b667db8), [`d2b12e7`](https://github.com/LedgerHQ/ledger-live/commit/d2b12e70bba9e772d078d1fe4d9c537b8d316a87), [`db25e21`](https://github.com/LedgerHQ/ledger-live/commit/db25e212b87dea426b153c6f1d988cead63c8c46), [`c8dbf40`](https://github.com/LedgerHQ/ledger-live/commit/c8dbf402268359e225a94782420111e786f875fa), [`cab7d97`](https://github.com/LedgerHQ/ledger-live/commit/cab7d9794e7babb8220c6d339fb08e618e3d4202)]:
|
|
36
|
+
- @ledgerhq/cryptoassets@13.31.0-next.0
|
|
37
|
+
- @ledgerhq/types-live@6.87.0-next.0
|
|
38
|
+
- @ledgerhq/coin-framework@6.7.0-next.0
|
|
39
|
+
- @ledgerhq/live-env@2.19.0-next.0
|
|
40
|
+
- @ledgerhq/live-network@2.0.20-next.0
|
|
92
41
|
|
|
93
42
|
## 4.7.3
|
|
94
43
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const _1 = require(".");
|
|
4
|
+
describe("createApi", () => {
|
|
5
|
+
it("should return every api methods", () => {
|
|
6
|
+
const api = (0, _1.createApi)({});
|
|
7
|
+
expect(api.broadcast).toBeDefined();
|
|
8
|
+
expect(api.combine).toBeDefined();
|
|
9
|
+
expect(api.craftTransaction).toBeDefined();
|
|
10
|
+
expect(api.estimateFees).toBeDefined();
|
|
11
|
+
expect(api.getBalance).toBeDefined();
|
|
12
|
+
expect(api.lastBlock).toBeDefined();
|
|
13
|
+
expect(api.listOperations).toBeDefined();
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":";;AAAA,wBAA8B;AAG9B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,IAAA,YAAS,EAAC,EAAuB,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.test.d.ts","sourceRoot":"","sources":["../../src/bridge/broadcast.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const broadcast_1 = require("./broadcast");
|
|
4
|
+
jest.mock("@ledgerhq/coin-framework/operation");
|
|
5
|
+
jest.mock("../common-logic");
|
|
6
|
+
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
7
|
+
const common_logic_1 = require("../common-logic");
|
|
8
|
+
describe("broadcast", () => {
|
|
9
|
+
let patchOperationSpy;
|
|
10
|
+
let broadcastSpy;
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
patchOperationSpy = jest.spyOn({ patchOperationWithHash: operation_1.patchOperationWithHash }, "patchOperationWithHash");
|
|
13
|
+
broadcastSpy = jest.spyOn({ broadcastLogic: common_logic_1.broadcast }, "broadcastLogic");
|
|
14
|
+
broadcastSpy.mockResolvedValue("hash");
|
|
15
|
+
});
|
|
16
|
+
it("should broadcast", () => {
|
|
17
|
+
(0, broadcast_1.broadcast)({
|
|
18
|
+
signedOperation: {
|
|
19
|
+
signature: undefined,
|
|
20
|
+
operation: undefined,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
expect(common_logic_1.broadcast).toHaveBeenCalledTimes(1);
|
|
24
|
+
});
|
|
25
|
+
it("should patch operation with hash", () => {
|
|
26
|
+
(0, broadcast_1.broadcast)({
|
|
27
|
+
signedOperation: {
|
|
28
|
+
signature: undefined,
|
|
29
|
+
operation: undefined,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
expect(patchOperationSpy).toHaveBeenCalledWith(undefined, "hash");
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=broadcast.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.test.js","sourceRoot":"","sources":["../../src/bridge/broadcast.test.ts"],"names":[],"mappings":";;AACA,2CAAwC;AACxC,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;AAChD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,kEAA4E;AAC5E,kDAA8D;AAE9D,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,iBAAmC,CAAC;IACxC,IAAI,YAA8B,CAAC;IACnC,UAAU,CAAC,GAAG,EAAE;QACd,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,sBAAsB,EAAtB,kCAAsB,EAAE,EAAE,wBAAwB,CAAC,CAAC;QACrF,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,EAAd,wBAAc,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAChE,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,IAAA,qBAAS,EAAC;YACR,eAAe,EAAE;gBACf,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;aACrB;SACkC,CAAC,CAAC;QACvC,MAAM,CAAC,wBAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,IAAA,qBAAS,EAAC;YACR,eAAe,EAAE;gBACf,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;aACrB;SACkC,CAAC,CAAC;QACvC,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/createTransaction.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const createTransaction_1 = require("./createTransaction");
|
|
4
|
+
describe("createTransaction", () => {
|
|
5
|
+
it("should create a 0 amount transaction", () => {
|
|
6
|
+
expect((0, createTransaction_1.createTransaction)({}).amount.toNumber()).toEqual(0);
|
|
7
|
+
});
|
|
8
|
+
it("should create a transaction with boilerplate family", () => {
|
|
9
|
+
expect((0, createTransaction_1.createTransaction)({}).family).toEqual("boilerplate");
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=createTransaction.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/createTransaction.test.ts"],"names":[],"mappings":";;AACA,2DAAwD;AAExD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,IAAA,qCAAiB,EAAC,EAA0B,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,IAAA,qCAAiB,EAAC,EAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.test.d.ts","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
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 deviceTransactionConfig_1 = __importDefault(require("./deviceTransactionConfig"));
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
describe("getDeviceTransactionConfig", () => {
|
|
9
|
+
it("should return amount field when it's more than 0", () => {
|
|
10
|
+
expect((0, deviceTransactionConfig_1.default)({
|
|
11
|
+
transaction: {},
|
|
12
|
+
status: { amount: new bignumber_js_1.default(1), estimatedFees: new bignumber_js_1.default(0) },
|
|
13
|
+
})[0]).toEqual({ type: "amount", label: "Amount" });
|
|
14
|
+
});
|
|
15
|
+
it("should return fee field when it's more than 0", () => {
|
|
16
|
+
expect((0, deviceTransactionConfig_1.default)({
|
|
17
|
+
transaction: {},
|
|
18
|
+
status: { amount: new bignumber_js_1.default(0), estimatedFees: new bignumber_js_1.default(1) },
|
|
19
|
+
})[0]).toEqual({ type: "fees", label: "Fees" });
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=deviceTransactionConfig.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.test.js","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.test.ts"],"names":[],"mappings":";;;;;AAAA,wFAAmE;AACnE,gEAAqC;AAErC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CACJ,IAAA,iCAA0B,EAAC;YACzB,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE;SAC/D,CAAC,CAAC,CAAC,CAAC,CACb,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CACJ,IAAA,iCAA0B,EAAC;YACzB,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE;SAC/D,CAAC,CAAC,CAAC,CAAC,CACb,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/bridge/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const _1 = require(".");
|
|
4
|
+
describe("createBridges", () => {
|
|
5
|
+
it("should return both bridges interface", () => {
|
|
6
|
+
const bridges = (0, _1.createBridges)(undefined, {});
|
|
7
|
+
expect(bridges.accountBridge).toBeDefined();
|
|
8
|
+
expect(bridges.currencyBridge).toBeDefined();
|
|
9
|
+
});
|
|
10
|
+
it("should have a currency bridge with required methods", () => {
|
|
11
|
+
const bridges = (0, _1.createBridges)(undefined, {});
|
|
12
|
+
expect(bridges.currencyBridge).toBeDefined();
|
|
13
|
+
expect(bridges.currencyBridge.preload).toBeDefined();
|
|
14
|
+
expect(bridges.currencyBridge.hydrate).toBeDefined();
|
|
15
|
+
expect(bridges.currencyBridge.scanAccounts).toBeDefined();
|
|
16
|
+
});
|
|
17
|
+
it("should have an account bridge with required methods", () => {
|
|
18
|
+
const bridges = (0, _1.createBridges)(undefined, {});
|
|
19
|
+
expect(bridges.accountBridge).toBeDefined();
|
|
20
|
+
expect(bridges.accountBridge.broadcast).toBeDefined();
|
|
21
|
+
expect(bridges.accountBridge.createTransaction).toBeDefined();
|
|
22
|
+
expect(bridges.accountBridge.estimateMaxSpendable).toBeDefined();
|
|
23
|
+
expect(bridges.accountBridge.getTransactionStatus).toBeDefined();
|
|
24
|
+
expect(bridges.accountBridge.prepareTransaction).toBeDefined();
|
|
25
|
+
expect(bridges.accountBridge.receive).toBeDefined();
|
|
26
|
+
expect(bridges.accountBridge.signOperation).toBeDefined();
|
|
27
|
+
expect(bridges.accountBridge.sync).toBeDefined();
|
|
28
|
+
expect(bridges.accountBridge.updateTransaction).toBeDefined();
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/bridge/index.test.ts"],"names":[],"mappings":";;AAAA,wBAAkC;AAElC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,IAAA,gBAAa,EAAC,SAAgB,EAAE,EAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,OAAO,GAAG,IAAA,gBAAa,EAAC,SAAgB,EAAE,EAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,OAAO,GAAG,IAAA,gBAAa,EAAC,SAAgB,EAAE,EAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
7
|
+
const common_logic_1 = require("../common-logic");
|
|
8
|
+
const node_1 = require("../network/node");
|
|
9
|
+
const prepareTransaction_1 = require("./prepareTransaction");
|
|
10
|
+
jest.mock("../network/node");
|
|
11
|
+
jest.mock("../common-logic");
|
|
12
|
+
describe("prepareTransaction", () => {
|
|
13
|
+
let estimateFeesSpy;
|
|
14
|
+
let getNextSequenceSpy;
|
|
15
|
+
let craftTransactionSpy;
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
getNextSequenceSpy = jest.spyOn({ getNextSequence: node_1.getNextSequence }, "getNextSequence");
|
|
18
|
+
estimateFeesSpy = jest.spyOn({ estimateFees: common_logic_1.estimateFees }, "estimateFees");
|
|
19
|
+
craftTransactionSpy = jest.spyOn({ craftTransaction: common_logic_1.craftTransaction }, "craftTransaction");
|
|
20
|
+
craftTransactionSpy.mockReturnValue({ serializedTransaction: "serialized" });
|
|
21
|
+
});
|
|
22
|
+
it("should update fee field if it's different", async () => {
|
|
23
|
+
getNextSequenceSpy.mockResolvedValue(42);
|
|
24
|
+
const oldTx = { fee: new bignumber_js_1.default(0) };
|
|
25
|
+
estimateFeesSpy.mockResolvedValue(BigInt(1));
|
|
26
|
+
const newTx = await (0, prepareTransaction_1.prepareTransaction)({}, oldTx);
|
|
27
|
+
expect(newTx.fee).toEqual(new bignumber_js_1.default(1));
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=prepareTransaction.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,kDAAiE;AACjE,0CAAkD;AAClD,6DAA0D;AAI1D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE7B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,eAAiC,CAAC;IACtC,IAAI,kBAAoC,CAAC;IACzC,IAAI,mBAAqC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,eAAe,EAAf,sBAAe,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACxE,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAZ,2BAAY,EAAE,EAAE,cAAc,CAAC,CAAC;QAC/D,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAhB,+BAAgB,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC3E,mBAAmB,CAAC,eAAe,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAA,uCAAkB,EAAC,EAAa,EAAE,KAAoB,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createApi } from ".";
|
|
2
|
+
describe("createApi", () => {
|
|
3
|
+
it("should return every api methods", () => {
|
|
4
|
+
const api = createApi({});
|
|
5
|
+
expect(api.broadcast).toBeDefined();
|
|
6
|
+
expect(api.combine).toBeDefined();
|
|
7
|
+
expect(api.craftTransaction).toBeDefined();
|
|
8
|
+
expect(api.estimateFees).toBeDefined();
|
|
9
|
+
expect(api.getBalance).toBeDefined();
|
|
10
|
+
expect(api.lastBlock).toBeDefined();
|
|
11
|
+
expect(api.listOperations).toBeDefined();
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAG9B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,SAAS,CAAC,EAAuB,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.test.d.ts","sourceRoot":"","sources":["../../src/bridge/broadcast.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { broadcast } from "./broadcast";
|
|
2
|
+
jest.mock("@ledgerhq/coin-framework/operation");
|
|
3
|
+
jest.mock("../common-logic");
|
|
4
|
+
import { patchOperationWithHash } from "@ledgerhq/coin-framework/operation";
|
|
5
|
+
import { broadcast as broadcastLogic } from "../common-logic";
|
|
6
|
+
describe("broadcast", () => {
|
|
7
|
+
let patchOperationSpy;
|
|
8
|
+
let broadcastSpy;
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
patchOperationSpy = jest.spyOn({ patchOperationWithHash }, "patchOperationWithHash");
|
|
11
|
+
broadcastSpy = jest.spyOn({ broadcastLogic }, "broadcastLogic");
|
|
12
|
+
broadcastSpy.mockResolvedValue("hash");
|
|
13
|
+
});
|
|
14
|
+
it("should broadcast", () => {
|
|
15
|
+
broadcast({
|
|
16
|
+
signedOperation: {
|
|
17
|
+
signature: undefined,
|
|
18
|
+
operation: undefined,
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
expect(broadcastLogic).toHaveBeenCalledTimes(1);
|
|
22
|
+
});
|
|
23
|
+
it("should patch operation with hash", () => {
|
|
24
|
+
broadcast({
|
|
25
|
+
signedOperation: {
|
|
26
|
+
signature: undefined,
|
|
27
|
+
operation: undefined,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
expect(patchOperationSpy).toHaveBeenCalledWith(undefined, "hash");
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=broadcast.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.test.js","sourceRoot":"","sources":["../../src/bridge/broadcast.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;AAChD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE9D,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,iBAAmC,CAAC;IACxC,IAAI,YAA8B,CAAC;IACnC,UAAU,CAAC,GAAG,EAAE;QACd,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,sBAAsB,EAAE,EAAE,wBAAwB,CAAC,CAAC;QACrF,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAChE,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,SAAS,CAAC;YACR,eAAe,EAAE;gBACf,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;aACrB;SACkC,CAAC,CAAC;QACvC,MAAM,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,SAAS,CAAC;YACR,eAAe,EAAE;gBACf,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;aACrB;SACkC,CAAC,CAAC;QACvC,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/createTransaction.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createTransaction } from "./createTransaction";
|
|
2
|
+
describe("createTransaction", () => {
|
|
3
|
+
it("should create a 0 amount transaction", () => {
|
|
4
|
+
expect(createTransaction({}).amount.toNumber()).toEqual(0);
|
|
5
|
+
});
|
|
6
|
+
it("should create a transaction with boilerplate family", () => {
|
|
7
|
+
expect(createTransaction({}).family).toEqual("boilerplate");
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=createTransaction.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/createTransaction.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,iBAAiB,CAAC,EAA0B,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,iBAAiB,CAAC,EAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.test.d.ts","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import getDeviceTransactionConfig from "./deviceTransactionConfig";
|
|
2
|
+
import BigNumber from "bignumber.js";
|
|
3
|
+
describe("getDeviceTransactionConfig", () => {
|
|
4
|
+
it("should return amount field when it's more than 0", () => {
|
|
5
|
+
expect(getDeviceTransactionConfig({
|
|
6
|
+
transaction: {},
|
|
7
|
+
status: { amount: new BigNumber(1), estimatedFees: new BigNumber(0) },
|
|
8
|
+
})[0]).toEqual({ type: "amount", label: "Amount" });
|
|
9
|
+
});
|
|
10
|
+
it("should return fee field when it's more than 0", () => {
|
|
11
|
+
expect(getDeviceTransactionConfig({
|
|
12
|
+
transaction: {},
|
|
13
|
+
status: { amount: new BigNumber(0), estimatedFees: new BigNumber(1) },
|
|
14
|
+
})[0]).toEqual({ type: "fees", label: "Fees" });
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=deviceTransactionConfig.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.test.js","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.test.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,MAAM,2BAA2B,CAAC;AACnE,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CACJ,0BAA0B,CAAC;YACzB,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;SAC/D,CAAC,CAAC,CAAC,CAAC,CACb,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CACJ,0BAA0B,CAAC;YACzB,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;SAC/D,CAAC,CAAC,CAAC,CAAC,CACb,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/bridge/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createBridges } from ".";
|
|
2
|
+
describe("createBridges", () => {
|
|
3
|
+
it("should return both bridges interface", () => {
|
|
4
|
+
const bridges = createBridges(undefined, {});
|
|
5
|
+
expect(bridges.accountBridge).toBeDefined();
|
|
6
|
+
expect(bridges.currencyBridge).toBeDefined();
|
|
7
|
+
});
|
|
8
|
+
it("should have a currency bridge with required methods", () => {
|
|
9
|
+
const bridges = createBridges(undefined, {});
|
|
10
|
+
expect(bridges.currencyBridge).toBeDefined();
|
|
11
|
+
expect(bridges.currencyBridge.preload).toBeDefined();
|
|
12
|
+
expect(bridges.currencyBridge.hydrate).toBeDefined();
|
|
13
|
+
expect(bridges.currencyBridge.scanAccounts).toBeDefined();
|
|
14
|
+
});
|
|
15
|
+
it("should have an account bridge with required methods", () => {
|
|
16
|
+
const bridges = createBridges(undefined, {});
|
|
17
|
+
expect(bridges.accountBridge).toBeDefined();
|
|
18
|
+
expect(bridges.accountBridge.broadcast).toBeDefined();
|
|
19
|
+
expect(bridges.accountBridge.createTransaction).toBeDefined();
|
|
20
|
+
expect(bridges.accountBridge.estimateMaxSpendable).toBeDefined();
|
|
21
|
+
expect(bridges.accountBridge.getTransactionStatus).toBeDefined();
|
|
22
|
+
expect(bridges.accountBridge.prepareTransaction).toBeDefined();
|
|
23
|
+
expect(bridges.accountBridge.receive).toBeDefined();
|
|
24
|
+
expect(bridges.accountBridge.signOperation).toBeDefined();
|
|
25
|
+
expect(bridges.accountBridge.sync).toBeDefined();
|
|
26
|
+
expect(bridges.accountBridge.updateTransaction).toBeDefined();
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/bridge/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAElC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,SAAgB,EAAE,EAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,OAAO,GAAG,aAAa,CAAC,SAAgB,EAAE,EAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,OAAO,GAAG,aAAa,CAAC,SAAgB,EAAE,EAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { craftTransaction, estimateFees } from "../common-logic";
|
|
3
|
+
import { getNextSequence } from "../network/node";
|
|
4
|
+
import { prepareTransaction } from "./prepareTransaction";
|
|
5
|
+
jest.mock("../network/node");
|
|
6
|
+
jest.mock("../common-logic");
|
|
7
|
+
describe("prepareTransaction", () => {
|
|
8
|
+
let estimateFeesSpy;
|
|
9
|
+
let getNextSequenceSpy;
|
|
10
|
+
let craftTransactionSpy;
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
getNextSequenceSpy = jest.spyOn({ getNextSequence }, "getNextSequence");
|
|
13
|
+
estimateFeesSpy = jest.spyOn({ estimateFees }, "estimateFees");
|
|
14
|
+
craftTransactionSpy = jest.spyOn({ craftTransaction }, "craftTransaction");
|
|
15
|
+
craftTransactionSpy.mockReturnValue({ serializedTransaction: "serialized" });
|
|
16
|
+
});
|
|
17
|
+
it("should update fee field if it's different", async () => {
|
|
18
|
+
getNextSequenceSpy.mockResolvedValue(42);
|
|
19
|
+
const oldTx = { fee: new BigNumber(0) };
|
|
20
|
+
estimateFeesSpy.mockResolvedValue(BigInt(1));
|
|
21
|
+
const newTx = await prepareTransaction({}, oldTx);
|
|
22
|
+
expect(newTx.fee).toEqual(new BigNumber(1));
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=prepareTransaction.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE7B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,eAAiC,CAAC;IACtC,IAAI,kBAAoC,CAAC;IACzC,IAAI,mBAAqC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACxE,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,cAAc,CAAC,CAAC;QAC/D,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC3E,mBAAmB,CAAC,eAAe,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,EAAa,EAAE,KAAoB,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-module-boilerplate",
|
|
3
|
-
"version": "4.8.0
|
|
3
|
+
"version": "4.8.0",
|
|
4
4
|
"description": "Boilerplate coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -101,13 +101,13 @@
|
|
|
101
101
|
"bignumber.js": "^9.1.2",
|
|
102
102
|
"invariant": "^2.2.4",
|
|
103
103
|
"rxjs": "^7.8.1",
|
|
104
|
-
"@ledgerhq/coin-framework": "^6.7.0
|
|
105
|
-
"@ledgerhq/cryptoassets": "^13.31.0
|
|
106
|
-
"@ledgerhq/devices": "8.6.
|
|
107
|
-
"@ledgerhq/errors": "^6.
|
|
108
|
-
"@ledgerhq/live-env": "^2.19.0
|
|
109
|
-
"@ledgerhq/live-network": "^2.0.20
|
|
110
|
-
"@ledgerhq/types-live": "^6.87.0
|
|
104
|
+
"@ledgerhq/coin-framework": "^6.7.0",
|
|
105
|
+
"@ledgerhq/cryptoassets": "^13.31.0",
|
|
106
|
+
"@ledgerhq/devices": "8.6.1",
|
|
107
|
+
"@ledgerhq/errors": "^6.26.0",
|
|
108
|
+
"@ledgerhq/live-env": "^2.19.0",
|
|
109
|
+
"@ledgerhq/live-network": "^2.0.20",
|
|
110
|
+
"@ledgerhq/types-live": "^6.87.0"
|
|
111
111
|
},
|
|
112
112
|
"devDependencies": {
|
|
113
113
|
"@types/invariant": "^2.2.37",
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"jest": "^29.7.0",
|
|
118
118
|
"ts-jest": "^29.1.1",
|
|
119
119
|
"typescript": "^5.4.5",
|
|
120
|
-
"@ledgerhq/types-cryptoassets": "^7.29.0
|
|
120
|
+
"@ledgerhq/types-cryptoassets": "^7.29.0",
|
|
121
121
|
"@ledgerhq/disable-network-setup": "^0.0.0"
|
|
122
122
|
},
|
|
123
123
|
"scripts": {
|