@ledgerhq/coin-cardano 0.13.0-nightly.6 → 0.13.0-nightly.7

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.
Files changed (59) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/package.json +6 -6
  4. package/lib/address.unit.test.d.ts +0 -2
  5. package/lib/address.unit.test.d.ts.map +0 -1
  6. package/lib/address.unit.test.js +0 -21
  7. package/lib/address.unit.test.js.map +0 -1
  8. package/lib/bridge.integration.test.d.ts +0 -4
  9. package/lib/bridge.integration.test.d.ts.map +0 -1
  10. package/lib/bridge.integration.test.js +0 -120
  11. package/lib/bridge.integration.test.js.map +0 -1
  12. package/lib/buildTransaction.test.d.ts +0 -2
  13. package/lib/buildTransaction.test.d.ts.map +0 -1
  14. package/lib/buildTransaction.test.js +0 -172
  15. package/lib/buildTransaction.test.js.map +0 -1
  16. package/lib/getTransactionStatus/getTransactionStatus.test.d.ts +0 -2
  17. package/lib/getTransactionStatus/getTransactionStatus.test.d.ts.map +0 -1
  18. package/lib/getTransactionStatus/getTransactionStatus.test.js +0 -149
  19. package/lib/getTransactionStatus/getTransactionStatus.test.js.map +0 -1
  20. package/lib/getTransactionStatus/handler.test.d.ts +0 -2
  21. package/lib/getTransactionStatus/handler.test.d.ts.map +0 -1
  22. package/lib/getTransactionStatus/handler.test.js +0 -51
  23. package/lib/getTransactionStatus/handler.test.js.map +0 -1
  24. package/lib/logic.unit.test.d.ts +0 -2
  25. package/lib/logic.unit.test.d.ts.map +0 -1
  26. package/lib/logic.unit.test.js +0 -55
  27. package/lib/logic.unit.test.js.map +0 -1
  28. package/lib/synchronisation.unit.test.d.ts +0 -2
  29. package/lib/synchronisation.unit.test.d.ts.map +0 -1
  30. package/lib/synchronisation.unit.test.js +0 -150
  31. package/lib/synchronisation.unit.test.js.map +0 -1
  32. package/lib-es/address.unit.test.d.ts +0 -2
  33. package/lib-es/address.unit.test.d.ts.map +0 -1
  34. package/lib-es/address.unit.test.js +0 -19
  35. package/lib-es/address.unit.test.js.map +0 -1
  36. package/lib-es/bridge.integration.test.d.ts +0 -4
  37. package/lib-es/bridge.integration.test.d.ts.map +0 -1
  38. package/lib-es/bridge.integration.test.js +0 -114
  39. package/lib-es/bridge.integration.test.js.map +0 -1
  40. package/lib-es/buildTransaction.test.d.ts +0 -2
  41. package/lib-es/buildTransaction.test.d.ts.map +0 -1
  42. package/lib-es/buildTransaction.test.js +0 -167
  43. package/lib-es/buildTransaction.test.js.map +0 -1
  44. package/lib-es/getTransactionStatus/getTransactionStatus.test.d.ts +0 -2
  45. package/lib-es/getTransactionStatus/getTransactionStatus.test.d.ts.map +0 -1
  46. package/lib-es/getTransactionStatus/getTransactionStatus.test.js +0 -121
  47. package/lib-es/getTransactionStatus/getTransactionStatus.test.js.map +0 -1
  48. package/lib-es/getTransactionStatus/handler.test.d.ts +0 -2
  49. package/lib-es/getTransactionStatus/handler.test.d.ts.map +0 -1
  50. package/lib-es/getTransactionStatus/handler.test.js +0 -26
  51. package/lib-es/getTransactionStatus/handler.test.js.map +0 -1
  52. package/lib-es/logic.unit.test.d.ts +0 -2
  53. package/lib-es/logic.unit.test.d.ts.map +0 -1
  54. package/lib-es/logic.unit.test.js +0 -50
  55. package/lib-es/logic.unit.test.js.map +0 -1
  56. package/lib-es/synchronisation.unit.test.d.ts +0 -2
  57. package/lib-es/synchronisation.unit.test.d.ts.map +0 -1
  58. package/lib-es/synchronisation.unit.test.js +0 -145
  59. package/lib-es/synchronisation.unit.test.js.map +0 -1
