@ledgerhq/coin-canton 0.8.0 → 0.9.0-nightly.1
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 +20 -0
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.js +3 -0
- package/lib/api/index.js.map +1 -1
- package/lib/bridge/onboard.d.ts +1 -1
- package/lib/bridge/onboard.d.ts.map +1 -1
- package/lib/bridge/onboard.js +23 -9
- package/lib/bridge/onboard.js.map +1 -1
- package/lib/bridge/sync.d.ts.map +1 -1
- package/lib/bridge/sync.js +4 -2
- package/lib/bridge/sync.js.map +1 -1
- package/lib-es/api/index.d.ts.map +1 -1
- package/lib-es/api/index.js +3 -0
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/bridge/onboard.d.ts +1 -1
- package/lib-es/bridge/onboard.d.ts.map +1 -1
- package/lib-es/bridge/onboard.js +21 -7
- package/lib-es/bridge/onboard.js.map +1 -1
- package/lib-es/bridge/sync.d.ts.map +1 -1
- package/lib-es/bridge/sync.js +5 -3
- package/lib-es/bridge/sync.js.map +1 -1
- package/package.json +6 -6
- package/src/api/index.ts +4 -0
- package/src/bridge/onboard.test.ts +4 -4
- package/src/bridge/onboard.ts +26 -7
- package/src/bridge/sync.test.ts +1 -1
- package/src/bridge/sync.ts +5 -3
- package/lib/api/getBalance.integ.test.d.ts +0 -2
- package/lib/api/getBalance.integ.test.d.ts.map +0 -1
- package/lib/api/getBalance.integ.test.js +0 -28
- package/lib/api/getBalance.integ.test.js.map +0 -1
- package/lib/api/index.test.d.ts +0 -2
- package/lib/api/index.test.d.ts.map +0 -1
- package/lib/api/index.test.js +0 -16
- package/lib/api/index.test.js.map +0 -1
- package/lib/api/lastBlock.integ.test.d.ts +0 -2
- package/lib/api/lastBlock.integ.test.d.ts.map +0 -1
- package/lib/api/lastBlock.integ.test.js +0 -22
- package/lib/api/lastBlock.integ.test.js.map +0 -1
- package/lib/api/listOperations.integ.test.d.ts +0 -2
- package/lib/api/listOperations.integ.test.d.ts.map +0 -1
- package/lib/api/listOperations.integ.test.js +0 -24
- package/lib/api/listOperations.integ.test.js.map +0 -1
- package/lib/bridge/broadcast.test.d.ts +0 -2
- package/lib/bridge/broadcast.test.d.ts.map +0 -1
- package/lib/bridge/broadcast.test.js +0 -44
- package/lib/bridge/broadcast.test.js.map +0 -1
- package/lib/bridge/createTransaction.test.d.ts +0 -2
- package/lib/bridge/createTransaction.test.d.ts.map +0 -1
- package/lib/bridge/createTransaction.test.js +0 -12
- package/lib/bridge/createTransaction.test.js.map +0 -1
- package/lib/bridge/deviceTransactionConfig.test.d.ts +0 -2
- package/lib/bridge/deviceTransactionConfig.test.d.ts.map +0 -1
- package/lib/bridge/deviceTransactionConfig.test.js +0 -22
- package/lib/bridge/deviceTransactionConfig.test.js.map +0 -1
- package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
- package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
- package/lib/bridge/getTransactionStatus.test.js +0 -365
- package/lib/bridge/getTransactionStatus.test.js.map +0 -1
- package/lib/bridge/index.test.d.ts +0 -2
- package/lib/bridge/index.test.d.ts.map +0 -1
- package/lib/bridge/index.test.js +0 -31
- package/lib/bridge/index.test.js.map +0 -1
- package/lib/bridge/onboard.integ.test.d.ts +0 -2
- package/lib/bridge/onboard.integ.test.d.ts.map +0 -1
- package/lib/bridge/onboard.integ.test.js +0 -182
- package/lib/bridge/onboard.integ.test.js.map +0 -1
- package/lib/bridge/onboard.test.d.ts +0 -2
- package/lib/bridge/onboard.test.d.ts.map +0 -1
- package/lib/bridge/onboard.test.js +0 -84
- package/lib/bridge/onboard.test.js.map +0 -1
- package/lib/bridge/prepareTransaction.test.d.ts +0 -2
- package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
- package/lib/bridge/prepareTransaction.test.js +0 -42
- package/lib/bridge/prepareTransaction.test.js.map +0 -1
- package/lib/bridge/sync.integ.test.d.ts +0 -2
- package/lib/bridge/sync.integ.test.d.ts.map +0 -1
- package/lib/bridge/sync.integ.test.js +0 -198
- package/lib/bridge/sync.integ.test.js.map +0 -1
- package/lib/bridge/sync.test.d.ts +0 -2
- package/lib/bridge/sync.test.d.ts.map +0 -1
- package/lib/bridge/sync.test.js +0 -201
- package/lib/bridge/sync.test.js.map +0 -1
- package/lib/common-logic/account/getBalance.unit.test.d.ts +0 -2
- package/lib/common-logic/account/getBalance.unit.test.d.ts.map +0 -1
- package/lib/common-logic/account/getBalance.unit.test.js +0 -91
- package/lib/common-logic/account/getBalance.unit.test.js.map +0 -1
- package/lib/common-logic/history/lastBlock.test.d.ts +0 -2
- package/lib/common-logic/history/lastBlock.test.d.ts.map +0 -1
- package/lib/common-logic/history/lastBlock.test.js +0 -46
- package/lib/common-logic/history/lastBlock.test.js.map +0 -1
- package/lib/common-logic/transaction/broadcast.test.d.ts +0 -2
- package/lib/common-logic/transaction/broadcast.test.d.ts.map +0 -1
- package/lib/common-logic/transaction/broadcast.test.js +0 -71
- package/lib/common-logic/transaction/broadcast.test.js.map +0 -1
- package/lib/common-logic/transaction/combine.test.d.ts +0 -2
- package/lib/common-logic/transaction/combine.test.d.ts.map +0 -1
- package/lib/common-logic/transaction/combine.test.js +0 -18
- package/lib/common-logic/transaction/combine.test.js.map +0 -1
- package/lib/common-logic/transaction/estimateFees.test.d.ts +0 -2
- package/lib/common-logic/transaction/estimateFees.test.d.ts.map +0 -1
- package/lib/common-logic/transaction/estimateFees.test.js +0 -72
- package/lib/common-logic/transaction/estimateFees.test.js.map +0 -1
- package/lib/common-logic/utils.test.d.ts +0 -2
- package/lib/common-logic/utils.test.d.ts.map +0 -1
- package/lib/common-logic/utils.test.js +0 -104
- package/lib/common-logic/utils.test.js.map +0 -1
- package/lib/network/gateway.integ.test.d.ts +0 -2
- package/lib/network/gateway.integ.test.d.ts.map +0 -1
- package/lib/network/gateway.integ.test.js +0 -190
- package/lib/network/gateway.integ.test.js.map +0 -1
- package/lib/network/gateway.test.d.ts +0 -2
- package/lib/network/gateway.test.d.ts.map +0 -1
- package/lib/network/gateway.test.js +0 -59
- package/lib/network/gateway.test.js.map +0 -1
- package/lib/network/node.integ.test.d.ts +0 -2
- package/lib/network/node.integ.test.d.ts.map +0 -1
- package/lib/network/node.integ.test.js +0 -44
- package/lib/network/node.integ.test.js.map +0 -1
- package/lib/network/node.unit.test.d.ts +0 -2
- package/lib/network/node.unit.test.d.ts.map +0 -1
- package/lib/network/node.unit.test.js +0 -32
- package/lib/network/node.unit.test.js.map +0 -1
- package/lib-es/api/getBalance.integ.test.d.ts +0 -2
- package/lib-es/api/getBalance.integ.test.d.ts.map +0 -1
- package/lib-es/api/getBalance.integ.test.js +0 -26
- package/lib-es/api/getBalance.integ.test.js.map +0 -1
- package/lib-es/api/index.test.d.ts +0 -2
- package/lib-es/api/index.test.d.ts.map +0 -1
- package/lib-es/api/index.test.js +0 -14
- package/lib-es/api/index.test.js.map +0 -1
- package/lib-es/api/lastBlock.integ.test.d.ts +0 -2
- package/lib-es/api/lastBlock.integ.test.d.ts.map +0 -1
- package/lib-es/api/lastBlock.integ.test.js +0 -20
- package/lib-es/api/lastBlock.integ.test.js.map +0 -1
- package/lib-es/api/listOperations.integ.test.d.ts +0 -2
- package/lib-es/api/listOperations.integ.test.d.ts.map +0 -1
- package/lib-es/api/listOperations.integ.test.js +0 -22
- package/lib-es/api/listOperations.integ.test.js.map +0 -1
- package/lib-es/bridge/broadcast.test.d.ts +0 -2
- package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
- package/lib-es/bridge/broadcast.test.js +0 -42
- package/lib-es/bridge/broadcast.test.js.map +0 -1
- package/lib-es/bridge/createTransaction.test.d.ts +0 -2
- package/lib-es/bridge/createTransaction.test.d.ts.map +0 -1
- package/lib-es/bridge/createTransaction.test.js +0 -10
- package/lib-es/bridge/createTransaction.test.js.map +0 -1
- package/lib-es/bridge/deviceTransactionConfig.test.d.ts +0 -2
- package/lib-es/bridge/deviceTransactionConfig.test.d.ts.map +0 -1
- package/lib-es/bridge/deviceTransactionConfig.test.js +0 -17
- package/lib-es/bridge/deviceTransactionConfig.test.js.map +0 -1
- package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
- package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
- package/lib-es/bridge/getTransactionStatus.test.js +0 -360
- package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
- package/lib-es/bridge/index.test.d.ts +0 -2
- package/lib-es/bridge/index.test.d.ts.map +0 -1
- package/lib-es/bridge/index.test.js +0 -29
- package/lib-es/bridge/index.test.js.map +0 -1
- package/lib-es/bridge/onboard.integ.test.d.ts +0 -2
- package/lib-es/bridge/onboard.integ.test.d.ts.map +0 -1
- package/lib-es/bridge/onboard.integ.test.js +0 -177
- package/lib-es/bridge/onboard.integ.test.js.map +0 -1
- package/lib-es/bridge/onboard.test.d.ts +0 -2
- package/lib-es/bridge/onboard.test.d.ts.map +0 -1
- package/lib-es/bridge/onboard.test.js +0 -49
- package/lib-es/bridge/onboard.test.js.map +0 -1
- package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
- package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
- package/lib-es/bridge/prepareTransaction.test.js +0 -37
- package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
- package/lib-es/bridge/sync.integ.test.d.ts +0 -2
- package/lib-es/bridge/sync.integ.test.d.ts.map +0 -1
- package/lib-es/bridge/sync.integ.test.js +0 -160
- package/lib-es/bridge/sync.integ.test.js.map +0 -1
- package/lib-es/bridge/sync.test.d.ts +0 -2
- package/lib-es/bridge/sync.test.d.ts.map +0 -1
- package/lib-es/bridge/sync.test.js +0 -163
- package/lib-es/bridge/sync.test.js.map +0 -1
- package/lib-es/common-logic/account/getBalance.unit.test.d.ts +0 -2
- package/lib-es/common-logic/account/getBalance.unit.test.d.ts.map +0 -1
- package/lib-es/common-logic/account/getBalance.unit.test.js +0 -56
- package/lib-es/common-logic/account/getBalance.unit.test.js.map +0 -1
- package/lib-es/common-logic/history/lastBlock.test.d.ts +0 -2
- package/lib-es/common-logic/history/lastBlock.test.d.ts.map +0 -1
- package/lib-es/common-logic/history/lastBlock.test.js +0 -41
- package/lib-es/common-logic/history/lastBlock.test.js.map +0 -1
- package/lib-es/common-logic/transaction/broadcast.test.d.ts +0 -2
- package/lib-es/common-logic/transaction/broadcast.test.d.ts.map +0 -1
- package/lib-es/common-logic/transaction/broadcast.test.js +0 -36
- package/lib-es/common-logic/transaction/broadcast.test.js.map +0 -1
- package/lib-es/common-logic/transaction/combine.test.d.ts +0 -2
- package/lib-es/common-logic/transaction/combine.test.d.ts.map +0 -1
- package/lib-es/common-logic/transaction/combine.test.js +0 -16
- package/lib-es/common-logic/transaction/combine.test.js.map +0 -1
- package/lib-es/common-logic/transaction/estimateFees.test.d.ts +0 -2
- package/lib-es/common-logic/transaction/estimateFees.test.d.ts.map +0 -1
- package/lib-es/common-logic/transaction/estimateFees.test.js +0 -37
- package/lib-es/common-logic/transaction/estimateFees.test.js.map +0 -1
- package/lib-es/common-logic/utils.test.d.ts +0 -2
- package/lib-es/common-logic/utils.test.d.ts.map +0 -1
- package/lib-es/common-logic/utils.test.js +0 -99
- package/lib-es/common-logic/utils.test.js.map +0 -1
- package/lib-es/network/gateway.integ.test.d.ts +0 -2
- package/lib-es/network/gateway.integ.test.d.ts.map +0 -1
- package/lib-es/network/gateway.integ.test.js +0 -185
- package/lib-es/network/gateway.integ.test.js.map +0 -1
- package/lib-es/network/gateway.test.d.ts +0 -2
- package/lib-es/network/gateway.test.d.ts.map +0 -1
- package/lib-es/network/gateway.test.js +0 -54
- package/lib-es/network/gateway.test.js.map +0 -1
- package/lib-es/network/node.integ.test.d.ts +0 -2
- package/lib-es/network/node.integ.test.d.ts.map +0 -1
- package/lib-es/network/node.integ.test.js +0 -39
- package/lib-es/network/node.integ.test.js.map +0 -1
- package/lib-es/network/node.unit.test.d.ts +0 -2
- package/lib-es/network/node.unit.test.d.ts.map +0 -1
- package/lib-es/network/node.unit.test.js +0 -27
- package/lib-es/network/node.unit.test.js.map +0 -1
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const _1 = require(".");
|
|
4
|
-
let api;
|
|
5
|
-
describe.skip("devnet", () => {
|
|
6
|
-
beforeAll(() => {
|
|
7
|
-
api = (0, _1.createApi)({
|
|
8
|
-
nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
|
|
9
|
-
networkType: "devnet",
|
|
10
|
-
gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
|
|
11
|
-
useGateway: true,
|
|
12
|
-
nativeInstrumentId: "Amulet",
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
describe("getBalance", () => {
|
|
16
|
-
it("should return user balance", async () => {
|
|
17
|
-
const balance = await api.getBalance("party-4f2e1485107adf5f::122027c6dbbbdbffe0fa3122ae05175f3b9328e879e9ce96b670354deb64a45683c1");
|
|
18
|
-
expect(balance.length).toBeGreaterThanOrEqual(0);
|
|
19
|
-
if (balance.length > 0) {
|
|
20
|
-
const nativeBalance = balance.find(b => b.asset.type === "native");
|
|
21
|
-
if (nativeBalance) {
|
|
22
|
-
expect(nativeBalance.value).toBeGreaterThanOrEqual(BigInt(0));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=getBalance.integ.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getBalance.integ.test.js","sourceRoot":"","sources":["../../src/api/getBalance.integ.test.ts"],"names":[],"mappings":";;AACA,wBAA8B;AAE9B,IAAI,GAAc,CAAC;AAEnB,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,GAAG,IAAA,YAAS,EAAC;YACd,OAAO,EAAE,2DAA2D;YACpE,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,iDAAiD;YAC7D,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,QAAQ;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAClC,8FAA8F,CAC/F,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBACnE,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/lib/api/index.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":""}
|
package/lib/api/index.test.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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,EAAkB,CAAC,CAAC;QAC1C,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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lastBlock.integ.test.d.ts","sourceRoot":"","sources":["../../src/api/lastBlock.integ.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const _1 = require(".");
|
|
4
|
-
let api;
|
|
5
|
-
describe.skip("devnet", () => {
|
|
6
|
-
beforeAll(() => {
|
|
7
|
-
api = (0, _1.createApi)({
|
|
8
|
-
nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
|
|
9
|
-
networkType: "devnet",
|
|
10
|
-
gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
|
|
11
|
-
useGateway: true,
|
|
12
|
-
nativeInstrumentId: "Amulet",
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
describe("lastBlock", () => {
|
|
16
|
-
it("should return ledger end", async () => {
|
|
17
|
-
const lastBlock = await api.lastBlock();
|
|
18
|
-
expect(lastBlock.height).toBeGreaterThan(0);
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
//# sourceMappingURL=lastBlock.integ.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lastBlock.integ.test.js","sourceRoot":"","sources":["../../src/api/lastBlock.integ.test.ts"],"names":[],"mappings":";;AACA,wBAA8B;AAE9B,IAAI,GAAc,CAAC;AAEnB,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,GAAG,IAAA,YAAS,EAAC;YACd,OAAO,EAAE,2DAA2D;YACpE,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,iDAAiD;YAC7D,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,QAAQ;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listOperations.integ.test.d.ts","sourceRoot":"","sources":["../../src/api/listOperations.integ.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const _1 = require(".");
|
|
4
|
-
let api;
|
|
5
|
-
describe.skip("devnet", () => {
|
|
6
|
-
beforeAll(() => {
|
|
7
|
-
api = (0, _1.createApi)({
|
|
8
|
-
nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com/v2",
|
|
9
|
-
networkType: "devnet",
|
|
10
|
-
gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
|
|
11
|
-
useGateway: true,
|
|
12
|
-
nativeInstrumentId: "Amulet",
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
describe("listOperations", () => {
|
|
16
|
-
it("should return ops", async () => {
|
|
17
|
-
const ops = await api.listOperations("party-4f2e1485107adf5f::122027c6dbbbdbffe0fa3122ae05175f3b9328e879e9ce96b670354deb64a45683c1", {
|
|
18
|
-
minHeight: 0,
|
|
19
|
-
});
|
|
20
|
-
expect(ops.length).toBeGreaterThan(0);
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
//# sourceMappingURL=listOperations.integ.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listOperations.integ.test.js","sourceRoot":"","sources":["../../src/api/listOperations.integ.test.ts"],"names":[],"mappings":";;AACA,wBAA8B;AAE9B,IAAI,GAAc,CAAC;AAEnB,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,GAAG,IAAA,YAAS,EAAC;YACd,OAAO,EAAE,2DAA2D;YACpE,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,iDAAiD;YAC7D,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,QAAQ;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,cAAc,CAClC,8FAA8F,EAC9F;gBACE,SAAS,EAAE,CAAC;aACb,CACF,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.test.d.ts","sourceRoot":"","sources":["../../src/bridge/broadcast.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,44 +0,0 @@
|
|
|
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
|
-
const mockCurrency = {
|
|
9
|
-
id: "canton_network",
|
|
10
|
-
};
|
|
11
|
-
describe("broadcast", () => {
|
|
12
|
-
let patchOperationSpy;
|
|
13
|
-
let broadcastSpy;
|
|
14
|
-
beforeEach(() => {
|
|
15
|
-
patchOperationSpy = jest.spyOn({ patchOperationWithHash: operation_1.patchOperationWithHash }, "patchOperationWithHash");
|
|
16
|
-
broadcastSpy = jest.spyOn({ broadcastLogic: common_logic_1.broadcast }, "broadcastLogic");
|
|
17
|
-
broadcastSpy.mockResolvedValue("hash");
|
|
18
|
-
});
|
|
19
|
-
it("should broadcast", () => {
|
|
20
|
-
(0, broadcast_1.broadcast)({
|
|
21
|
-
account: {
|
|
22
|
-
currency: mockCurrency,
|
|
23
|
-
},
|
|
24
|
-
signedOperation: {
|
|
25
|
-
signature: undefined,
|
|
26
|
-
operation: undefined,
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
expect(common_logic_1.broadcast).toHaveBeenCalledTimes(1);
|
|
30
|
-
});
|
|
31
|
-
it("should patch operation with hash", () => {
|
|
32
|
-
(0, broadcast_1.broadcast)({
|
|
33
|
-
account: {
|
|
34
|
-
currency: mockCurrency,
|
|
35
|
-
},
|
|
36
|
-
signedOperation: {
|
|
37
|
-
signature: undefined,
|
|
38
|
-
operation: undefined,
|
|
39
|
-
},
|
|
40
|
-
});
|
|
41
|
-
expect(patchOperationSpy).toHaveBeenCalledWith(undefined, "hash");
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
//# sourceMappingURL=broadcast.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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;AAG9D,MAAM,YAAY,GAAG;IACnB,EAAE,EAAE,gBAAgB;CACQ,CAAC;AAE/B,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,OAAO,EAAE;gBACP,QAAQ,EAAE,YAAY;aACvB;YACD,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,OAAO,EAAE;gBACP,QAAQ,EAAE,YAAY;aACvB;YACD,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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/createTransaction.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +0,0 @@
|
|
|
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 canton family", () => {
|
|
9
|
-
expect((0, createTransaction_1.createTransaction)({}).family).toEqual("canton");
|
|
10
|
-
});
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=createTransaction.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,IAAA,qCAAiB,EAAC,EAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.test.d.ts","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.test.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,365 +0,0 @@
|
|
|
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 errors_1 = require("@ledgerhq/errors");
|
|
8
|
-
const getTransactionStatus_1 = require("./getTransactionStatus");
|
|
9
|
-
const config_1 = __importDefault(require("../config"));
|
|
10
|
-
// Mock the coin config
|
|
11
|
-
jest.mock("../config", () => ({
|
|
12
|
-
getCoinConfig: jest.fn(),
|
|
13
|
-
}));
|
|
14
|
-
const mockCoinConfig = jest.mocked(config_1.default);
|
|
15
|
-
describe("getTransactionStatus", () => {
|
|
16
|
-
const mockCurrency = {
|
|
17
|
-
id: "canton_network",
|
|
18
|
-
name: "Canton Network",
|
|
19
|
-
family: "canton",
|
|
20
|
-
units: [
|
|
21
|
-
{
|
|
22
|
-
name: "Canton",
|
|
23
|
-
code: "CANTON",
|
|
24
|
-
magnitude: 8,
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
ticker: "CANTON",
|
|
28
|
-
scheme: "canton",
|
|
29
|
-
color: "#000000",
|
|
30
|
-
type: "CryptoCurrency",
|
|
31
|
-
managerAppName: "Canton",
|
|
32
|
-
coinType: 0,
|
|
33
|
-
disableCountervalue: false,
|
|
34
|
-
delisted: false,
|
|
35
|
-
keywords: ["canton"],
|
|
36
|
-
explorerViews: [],
|
|
37
|
-
terminated: {
|
|
38
|
-
link: "",
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
const mockAccount = {
|
|
42
|
-
id: "test-account-id",
|
|
43
|
-
seedIdentifier: "test-seed-identifier",
|
|
44
|
-
currency: mockCurrency,
|
|
45
|
-
balance: new bignumber_js_1.default(1000), // 1000 units
|
|
46
|
-
spendableBalance: new bignumber_js_1.default(1000),
|
|
47
|
-
freshAddress: "test::123",
|
|
48
|
-
freshAddressPath: "44'/60'/0'/0/0",
|
|
49
|
-
index: 0,
|
|
50
|
-
derivationMode: "canton",
|
|
51
|
-
used: true,
|
|
52
|
-
operations: [],
|
|
53
|
-
pendingOperations: [],
|
|
54
|
-
lastSyncDate: new Date(),
|
|
55
|
-
creationDate: new Date(),
|
|
56
|
-
operationsCount: 0,
|
|
57
|
-
blockHeight: 100,
|
|
58
|
-
balanceHistoryCache: {
|
|
59
|
-
HOUR: { latestDate: null, balances: [] },
|
|
60
|
-
DAY: { latestDate: null, balances: [] },
|
|
61
|
-
WEEK: { latestDate: null, balances: [] },
|
|
62
|
-
},
|
|
63
|
-
swapHistory: [],
|
|
64
|
-
nfts: [],
|
|
65
|
-
subAccounts: [],
|
|
66
|
-
type: "Account",
|
|
67
|
-
};
|
|
68
|
-
beforeEach(() => {
|
|
69
|
-
jest.clearAllMocks();
|
|
70
|
-
mockCoinConfig.getCoinConfig.mockReturnValue({
|
|
71
|
-
minReserve: 100, // 100 units minimum reserve
|
|
72
|
-
networkType: "mainnet",
|
|
73
|
-
status: { type: "active" },
|
|
74
|
-
nativeInstrumentId: "Amulet",
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
describe("fee validation", () => {
|
|
78
|
-
it("should return FeeNotLoaded error when fee is not provided", async () => {
|
|
79
|
-
const transaction = {
|
|
80
|
-
family: "canton",
|
|
81
|
-
amount: new bignumber_js_1.default(100),
|
|
82
|
-
recipient: "valid::123",
|
|
83
|
-
fee: null,
|
|
84
|
-
tokenId: "",
|
|
85
|
-
};
|
|
86
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
87
|
-
expect(result.errors.fee).toBeInstanceOf(errors_1.FeeNotLoaded);
|
|
88
|
-
expect(result.warnings).toEqual({});
|
|
89
|
-
});
|
|
90
|
-
it("should return FeeRequired error when fee is zero", async () => {
|
|
91
|
-
const transaction = {
|
|
92
|
-
family: "canton",
|
|
93
|
-
amount: new bignumber_js_1.default(100),
|
|
94
|
-
recipient: "valid::123",
|
|
95
|
-
fee: new bignumber_js_1.default(0),
|
|
96
|
-
tokenId: "",
|
|
97
|
-
};
|
|
98
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
99
|
-
expect(result.errors.fee).toBeInstanceOf(errors_1.FeeRequired);
|
|
100
|
-
expect(result.warnings).toEqual({});
|
|
101
|
-
});
|
|
102
|
-
it("should add FeeTooHigh warning when fee is more than 10 times the amount", async () => {
|
|
103
|
-
const transaction = {
|
|
104
|
-
family: "canton",
|
|
105
|
-
amount: new bignumber_js_1.default(100), // Use larger amount to avoid balance issues
|
|
106
|
-
recipient: "valid::123",
|
|
107
|
-
fee: new bignumber_js_1.default(1500), // 15x the amount
|
|
108
|
-
tokenId: "",
|
|
109
|
-
};
|
|
110
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
111
|
-
expect(result.warnings.feeTooHigh).toBeInstanceOf(errors_1.FeeTooHigh);
|
|
112
|
-
// Don't check for empty errors since there might be balance issues
|
|
113
|
-
});
|
|
114
|
-
it("should not add FeeTooHigh warning when fee is reasonable", async () => {
|
|
115
|
-
const transaction = {
|
|
116
|
-
family: "canton",
|
|
117
|
-
amount: new bignumber_js_1.default(100),
|
|
118
|
-
recipient: "valid::123",
|
|
119
|
-
fee: new bignumber_js_1.default(10), // 0.1x the amount
|
|
120
|
-
tokenId: "",
|
|
121
|
-
};
|
|
122
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
123
|
-
expect(result.warnings).toEqual({});
|
|
124
|
-
expect(result.errors).toEqual({});
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
describe("balance validation", () => {
|
|
128
|
-
it("should return NotEnoughSpendableBalance error when total spent exceeds balance minus reserve", async () => {
|
|
129
|
-
const transaction = {
|
|
130
|
-
family: "canton",
|
|
131
|
-
amount: new bignumber_js_1.default(950), // 950 + 10 fee = 960, but balance is 1000 and reserve is 100
|
|
132
|
-
recipient: "valid::123",
|
|
133
|
-
fee: new bignumber_js_1.default(10),
|
|
134
|
-
tokenId: "",
|
|
135
|
-
};
|
|
136
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
137
|
-
expect(result.errors.amount).toBeInstanceOf(errors_1.NotEnoughSpendableBalance);
|
|
138
|
-
});
|
|
139
|
-
it("should return NotEnoughBalanceBecauseDestinationNotCreated error when amount is below reserve", async () => {
|
|
140
|
-
const transaction = {
|
|
141
|
-
family: "canton",
|
|
142
|
-
amount: new bignumber_js_1.default(50), // Below reserve amount of 100
|
|
143
|
-
recipient: "valid::123",
|
|
144
|
-
fee: new bignumber_js_1.default(10),
|
|
145
|
-
tokenId: "",
|
|
146
|
-
};
|
|
147
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
148
|
-
expect(result.errors.amount).toBeInstanceOf(errors_1.NotEnoughBalanceBecauseDestinationNotCreated);
|
|
149
|
-
});
|
|
150
|
-
it("should pass balance validation when transaction is within limits", async () => {
|
|
151
|
-
const transaction = {
|
|
152
|
-
family: "canton",
|
|
153
|
-
amount: new bignumber_js_1.default(800), // 800 + 10 fee = 810, balance is 1000, reserve is 100, so 900 available
|
|
154
|
-
recipient: "valid::123",
|
|
155
|
-
fee: new bignumber_js_1.default(10),
|
|
156
|
-
tokenId: "",
|
|
157
|
-
};
|
|
158
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
159
|
-
expect(result.errors.amount).toBeUndefined();
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
describe("recipient validation", () => {
|
|
163
|
-
it("should return RecipientRequired error when recipient is missing", async () => {
|
|
164
|
-
const transaction = {
|
|
165
|
-
family: "canton",
|
|
166
|
-
amount: new bignumber_js_1.default(100),
|
|
167
|
-
recipient: "",
|
|
168
|
-
fee: new bignumber_js_1.default(10),
|
|
169
|
-
tokenId: "",
|
|
170
|
-
};
|
|
171
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
172
|
-
expect(result.errors.recipient).toBeInstanceOf(errors_1.RecipientRequired);
|
|
173
|
-
});
|
|
174
|
-
it("should return InvalidAddressBecauseDestinationIsAlsoSource error when sending to self", async () => {
|
|
175
|
-
const transaction = {
|
|
176
|
-
family: "canton",
|
|
177
|
-
amount: new bignumber_js_1.default(100),
|
|
178
|
-
recipient: "test::123", // Same as account.freshAddress
|
|
179
|
-
fee: new bignumber_js_1.default(10),
|
|
180
|
-
tokenId: "",
|
|
181
|
-
};
|
|
182
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
183
|
-
expect(result.errors.recipient).toBeInstanceOf(errors_1.InvalidAddressBecauseDestinationIsAlsoSource);
|
|
184
|
-
});
|
|
185
|
-
it("should return InvalidAddress error when recipient is invalid", async () => {
|
|
186
|
-
const transaction = {
|
|
187
|
-
family: "canton",
|
|
188
|
-
amount: new bignumber_js_1.default(100),
|
|
189
|
-
recipient: "invalid-address",
|
|
190
|
-
fee: new bignumber_js_1.default(10),
|
|
191
|
-
tokenId: "",
|
|
192
|
-
};
|
|
193
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
194
|
-
expect(result.errors.recipient).toBeInstanceOf(errors_1.InvalidAddress);
|
|
195
|
-
});
|
|
196
|
-
it("should pass recipient validation when recipient is valid", async () => {
|
|
197
|
-
const transaction = {
|
|
198
|
-
family: "canton",
|
|
199
|
-
amount: new bignumber_js_1.default(100),
|
|
200
|
-
recipient: "valid::456",
|
|
201
|
-
fee: new bignumber_js_1.default(10),
|
|
202
|
-
tokenId: "",
|
|
203
|
-
};
|
|
204
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
205
|
-
expect(result.errors.recipient).toBeUndefined();
|
|
206
|
-
});
|
|
207
|
-
});
|
|
208
|
-
describe("amount validation", () => {
|
|
209
|
-
it("should return AmountRequired error when amount is zero", async () => {
|
|
210
|
-
// Create a scenario where there are no other amount errors
|
|
211
|
-
// Use a high balance and amount above reserve to avoid other amount errors
|
|
212
|
-
const accountWithHighBalance = {
|
|
213
|
-
...mockAccount,
|
|
214
|
-
balance: new bignumber_js_1.default(10000), // High balance to avoid balance errors
|
|
215
|
-
};
|
|
216
|
-
// Set a high reserve to avoid the NotEnoughBalanceBecauseDestinationNotCreated error
|
|
217
|
-
mockCoinConfig.getCoinConfig.mockReturnValue({
|
|
218
|
-
minReserve: 0, // Set reserve to 0 to avoid reserve-related errors
|
|
219
|
-
networkType: "mainnet",
|
|
220
|
-
status: { type: "active" },
|
|
221
|
-
nativeInstrumentId: "Amulet",
|
|
222
|
-
});
|
|
223
|
-
const transaction = {
|
|
224
|
-
family: "canton",
|
|
225
|
-
amount: new bignumber_js_1.default(0),
|
|
226
|
-
recipient: "valid::123",
|
|
227
|
-
fee: new bignumber_js_1.default(10),
|
|
228
|
-
tokenId: "",
|
|
229
|
-
};
|
|
230
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(accountWithHighBalance, transaction);
|
|
231
|
-
expect(result.errors.amount).toBeInstanceOf(errors_1.AmountRequired);
|
|
232
|
-
});
|
|
233
|
-
it("should not return AmountRequired error when amount is positive", async () => {
|
|
234
|
-
const transaction = {
|
|
235
|
-
family: "canton",
|
|
236
|
-
amount: new bignumber_js_1.default(100),
|
|
237
|
-
recipient: "valid::123",
|
|
238
|
-
fee: new bignumber_js_1.default(10),
|
|
239
|
-
tokenId: "",
|
|
240
|
-
};
|
|
241
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
242
|
-
expect(result.errors.amount).toBeUndefined();
|
|
243
|
-
});
|
|
244
|
-
});
|
|
245
|
-
describe("return values", () => {
|
|
246
|
-
it("should return correct estimatedFees, amount, and totalSpent", async () => {
|
|
247
|
-
const transaction = {
|
|
248
|
-
family: "canton",
|
|
249
|
-
amount: new bignumber_js_1.default(100),
|
|
250
|
-
recipient: "valid::123",
|
|
251
|
-
fee: new bignumber_js_1.default(10),
|
|
252
|
-
tokenId: "",
|
|
253
|
-
};
|
|
254
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
255
|
-
expect(result.estimatedFees).toEqual(new bignumber_js_1.default(10));
|
|
256
|
-
expect(result.amount).toEqual(new bignumber_js_1.default(100));
|
|
257
|
-
expect(result.totalSpent).toEqual(new bignumber_js_1.default(110));
|
|
258
|
-
});
|
|
259
|
-
it("should return empty errors and warnings when transaction is valid", async () => {
|
|
260
|
-
const transaction = {
|
|
261
|
-
family: "canton",
|
|
262
|
-
amount: new bignumber_js_1.default(100),
|
|
263
|
-
recipient: "valid::123",
|
|
264
|
-
fee: new bignumber_js_1.default(10),
|
|
265
|
-
tokenId: "",
|
|
266
|
-
};
|
|
267
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
268
|
-
expect(result.errors).toEqual({});
|
|
269
|
-
expect(result.warnings).toEqual({});
|
|
270
|
-
});
|
|
271
|
-
});
|
|
272
|
-
describe("edge cases", () => {
|
|
273
|
-
it("should handle account with zero balance", async () => {
|
|
274
|
-
const accountWithZeroBalance = {
|
|
275
|
-
...mockAccount,
|
|
276
|
-
balance: new bignumber_js_1.default(0),
|
|
277
|
-
};
|
|
278
|
-
const transaction = {
|
|
279
|
-
family: "canton",
|
|
280
|
-
amount: new bignumber_js_1.default(50),
|
|
281
|
-
recipient: "valid::123",
|
|
282
|
-
fee: new bignumber_js_1.default(10),
|
|
283
|
-
tokenId: "",
|
|
284
|
-
};
|
|
285
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(accountWithZeroBalance, transaction);
|
|
286
|
-
expect(result.errors.amount).toBeInstanceOf(errors_1.NotEnoughSpendableBalance);
|
|
287
|
-
});
|
|
288
|
-
it("should handle account with balance exactly equal to reserve", async () => {
|
|
289
|
-
const accountWithReserveBalance = {
|
|
290
|
-
...mockAccount,
|
|
291
|
-
balance: new bignumber_js_1.default(100), // Exactly equal to reserve
|
|
292
|
-
};
|
|
293
|
-
const transaction = {
|
|
294
|
-
family: "canton",
|
|
295
|
-
amount: new bignumber_js_1.default(50),
|
|
296
|
-
recipient: "valid::123",
|
|
297
|
-
fee: new bignumber_js_1.default(10),
|
|
298
|
-
tokenId: "",
|
|
299
|
-
};
|
|
300
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(accountWithReserveBalance, transaction);
|
|
301
|
-
expect(result.errors.amount).toBeInstanceOf(errors_1.NotEnoughSpendableBalance);
|
|
302
|
-
});
|
|
303
|
-
it("should handle zero reserve amount", async () => {
|
|
304
|
-
mockCoinConfig.getCoinConfig.mockReturnValue({
|
|
305
|
-
minReserve: 0,
|
|
306
|
-
networkType: "mainnet",
|
|
307
|
-
status: { type: "active" },
|
|
308
|
-
nativeInstrumentId: "Amulet",
|
|
309
|
-
});
|
|
310
|
-
const transaction = {
|
|
311
|
-
family: "canton",
|
|
312
|
-
amount: new bignumber_js_1.default(50),
|
|
313
|
-
recipient: "valid::123",
|
|
314
|
-
fee: new bignumber_js_1.default(10),
|
|
315
|
-
tokenId: "",
|
|
316
|
-
};
|
|
317
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
318
|
-
expect(result.errors.amount).toBeUndefined();
|
|
319
|
-
});
|
|
320
|
-
it("should handle undefined reserve amount", async () => {
|
|
321
|
-
mockCoinConfig.getCoinConfig.mockReturnValue({
|
|
322
|
-
networkType: "mainnet",
|
|
323
|
-
status: { type: "active" },
|
|
324
|
-
nativeInstrumentId: "Amulet",
|
|
325
|
-
});
|
|
326
|
-
const transaction = {
|
|
327
|
-
family: "canton",
|
|
328
|
-
amount: new bignumber_js_1.default(50),
|
|
329
|
-
recipient: "valid::123",
|
|
330
|
-
fee: new bignumber_js_1.default(10),
|
|
331
|
-
tokenId: "",
|
|
332
|
-
};
|
|
333
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
334
|
-
expect(result.errors.amount).toBeUndefined();
|
|
335
|
-
});
|
|
336
|
-
});
|
|
337
|
-
describe("multiple validation errors", () => {
|
|
338
|
-
it("should return multiple errors when multiple validations fail", async () => {
|
|
339
|
-
const transaction = {
|
|
340
|
-
family: "canton",
|
|
341
|
-
amount: new bignumber_js_1.default(0), // AmountRequired
|
|
342
|
-
recipient: "", // RecipientRequired
|
|
343
|
-
fee: null, // FeeNotLoaded
|
|
344
|
-
tokenId: "",
|
|
345
|
-
};
|
|
346
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
347
|
-
expect(result.errors.amount).toBeInstanceOf(errors_1.AmountRequired);
|
|
348
|
-
expect(result.errors.recipient).toBeInstanceOf(errors_1.RecipientRequired);
|
|
349
|
-
expect(result.errors.fee).toBeInstanceOf(errors_1.FeeNotLoaded);
|
|
350
|
-
});
|
|
351
|
-
it("should return both errors and warnings", async () => {
|
|
352
|
-
const transaction = {
|
|
353
|
-
family: "canton",
|
|
354
|
-
amount: new bignumber_js_1.default(5), // Small amount
|
|
355
|
-
recipient: "valid::123",
|
|
356
|
-
fee: new bignumber_js_1.default(100), // High fee relative to amount
|
|
357
|
-
tokenId: "",
|
|
358
|
-
};
|
|
359
|
-
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockAccount, transaction);
|
|
360
|
-
expect(result.warnings.feeTooHigh).toBeInstanceOf(errors_1.FeeTooHigh);
|
|
361
|
-
expect(result.errors.amount).toBeInstanceOf(errors_1.NotEnoughBalanceBecauseDestinationNotCreated);
|
|
362
|
-
});
|
|
363
|
-
});
|
|
364
|
-
});
|
|
365
|
-
//# sourceMappingURL=getTransactionStatus.test.js.map
|