@ledgerhq/coin-tezos 6.7.0 → 6.7.1-nightly.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.
Files changed (90) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/package.json +6 -6
  3. package/lib/api/index.integ.test.d.ts +0 -2
  4. package/lib/api/index.integ.test.d.ts.map +0 -1
  5. package/lib/api/index.integ.test.js +0 -201
  6. package/lib/api/index.integ.test.js.map +0 -1
  7. package/lib/api/index.test.d.ts +0 -2
  8. package/lib/api/index.test.d.ts.map +0 -1
  9. package/lib/api/index.test.js +0 -203
  10. package/lib/api/index.test.js.map +0 -1
  11. package/lib/logic/craftTransaction.integ.test.d.ts +0 -2
  12. package/lib/logic/craftTransaction.integ.test.d.ts.map +0 -1
  13. package/lib/logic/craftTransaction.integ.test.js +0 -86
  14. package/lib/logic/craftTransaction.integ.test.js.map +0 -1
  15. package/lib/logic/craftTransaction.test.d.ts +0 -2
  16. package/lib/logic/craftTransaction.test.d.ts.map +0 -1
  17. package/lib/logic/craftTransaction.test.js +0 -153
  18. package/lib/logic/craftTransaction.test.js.map +0 -1
  19. package/lib/logic/estimateFees.integ.test.d.ts +0 -2
  20. package/lib/logic/estimateFees.integ.test.d.ts.map +0 -1
  21. package/lib/logic/estimateFees.integ.test.js +0 -71
  22. package/lib/logic/estimateFees.integ.test.js.map +0 -1
  23. package/lib/logic/getBalance.test.d.ts +0 -2
  24. package/lib/logic/getBalance.test.d.ts.map +0 -1
  25. package/lib/logic/getBalance.test.js +0 -23
  26. package/lib/logic/getBalance.test.js.map +0 -1
  27. package/lib/logic/getStakes.test.d.ts +0 -2
  28. package/lib/logic/getStakes.test.d.ts.map +0 -1
  29. package/lib/logic/getStakes.test.js +0 -133
  30. package/lib/logic/getStakes.test.js.map +0 -1
  31. package/lib/logic/listOperations.test.d.ts +0 -2
  32. package/lib/logic/listOperations.test.d.ts.map +0 -1
  33. package/lib/logic/listOperations.test.js +0 -196
  34. package/lib/logic/listOperations.test.js.map +0 -1
  35. package/lib/logic/validateIntent.test.d.ts +0 -2
  36. package/lib/logic/validateIntent.test.d.ts.map +0 -1
  37. package/lib/logic/validateIntent.test.js +0 -279
  38. package/lib/logic/validateIntent.test.js.map +0 -1
  39. package/lib/network/bakers.integration.test.d.ts +0 -2
  40. package/lib/network/bakers.integration.test.d.ts.map +0 -1
  41. package/lib/network/bakers.integration.test.js +0 -57
  42. package/lib/network/bakers.integration.test.js.map +0 -1
  43. package/lib/network/bakers.test.d.ts +0 -2
  44. package/lib/network/bakers.test.d.ts.map +0 -1
  45. package/lib/network/bakers.test.js +0 -209
  46. package/lib/network/bakers.test.js.map +0 -1
  47. package/lib-es/api/index.integ.test.d.ts +0 -2
  48. package/lib-es/api/index.integ.test.d.ts.map +0 -1
  49. package/lib-es/api/index.integ.test.js +0 -199
  50. package/lib-es/api/index.integ.test.js.map +0 -1
  51. package/lib-es/api/index.test.d.ts +0 -2
  52. package/lib-es/api/index.test.d.ts.map +0 -1
  53. package/lib-es/api/index.test.js +0 -198
  54. package/lib-es/api/index.test.js.map +0 -1
  55. package/lib-es/logic/craftTransaction.integ.test.d.ts +0 -2
  56. package/lib-es/logic/craftTransaction.integ.test.d.ts.map +0 -1
  57. package/lib-es/logic/craftTransaction.integ.test.js +0 -81
  58. package/lib-es/logic/craftTransaction.integ.test.js.map +0 -1
  59. package/lib-es/logic/craftTransaction.test.d.ts +0 -2
  60. package/lib-es/logic/craftTransaction.test.d.ts.map +0 -1
  61. package/lib-es/logic/craftTransaction.test.js +0 -148
  62. package/lib-es/logic/craftTransaction.test.js.map +0 -1
  63. package/lib-es/logic/estimateFees.integ.test.d.ts +0 -2
  64. package/lib-es/logic/estimateFees.integ.test.d.ts.map +0 -1
  65. package/lib-es/logic/estimateFees.integ.test.js +0 -66
  66. package/lib-es/logic/estimateFees.integ.test.js.map +0 -1
  67. package/lib-es/logic/getBalance.test.d.ts +0 -2
  68. package/lib-es/logic/getBalance.test.d.ts.map +0 -1
  69. package/lib-es/logic/getBalance.test.js +0 -18
  70. package/lib-es/logic/getBalance.test.js.map +0 -1
  71. package/lib-es/logic/getStakes.test.d.ts +0 -2
  72. package/lib-es/logic/getStakes.test.d.ts.map +0 -1
  73. package/lib-es/logic/getStakes.test.js +0 -128
  74. package/lib-es/logic/getStakes.test.js.map +0 -1
  75. package/lib-es/logic/listOperations.test.d.ts +0 -2
  76. package/lib-es/logic/listOperations.test.d.ts.map +0 -1
  77. package/lib-es/logic/listOperations.test.js +0 -194
  78. package/lib-es/logic/listOperations.test.js.map +0 -1
  79. package/lib-es/logic/validateIntent.test.d.ts +0 -2
  80. package/lib-es/logic/validateIntent.test.d.ts.map +0 -1
  81. package/lib-es/logic/validateIntent.test.js +0 -251
  82. package/lib-es/logic/validateIntent.test.js.map +0 -1
  83. package/lib-es/network/bakers.integration.test.d.ts +0 -2
  84. package/lib-es/network/bakers.integration.test.d.ts.map +0 -1
  85. package/lib-es/network/bakers.integration.test.js +0 -52
  86. package/lib-es/network/bakers.integration.test.js.map +0 -1
  87. package/lib-es/network/bakers.test.d.ts +0 -2
  88. package/lib-es/network/bakers.test.d.ts.map +0 -1
  89. package/lib-es/network/bakers.test.js +0 -204
  90. package/lib-es/network/bakers.test.js.map +0 -1
