@ledgerhq/coin-celo 1.3.0 → 1.3.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 (187) hide show
  1. package/.unimportedrc.json +3 -6
  2. package/CHANGELOG.md +8 -0
  3. package/lib/__tests__/bridge/buildOptimisticOperation.test.d.ts +2 -0
  4. package/lib/__tests__/bridge/buildOptimisticOperation.test.d.ts.map +1 -0
  5. package/lib/__tests__/bridge/buildOptimisticOperation.test.js +23 -0
  6. package/lib/__tests__/bridge/buildOptimisticOperation.test.js.map +1 -0
  7. package/lib/__tests__/bridge/buildTransaction.test.d.ts +2 -0
  8. package/lib/__tests__/bridge/buildTransaction.test.d.ts.map +1 -0
  9. package/lib/__tests__/bridge/buildTransaction.test.js +412 -0
  10. package/lib/__tests__/bridge/buildTransaction.test.js.map +1 -0
  11. package/lib/__tests__/bridge/createTransaction.test.d.ts +2 -0
  12. package/lib/__tests__/bridge/createTransaction.test.d.ts.map +1 -0
  13. package/lib/__tests__/bridge/createTransaction.test.js +22 -0
  14. package/lib/__tests__/bridge/createTransaction.test.js.map +1 -0
  15. package/lib/__tests__/bridge/deviceTransactionConfig.test.d.ts +2 -0
  16. package/lib/__tests__/bridge/deviceTransactionConfig.test.d.ts.map +1 -0
  17. package/lib/__tests__/bridge/deviceTransactionConfig.test.js +21 -0
  18. package/lib/__tests__/bridge/deviceTransactionConfig.test.js.map +1 -0
  19. package/lib/__tests__/bridge/estimateMaxSpendable.test.d.ts +2 -0
  20. package/lib/__tests__/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
  21. package/lib/__tests__/bridge/estimateMaxSpendable.test.js +108 -0
  22. package/lib/__tests__/bridge/estimateMaxSpendable.test.js.map +1 -0
  23. package/lib/__tests__/bridge/getFeesForTransaction.test.d.ts +2 -0
  24. package/lib/__tests__/bridge/getFeesForTransaction.test.d.ts.map +1 -0
  25. package/lib/__tests__/bridge/getFeesForTransaction.test.js +211 -0
  26. package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -0
  27. package/lib/__tests__/bridge/getTransactionStatus.test.d.ts +2 -0
  28. package/lib/__tests__/bridge/getTransactionStatus.test.d.ts.map +1 -0
  29. package/lib/__tests__/bridge/getTransactionStatus.test.js +214 -0
  30. package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -0
  31. package/lib/__tests__/bridge/logic.test.d.ts +2 -0
  32. package/lib/__tests__/bridge/logic.test.d.ts.map +1 -0
  33. package/lib/__tests__/bridge/logic.test.js +490 -0
  34. package/lib/__tests__/bridge/logic.test.js.map +1 -0
  35. package/lib/__tests__/bridge/prepareTransaction.test.d.ts +2 -0
  36. package/lib/__tests__/bridge/prepareTransaction.test.d.ts.map +1 -0
  37. package/lib/__tests__/bridge/prepareTransaction.test.js +239 -0
  38. package/lib/__tests__/bridge/prepareTransaction.test.js.map +1 -0
  39. package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -1
  40. package/lib/bridge/buildOptimisticOperation.js +5 -2
  41. package/lib/bridge/buildOptimisticOperation.js.map +1 -1
  42. package/lib/bridge/buildTransaction.d.ts.map +1 -1
  43. package/lib/bridge/buildTransaction.js +29 -6
  44. package/lib/bridge/buildTransaction.js.map +1 -1
  45. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -1
  46. package/lib/bridge/estimateMaxSpendable.js +9 -1
  47. package/lib/bridge/estimateMaxSpendable.js.map +1 -1
  48. package/lib/bridge/fixtures.d.ts +36 -0
  49. package/lib/bridge/fixtures.d.ts.map +1 -0
  50. package/lib/bridge/fixtures.js +98 -0
  51. package/lib/bridge/fixtures.js.map +1 -0
  52. package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
  53. package/lib/bridge/getFeesForTransaction.js +32 -5
  54. package/lib/bridge/getFeesForTransaction.js.map +1 -1
  55. package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
  56. package/lib/bridge/getTransactionStatus.js +18 -4
  57. package/lib/bridge/getTransactionStatus.js.map +1 -1
  58. package/lib/bridge/index.d.ts.map +1 -1
  59. package/lib/bridge/index.js.map +1 -1
  60. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  61. package/lib/bridge/prepareTransaction.js +33 -4
  62. package/lib/bridge/prepareTransaction.js.map +1 -1
  63. package/lib/bridge/signOperation.d.ts.map +1 -1
  64. package/lib/bridge/signOperation.js +11 -3
  65. package/lib/bridge/signOperation.js.map +1 -1
  66. package/lib/bridge/synchronisation.d.ts.map +1 -1
  67. package/lib/bridge/synchronisation.js +7 -3
  68. package/lib/bridge/synchronisation.js.map +1 -1
  69. package/lib/config.d.ts.map +1 -1
  70. package/lib/config.js +8 -0
  71. package/lib/config.js.map +1 -1
  72. package/lib/constants.d.ts +6 -0
  73. package/lib/constants.d.ts.map +1 -0
  74. package/lib/constants.js +15 -0
  75. package/lib/constants.js.map +1 -0
  76. package/lib/types/types.d.ts +1 -0
  77. package/lib/types/types.d.ts.map +1 -1
  78. package/lib/types/types.js.map +1 -1
  79. package/lib-es/__tests__/bridge/buildOptimisticOperation.test.d.ts +2 -0
  80. package/lib-es/__tests__/bridge/buildOptimisticOperation.test.d.ts.map +1 -0
  81. package/lib-es/__tests__/bridge/buildOptimisticOperation.test.js +18 -0
  82. package/lib-es/__tests__/bridge/buildOptimisticOperation.test.js.map +1 -0
  83. package/lib-es/__tests__/bridge/buildTransaction.test.d.ts +2 -0
  84. package/lib-es/__tests__/bridge/buildTransaction.test.d.ts.map +1 -0
  85. package/lib-es/__tests__/bridge/buildTransaction.test.js +407 -0
  86. package/lib-es/__tests__/bridge/buildTransaction.test.js.map +1 -0
  87. package/lib-es/__tests__/bridge/createTransaction.test.d.ts +2 -0
  88. package/lib-es/__tests__/bridge/createTransaction.test.d.ts.map +1 -0
  89. package/lib-es/__tests__/bridge/createTransaction.test.js +17 -0
  90. package/lib-es/__tests__/bridge/createTransaction.test.js.map +1 -0
  91. package/lib-es/__tests__/bridge/deviceTransactionConfig.test.d.ts +2 -0
  92. package/lib-es/__tests__/bridge/deviceTransactionConfig.test.d.ts.map +1 -0
  93. package/lib-es/__tests__/bridge/deviceTransactionConfig.test.js +16 -0
  94. package/lib-es/__tests__/bridge/deviceTransactionConfig.test.js.map +1 -0
  95. package/lib-es/__tests__/bridge/estimateMaxSpendable.test.d.ts +2 -0
  96. package/lib-es/__tests__/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
  97. package/lib-es/__tests__/bridge/estimateMaxSpendable.test.js +103 -0
  98. package/lib-es/__tests__/bridge/estimateMaxSpendable.test.js.map +1 -0
  99. package/lib-es/__tests__/bridge/getFeesForTransaction.test.d.ts +2 -0
  100. package/lib-es/__tests__/bridge/getFeesForTransaction.test.d.ts.map +1 -0
  101. package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +206 -0
  102. package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -0
  103. package/lib-es/__tests__/bridge/getTransactionStatus.test.d.ts +2 -0
  104. package/lib-es/__tests__/bridge/getTransactionStatus.test.d.ts.map +1 -0
  105. package/lib-es/__tests__/bridge/getTransactionStatus.test.js +209 -0
  106. package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -0
  107. package/lib-es/__tests__/bridge/logic.test.d.ts +2 -0
  108. package/lib-es/__tests__/bridge/logic.test.d.ts.map +1 -0
  109. package/lib-es/__tests__/bridge/logic.test.js +485 -0
  110. package/lib-es/__tests__/bridge/logic.test.js.map +1 -0
  111. package/lib-es/__tests__/bridge/prepareTransaction.test.d.ts +2 -0
  112. package/lib-es/__tests__/bridge/prepareTransaction.test.d.ts.map +1 -0
  113. package/lib-es/__tests__/bridge/prepareTransaction.test.js +234 -0
  114. package/lib-es/__tests__/bridge/prepareTransaction.test.js.map +1 -0
  115. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -1
  116. package/lib-es/bridge/buildOptimisticOperation.js +5 -2
  117. package/lib-es/bridge/buildOptimisticOperation.js.map +1 -1
  118. package/lib-es/bridge/buildTransaction.d.ts.map +1 -1
  119. package/lib-es/bridge/buildTransaction.js +29 -6
  120. package/lib-es/bridge/buildTransaction.js.map +1 -1
  121. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -1
  122. package/lib-es/bridge/estimateMaxSpendable.js +10 -2
  123. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
  124. package/lib-es/bridge/fixtures.d.ts +36 -0
  125. package/lib-es/bridge/fixtures.d.ts.map +1 -0
  126. package/lib-es/bridge/fixtures.js +89 -0
  127. package/lib-es/bridge/fixtures.js.map +1 -0
  128. package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -1
  129. package/lib-es/bridge/getFeesForTransaction.js +29 -5
  130. package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
  131. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
  132. package/lib-es/bridge/getTransactionStatus.js +18 -4
  133. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  134. package/lib-es/bridge/index.d.ts.map +1 -1
  135. package/lib-es/bridge/index.js.map +1 -1
  136. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  137. package/lib-es/bridge/prepareTransaction.js +33 -4
  138. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  139. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  140. package/lib-es/bridge/signOperation.js +11 -3
  141. package/lib-es/bridge/signOperation.js.map +1 -1
  142. package/lib-es/bridge/synchronisation.d.ts.map +1 -1
  143. package/lib-es/bridge/synchronisation.js +7 -3
  144. package/lib-es/bridge/synchronisation.js.map +1 -1
  145. package/lib-es/config.d.ts.map +1 -1
  146. package/lib-es/config.js +8 -0
  147. package/lib-es/config.js.map +1 -1
  148. package/lib-es/constants.d.ts +6 -0
  149. package/lib-es/constants.d.ts.map +1 -0
  150. package/lib-es/constants.js +11 -0
  151. package/lib-es/constants.js.map +1 -0
  152. package/lib-es/types/types.d.ts +1 -0
  153. package/lib-es/types/types.d.ts.map +1 -1
  154. package/lib-es/types/types.js.map +1 -1
  155. package/package.json +9 -8
  156. package/src/__tests__/bridge/buildOptimisticOperation.test.ts +29 -0
  157. package/src/__tests__/bridge/buildTransaction.test.ts +502 -0
  158. package/src/__tests__/bridge/createTransaction.test.ts +17 -0
  159. package/src/__tests__/bridge/deviceTransactionConfig.test.ts +16 -0
  160. package/src/__tests__/bridge/estimateMaxSpendable.test.ts +112 -0
  161. package/src/__tests__/bridge/getFeesForTransaction.test.ts +233 -0
  162. package/src/__tests__/bridge/getTransactionStatus.test.ts +261 -0
  163. package/src/__tests__/bridge/logic.test.ts +538 -0
  164. package/src/__tests__/bridge/prepareTransaction.test.ts +261 -0
  165. package/src/bridge/buildOptimisticOperation.ts +6 -2
  166. package/src/bridge/buildTransaction.ts +38 -7
  167. package/src/bridge/estimateMaxSpendable.ts +18 -2
  168. package/src/bridge/fixtures.ts +103 -0
  169. package/src/bridge/getFeesForTransaction.ts +39 -5
  170. package/src/bridge/getTransactionStatus.ts +21 -4
  171. package/src/bridge/index.ts +0 -1
  172. package/src/bridge/prepareTransaction.ts +39 -6
  173. package/src/bridge/signOperation.ts +19 -4
  174. package/src/bridge/synchronisation.ts +10 -4
  175. package/src/config.ts +8 -0
  176. package/src/constants.ts +15 -0
  177. package/src/logic.ts +1 -1
  178. package/src/types/types.ts +1 -0
  179. package/lib/test/please-add-coverage.test.d.ts +0 -2
  180. package/lib/test/please-add-coverage.test.d.ts.map +0 -1
  181. package/lib/test/please-add-coverage.test.js +0 -6
  182. package/lib/test/please-add-coverage.test.js.map +0 -1
  183. package/lib-es/test/please-add-coverage.test.d.ts +0 -1
  184. package/lib-es/test/please-add-coverage.test.d.ts.map +0 -1
  185. package/lib-es/test/please-add-coverage.test.js +0 -5
  186. package/lib-es/test/please-add-coverage.test.js.map +0 -1
  187. package/src/test/please-add-coverage.test.ts +0 -3
