@ledgerhq/coin-tezos 6.7.0 → 6.8.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.
Files changed (98) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +20 -0
  3. package/lib/api/index.d.ts.map +1 -1
  4. package/lib/api/index.js +3 -0
  5. package/lib/api/index.js.map +1 -1
  6. package/lib-es/api/index.d.ts.map +1 -1
  7. package/lib-es/api/index.js +3 -0
  8. package/lib-es/api/index.js.map +1 -1
  9. package/package.json +6 -6
  10. package/src/api/index.ts +4 -0
  11. package/lib/api/index.integ.test.d.ts +0 -2
  12. package/lib/api/index.integ.test.d.ts.map +0 -1
  13. package/lib/api/index.integ.test.js +0 -201
  14. package/lib/api/index.integ.test.js.map +0 -1
  15. package/lib/api/index.test.d.ts +0 -2
  16. package/lib/api/index.test.d.ts.map +0 -1
  17. package/lib/api/index.test.js +0 -203
  18. package/lib/api/index.test.js.map +0 -1
  19. package/lib/logic/craftTransaction.integ.test.d.ts +0 -2
  20. package/lib/logic/craftTransaction.integ.test.d.ts.map +0 -1
  21. package/lib/logic/craftTransaction.integ.test.js +0 -86
  22. package/lib/logic/craftTransaction.integ.test.js.map +0 -1
  23. package/lib/logic/craftTransaction.test.d.ts +0 -2
  24. package/lib/logic/craftTransaction.test.d.ts.map +0 -1
  25. package/lib/logic/craftTransaction.test.js +0 -153
  26. package/lib/logic/craftTransaction.test.js.map +0 -1
  27. package/lib/logic/estimateFees.integ.test.d.ts +0 -2
  28. package/lib/logic/estimateFees.integ.test.d.ts.map +0 -1
  29. package/lib/logic/estimateFees.integ.test.js +0 -71
  30. package/lib/logic/estimateFees.integ.test.js.map +0 -1
  31. package/lib/logic/getBalance.test.d.ts +0 -2
  32. package/lib/logic/getBalance.test.d.ts.map +0 -1
  33. package/lib/logic/getBalance.test.js +0 -23
  34. package/lib/logic/getBalance.test.js.map +0 -1
  35. package/lib/logic/getStakes.test.d.ts +0 -2
  36. package/lib/logic/getStakes.test.d.ts.map +0 -1
  37. package/lib/logic/getStakes.test.js +0 -133
  38. package/lib/logic/getStakes.test.js.map +0 -1
  39. package/lib/logic/listOperations.test.d.ts +0 -2
  40. package/lib/logic/listOperations.test.d.ts.map +0 -1
  41. package/lib/logic/listOperations.test.js +0 -196
  42. package/lib/logic/listOperations.test.js.map +0 -1
  43. package/lib/logic/validateIntent.test.d.ts +0 -2
  44. package/lib/logic/validateIntent.test.d.ts.map +0 -1
  45. package/lib/logic/validateIntent.test.js +0 -279
  46. package/lib/logic/validateIntent.test.js.map +0 -1
  47. package/lib/network/bakers.integration.test.d.ts +0 -2
  48. package/lib/network/bakers.integration.test.d.ts.map +0 -1
  49. package/lib/network/bakers.integration.test.js +0 -57
  50. package/lib/network/bakers.integration.test.js.map +0 -1
  51. package/lib/network/bakers.test.d.ts +0 -2
  52. package/lib/network/bakers.test.d.ts.map +0 -1
  53. package/lib/network/bakers.test.js +0 -209
  54. package/lib/network/bakers.test.js.map +0 -1
  55. package/lib-es/api/index.integ.test.d.ts +0 -2
  56. package/lib-es/api/index.integ.test.d.ts.map +0 -1
  57. package/lib-es/api/index.integ.test.js +0 -199
  58. package/lib-es/api/index.integ.test.js.map +0 -1
  59. package/lib-es/api/index.test.d.ts +0 -2
  60. package/lib-es/api/index.test.d.ts.map +0 -1
  61. package/lib-es/api/index.test.js +0 -198
  62. package/lib-es/api/index.test.js.map +0 -1
  63. package/lib-es/logic/craftTransaction.integ.test.d.ts +0 -2
  64. package/lib-es/logic/craftTransaction.integ.test.d.ts.map +0 -1
  65. package/lib-es/logic/craftTransaction.integ.test.js +0 -81
  66. package/lib-es/logic/craftTransaction.integ.test.js.map +0 -1
  67. package/lib-es/logic/craftTransaction.test.d.ts +0 -2
  68. package/lib-es/logic/craftTransaction.test.d.ts.map +0 -1
  69. package/lib-es/logic/craftTransaction.test.js +0 -148
  70. package/lib-es/logic/craftTransaction.test.js.map +0 -1
  71. package/lib-es/logic/estimateFees.integ.test.d.ts +0 -2
  72. package/lib-es/logic/estimateFees.integ.test.d.ts.map +0 -1
  73. package/lib-es/logic/estimateFees.integ.test.js +0 -66
  74. package/lib-es/logic/estimateFees.integ.test.js.map +0 -1
  75. package/lib-es/logic/getBalance.test.d.ts +0 -2
  76. package/lib-es/logic/getBalance.test.d.ts.map +0 -1
  77. package/lib-es/logic/getBalance.test.js +0 -18
  78. package/lib-es/logic/getBalance.test.js.map +0 -1
  79. package/lib-es/logic/getStakes.test.d.ts +0 -2
  80. package/lib-es/logic/getStakes.test.d.ts.map +0 -1
  81. package/lib-es/logic/getStakes.test.js +0 -128
  82. package/lib-es/logic/getStakes.test.js.map +0 -1
  83. package/lib-es/logic/listOperations.test.d.ts +0 -2
  84. package/lib-es/logic/listOperations.test.d.ts.map +0 -1
  85. package/lib-es/logic/listOperations.test.js +0 -194
  86. package/lib-es/logic/listOperations.test.js.map +0 -1
  87. package/lib-es/logic/validateIntent.test.d.ts +0 -2
  88. package/lib-es/logic/validateIntent.test.d.ts.map +0 -1
  89. package/lib-es/logic/validateIntent.test.js +0 -251
  90. package/lib-es/logic/validateIntent.test.js.map +0 -1
  91. package/lib-es/network/bakers.integration.test.d.ts +0 -2
  92. package/lib-es/network/bakers.integration.test.d.ts.map +0 -1
  93. package/lib-es/network/bakers.integration.test.js +0 -52
  94. package/lib-es/network/bakers.integration.test.js.map +0 -1
  95. package/lib-es/network/bakers.test.d.ts +0 -2
  96. package/lib-es/network/bakers.test.d.ts.map +0 -1
  97. package/lib-es/network/bakers.test.js +0 -204
  98. package/lib-es/network/bakers.test.js.map +0 -1