@@ -1,121 +0,0 @@
1
- /* eslint @typescript-eslint/consistent-type-assertions: 0 */
2
- import BigNumber from "bignumber.js";
3
- import { getTransactionStatus } from "./getTransactionStatus";
4
- import * as sanction from "@ledgerhq/coin-framework/sanction/index";
5
- import { AddressesSanctionedError } from "@ledgerhq/coin-framework/sanction/errors";
6
- import * as mode from "./handler";
7
- import coinConfig from "../config";
8
- describe("getTransactionStatus", () => {
9
- it("should return not enough funds error when there are no utxos", async () => {
10
- const initialAccount = {
11
- pendingOperations: [],
12
- cardanoResources: {
13
- utxos: [],
14
- },
15
- };
16
- const sendTx = {
17
- amount: new BigNumber(1000000),
18
- recipient: "addr1qxqm3nxwzf70ke9jqa2zrtrevjznpv6yykptxnv34perjc8a7zgxmpv5pgk4hhhe0m9kfnlsf5pt7d2ahkxaul2zygrq3nura9",
19
- mode: "send",
20
- family: "cardano",
21
- poolId: undefined,
22
- };
23
- const sendTxRes = await getTransactionStatus(initialAccount, sendTx);
24
- expect(sendTxRes.errors.amount.name).toBe("CardanoNotEnoughFunds");
25
- const delegateTx = {
26
- amount: new BigNumber(0),
27
- recipient: "",
28
- mode: "delegate",
29
- family: "cardano",
30
- poolId: "d0f48f07e4e5eb8040a988085f7ea3bd32d71a2e2998d53e9bbc959a",
31
- };
32
- const delegateTxRes = await getTransactionStatus(initialAccount, delegateTx);
33
- expect(delegateTxRes.errors.amount.name).toBe("CardanoNotEnoughFunds");
34
- const undelegateTx = {
35
- amount: new BigNumber(0),
36
- recipient: "",
37
- mode: "undelegate",
38
- family: "cardano",
39
- poolId: undefined,
40
- };
41
- const undelegateTxRes = await getTransactionStatus(initialAccount, undelegateTx);
42
- expect(undelegateTxRes.errors.amount.name).toBe("CardanoNotEnoughFunds");
43
- });
44
- it("should return as sender error only sanctioned utxo addresses", async () => {
45
- const sanctionedAddresses = [
46
- "addr1eKHLg16K8UTAak8srh6LiTRufkT2uziFKekkfZBxcRNMED",
47
- "addr1UvY42XTJHMPHDEDch9UWagjhipLjke37Uqm7qzfcSkdPHT",
48
- ];
49
- jest.spyOn(sanction, "isAddressSanctioned").mockImplementation((_, address) => {
50
- return Promise.resolve(sanctionedAddresses.includes(address));
51
- });
52
- const utxos = [
53
- {
54
- address: "addr1eKHLg16K8UTAak8srh6LiTRufkT2uziFKekkfZBxcRNMED",
55
- },
56
- {
57
- address: "addr1UvY42XTJHMPHDEDch9UWagjhipLjke37Uqm7qzfcSkdPHT",
58
- },
59
- {
60
- address: "addr1QDz6DDTAk5CNig91MNxgTKXUpYoAbz6WnyZ7AztJUXsDDK",
61
- },
62
- {
63
- address: "addr1Fwc4rtTcbrhmcq3iqDJZULdyxU8nJmam3Jx6oknhY5Jqm2",
64
- },
65
- ];
66
- const account = {
67
- pendingOperations: [],
68
- cardanoResources: {
69
- utxos: utxos,
70
- },
71
- };
72
- const transaction = {};
73
- const status = await getTransactionStatus(account, transaction);
74
- expect(status.errors).toEqual({
75
- sender: new AddressesSanctionedError("AddressesSanctionedError", {
76
- addresses: sanctionedAddresses,
77
- }),
78
- });
79
- });
80
- it("should return as no sender error when no utxo address is sanctioned", async () => {
81
- const maxFeesWarning = BigNumber(1000000);
82
- jest.spyOn(coinConfig, "getCoinConfig").mockReturnValue({
83
- maxFeesWarning: maxFeesWarning,
84
- maxFeesError: maxFeesWarning.multipliedBy(2),
85
- });
86
- jest.spyOn(mode, "getTransactionStatusByTransactionMode").mockResolvedValue({
87
- errors: {},
88
- warnings: {},
89
- amount: BigNumber(0),
90
- totalSpent: BigNumber(0),
91
- estimatedFees: maxFeesWarning,
92
- });
93
- jest.spyOn(sanction, "isAddressSanctioned").mockResolvedValue(false);
94
- const utxos = [
95
- {
96
- address: "addr1eKHLg16K8UTAak8srh6LiTRufkT2uziFKekkfZBxcRNMED",
97
- },
98
- {
99
- address: "addr1UvY42XTJHMPHDEDch9UWagjhipLjke37Uqm7qzfcSkdPHT",
100
- },
101
- {
102
- address: "addr1QDz6DDTAk5CNig91MNxgTKXUpYoAbz6WnyZ7AztJUXsDDK",
103
- },
104
- {
105
- address: "addr1Fwc4rtTcbrhmcq3iqDJZULdyxU8nJmam3Jx6oknhY5Jqm2",
106
- },
107
- ];
108
- const account = {
109
- pendingOperations: [],
110
- cardanoResources: {
111
- utxos: utxos,
112
- },
113
- };
114
- const transaction = {
115
- mode: "send",
116
- };
117
- const status = await getTransactionStatus(account, transaction);
118
- expect(status.errors).toEqual({});
119
- });
120
- });
121
- //# sourceMappingURL=getTransactionStatus.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTransactionStatus.test.js","sourceRoot":"","sources":["../../src/getTransactionStatus/getTransactionStatus.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=handler.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../src/getTransactionStatus/handler.test.ts"],"names":[],"mappings":""}
@@ -1,26 +0,0 @@
1
- /* eslint @typescript-eslint/consistent-type-assertions: 0 */
2
- import * as delegate from "./delegate";
3
- import * as send from "./send";
4
- import { getTransactionStatusByTransactionMode } from "./handler";
5
- import * as undelegate from "./undelegate";
6
- jest.mock("./delegate");
7
- jest.mock("./send");
8
- jest.mock("./undelegate");
9
- describe("getTransactionStatusByMode on Cardano", () => {
10
- const sendMock = send.getSendTransactionStatus;
11
- const delegateMock = delegate.getDelegateTransactionStatus;
12
- const undelegateMock = undelegate.getUndelegateTransactionStatus;
13
- describe("should redirect to the correct mode handler", () => {
14
- test.each([
15
- ["send", sendMock],
16
- ["delegate", delegateMock],
17
- ["undelegate", undelegateMock],
18
- ])("for %s", async (mode, mock) => {
19
- const account = {};
20
- const transaction = { mode: mode };
21
- await getTransactionStatusByTransactionMode(account, transaction);
22
- expect(mock).toHaveBeenCalledWith(account, transaction);
23
- });
24
- });
25
- });
26
- //# sourceMappingURL=handler.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.test.js","sourceRoot":"","sources":["../../src/getTransactionStatus/handler.test.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,qCAAqC,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAG3C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAE1B,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAqC,CAAC;IAC5D,MAAM,YAAY,GAAG,QAAQ,CAAC,4BAAyC,CAAC;IACxE,MAAM,cAAc,GAAG,UAAU,CAAC,8BAA2C,CAAC;IAE9E,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;QAC3D,IAAI,CAAC,IAAI,CAAC;YACR,CAAC,MAAM,EAAE,QAAQ,CAAC;YAClB,CAAC,UAAU,EAAE,YAAY,CAAC;YAC1B,CAAC,YAAY,EAAE,cAAc,CAAC;SAC/B,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAChC,MAAM,OAAO,GAAG,EAA+B,CAAC;YAChD,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,EAA4B,CAAC;YAE7D,MAAM,qCAAqC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAElE,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=logic.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logic.unit.test.d.ts","sourceRoot":"","sources":["../src/logic.unit.test.ts"],"names":[],"mappings":""}
@@ -1,50 +0,0 @@
1
- import BigNumber from "bignumber.js";
2
- import { canStake, isAlreadyStaking, isValidNumString } from "./logic";
3
- describe("canStake", () => {
4
- it("should return false when acc has no funds", () => {
5
- const accWithNoFunds = {
6
- balance: new BigNumber(0),
7
- };
8
- expect(canStake(accWithNoFunds)).toEqual(false);
9
- });
10
- it("should return true when acc has funds", () => {
11
- const accWithFunds = {
12
- balance: new BigNumber(1),
13
- };
14
- expect(canStake(accWithFunds)).toEqual(true);
15
- });
16
- });
17
- describe("isAlreadyStaking", () => {
18
- it("should return false when acc isn't delegating", () => {
19
- const noResourcesAcc = {};
20
- expect(isAlreadyStaking(noResourcesAcc)).toEqual(false);
21
- const noDelegationAcc = {
22
- cardanoResources: {},
23
- };
24
- expect(isAlreadyStaking(noDelegationAcc)).toEqual(false);
25
- const noPoolIdAcc = { cardanoResources: { delegation: {} } };
26
- expect(isAlreadyStaking(noPoolIdAcc)).toEqual(false);
27
- });
28
- it("should return true when acc is delegating", () => {
29
- const noResourcesAcc = {
30
- cardanoResources: { delegation: { poolId: "itspoolid" } },
31
- };
32
- expect(isAlreadyStaking(noResourcesAcc)).toEqual(true);
33
- });
34
- });
35
- describe("isValidNumString", () => {
36
- it("should return false for invalid number", () => {
37
- expect(isValidNumString("")).toEqual(false);
38
- expect(isValidNumString(undefined)).toEqual(false);
39
- expect(isValidNumString(null)).toEqual(false);
40
- expect(isValidNumString({})).toEqual(false);
41
- expect(isValidNumString([])).toEqual(false);
42
- });
43
- it("should return true for valid number", () => {
44
- expect(isValidNumString(123)).toEqual(true);
45
- expect(isValidNumString(123.321)).toEqual(true);
46
- expect(isValidNumString("123")).toEqual(true);
47
- expect(isValidNumString("123.321")).toEqual(true);
48
- });
49
- });
50
- //# sourceMappingURL=logic.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logic.unit.test.js","sourceRoot":"","sources":["../src/logic.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=synchronisation.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"synchronisation.unit.test.d.ts","sourceRoot":"","sources":["../src/synchronisation.unit.test.ts"],"names":[],"mappings":""}
@@ -1,145 +0,0 @@
1
- import BigNumber from "bignumber.js";
2
- import { getDelegationInfo } from "./api/getDelegationInfo";
3
- import { makeGetAccountShape } from "./synchronisation";
4
- import { getTransactions } from "./api/getTransactions";
5
- import { buildSubAccounts } from "./buildSubAccounts";
6
- import { fetchNetworkInfo } from "./api/getNetworkInfo";
7
- jest.mock("./buildSubAccounts");
8
- jest.mock("./api/getTransactions");
9
- jest.mock("./api/getNetworkInfo");
10
- jest.mock("./api/getDelegationInfo");
11
- describe("makeGetAccountShape", () => {
12
- let signerContext;
13
- let shape;
14
- let accountShapeInfo;
15
- let getTransactionsMock;
16
- beforeEach(() => {
17
- const pubKeyMock = {
18
- chainCodeHex: "chainCodeHex",
19
- publicKeyHex: "publicKeyHex",
20
- };
21
- const fakeSigner = {
22
- getAddress: jest.fn(),
23
- sign: jest.fn(),
24
- getPublicKey: jest.fn().mockResolvedValue(pubKeyMock),
25
- };
26
- signerContext = (_, fn) => fn(fakeSigner);
27
- shape = makeGetAccountShape(signerContext);
28
- accountShapeInfo = {
29
- currency: { id: "cardano" },
30
- address: "add",
31
- index: 0,
32
- initialAccount: {
33
- cardanoResources: {
34
- utxos: [
35
- {
36
- hash: "hash",
37
- index: 0,
38
- address: "addr",
39
- amount: new BigNumber(1),
40
- tokens: [],
41
- paymentCredential: {
42
- key: "key",
43
- path: {
44
- purpose: 1852,
45
- coin: 1815,
46
- account: 0,
47
- chain: 0,
48
- index: 0,
49
- },
50
- },
51
- },
52
- ],
53
- },
54
- },
55
- derivationPath: "",
56
- derivationMode: "cardano",
57
- deviceId: "id",
58
- };
59
- const buildSubAccountsMock = jest.mocked(buildSubAccounts);
60
- buildSubAccountsMock.mockReturnValue([]);
61
- getTransactionsMock = jest.mocked(getTransactions);
62
- const getNetworkInfoMock = jest.mocked(fetchNetworkInfo);
63
- getNetworkInfoMock.mockReturnValue(Promise.resolve({ protocolParams: { lovelacePerUtxoWord: "1" } }));
64
- });
65
- afterEach(() => {
66
- jest.resetAllMocks();
67
- });
68
- describe("balance", () => {
69
- it("should return 0 balance when there is no utxos", async () => {
70
- getTransactionsMock.mockReturnValue(Promise.resolve({
71
- transactions: [],
72
- externalCredentials: [
73
- { path: { index: 0 }, networkId: "id", isUsed: false, key: "" },
74
- ],
75
- internalCredentials: [],
76
- blockHeight: 0,
77
- }));
78
- const result = await shape(accountShapeInfo, { paginationConfig: {} });
79
- expect(result.balance).toEqual(new BigNumber(0));
80
- });
81
- it("should return the sum of utxos with delegation reward value", async () => {
82
- getTransactionsMock.mockReturnValue(Promise.resolve({
83
- transactions: [],
84
- externalCredentials: [
85
- { path: { index: 0 }, networkId: "id", isUsed: false, key: "" },
86
- ],
87
- internalCredentials: [
88
- {
89
- isUsed: true,
90
- key: "cred",
91
- },
92
- ],
93
- blockHeight: 0,
94
- }));
95
- const getDelegationInfoMock = jest.mocked(getDelegationInfo);
96
- getDelegationInfoMock.mockReturnValue(Promise.resolve({ rewards: new BigNumber(42) }));
97
- const result = await shape(accountShapeInfo, { paginationConfig: {} });
98
- expect(result.balance).toEqual(new BigNumber(42));
99
- });
100
- });
101
- describe("spendableBalance", () => {
102
- it("should return 0 spendable balance when there is no utxos", async () => {
103
- const getTransactionsMock = jest.mocked(getTransactions);
104
- getTransactionsMock.mockReturnValue(Promise.resolve({
105
- transactions: [],
106
- externalCredentials: [
107
- {
108
- isUsed: false,
109
- key: "00000000000000000000000000000000000000000000000000000000",
110
- path: {
111
- purpose: 1852,
112
- coin: 1815,
113
- account: 0,
114
- chain: 0,
115
- index: 0,
116
- },
117
- },
118
- ],
119
- internalCredentials: [],
120
- }));
121
- const result = await shape(accountShapeInfo, { paginationConfig: {} });
122
- expect(result.spendableBalance).toEqual(new BigNumber(0));
123
- });
124
- // it("should return the sum of utxos minus ada minimum for tokens", async () => {});
125
- });
126
- describe("delegation", () => {
127
- it("should check dRepHex and rewards are available", async () => {
128
- getTransactionsMock.mockReturnValue(Promise.resolve({
129
- blockHeight: 0,
130
- transactions: [],
131
- externalCredentials: [{ isUsed: false, key: "0", path: {} }],
132
- internalCredentials: [],
133
- }));
134
- const getDelegationInfoMock = jest.mocked(getDelegationInfo);
135
- getDelegationInfoMock.mockReturnValue(Promise.resolve({
136
- rewards: new BigNumber(10),
137
- dRepHex: "dRepHex",
138
- }));
139
- const result = await shape(accountShapeInfo, { paginationConfig: {} });
140
- expect(result.cardanoResources?.delegation?.dRepHex).toEqual("dRepHex");
141
- expect(result.cardanoResources?.delegation?.rewards).toEqual(new BigNumber(10));
142
- });
143
- });
144
- });
145
- //# sourceMappingURL=synchronisation.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"synchronisation.unit.test.js","sourceRoot":"","sources":["../src/synchronisation.unit.test.ts"],"names":[],"mappings":"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"}