@@ -0,0 +1,206 @@
1
+ import BigNumber from "bignumber.js";
2
+ import getFeesForTransaction from "../../bridge/getFeesForTransaction";
3
+ import { accountFixture, transactionFixture } from "../../bridge/fixtures";
4
+ const chainIdMock = jest.fn();
5
+ const nonceMock = jest.fn();
6
+ const voteMock = jest.fn(() => ({
7
+ txo: {
8
+ encodeABI: jest.fn(() => ({ data: "vote_data" })),
9
+ estimateGas: jest.fn(async () => 1),
10
+ },
11
+ }));
12
+ const revokeMock = jest.fn();
13
+ const voteSignerToAccountMock = jest.fn();
14
+ jest.mock("../../network/sdk", () => {
15
+ return {
16
+ celoKit: jest.fn(() => ({
17
+ contracts: {
18
+ getLockedGold: jest.fn(async () => ({
19
+ address: "address",
20
+ lock: jest.fn(() => ({
21
+ txo: {
22
+ encodeABI: jest.fn(() => ({ data: "lock_data" })),
23
+ estimateGas: jest.fn(async () => 2),
24
+ },
25
+ })),
26
+ unlock: jest.fn(() => ({
27
+ txo: {
28
+ encodeABI: jest.fn(() => ({ data: "unlock_data" })),
29
+ estimateGas: jest.fn(async () => 3),
30
+ },
31
+ })),
32
+ withdraw: jest.fn(() => ({
33
+ txo: {
34
+ encodeABI: jest.fn(() => ({ data: "withdraw_data" })),
35
+ estimateGas: jest.fn(async () => 3),
36
+ },
37
+ })),
38
+ vote: jest.fn(() => ({
39
+ txo: {
40
+ encodeABI: jest.fn(() => ({ data: "vote_data" })),
41
+ estimateGas: jest.fn(async () => 3),
42
+ },
43
+ })),
44
+ getAccountNonvotingLockedGold: jest.fn(() => BigNumber(0)),
45
+ })),
46
+ getElection: jest.fn(async () => ({
47
+ vote: voteMock,
48
+ revoke: revokeMock,
49
+ activate: jest.fn(() => ({
50
+ find: jest.fn(() => ({
51
+ txo: {
52
+ encodeABI: jest.fn(() => ({ data: "vote_data" })),
53
+ estimateGas: jest.fn(async () => 3),
54
+ },
55
+ })),
56
+ })),
57
+ address: "vote_address",
58
+ })),
59
+ getAccounts: jest.fn(async () => ({
60
+ voteSignerToAccount: voteSignerToAccountMock,
61
+ createAccount: jest.fn(() => ({
62
+ txo: {
63
+ encodeABI: jest.fn(() => ({ data: "register_data" })),
64
+ estimateGas: jest.fn(async () => 3),
65
+ },
66
+ })),
67
+ address: "register_address",
68
+ })),
69
+ getStableToken: jest.fn(async () => ({
70
+ address: "stable_token_address",
71
+ transfer: jest.fn(() => ({
72
+ txo: {
73
+ encodeABI: jest.fn(() => ({ data: "send_token_data" })),
74
+ },
75
+ })),
76
+ })),
77
+ getErc20: jest.fn(async () => ({
78
+ address: "erc20_token_address",
79
+ transfer: jest.fn(() => ({
80
+ txo: {
81
+ encodeABI: jest.fn(() => ({ data: "send_token_data" })),
82
+ },
83
+ })),
84
+ })),
85
+ },
86
+ connection: {
87
+ chainId: chainIdMock,
88
+ nonce: nonceMock,
89
+ estimateGasWithInflationFactor: jest.fn().mockReturnValue(3),
90
+ gasPrice: jest.fn(async () => BigNumber(2)),
91
+ },
92
+ })),
93
+ };
94
+ });
95
+ describe("getFeesForTransaction", () => {
96
+ it("should return the correct fees for a send transaction", async () => {
97
+ const fees = await getFeesForTransaction({
98
+ account: { ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) },
99
+ transaction: transactionFixture,
100
+ });
101
+ expect(fees).toEqual(BigNumber(24));
102
+ });
103
+ it("should return the correct fees for a revoke transaction without revoked transactions", async () => {
104
+ revokeMock.mockClear();
105
+ revokeMock.mockReturnValue({
106
+ find: jest.fn(() => false),
107
+ });
108
+ const fees = await getFeesForTransaction({
109
+ account: { ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) },
110
+ transaction: { ...transactionFixture, mode: "revoke" },
111
+ });
112
+ expect(fees).toEqual(BigNumber(0));
113
+ });
114
+ it("should return the correct fees for a revoke transaction with revoked transactions", async () => {
115
+ revokeMock.mockClear();
116
+ revokeMock.mockReturnValue({
117
+ find: jest.fn(() => ({
118
+ txo: {
119
+ encodeABI: jest.fn(() => ({ data: "revoke_data" })),
120
+ estimateGas: jest.fn(async () => 2),
121
+ },
122
+ })),
123
+ });
124
+ const fees = await getFeesForTransaction({
125
+ account: { ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) },
126
+ transaction: { ...transactionFixture, mode: "revoke" },
127
+ });
128
+ expect(fees).toEqual(BigNumber(4));
129
+ });
130
+ it("should return the correct fees for a revoke transaction with revoked transactions and useAllAmount set to true", async () => {
131
+ revokeMock.mockClear();
132
+ revokeMock.mockReturnValue({
133
+ find: jest.fn(() => ({
134
+ txo: {
135
+ encodeABI: jest.fn(() => ({ data: "revoke_data" })),
136
+ estimateGas: jest.fn(async () => 2),
137
+ },
138
+ })),
139
+ });
140
+ const fees = await getFeesForTransaction({
141
+ account: {
142
+ ...accountFixture,
143
+ balance: BigNumber(123),
144
+ spendableBalance: BigNumber(123),
145
+ celoResources: {
146
+ ...accountFixture.celoResources,
147
+ votes: [
148
+ {
149
+ activatable: true,
150
+ amount: BigNumber(10),
151
+ index: 0,
152
+ revokable: true,
153
+ type: "active",
154
+ validatorGroup: transactionFixture.recipient,
155
+ },
156
+ ],
157
+ },
158
+ },
159
+ transaction: { ...transactionFixture, mode: "revoke", useAllAmount: true },
160
+ });
161
+ expect(fees).toEqual(BigNumber(4));
162
+ });
163
+ it("should return the correct fees for a withdraw transaction", async () => {
164
+ const fees = await getFeesForTransaction({
165
+ account: { ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) },
166
+ transaction: { ...transactionFixture, mode: "withdraw" },
167
+ });
168
+ expect(fees).toEqual(BigNumber(6));
169
+ });
170
+ it("should return the correct fees for a vote transaction", async () => {
171
+ const fees = await getFeesForTransaction({
172
+ account: { ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) },
173
+ transaction: { ...transactionFixture, mode: "vote" },
174
+ });
175
+ expect(fees).toEqual(BigNumber(2));
176
+ });
177
+ it("should return the correct fees for a lock transaction", async () => {
178
+ const fees = await getFeesForTransaction({
179
+ account: { ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) },
180
+ transaction: { ...transactionFixture, mode: "lock" },
181
+ });
182
+ expect(fees).toEqual(BigNumber(4));
183
+ });
184
+ it("should return the correct fees for a unlock transaction", async () => {
185
+ const fees = await getFeesForTransaction({
186
+ account: { ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) },
187
+ transaction: { ...transactionFixture, mode: "unlock" },
188
+ });
189
+ expect(fees).toEqual(BigNumber(6));
190
+ });
191
+ it("should return the correct fees for an activate transaction", async () => {
192
+ const fees = await getFeesForTransaction({
193
+ account: { ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) },
194
+ transaction: { ...transactionFixture, mode: "activate" },
195
+ });
196
+ expect(fees).toEqual(BigNumber(6));
197
+ });
198
+ it("should return the correct fees for a register transaction", async () => {
199
+ const fees = await getFeesForTransaction({
200
+ account: { ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) },
201
+ transaction: { ...transactionFixture, mode: "register" },
202
+ });
203
+ expect(fees).toEqual(BigNumber(6));
204
+ });
205
+ });
206
+ //# sourceMappingURL=getFeesForTransaction.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFeesForTransaction.test.js","sourceRoot":"","sources":["../../../src/__tests__/bridge/getFeesForTransaction.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getTransactionStatus.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTransactionStatus.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/bridge/getTransactionStatus.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,209 @@
1
+ import { accountFixture, transactionFixture } from "../../bridge/fixtures";
2
+ import getTransactionStatus from "../../bridge/getTransactionStatus";
3
+ import BigNumber from "bignumber.js";
4
+ jest.mock("../../network/sdk", () => {
5
+ return {
6
+ celoKit: jest.fn(() => ({
7
+ contracts: {
8
+ getLockedGold: jest.fn(async () => ({
9
+ address: "address",
10
+ lock: jest.fn(() => ({
11
+ txo: {
12
+ encodeABI: jest.fn(() => ({ data: "lock_data" })),
13
+ estimateGas: jest.fn(async () => 2),
14
+ },
15
+ })),
16
+ unlock: jest.fn(() => ({
17
+ txo: {
18
+ encodeABI: jest.fn(() => ({ data: "unlock_data" })),
19
+ estimateGas: jest.fn(async () => 3),
20
+ },
21
+ })),
22
+ withdraw: jest.fn(() => ({
23
+ txo: {
24
+ encodeABI: jest.fn(() => ({ data: "withdraw_data" })),
25
+ estimateGas: jest.fn(async () => 3),
26
+ },
27
+ })),
28
+ vote: jest.fn(() => ({
29
+ txo: {
30
+ encodeABI: jest.fn(() => ({ data: "vote_data" })),
31
+ estimateGas: jest.fn(async () => 3),
32
+ },
33
+ })),
34
+ getAccountNonvotingLockedGold: jest.fn(() => BigNumber(100)),
35
+ })),
36
+ },
37
+ })),
38
+ };
39
+ });
40
+ describe("getTransactionStatus", () => {
41
+ it("should return an InvalidAddressBecauseDestinationIsAlsoSource error in case the recipient is also the sender", async () => {
42
+ const transactionStatus = await getTransactionStatus({ ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) }, {
43
+ ...transactionFixture,
44
+ recipient: accountFixture.freshAddress,
45
+ fees: BigNumber(2),
46
+ });
47
+ expect(transactionStatus.errors["recipient"].name).toEqual("InvalidAddressBecauseDestinationIsAlsoSource");
48
+ expect(transactionStatus.errors).not.toHaveProperty("fees");
49
+ expect(transactionStatus.errors).not.toHaveProperty("amount");
50
+ expect(Object.keys(transactionStatus.warnings).length).toEqual(0);
51
+ });
52
+ it("should return an FeeNotLoaded error in case the transaction is missing fees", async () => {
53
+ const transactionStatus = await getTransactionStatus({ ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) }, {
54
+ ...transactionFixture,
55
+ recipient: "0x79D5A290D7ba4b99322d91b577589e8d0BF87072",
56
+ });
57
+ expect(transactionStatus.errors["fees"].name).toEqual("FeeNotLoaded");
58
+ expect(transactionStatus.errors).not.toHaveProperty("recipient");
59
+ expect(transactionStatus.errors).not.toHaveProperty("amount");
60
+ expect(Object.keys(transactionStatus.warnings).length).toEqual(0);
61
+ });
62
+ it("should return an NotEnoughBalance error in case the transaction is more than the account balance", async () => {
63
+ const transactionStatus = await getTransactionStatus({ ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) }, {
64
+ ...transactionFixture,
65
+ recipient: "0x79D5A290D7ba4b99322d91b577589e8d0BF87072",
66
+ fees: BigNumber(2),
67
+ amount: BigNumber(88888),
68
+ });
69
+ expect(transactionStatus.errors["amount"].name).toEqual("NotEnoughBalance");
70
+ expect(transactionStatus.errors).not.toHaveProperty("recipient");
71
+ expect(transactionStatus.errors).not.toHaveProperty("fees");
72
+ expect(Object.keys(transactionStatus.warnings).length).toEqual(0);
73
+ });
74
+ it("should return an RecipientRequired error in case the transaction does not have a recipient address", async () => {
75
+ const transactionStatus = await getTransactionStatus({ ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) }, {
76
+ ...transactionFixture,
77
+ recipient: "",
78
+ fees: BigNumber(2),
79
+ });
80
+ expect(transactionStatus.errors["recipient"].name).toEqual("RecipientRequired");
81
+ expect(transactionStatus.errors).not.toHaveProperty("amount");
82
+ expect(transactionStatus.errors).not.toHaveProperty("fees");
83
+ expect(Object.keys(transactionStatus.warnings).length).toEqual(0);
84
+ });
85
+ it("should return an InvalidAddress error in case the transaction does not have a valid recipient address", async () => {
86
+ const transactionStatus = await getTransactionStatus({ ...accountFixture, balance: BigNumber(123), spendableBalance: BigNumber(123) }, {
87
+ ...transactionFixture,
88
+ fees: BigNumber(2),
89
+ });
90
+ expect(transactionStatus.errors["recipient"].name).toEqual("InvalidAddress");
91
+ expect(transactionStatus.errors).not.toHaveProperty("amount");
92
+ expect(transactionStatus.errors).not.toHaveProperty("fees");
93
+ expect(Object.keys(transactionStatus.warnings).length).toEqual(0);
94
+ });
95
+ it("should return a CeloAllFundsWarning warning in case of a send or lock transaction is using all the balance above the safety buffer", async () => {
96
+ const transactionStatus = await getTransactionStatus({
97
+ ...accountFixture,
98
+ balance: BigNumber(10000000000000000),
99
+ spendableBalance: BigNumber(10000000000000000),
100
+ celoResources: {
101
+ ...accountFixture.celoResources,
102
+ lockedBalance: BigNumber(44444),
103
+ },
104
+ }, {
105
+ ...transactionFixture,
106
+ recipient: "0x79D5A290D7ba4b99322d91b577589e8d0BF87072",
107
+ amount: BigNumber(9000000000000000),
108
+ fees: BigNumber(2),
109
+ });
110
+ expect(transactionStatus.warnings["amount"].name).toEqual("CeloAllFundsWarning");
111
+ expect(transactionStatus.errors).not.toHaveProperty("amount");
112
+ expect(transactionStatus.errors).not.toHaveProperty("fees");
113
+ expect(transactionStatus.errors).not.toHaveProperty("recipient");
114
+ });
115
+ it("should not return any error or warning", async () => {
116
+ const transactionStatus = await getTransactionStatus({
117
+ ...accountFixture,
118
+ balance: BigNumber(10000000000000000),
119
+ spendableBalance: BigNumber(10000000000000000),
120
+ celoResources: {
121
+ ...accountFixture.celoResources,
122
+ lockedBalance: BigNumber(44444),
123
+ },
124
+ }, {
125
+ ...transactionFixture,
126
+ recipient: "0x79D5A290D7ba4b99322d91b577589e8d0BF87072",
127
+ fees: BigNumber(2),
128
+ useAllAmount: true,
129
+ mode: "vote",
130
+ });
131
+ expect(transactionStatus.errors).not.toHaveProperty("amount");
132
+ expect(transactionStatus.errors).not.toHaveProperty("fees");
133
+ expect(transactionStatus.errors).not.toHaveProperty("recipient");
134
+ expect(Object.keys(transactionStatus.warnings).length).toEqual(0);
135
+ });
136
+ it("should return an AmountRequired error", async () => {
137
+ const transactionStatus = await getTransactionStatus({
138
+ ...accountFixture,
139
+ balance: BigNumber(10000000000000000),
140
+ spendableBalance: BigNumber(10000000000000000),
141
+ celoResources: {
142
+ ...accountFixture.celoResources,
143
+ lockedBalance: BigNumber(44444),
144
+ },
145
+ }, {
146
+ ...transactionFixture,
147
+ recipient: "0x79D5A290D7ba4b99322d91b577589e8d0BF87072",
148
+ fees: BigNumber(2),
149
+ amount: BigNumber(0),
150
+ });
151
+ expect(transactionStatus.errors["amount"].name).toEqual("AmountRequired");
152
+ expect(transactionStatus.errors).not.toHaveProperty("fees");
153
+ expect(transactionStatus.errors).not.toHaveProperty("recipient");
154
+ expect(Object.keys(transactionStatus.warnings).length).toEqual(0);
155
+ });
156
+ it("should return an NotEnoughBalance error for a vote transaction where the amount is higher than the total non-voting locked balance", async () => {
157
+ const transactionStatus = await getTransactionStatus({
158
+ ...accountFixture,
159
+ balance: BigNumber(10000000000000000),
160
+ spendableBalance: BigNumber(10000000000000000),
161
+ celoResources: {
162
+ ...accountFixture.celoResources,
163
+ lockedBalance: BigNumber(44444),
164
+ },
165
+ }, {
166
+ ...transactionFixture,
167
+ recipient: "0x79D5A290D7ba4b99322d91b577589e8d0BF87072",
168
+ fees: BigNumber(2),
169
+ amount: BigNumber(200),
170
+ mode: "vote",
171
+ });
172
+ expect(transactionStatus.errors["amount"].name).toEqual("NotEnoughBalance");
173
+ expect(transactionStatus.errors).not.toHaveProperty("fees");
174
+ expect(transactionStatus.errors).not.toHaveProperty("recipient");
175
+ expect(Object.keys(transactionStatus.warnings).length).toEqual(0);
176
+ });
177
+ it("should return an NotEnoughBalance error for a revoke transaction where the amount is higher than the total non-voting locked balance", async () => {
178
+ const transactionStatus = await getTransactionStatus({
179
+ ...accountFixture,
180
+ balance: BigNumber(10000000000000000),
181
+ spendableBalance: BigNumber(10000000000000000),
182
+ celoResources: {
183
+ ...accountFixture.celoResources,
184
+ lockedBalance: BigNumber(44444),
185
+ votes: [
186
+ {
187
+ activatable: true,
188
+ amount: BigNumber(109),
189
+ index: 0,
190
+ revokable: true,
191
+ type: "active",
192
+ validatorGroup: transactionFixture.recipient,
193
+ },
194
+ ],
195
+ },
196
+ }, {
197
+ ...transactionFixture,
198
+ recipient: "0x79D5A290D7ba4b99322d91b577589e8d0BF87072",
199
+ useAllAmount: true,
200
+ fees: BigNumber(2),
201
+ mode: "revoke",
202
+ });
203
+ expect(transactionStatus.errors).not.toHaveProperty("amount");
204
+ expect(transactionStatus.errors).not.toHaveProperty("fees");
205
+ expect(transactionStatus.errors).not.toHaveProperty("recipient");
206
+ expect(Object.keys(transactionStatus.warnings).length).toEqual(0);
207
+ });
208
+ });
209
+ //# sourceMappingURL=getTransactionStatus.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTransactionStatus.test.js","sourceRoot":"","sources":["../../../src/__tests__/bridge/getTransactionStatus.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logic.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/bridge/logic.test.ts"],"names":[],"mappings":""}