@@ -1,196 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const listOperations_1 = require("./listOperations");
4
- const mockNetworkGetTransactions = jest.fn();
5
- jest.mock("../network", () => ({
6
- tzkt: {
7
- getAccountOperations: async () => {
8
- return mockNetworkGetTransactions();
9
- },
10
- },
11
- }));
12
- const options = {
13
- sort: "Ascending",
14
- minHeight: 0,
15
- };
16
- describe("listOperations", () => {
17
- afterEach(() => {
18
- mockNetworkGetTransactions.mockClear();
19
- });
20
- it("should return no operations", async () => {
21
- // Given
22
- mockNetworkGetTransactions.mockResolvedValue([]);
23
- // When
24
- const [results, token] = await (0, listOperations_1.listOperations)("any address", options);
25
- // Then
26
- expect(results).toEqual([]);
27
- expect(token).toEqual("");
28
- });
29
- const someDestinationAddress = "tz3Vq38qYD3GEbWcXHMLt5PaASZrkDtEiA8D";
30
- const someSenderAddress = "tz2CVMDVA16dD9A7kpWym2ptGDhs5zUhwWXr";
31
- const someHash = "ooY7YKLgWE8mrELbsDLEtPsxFNaLdqRbbRR1b1FXDA6DwasAFe4";
32
- const commonTx = {
33
- counter: 65214462,
34
- hash: someHash,
35
- gasLimit: 4,
36
- storageLimit: 5,
37
- level: 2702551,
38
- block: "BMJ1ZQ6",
39
- timestamp: "2022-09-12T01:36:59Z",
40
- sender: {
41
- address: someSenderAddress,
42
- },
43
- };
44
- const delegate = {
45
- ...commonTx,
46
- type: "delegation",
47
- id: 111,
48
- amount: 724846,
49
- prevDelegate: {
50
- address: someDestinationAddress,
51
- },
52
- newDelegate: null,
53
- storageFee: 1,
54
- bakerFee: 2,
55
- allocationFee: 3,
56
- };
57
- const undelegate = {
58
- ...delegate,
59
- id: 222,
60
- prevDelegate: null,
61
- newDelegate: { address: someDestinationAddress },
62
- };
63
- const transfer = {
64
- ...delegate,
65
- id: 333,
66
- initiator: null,
67
- type: "transaction",
68
- target: { address: someDestinationAddress },
69
- };
70
- const reveal = {
71
- ...commonTx,
72
- id: 444,
73
- type: "reveal",
74
- bakerFee: 4700,
75
- status: "applied",
76
- };
77
- it.each([
78
- ["undelegate", undelegate, "DELEGATE", "DELEGATE", 0n],
79
- ["delegate", delegate, "UNDELEGATE", "UNDELEGATE", 0n],
80
- ["transfer", transfer, "OUT", undefined, 724846n],
81
- ])("should return %s operation with proper recipient list", async (_label, operation, expectedType, expectedLedgerOpType, expectedAmount) => {
82
- // Given
83
- mockNetworkGetTransactions.mockResolvedValue([operation]);
84
- // When
85
- const [results] = await (0, listOperations_1.listOperations)("any address", options);
86
- // Then
87
- expect(results).toEqual([
88
- {
89
- id: `${operation.hash}-${operation.id}`,
90
- asset: { type: "native" },
91
- details: {
92
- counter: operation.counter,
93
- gasLimit: operation.gasLimit,
94
- storageLimit: operation.storageLimit,
95
- status: operation.status,
96
- ledgerOpType: expectedLedgerOpType,
97
- },
98
- senders: [someSenderAddress],
99
- recipients: [someDestinationAddress],
100
- tx: {
101
- block: {
102
- hash: operation.block,
103
- height: operation.level,
104
- time: new Date(operation.timestamp),
105
- },
106
- date: new Date(operation.timestamp),
107
- hash: operation.hash,
108
- fees: BigInt((operation.allocationFee ?? 0) +
109
- (operation.bakerFee ?? 0) +
110
- (operation.storageFee ?? 0)),
111
- },
112
- type: expectedType,
113
- value: expectedAmount,
114
- },
115
- ]);
116
- });
117
- it.each([
118
- ["undelegate", undelegate],
119
- ["delegate", delegate],
120
- ["transfer", transfer],
121
- ["reveal", reveal],
122
- ])("should return %s operation with pagination equal to operation id", async (_label, operation) => {
123
- // Given
124
- mockNetworkGetTransactions.mockResolvedValue([operation]);
125
- // When
126
- const [results, token] = await (0, listOperations_1.listOperations)("any address", options);
127
- // Then
128
- expect(results.length).toEqual(1);
129
- expect(token).toEqual(JSON.stringify(operation.id));
130
- });
131
- it.each([
132
- ["undelegate", undelegate, "DELEGATE"],
133
- ["delegate", delegate, "UNDELEGATE"],
134
- ["transfer", transfer, undefined],
135
- ["reveal", reveal, "REVEAL"],
136
- ])("should return %s operation with expected details", async (_label, operation, expectedLedgerOpType) => {
137
- // Given
138
- mockNetworkGetTransactions.mockResolvedValue([operation]);
139
- // When
140
- const [results, _] = await (0, listOperations_1.listOperations)("any address", options);
141
- // Then
142
- expect(results.length).toEqual(1);
143
- expect(results[0].details).toEqual({
144
- counter: 65214462,
145
- gasLimit: 4,
146
- storageLimit: 5,
147
- status: operation.status,
148
- ledgerOpType: expectedLedgerOpType,
149
- });
150
- });
151
- it.each([
152
- { ...undelegate, newDelegate: null, prevDelegate: null },
153
- { ...transfer, target: null },
154
- ])("should return empty recipient list when no target can be found", async (operation) => {
155
- // Given
156
- mockNetworkGetTransactions.mockResolvedValue([operation]);
157
- // When
158
- const [results, token] = await (0, listOperations_1.listOperations)("any address", options);
159
- // Then
160
- expect(results.length).toEqual(1);
161
- expect(results[0].recipients).toEqual([]);
162
- expect(token).toEqual(JSON.stringify(operation.id));
163
- });
164
- it.each([
165
- ["undelegate", { ...undelegate, storageFee: 1, bakerFee: 2, allocationFee: 3 }],
166
- ["delegate", { ...delegate, storageFee: 1, bakerFee: 2, allocationFee: 3 }],
167
- ["transfer", { ...transfer, storageFee: 1, bakerFee: 2, allocationFee: 3 }],
168
- ])("should compute the fees properly for %s operation", async (_label, operation) => {
169
- // Given
170
- mockNetworkGetTransactions.mockResolvedValue([operation]);
171
- // When
172
- const [results, _] = await (0, listOperations_1.listOperations)("any address", options);
173
- // Then
174
- expect(results.length).toEqual(1);
175
- expect(results[0].tx.fees).toEqual(BigInt(6));
176
- });
177
- it("should return empty sender list when no sender can be found", async () => {
178
- // Given
179
- const operation = { ...undelegate, sender: null };
180
- mockNetworkGetTransactions.mockResolvedValue([operation]);
181
- // When
182
- const [results, token] = await (0, listOperations_1.listOperations)("any address", options);
183
- // Then
184
- expect(results.length).toEqual(1);
185
- expect(results[0].senders).toEqual([]);
186
- expect(token).toEqual(JSON.stringify(operation.id));
187
- });
188
- it("should order the results in descending order even if the sort option is set to ascending", async () => {
189
- const op1 = { ...undelegate, level: "1", timestamp: "2022-09-12T01:00:00Z" };
190
- const op2 = { ...undelegate, level: "2", timestamp: "2022-09-12T01:01:00Z" };
191
- mockNetworkGetTransactions.mockResolvedValue([op1, op2]);
192
- const [results, _] = await (0, listOperations_1.listOperations)("any address", options);
193
- expect(results.map(op => op.tx.block.height)).toEqual(["2", "1"]);
194
- });
195
- });
196
- //# sourceMappingURL=listOperations.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listOperations.test.js","sourceRoot":"","sources":["../../src/logic/listOperations.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=validateIntent.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validateIntent.test.d.ts","sourceRoot":"","sources":["../../src/logic/validateIntent.test.ts"],"names":[],"mappings":""}
@@ -1,279 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const validateIntent_1 = require("./validateIntent");
30
- const estimateFeesModule = __importStar(require("./estimateFees"));
31
- const tzkt_1 = __importDefault(require("../network/tzkt"));
32
- const config_1 = __importDefault(require("../config"));
33
- const errors_1 = require("@ledgerhq/errors");
34
- describe("validateIntent", () => {
35
- const senderAddress = "tz1TzrmTBSuiVHV2VfMnGRMYvTEPCP42oSM8";
36
- const validRecipient = "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx";
37
- const mockEstimateFees = jest.spyOn(estimateFeesModule, "estimateFees");
38
- const mockGetAccountByAddress = jest.spyOn(tzkt_1.default, "getAccountByAddress");
39
- beforeEach(() => {
40
- jest.clearAllMocks();
41
- config_1.default.setCoinConfig(() => ({
42
- status: { type: "active" },
43
- baker: { url: "http://baker.example.com" },
44
- explorer: { url: "http://tezos.explorer.com", maxTxQuery: 100 },
45
- node: { url: "http://tezos.node.com" },
46
- fees: {
47
- minGasLimit: 600,
48
- minRevealGasLimit: 300,
49
- minStorageLimit: 0,
50
- minFees: 500,
51
- minEstimatedFees: 500,
52
- },
53
- }));
54
- mockEstimateFees.mockResolvedValue({
55
- fees: BigInt(1000),
56
- gasLimit: BigInt(10000),
57
- storageLimit: BigInt(0),
58
- estimatedFees: BigInt(1000),
59
- });
60
- mockGetAccountByAddress.mockResolvedValue({
61
- type: "user",
62
- address: senderAddress,
63
- publicKey: "edpk...",
64
- balance: 5000000,
65
- revealed: true,
66
- counter: 0,
67
- delegationLevel: 0,
68
- delegationTime: "2021-01-01T00:00:00Z",
69
- numTransactions: 0,
70
- firstActivityTime: "2021-01-01T00:00:00Z",
71
- });
72
- });
73
- describe("recipient validation", () => {
74
- it("should return RecipientRequired error when recipient is missing", async () => {
75
- const result = await (0, validateIntent_1.validateIntent)({
76
- intentType: "transaction",
77
- asset: { type: "native" },
78
- type: "send",
79
- sender: senderAddress,
80
- recipient: "",
81
- amount: BigInt(1000),
82
- });
83
- expect(result.errors.recipient).toBeInstanceOf(errors_1.RecipientRequired);
84
- });
85
- it("should return InvalidAddress error for invalid recipient", async () => {
86
- const result = await (0, validateIntent_1.validateIntent)({
87
- intentType: "transaction",
88
- asset: { type: "native" },
89
- type: "send",
90
- sender: senderAddress,
91
- recipient: "invalid_address",
92
- amount: BigInt(1000),
93
- });
94
- expect(result.errors.recipient).toBeInstanceOf(errors_1.InvalidAddress);
95
- });
96
- it("should return InvalidAddressBecauseDestinationIsAlsoSource when sender equals recipient", async () => {
97
- const result = await (0, validateIntent_1.validateIntent)({
98
- intentType: "transaction",
99
- asset: { type: "native" },
100
- type: "send",
101
- sender: senderAddress,
102
- recipient: senderAddress,
103
- amount: BigInt(1000),
104
- });
105
- expect(result.errors.recipient).toBeInstanceOf(errors_1.InvalidAddressBecauseDestinationIsAlsoSource);
106
- });
107
- });
108
- describe("amount validation", () => {
109
- it("should return AmountRequired error when amount is zero and not useAllAmount", async () => {
110
- const result = await (0, validateIntent_1.validateIntent)({
111
- intentType: "transaction",
112
- asset: { type: "native" },
113
- type: "send",
114
- sender: senderAddress,
115
- recipient: validRecipient,
116
- amount: BigInt(0),
117
- useAllAmount: false,
118
- });
119
- expect(result.errors.amount).toBeInstanceOf(errors_1.AmountRequired);
120
- });
121
- it("should not return AmountRequired error when useAllAmount is true", async () => {
122
- const result = await (0, validateIntent_1.validateIntent)({
123
- intentType: "transaction",
124
- asset: { type: "native" },
125
- type: "send",
126
- sender: senderAddress,
127
- recipient: validRecipient,
128
- amount: BigInt(0),
129
- useAllAmount: true,
130
- });
131
- expect(result.errors.amount).toBeUndefined();
132
- });
133
- it.each([["stake"], ["unstake"]])("returns 0 as amount when the transaction intent is '%s'", async (intentType) => {
134
- const result = await (0, validateIntent_1.validateIntent)({
135
- intentType: "transaction",
136
- asset: { type: "native" },
137
- type: intentType,
138
- sender: "tz1TzrmTBSuiVHV2VfMnGRMYvTEPCP42oSM8",
139
- recipient: "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx",
140
- amount: BigInt(0),
141
- useAllAmount: true,
142
- });
143
- expect(result).toEqual({
144
- errors: {},
145
- warnings: {},
146
- estimatedFees: 1000n,
147
- amount: 0n,
148
- totalSpent: 1000n,
149
- });
150
- });
151
- });
152
- describe("balance validation", () => {
153
- it("should return NotEnoughBalance error when amount exceeds balance", async () => {
154
- const balance = 1000000; // 1 XTZ
155
- const amount = 2000000; // 2 XTZ
156
- mockGetAccountByAddress.mockResolvedValue({
157
- type: "user",
158
- address: senderAddress,
159
- publicKey: "edpk...",
160
- balance,
161
- revealed: true,
162
- counter: 0,
163
- delegationLevel: 0,
164
- delegationTime: "2021-01-01T00:00:00Z",
165
- numTransactions: 0,
166
- firstActivityTime: "2021-01-01T00:00:00Z",
167
- });
168
- const result = await (0, validateIntent_1.validateIntent)({
169
- intentType: "transaction",
170
- asset: { type: "native" },
171
- type: "send",
172
- sender: senderAddress,
173
- recipient: validRecipient,
174
- amount: BigInt(amount),
175
- });
176
- expect(result.errors.amount).toBeInstanceOf(errors_1.NotEnoughBalance);
177
- });
178
- it("should pass validation when amount is within balance", async () => {
179
- const balance = 5000000; // 5 XTZ
180
- const amount = 1000000; // 1 XTZ
181
- mockGetAccountByAddress.mockResolvedValue({
182
- type: "user",
183
- address: senderAddress,
184
- publicKey: "edpk...",
185
- balance,
186
- revealed: true,
187
- counter: 0,
188
- delegationLevel: 0,
189
- delegationTime: "2021-01-01T00:00:00Z",
190
- numTransactions: 0,
191
- firstActivityTime: "2021-01-01T00:00:00Z",
192
- });
193
- const result = await (0, validateIntent_1.validateIntent)({
194
- intentType: "transaction",
195
- asset: { type: "native" },
196
- type: "send",
197
- sender: senderAddress,
198
- recipient: validRecipient,
199
- amount: BigInt(amount),
200
- });
201
- expect(result.errors.amount).toBeUndefined();
202
- expect(result.amount).toBe(BigInt(amount));
203
- });
204
- });
205
- describe("transaction types", () => {
206
- it("should pass validation for delegate transaction", async () => {
207
- const result = await (0, validateIntent_1.validateIntent)({
208
- intentType: "staking",
209
- asset: { type: "native" },
210
- type: "delegate",
211
- sender: senderAddress,
212
- recipient: validRecipient,
213
- amount: BigInt(0),
214
- });
215
- expect(result.errors).toEqual({});
216
- });
217
- it("should pass validation for undelegate transaction", async () => {
218
- const result = await (0, validateIntent_1.validateIntent)({
219
- intentType: "staking",
220
- asset: { type: "native" },
221
- type: "undelegate",
222
- sender: senderAddress,
223
- recipient: "",
224
- amount: BigInt(0),
225
- });
226
- expect(result.errors).toEqual({});
227
- });
228
- it("should handle stake intent (mapped to delegate)", async () => {
229
- const result = await (0, validateIntent_1.validateIntent)({
230
- intentType: "staking",
231
- asset: { type: "native" },
232
- type: "stake",
233
- sender: senderAddress,
234
- recipient: validRecipient,
235
- amount: BigInt(0),
236
- });
237
- expect(result.errors).toEqual({});
238
- });
239
- it("should handle unstake intent (mapped to undelegate)", async () => {
240
- const result = await (0, validateIntent_1.validateIntent)({
241
- intentType: "staking",
242
- asset: { type: "native" },
243
- type: "unstake",
244
- sender: senderAddress,
245
- recipient: "",
246
- amount: BigInt(0),
247
- });
248
- expect(result.errors).toEqual({});
249
- });
250
- });
251
- describe("successful validation", () => {
252
- it("should return valid result with correct values", async () => {
253
- const amount = BigInt(1000000);
254
- const estimatedFees = BigInt(1500);
255
- mockEstimateFees.mockResolvedValue({
256
- fees: BigInt(1000),
257
- gasLimit: BigInt(10000),
258
- storageLimit: BigInt(0),
259
- estimatedFees,
260
- });
261
- const result = await (0, validateIntent_1.validateIntent)({
262
- intentType: "transaction",
263
- asset: { type: "native" },
264
- type: "send",
265
- sender: senderAddress,
266
- recipient: validRecipient,
267
- amount,
268
- });
269
- expect(result).toMatchObject({
270
- errors: {},
271
- warnings: {},
272
- estimatedFees,
273
- amount,
274
- totalSpent: amount + estimatedFees,
275
- });
276
- });
277
- });
278
- });
279
- //# sourceMappingURL=validateIntent.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validateIntent.test.js","sourceRoot":"","sources":["../../src/logic/validateIntent.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=bakers.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bakers.integration.test.d.ts","sourceRoot":"","sources":["../../src/network/bakers.integration.test.ts"],"names":[],"mappings":""}
@@ -1,57 +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 serialization_1 = require("@ledgerhq/coin-framework/serialization");
7
- const bakers_1 = require("../network/bakers");
8
- const bakers_whitelist_default_1 = __importDefault(require("../network/bakers.whitelist-default"));
9
- const config_1 = __importDefault(require("../config"));
10
- const config_2 = require("../test/config");
11
- function makeAccountRaw(name, pubkey, address, derivationMode) {
12
- return {
13
- id: `js:2:tezos:${pubkey}:${derivationMode}`,
14
- seedIdentifier: address,
15
- name: "Tezos " + name,
16
- derivationMode,
17
- index: 0,
18
- freshAddress: address,
19
- freshAddressPath: "",
20
- blockHeight: 0,
21
- operations: [],
22
- pendingOperations: [],
23
- currencyId: "tezos",
24
- lastSyncDate: "",
25
- balance: "0",
26
- xpub: pubkey,
27
- subAccounts: [],
28
- tezosResources: { revealed: true, counter: 0 },
29
- };
30
- }
31
- const accountTZrevealedDelegating = makeAccountRaw("TZrevealedDelegating", "02389ffd73423626894cb151416e51c72ec285376673daf83545eb5edb45b261ce", "tz1boBHAVpwcvKkNFAQHYr7mjxAz1PpVgKq7", "tezbox");
32
- describe("tezos bakers", () => {
33
- beforeAll(() => {
34
- config_1.default.setCoinConfig(() => config_2.mockConfig);
35
- });
36
- test("atleast 10 whitelisted bakers are online", async () => {
37
- const bakers = await (0, bakers_1.listBakers)(bakers_whitelist_default_1.default);
38
- const retrievedAddresses = bakers.map(o => o.address);
39
- let available = 0;
40
- for (const whitelisted of bakers_whitelist_default_1.default) {
41
- if (retrievedAddresses.includes(whitelisted)) {
42
- available++;
43
- }
44
- else {
45
- console.warn(`Baker ${whitelisted} no longer online !`);
46
- }
47
- }
48
- expect(available).toBeGreaterThan(10);
49
- });
50
- // TODO we'll need two accounts to test diff cases
51
- test("load account baker info", async () => {
52
- const account = (0, serialization_1.fromAccountRaw)(accountTZrevealedDelegating);
53
- const delegation = await (0, bakers_1.loadAccountDelegation)(account);
54
- expect(delegation).toBe(null);
55
- });
56
- });
57
- //# sourceMappingURL=bakers.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bakers.integration.test.js","sourceRoot":"","sources":["../../src/network/bakers.integration.test.ts"],"names":[],"mappings":";;;;;AACA,0EAAwE;AAExE,8CAAsE;AACtE,mGAA4D;AAC5D,uDAAwD;AACxD,2CAA4C;AAE5C,SAAS,cAAc,CACrB,IAAY,EACZ,MAAc,EACd,OAAe,EACf,cAA8B;IAE9B,OAAO;QACL,EAAE,EAAE,cAAc,MAAM,IAAI,cAAc,EAAE;QAC5C,cAAc,EAAE,OAAO;QACvB,IAAI,EAAE,QAAQ,GAAG,IAAI;QACrB,cAAc;QACd,KAAK,EAAE,CAAC;QACR,YAAY,EAAE,OAAO;QACrB,gBAAgB,EAAE,EAAE;QACpB,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,EAAE;QACrB,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,2BAA2B,GAAG,cAAc,CAChD,sBAAsB,EACtB,oEAAoE,EACpE,sCAAsC,EACtC,QAAQ,CACT,CAAC;AAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,gBAAU,CAAC,aAAa,CAAC,GAAoB,EAAE,CAAC,mBAA6B,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,EAAC,kCAAS,CAAC,CAAC;QAC3C,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,WAAW,IAAI,kCAAS,EAAE,CAAC;YACpC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7C,SAAS,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,SAAS,WAAW,qBAAqB,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAClD,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,OAAO,GAAG,IAAA,8BAAc,EAAC,2BAA2B,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,MAAM,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;QACxD,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=bakers.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bakers.test.d.ts","sourceRoot":"","sources":["../../src/network/bakers.test.ts"],"names":[],"mappings":""}