@@ -1,199 +0,0 @@
1
- import { localForger } from "@taquito/local-forging";
2
- import { createApi } from ".";
3
- /**
4
- * https://teztnets.com/ghostnet-about
5
- * https://api.tzkt.io/#section/Get-Started/Free-TzKT-API
6
- */
7
- describe("Tezos Api", () => {
8
- let module;
9
- const address = "tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ";
10
- beforeAll(() => {
11
- module = createApi({
12
- baker: {
13
- url: "https://baker.example.com",
14
- },
15
- explorer: {
16
- url: "https://api.ghostnet.tzkt.io",
17
- maxTxQuery: 100,
18
- },
19
- node: {
20
- url: "https://rpc.ghostnet.teztnets.com",
21
- },
22
- fees: {
23
- minGasLimit: 600,
24
- minRevealGasLimit: 300,
25
- minStorageLimit: 0,
26
- minFees: 500,
27
- minEstimatedFees: 500,
28
- },
29
- });
30
- });
31
- describe("estimateFees", () => {
32
- it("returns a default value", async () => {
33
- // Given
34
- const amount = BigInt(100);
35
- // When
36
- const result = await module.estimateFees({
37
- intentType: "transaction",
38
- asset: { type: "native" },
39
- type: "send",
40
- sender: address,
41
- recipient: "tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ",
42
- amount,
43
- });
44
- // Then
45
- expect(result.value).toBeGreaterThanOrEqual(BigInt(0));
46
- expect(result.parameters).toBeDefined();
47
- expect(result.parameters?.gasLimit).toBeGreaterThanOrEqual(BigInt(0));
48
- expect(result.parameters?.storageLimit).toBeGreaterThanOrEqual(BigInt(0));
49
- });
50
- });
51
- it.each([
52
- [
53
- "ed25519 / tz1",
54
- "tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ",
55
- "6D9733FB7E27C56F032FAD41E4C0C90D58D0D5F1A253B2430B702071B57E47C1",
56
- ],
57
- [
58
- "secp256k1 / tz2",
59
- "tz2DvEBHrtFkq9pTXqt6yavnf4sPe2jut2XH",
60
- "032fede4de54cf92381832a053f0787125fdc0d065d231585eb34d5eae327c0222",
61
- ],
62
- [
63
- "P256 / tz3",
64
- "tz3DvEBHrtFkq9pTXqt6yavnf4sPe2jut2XH",
65
- "0466839a78481025e3613f65fcd4b492a492bedd1a3cba77ae48eaa1803611d8e5f4e23c0d0f3586e2095f4f83d09c841e1c17586b2356d5d3a3ed3f45bb3a857e",
66
- ],
67
- ])("does not fail when providing a %s address with pub key", async (_, sender, pubKey) => {
68
- // When
69
- const result = await module.estimateFees({
70
- intentType: "transaction",
71
- asset: { type: "native" },
72
- type: "send",
73
- sender: "tz3DvEBHrtFkq9pTXqt6yavnf4sPe2jut2XH",
74
- senderPublicKey: pubKey,
75
- recipient: sender,
76
- amount: BigInt(100),
77
- });
78
- // Then
79
- expect(result.value).toBeGreaterThanOrEqual(BigInt(0));
80
- expect(result.parameters).toBeDefined();
81
- expect(result.parameters?.gasLimit).toBeGreaterThanOrEqual(BigInt(0));
82
- expect(result.parameters?.storageLimit).toBeGreaterThanOrEqual(BigInt(0));
83
- });
84
- it("fails when using an unsupported address type", async () => {
85
- await expect(module.estimateFees({
86
- intentType: "transaction",
87
- asset: { type: "native" },
88
- type: "send",
89
- sender: address,
90
- recipient: "tz5heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ",
91
- amount: BigInt(100),
92
- })).rejects.toThrow('Invalid address "tz5heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ"');
93
- });
94
- describe("listOperations", () => {
95
- it("returns a list regarding address parameter", async () => {
96
- // When
97
- const [tx, _] = await module.listOperations(address, { minHeight: 0, order: "asc" });
98
- // Then
99
- expect(tx.length).toBeGreaterThanOrEqual(1);
100
- tx.forEach(operation => {
101
- const isSenderOrReceipt = operation.senders.includes(address) || operation.recipients.includes(address);
102
- expect(isSenderOrReceipt).toBeTruthy();
103
- expect(operation.tx.block).toBeDefined();
104
- });
105
- });
106
- it("returns all operations", async () => {
107
- // When
108
- const [tx, _] = await module.listOperations(address, { minHeight: 0, order: "asc" });
109
- // Then
110
- // Find a way to create a unique id. In Tezos, the same hash may represent different operations in case of delegation.
111
- const checkSet = new Set(tx.map(elt => `${elt.tx.hash}${elt.type}${elt.senders[0]}`));
112
- expect(checkSet.size).toEqual(tx.length);
113
- });
114
- it("returns operations from latest, but in asc order", async () => {
115
- // When
116
- const [txDesc] = await module.listOperations(address, { minHeight: 0, order: "desc" });
117
- // Then
118
- // Check if the result is sorted in ascending order
119
- expect(txDesc[0].tx.block.height).toBeGreaterThanOrEqual(txDesc[txDesc.length - 1].tx.block.height);
120
- });
121
- });
122
- describe("lastBlock", () => {
123
- it("returns last block info", async () => {
124
- // When
125
- const result = await module.lastBlock();
126
- // Then
127
- expect(result.hash).toBeDefined();
128
- expect(result.height).toBeDefined();
129
- expect(result.time).toBeInstanceOf(Date);
130
- });
131
- });
132
- describe("getBalance", () => {
133
- it("returns a list regarding address parameter", async () => {
134
- // When
135
- const result = await module.getBalance(address);
136
- // Then
137
- expect(result[0].asset).toEqual({ type: "native" });
138
- expect(result[0].value).toBeGreaterThan(0);
139
- });
140
- });
141
- describe("craftTransaction", () => {
142
- async function decode(sbytes) {
143
- // note: strip the conventional prefix (aka watermark) added by rawEncode
144
- // output of craftTransaction is "payload to sign = prefix + actual raw transaction"
145
- return await localForger.parse(sbytes.slice(2));
146
- }
147
- it.each(["send", "delegate", "undelegate"])("returns a raw transaction with %s", async (type) => {
148
- const recipient = "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9";
149
- const amount = BigInt(10);
150
- // When
151
- const { transaction: encodedTransaction } = await module.craftTransaction({
152
- intentType: "transaction",
153
- asset: { type: "native" },
154
- type,
155
- sender: address,
156
- recipient: recipient,
157
- amount: amount,
158
- });
159
- const decodedTransaction = await decode(encodedTransaction);
160
- expect(decodedTransaction.contents).toHaveLength(1);
161
- const operationContent = decodedTransaction.contents[0];
162
- expect(operationContent.source).toEqual(address);
163
- expect(BigInt(operationContent.fee)).toBeGreaterThan(0);
164
- if (type === "send") {
165
- expect(BigInt(operationContent.amount)).toEqual(amount);
166
- expect(operationContent.destination).toEqual(recipient);
167
- }
168
- else if (type === "delegate") {
169
- expect(operationContent.delegate).toEqual(recipient);
170
- }
171
- });
172
- it("should use estimated fees when user does not provide them for crafting a transaction", async () => {
173
- const { transaction: encodedTransaction } = await module.craftTransaction({
174
- intentType: "transaction",
175
- asset: { type: "native" },
176
- type: "send",
177
- sender: address,
178
- recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9",
179
- amount: BigInt(10),
180
- });
181
- const decodedTransaction = await decode(encodedTransaction);
182
- const transactionFee = BigInt(decodedTransaction.contents[0].fee);
183
- expect(transactionFee).toBeGreaterThan(0);
184
- });
185
- it.each([1n, 50n, 99n])("should use custom user fees when user provides it for crafting a transaction", async (customFees) => {
186
- const { transaction: encodedTransaction } = await module.craftTransaction({
187
- intentType: "transaction",
188
- asset: { type: "native" },
189
- type: "send",
190
- sender: address,
191
- recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9",
192
- amount: BigInt(10),
193
- }, { value: customFees });
194
- const decodedTransaction = await decode(encodedTransaction);
195
- expect(decodedTransaction.contents[0].fee).toEqual(customFees.toString());
196
- });
197
- });
198
- });
199
- //# sourceMappingURL=index.integ.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":""}
@@ -1,198 +0,0 @@
1
- import networkApi from "../network/tzkt";
2
- import { createApi } from "./index";
3
- const DEFAULT_ESTIMATED_FEES = 300n;
4
- const DEFAULT_GAS_LIMIT = 30n;
5
- const DEFAULT_STORAGE_LIMIT = 40n;
6
- const logicGetTransactions = jest.fn();
7
- const logicEstimateFees = jest.fn();
8
- const logicCraftTransactionMock = jest.fn((_account, _transaction) => {
9
- return { type: undefined, contents: undefined };
10
- });
11
- jest.mock("../logic", () => ({
12
- listOperations: async () => logicGetTransactions(),
13
- estimateFees: async () => logicEstimateFees(),
14
- craftTransaction: (account, transaction) => logicCraftTransactionMock(account, transaction),
15
- rawEncode: () => Promise.resolve("tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ"),
16
- }));
17
- jest.spyOn(networkApi, "getAccountByAddress").mockResolvedValue({
18
- type: "user",
19
- balance: 1000,
20
- revealed: true,
21
- address: "tz1test",
22
- publicKey: "edpktest",
23
- counter: 0,
24
- delegationLevel: 0,
25
- delegationTime: "2021-01-01T00:00:00Z",
26
- numTransactions: 0,
27
- firstActivityTime: "2021-01-01T00:00:00Z",
28
- });
29
- const api = createApi({
30
- baker: {
31
- url: "https://baker.example.com",
32
- },
33
- explorer: {
34
- url: "foo",
35
- maxTxQuery: 1,
36
- },
37
- node: {
38
- url: "bar",
39
- },
40
- fees: {
41
- minGasLimit: 1,
42
- minRevealGasLimit: 1,
43
- minStorageLimit: 1,
44
- minFees: 1,
45
- minEstimatedFees: 2,
46
- },
47
- });
48
- describe("get operations", () => {
49
- afterEach(() => {
50
- logicGetTransactions.mockClear();
51
- });
52
- it("could return no operation", async () => {
53
- logicGetTransactions.mockResolvedValue([[], ""]);
54
- const [operations, token] = await api.listOperations("addr", { minHeight: 100, order: "asc" });
55
- expect(operations).toEqual([]);
56
- expect(token).toEqual("");
57
- });
58
- const op = {
59
- id: "blockhash",
60
- asset: { type: "native" },
61
- tx: {
62
- hash: "opHash",
63
- fees: BigInt(100),
64
- block: {
65
- hash: "blockHash",
66
- height: 123456,
67
- time: new Date(),
68
- },
69
- date: new Date(),
70
- },
71
- type: "transaction",
72
- value: BigInt(1000),
73
- senders: ["tz1Sender"],
74
- recipients: ["tz1Recipient"],
75
- };
76
- it("only does 1 iteration", async () => {
77
- logicGetTransactions.mockResolvedValue([[op], "888"]);
78
- const [operations, token] = await api.listOperations("addr", { minHeight: 100, order: "asc" });
79
- expect(logicGetTransactions).toHaveBeenCalledTimes(1);
80
- expect(operations.length).toBe(1);
81
- expect(token).toEqual("888");
82
- });
83
- });
84
- describe("Testing craftTransaction function", () => {
85
- beforeEach(() => jest.clearAllMocks());
86
- it("should use estimated fees when user does not provide them for crafting a transaction ", async () => {
87
- logicEstimateFees.mockResolvedValue({
88
- estimatedFees: DEFAULT_ESTIMATED_FEES,
89
- gasLimit: DEFAULT_GAS_LIMIT,
90
- storageLimit: DEFAULT_STORAGE_LIMIT,
91
- });
92
- await api.craftTransaction({
93
- intentType: "transaction",
94
- type: "send",
95
- sender: "tz1test",
96
- recipient: "tz1recipient",
97
- amount: 1000n,
98
- });
99
- expect(logicEstimateFees).toHaveBeenCalledTimes(1);
100
- expect(logicCraftTransactionMock).toHaveBeenCalledWith(expect.objectContaining({ address: "tz1test" }), expect.objectContaining({
101
- fee: expect.objectContaining({
102
- fees: DEFAULT_ESTIMATED_FEES.toString(),
103
- gasLimit: DEFAULT_GAS_LIMIT.toString(),
104
- storageLimit: DEFAULT_STORAGE_LIMIT.toString(),
105
- }),
106
- }));
107
- });
108
- it.each([[1n], [50n], [99n]])("should use custom user fees when user provides it for crafting a transaction", async (customFees) => {
109
- logicEstimateFees.mockResolvedValue({
110
- estimatedFees: DEFAULT_ESTIMATED_FEES,
111
- gasLimit: DEFAULT_GAS_LIMIT,
112
- storageLimit: DEFAULT_STORAGE_LIMIT,
113
- parameters: {
114
- gasLimit: DEFAULT_GAS_LIMIT,
115
- storageLimit: DEFAULT_STORAGE_LIMIT,
116
- },
117
- });
118
- await api.craftTransaction({
119
- intentType: "transaction",
120
- type: "send",
121
- sender: "tz1test",
122
- recipient: "tz1recipient",
123
- amount: 1000n,
124
- }, {
125
- value: customFees,
126
- });
127
- expect(logicEstimateFees).toHaveBeenCalledTimes(1);
128
- expect(logicCraftTransactionMock).toHaveBeenCalledWith(expect.any(Object), expect.objectContaining({
129
- fee: {
130
- fees: customFees.toString(),
131
- gasLimit: DEFAULT_GAS_LIMIT.toString(),
132
- storageLimit: DEFAULT_STORAGE_LIMIT.toString(),
133
- },
134
- }));
135
- });
136
- });
137
- describe("Testing estimateFees function", () => {
138
- beforeEach(() => jest.clearAllMocks());
139
- it("should return estimation from logic module", async () => {
140
- logicEstimateFees.mockResolvedValue({
141
- estimatedFees: DEFAULT_ESTIMATED_FEES,
142
- gasLimit: DEFAULT_GAS_LIMIT,
143
- storageLimit: DEFAULT_STORAGE_LIMIT,
144
- });
145
- const result = await api.estimateFees({
146
- intentType: "transaction",
147
- type: "send",
148
- sender: "tz1test",
149
- recipient: "tz1recipient",
150
- amount: 1000n,
151
- });
152
- expect(result).toEqual({
153
- value: DEFAULT_ESTIMATED_FEES,
154
- parameters: {
155
- gasLimit: DEFAULT_GAS_LIMIT,
156
- storageLimit: DEFAULT_STORAGE_LIMIT,
157
- },
158
- });
159
- });
160
- it("should throw taquito errors", async () => {
161
- logicEstimateFees.mockResolvedValue({
162
- estimatedFees: DEFAULT_ESTIMATED_FEES,
163
- gasLimit: DEFAULT_GAS_LIMIT,
164
- storageLimit: DEFAULT_STORAGE_LIMIT,
165
- taquitoError: "test",
166
- });
167
- await expect(api.estimateFees({
168
- intentType: "transaction",
169
- type: "send",
170
- sender: "tz1test",
171
- recipient: "tz1recipient",
172
- amount: 1000n,
173
- })).rejects.toThrow("Fees estimation failed: test");
174
- });
175
- it("should not throw for delegate.unchanged errors", async () => {
176
- logicEstimateFees.mockResolvedValue({
177
- estimatedFees: DEFAULT_ESTIMATED_FEES,
178
- gasLimit: DEFAULT_GAS_LIMIT,
179
- storageLimit: DEFAULT_STORAGE_LIMIT,
180
- taquitoError: "proto.022-PsRiotum.delegate.unchanged",
181
- });
182
- const result = await api.estimateFees({
183
- intentType: "staking",
184
- type: "delegate",
185
- sender: "tz1test",
186
- recipient: "tz1validator",
187
- amount: 0n,
188
- });
189
- expect(result).toEqual({
190
- value: DEFAULT_ESTIMATED_FEES,
191
- parameters: {
192
- gasLimit: DEFAULT_GAS_LIMIT,
193
- storageLimit: DEFAULT_STORAGE_LIMIT,
194
- },
195
- });
196
- });
197
- });
198
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=craftTransaction.integ.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"craftTransaction.integ.test.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.integ.test.ts"],"names":[],"mappings":""}
@@ -1,81 +0,0 @@
1
- import { OpKind } from "@taquito/rpc";
2
- import { craftTransaction } from ".";
3
- import coinConfig from "../config";
4
- import { mockConfig } from "../test/config";
5
- /**
6
- * https://teztnets.com/ghostnet-about
7
- * https://api.tzkt.io/#section/Get-Started/Free-TzKT-API
8
- */
9
- describe("Tezos Api", () => {
10
- const address = "tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ";
11
- beforeAll(() => {
12
- coinConfig.setCoinConfig(() => mockConfig);
13
- });
14
- it("should craft a send transaction", async () => {
15
- // When
16
- const result = await craftTransaction({ address }, {
17
- type: "send",
18
- recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9", // spell-checker: disable-line
19
- amount: BigInt(10),
20
- fee: { fees: BigInt(1).toString() },
21
- });
22
- // Then
23
- expect(result.type).toBe("OUT");
24
- expect(result.contents).toEqual(expect.objectContaining([
25
- {
26
- kind: OpKind.TRANSACTION,
27
- amount: "10",
28
- destination: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9",
29
- source: address,
30
- counter: expect.any(String),
31
- fee: "1",
32
- gas_limit: "0",
33
- storage_limit: "0",
34
- },
35
- ]));
36
- });
37
- it("should craft a delegate transaction", async () => {
38
- // When
39
- const result = await craftTransaction({ address }, {
40
- type: "delegate",
41
- recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9", // spell-checker: disable-line
42
- amount: BigInt(10),
43
- fee: { fees: BigInt(1).toString(), gasLimit: "200", storageLimit: "300" },
44
- });
45
- // Then
46
- expect(result.type).toBe("DELEGATE");
47
- expect(result.contents).toEqual(expect.objectContaining([
48
- {
49
- kind: OpKind.DELEGATION,
50
- source: address,
51
- counter: expect.any(String),
52
- delegate: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9",
53
- fee: "1",
54
- gas_limit: "200",
55
- storage_limit: "300",
56
- },
57
- ]));
58
- });
59
- it("should craft a undelegate transaction", async () => {
60
- // When
61
- const result = await craftTransaction({ address }, {
62
- type: "undelegate",
63
- recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9", // spell-checker: disable-line
64
- amount: BigInt(10),
65
- fee: { fees: BigInt(1).toString(), gasLimit: "200", storageLimit: "300" },
66
- });
67
- // Then
68
- expect(result.type).toBe("UNDELEGATE");
69
- expect(result.contents).toEqual(expect.objectContaining([
70
- {
71
- kind: OpKind.DELEGATION,
72
- source: address,
73
- counter: expect.any(String),
74
- fee: "1",
75
- gas_limit: "200",
76
- storage_limit: "300",
77
- },
78
- ]));
79
- });
80
- });
81
- //# sourceMappingURL=craftTransaction.integ.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"craftTransaction.integ.test.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.integ.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=craftTransaction.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"craftTransaction.test.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.test.ts"],"names":[],"mappings":""}