@ledgerhq/coin-tezos 6.6.0 → 6.7.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 (336) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +4 -30
  3. package/CHANGELOG.md +25 -0
  4. package/jest.integ.config.js +1 -0
  5. package/lib/api/index.d.ts.map +1 -1
  6. package/lib/api/index.integ.test.js +6 -0
  7. package/lib/api/index.integ.test.js.map +1 -1
  8. package/lib/api/index.js +221 -40
  9. package/lib/api/index.js.map +1 -1
  10. package/lib/api/index.test.js +84 -10
  11. package/lib/api/index.test.js.map +1 -1
  12. package/lib/api/types.d.ts +7 -6
  13. package/lib/api/types.d.ts.map +1 -1
  14. package/lib/config.d.ts +4 -3
  15. package/lib/config.d.ts.map +1 -1
  16. package/lib/config.js.map +1 -1
  17. package/lib/index.d.ts +1 -1
  18. package/lib/index.d.ts.map +1 -1
  19. package/lib/index.js +1 -3
  20. package/lib/index.js.map +1 -1
  21. package/lib/logic/craftTransaction.d.ts.map +1 -1
  22. package/lib/logic/craftTransaction.js +7 -0
  23. package/lib/logic/craftTransaction.js.map +1 -1
  24. package/lib/logic/craftTransaction.test.js +1 -0
  25. package/lib/logic/craftTransaction.test.js.map +1 -1
  26. package/lib/logic/estimateFees.d.ts.map +1 -1
  27. package/lib/logic/estimateFees.integ.test.js +8 -2
  28. package/lib/logic/estimateFees.integ.test.js.map +1 -1
  29. package/lib/logic/estimateFees.js +119 -45
  30. package/lib/logic/estimateFees.js.map +1 -1
  31. package/lib/logic/getBalance.js +1 -1
  32. package/lib/logic/getBalance.js.map +1 -1
  33. package/lib/logic/getStakes.d.ts +3 -0
  34. package/lib/logic/getStakes.d.ts.map +1 -0
  35. package/lib/logic/getStakes.js +26 -0
  36. package/lib/logic/getStakes.js.map +1 -0
  37. package/lib/logic/getStakes.test.d.ts +2 -0
  38. package/lib/logic/getStakes.test.d.ts.map +1 -0
  39. package/lib/logic/getStakes.test.js +133 -0
  40. package/lib/logic/getStakes.test.js.map +1 -0
  41. package/lib/logic/index.d.ts +2 -0
  42. package/lib/logic/index.d.ts.map +1 -1
  43. package/lib/logic/index.js +5 -1
  44. package/lib/logic/index.js.map +1 -1
  45. package/lib/logic/listOperations.d.ts.map +1 -1
  46. package/lib/logic/listOperations.js +69 -11
  47. package/lib/logic/listOperations.js.map +1 -1
  48. package/lib/logic/listOperations.test.js +14 -10
  49. package/lib/logic/listOperations.test.js.map +1 -1
  50. package/lib/logic/validateIntent.d.ts +3 -0
  51. package/lib/logic/validateIntent.d.ts.map +1 -0
  52. package/lib/logic/validateIntent.js +179 -0
  53. package/lib/logic/validateIntent.js.map +1 -0
  54. package/lib/logic/validateIntent.test.d.ts +2 -0
  55. package/lib/logic/validateIntent.test.d.ts.map +1 -0
  56. package/lib/logic/validateIntent.test.js +261 -0
  57. package/lib/logic/validateIntent.test.js.map +1 -0
  58. package/{lib-es/bridge → lib}/transaction.d.ts +1 -1
  59. package/lib/transaction.d.ts.map +1 -0
  60. package/lib/{bridge/transaction.js → transaction.js} +3 -3
  61. package/lib/transaction.js.map +1 -0
  62. package/lib/types/bridge.d.ts +3 -0
  63. package/lib/types/bridge.d.ts.map +1 -1
  64. package/lib/types/bridge.fixture.d.ts.map +1 -1
  65. package/lib/types/bridge.fixture.js +1 -0
  66. package/lib/types/bridge.fixture.js.map +1 -1
  67. package/lib/types/bridge.js.map +1 -1
  68. package/lib/utils.d.ts +50 -0
  69. package/lib/utils.d.ts.map +1 -0
  70. package/lib/utils.js +111 -0
  71. package/lib/utils.js.map +1 -0
  72. package/lib-es/api/index.d.ts.map +1 -1
  73. package/lib-es/api/index.integ.test.js +6 -0
  74. package/lib-es/api/index.integ.test.js.map +1 -1
  75. package/lib-es/api/index.js +222 -41
  76. package/lib-es/api/index.js.map +1 -1
  77. package/lib-es/api/index.test.js +84 -10
  78. package/lib-es/api/index.test.js.map +1 -1
  79. package/lib-es/api/types.d.ts +7 -6
  80. package/lib-es/api/types.d.ts.map +1 -1
  81. package/lib-es/config.d.ts +4 -3
  82. package/lib-es/config.d.ts.map +1 -1
  83. package/lib-es/config.js.map +1 -1
  84. package/lib-es/index.d.ts +1 -1
  85. package/lib-es/index.d.ts.map +1 -1
  86. package/lib-es/index.js +1 -1
  87. package/lib-es/index.js.map +1 -1
  88. package/lib-es/logic/craftTransaction.d.ts.map +1 -1
  89. package/lib-es/logic/craftTransaction.js +7 -0
  90. package/lib-es/logic/craftTransaction.js.map +1 -1
  91. package/lib-es/logic/craftTransaction.test.js +1 -0
  92. package/lib-es/logic/craftTransaction.test.js.map +1 -1
  93. package/lib-es/logic/estimateFees.d.ts.map +1 -1
  94. package/lib-es/logic/estimateFees.integ.test.js +8 -2
  95. package/lib-es/logic/estimateFees.integ.test.js.map +1 -1
  96. package/lib-es/logic/estimateFees.js +119 -45
  97. package/lib-es/logic/estimateFees.js.map +1 -1
  98. package/lib-es/logic/getBalance.js +1 -1
  99. package/lib-es/logic/getBalance.js.map +1 -1
  100. package/lib-es/logic/getStakes.d.ts +3 -0
  101. package/lib-es/logic/getStakes.d.ts.map +1 -0
  102. package/lib-es/logic/getStakes.js +20 -0
  103. package/lib-es/logic/getStakes.js.map +1 -0
  104. package/lib-es/logic/getStakes.test.d.ts +2 -0
  105. package/lib-es/logic/getStakes.test.d.ts.map +1 -0
  106. package/lib-es/logic/getStakes.test.js +128 -0
  107. package/lib-es/logic/getStakes.test.js.map +1 -0
  108. package/lib-es/logic/index.d.ts +2 -0
  109. package/lib-es/logic/index.d.ts.map +1 -1
  110. package/lib-es/logic/index.js +2 -0
  111. package/lib-es/logic/index.js.map +1 -1
  112. package/lib-es/logic/listOperations.d.ts.map +1 -1
  113. package/lib-es/logic/listOperations.js +69 -11
  114. package/lib-es/logic/listOperations.js.map +1 -1
  115. package/lib-es/logic/listOperations.test.js +14 -10
  116. package/lib-es/logic/listOperations.test.js.map +1 -1
  117. package/lib-es/logic/validateIntent.d.ts +3 -0
  118. package/lib-es/logic/validateIntent.d.ts.map +1 -0
  119. package/lib-es/logic/validateIntent.js +173 -0
  120. package/lib-es/logic/validateIntent.js.map +1 -0
  121. package/lib-es/logic/validateIntent.test.d.ts +2 -0
  122. package/lib-es/logic/validateIntent.test.d.ts.map +1 -0
  123. package/lib-es/logic/validateIntent.test.js +233 -0
  124. package/lib-es/logic/validateIntent.test.js.map +1 -0
  125. package/{lib/bridge → lib-es}/transaction.d.ts +1 -1
  126. package/lib-es/transaction.d.ts.map +1 -0
  127. package/lib-es/{bridge/transaction.js → transaction.js} +3 -3
  128. package/lib-es/transaction.js.map +1 -0
  129. package/lib-es/types/bridge.d.ts +3 -0
  130. package/lib-es/types/bridge.d.ts.map +1 -1
  131. package/lib-es/types/bridge.fixture.d.ts.map +1 -1
  132. package/lib-es/types/bridge.fixture.js +1 -0
  133. package/lib-es/types/bridge.fixture.js.map +1 -1
  134. package/lib-es/types/bridge.js.map +1 -1
  135. package/lib-es/utils.d.ts +50 -0
  136. package/lib-es/utils.d.ts.map +1 -0
  137. package/lib-es/utils.js +100 -0
  138. package/lib-es/utils.js.map +1 -0
  139. package/package.json +9 -12
  140. package/src/api/index.integ.test.ts +8 -1
  141. package/src/api/index.test.ts +93 -16
  142. package/src/api/index.ts +248 -55
  143. package/src/api/types.ts +11 -7
  144. package/src/config.ts +9 -2
  145. package/src/index.ts +1 -2
  146. package/src/logic/craftTransaction.test.ts +1 -0
  147. package/src/logic/craftTransaction.ts +8 -0
  148. package/src/logic/estimateFees.integ.test.ts +8 -2
  149. package/src/logic/estimateFees.ts +140 -49
  150. package/src/logic/getBalance.ts +1 -1
  151. package/src/logic/getStakes.test.ts +145 -0
  152. package/src/logic/getStakes.ts +20 -0
  153. package/src/logic/index.ts +2 -0
  154. package/src/logic/listOperations.test.ts +64 -54
  155. package/src/logic/listOperations.ts +70 -10
  156. package/src/logic/validateIntent.test.ts +274 -0
  157. package/src/logic/validateIntent.ts +207 -0
  158. package/src/{bridge/transaction.ts → transaction.ts} +4 -4
  159. package/src/types/bridge.fixture.ts +1 -0
  160. package/src/types/bridge.ts +6 -1
  161. package/src/utils.ts +111 -0
  162. package/lib/bridge/broadcast.d.ts +0 -4
  163. package/lib/bridge/broadcast.d.ts.map +0 -1
  164. package/lib/bridge/broadcast.js +0 -11
  165. package/lib/bridge/broadcast.js.map +0 -1
  166. package/lib/bridge/broadcast.test.d.ts +0 -2
  167. package/lib/bridge/broadcast.test.d.ts.map +0 -1
  168. package/lib/bridge/broadcast.test.js +0 -36
  169. package/lib/bridge/broadcast.test.js.map +0 -1
  170. package/lib/bridge/buildOptimisticOperation.d.ts +0 -4
  171. package/lib/bridge/buildOptimisticOperation.d.ts.map +0 -1
  172. package/lib/bridge/buildOptimisticOperation.js +0 -28
  173. package/lib/bridge/buildOptimisticOperation.js.map +0 -1
  174. package/lib/bridge/createTransaction.d.ts +0 -4
  175. package/lib/bridge/createTransaction.d.ts.map +0 -1
  176. package/lib/bridge/createTransaction.js +0 -24
  177. package/lib/bridge/createTransaction.js.map +0 -1
  178. package/lib/bridge/estimateMaxSpendable.d.ts +0 -5
  179. package/lib/bridge/estimateMaxSpendable.d.ts.map +0 -1
  180. package/lib/bridge/estimateMaxSpendable.js +0 -30
  181. package/lib/bridge/estimateMaxSpendable.js.map +0 -1
  182. package/lib/bridge/getFeesForTransaction.d.ts +0 -21
  183. package/lib/bridge/getFeesForTransaction.d.ts.map +0 -1
  184. package/lib/bridge/getFeesForTransaction.js +0 -39
  185. package/lib/bridge/getFeesForTransaction.js.map +0 -1
  186. package/lib/bridge/getTransactionStatus.d.ts +0 -4
  187. package/lib/bridge/getTransactionStatus.d.ts.map +0 -1
  188. package/lib/bridge/getTransactionStatus.js +0 -108
  189. package/lib/bridge/getTransactionStatus.js.map +0 -1
  190. package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
  191. package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
  192. package/lib/bridge/getTransactionStatus.test.js +0 -107
  193. package/lib/bridge/getTransactionStatus.test.js.map +0 -1
  194. package/lib/bridge/index.d.ts +0 -10
  195. package/lib/bridge/index.d.ts.map +0 -1
  196. package/lib/bridge/index.js +0 -59
  197. package/lib/bridge/index.js.map +0 -1
  198. package/lib/bridge/logic.d.ts +0 -10
  199. package/lib/bridge/logic.d.ts.map +0 -1
  200. package/lib/bridge/logic.js +0 -155
  201. package/lib/bridge/logic.js.map +0 -1
  202. package/lib/bridge/preload.d.ts +0 -9
  203. package/lib/bridge/preload.d.ts.map +0 -1
  204. package/lib/bridge/preload.js +0 -23
  205. package/lib/bridge/preload.js.map +0 -1
  206. package/lib/bridge/prepareTransaction.d.ts +0 -5
  207. package/lib/bridge/prepareTransaction.d.ts.map +0 -1
  208. package/lib/bridge/prepareTransaction.integ.test.d.ts +0 -2
  209. package/lib/bridge/prepareTransaction.integ.test.d.ts.map +0 -1
  210. package/lib/bridge/prepareTransaction.integ.test.js +0 -34
  211. package/lib/bridge/prepareTransaction.integ.test.js.map +0 -1
  212. package/lib/bridge/prepareTransaction.js +0 -57
  213. package/lib/bridge/prepareTransaction.js.map +0 -1
  214. package/lib/bridge/prepareTransaction.test.d.ts +0 -2
  215. package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
  216. package/lib/bridge/prepareTransaction.test.js +0 -178
  217. package/lib/bridge/prepareTransaction.test.js.map +0 -1
  218. package/lib/bridge/serialization.d.ts +0 -7
  219. package/lib/bridge/serialization.d.ts.map +0 -1
  220. package/lib/bridge/serialization.js +0 -26
  221. package/lib/bridge/serialization.js.map +0 -1
  222. package/lib/bridge/signOperation.d.ts +0 -16
  223. package/lib/bridge/signOperation.d.ts.map +0 -1
  224. package/lib/bridge/signOperation.js +0 -88
  225. package/lib/bridge/signOperation.js.map +0 -1
  226. package/lib/bridge/signOperation.test.d.ts +0 -2
  227. package/lib/bridge/signOperation.test.d.ts.map +0 -1
  228. package/lib/bridge/signOperation.test.js +0 -283
  229. package/lib/bridge/signOperation.test.js.map +0 -1
  230. package/lib/bridge/synchronization.d.ts +0 -5
  231. package/lib/bridge/synchronization.d.ts.map +0 -1
  232. package/lib/bridge/synchronization.integ.test.d.ts +0 -2
  233. package/lib/bridge/synchronization.integ.test.d.ts.map +0 -1
  234. package/lib/bridge/synchronization.integ.test.js +0 -32
  235. package/lib/bridge/synchronization.integ.test.js.map +0 -1
  236. package/lib/bridge/synchronization.js +0 -100
  237. package/lib/bridge/synchronization.js.map +0 -1
  238. package/lib/bridge/transaction.d.ts.map +0 -1
  239. package/lib/bridge/transaction.js.map +0 -1
  240. package/lib-es/bridge/broadcast.d.ts +0 -4
  241. package/lib-es/bridge/broadcast.d.ts.map +0 -1
  242. package/lib-es/bridge/broadcast.js +0 -7
  243. package/lib-es/bridge/broadcast.js.map +0 -1
  244. package/lib-es/bridge/broadcast.test.d.ts +0 -2
  245. package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
  246. package/lib-es/bridge/broadcast.test.js +0 -31
  247. package/lib-es/bridge/broadcast.test.js.map +0 -1
  248. package/lib-es/bridge/buildOptimisticOperation.d.ts +0 -4
  249. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +0 -1
  250. package/lib-es/bridge/buildOptimisticOperation.js +0 -21
  251. package/lib-es/bridge/buildOptimisticOperation.js.map +0 -1
  252. package/lib-es/bridge/createTransaction.d.ts +0 -4
  253. package/lib-es/bridge/createTransaction.d.ts.map +0 -1
  254. package/lib-es/bridge/createTransaction.js +0 -17
  255. package/lib-es/bridge/createTransaction.js.map +0 -1
  256. package/lib-es/bridge/estimateMaxSpendable.d.ts +0 -5
  257. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +0 -1
  258. package/lib-es/bridge/estimateMaxSpendable.js +0 -23
  259. package/lib-es/bridge/estimateMaxSpendable.js.map +0 -1
  260. package/lib-es/bridge/getFeesForTransaction.d.ts +0 -21
  261. package/lib-es/bridge/getFeesForTransaction.d.ts.map +0 -1
  262. package/lib-es/bridge/getFeesForTransaction.js +0 -33
  263. package/lib-es/bridge/getFeesForTransaction.js.map +0 -1
  264. package/lib-es/bridge/getTransactionStatus.d.ts +0 -4
  265. package/lib-es/bridge/getTransactionStatus.d.ts.map +0 -1
  266. package/lib-es/bridge/getTransactionStatus.js +0 -101
  267. package/lib-es/bridge/getTransactionStatus.js.map +0 -1
  268. package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
  269. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
  270. package/lib-es/bridge/getTransactionStatus.test.js +0 -102
  271. package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
  272. package/lib-es/bridge/index.d.ts +0 -10
  273. package/lib-es/bridge/index.d.ts.map +0 -1
  274. package/lib-es/bridge/index.js +0 -53
  275. package/lib-es/bridge/index.js.map +0 -1
  276. package/lib-es/bridge/logic.d.ts +0 -10
  277. package/lib-es/bridge/logic.d.ts.map +0 -1
  278. package/lib-es/bridge/logic.js +0 -145
  279. package/lib-es/bridge/logic.js.map +0 -1
  280. package/lib-es/bridge/preload.d.ts +0 -9
  281. package/lib-es/bridge/preload.d.ts.map +0 -1
  282. package/lib-es/bridge/preload.js +0 -17
  283. package/lib-es/bridge/preload.js.map +0 -1
  284. package/lib-es/bridge/prepareTransaction.d.ts +0 -5
  285. package/lib-es/bridge/prepareTransaction.d.ts.map +0 -1
  286. package/lib-es/bridge/prepareTransaction.integ.test.d.ts +0 -2
  287. package/lib-es/bridge/prepareTransaction.integ.test.d.ts.map +0 -1
  288. package/lib-es/bridge/prepareTransaction.integ.test.js +0 -29
  289. package/lib-es/bridge/prepareTransaction.integ.test.js.map +0 -1
  290. package/lib-es/bridge/prepareTransaction.js +0 -50
  291. package/lib-es/bridge/prepareTransaction.js.map +0 -1
  292. package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
  293. package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
  294. package/lib-es/bridge/prepareTransaction.test.js +0 -173
  295. package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
  296. package/lib-es/bridge/serialization.d.ts +0 -7
  297. package/lib-es/bridge/serialization.d.ts.map +0 -1
  298. package/lib-es/bridge/serialization.js +0 -20
  299. package/lib-es/bridge/serialization.js.map +0 -1
  300. package/lib-es/bridge/signOperation.d.ts +0 -16
  301. package/lib-es/bridge/signOperation.d.ts.map +0 -1
  302. package/lib-es/bridge/signOperation.js +0 -83
  303. package/lib-es/bridge/signOperation.js.map +0 -1
  304. package/lib-es/bridge/signOperation.test.d.ts +0 -2
  305. package/lib-es/bridge/signOperation.test.d.ts.map +0 -1
  306. package/lib-es/bridge/signOperation.test.js +0 -255
  307. package/lib-es/bridge/signOperation.test.js.map +0 -1
  308. package/lib-es/bridge/synchronization.d.ts +0 -5
  309. package/lib-es/bridge/synchronization.d.ts.map +0 -1
  310. package/lib-es/bridge/synchronization.integ.test.d.ts +0 -2
  311. package/lib-es/bridge/synchronization.integ.test.d.ts.map +0 -1
  312. package/lib-es/bridge/synchronization.integ.test.js +0 -27
  313. package/lib-es/bridge/synchronization.integ.test.js.map +0 -1
  314. package/lib-es/bridge/synchronization.js +0 -70
  315. package/lib-es/bridge/synchronization.js.map +0 -1
  316. package/lib-es/bridge/transaction.d.ts.map +0 -1
  317. package/lib-es/bridge/transaction.js.map +0 -1
  318. package/src/bridge/broadcast.test.ts +0 -36
  319. package/src/bridge/broadcast.ts +0 -13
  320. package/src/bridge/buildOptimisticOperation.ts +0 -28
  321. package/src/bridge/createTransaction.ts +0 -19
  322. package/src/bridge/estimateMaxSpendable.ts +0 -37
  323. package/src/bridge/getFeesForTransaction.ts +0 -49
  324. package/src/bridge/getTransactionStatus.test.ts +0 -124
  325. package/src/bridge/getTransactionStatus.ts +0 -123
  326. package/src/bridge/index.ts +0 -74
  327. package/src/bridge/logic.ts +0 -171
  328. package/src/bridge/preload.ts +0 -18
  329. package/src/bridge/prepareTransaction.integ.test.ts +0 -35
  330. package/src/bridge/prepareTransaction.test.ts +0 -205
  331. package/src/bridge/prepareTransaction.ts +0 -69
  332. package/src/bridge/serialization.ts +0 -27
  333. package/src/bridge/signOperation.test.ts +0 -284
  334. package/src/bridge/signOperation.ts +0 -130
  335. package/src/bridge/synchronization.integ.test.ts +0 -33
  336. package/src/bridge/synchronization.ts +0 -100
@@ -1 +0,0 @@
1
- {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=signOperation.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signOperation.test.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.test.ts"],"names":[],"mappings":""}
@@ -1,255 +0,0 @@
1
- import BigNumber from "bignumber.js";
2
- import { getRevealFee, OpKind } from "@taquito/taquito";
3
- import buildSignOperation, { getOperationContents } from "./signOperation";
4
- import config from "../config";
5
- import { createFixtureAccount, createFixtureTransaction } from "../types/bridge.fixture";
6
- import { mockConfig } from "../test/config";
7
- const mockForgeOperations = jest.fn();
8
- const mockEstimateReveal = jest.fn();
9
- jest.mock("@taquito/taquito", () => ({
10
- ...jest.requireActual("@taquito/taquito"),
11
- TezosToolkit: jest.fn().mockReturnValue({
12
- setProvider: jest.fn(),
13
- rpc: {
14
- getBlock: jest.fn().mockResolvedValue({ hash: "hash" }),
15
- getContract: jest.fn().mockResolvedValue({ counter: "12" }),
16
- forgeOperations: () => mockForgeOperations(),
17
- },
18
- estimate: {
19
- reveal: () => mockEstimateReveal(),
20
- },
21
- }),
22
- }));
23
- describe("signOperation", () => {
24
- const mockSign = jest.fn().mockResolvedValue({
25
- bytes: "SIG_BYTES",
26
- sig: "SIG",
27
- prefixSig: "PREFIX_SIG",
28
- sbytes: "03SBYTES",
29
- });
30
- const fakeSigner = {
31
- getAddress: jest.fn(),
32
- signOperation: jest.fn(),
33
- createLedgerSigner: () => ({
34
- publicKey: () => Promise.resolve("PUBKEY"),
35
- publicKeyHash: () => Promise.resolve("PUBKEYHASH"),
36
- sign: (arg) => mockSign(arg),
37
- secretKey: () => Promise.resolve(undefined),
38
- }),
39
- };
40
- const signerContext = (_deviceId, fn) => fn(fakeSigner);
41
- const signOperation = buildSignOperation(signerContext);
42
- const deviceId = "dummyDeviceId";
43
- beforeAll(() => {
44
- config.setCoinConfig(() => mockConfig);
45
- });
46
- afterEach(() => {
47
- mockForgeOperations.mockClear();
48
- mockEstimateReveal.mockClear();
49
- mockSign.mockClear();
50
- });
51
- it("returns events in the right order", done => {
52
- // GIVEN
53
- const account = createFixtureAccount();
54
- const transaction = createFixtureTransaction({ fees: BigNumber(0) });
55
- mockForgeOperations.mockResolvedValue("FORGED_OP");
56
- // WHEN & THEN
57
- const expectedEvent = [
58
- {
59
- type: "device-signature-requested",
60
- },
61
- {
62
- type: "device-signature-granted",
63
- },
64
- {
65
- type: "signed",
66
- },
67
- ];
68
- let eventIdx = 0;
69
- signOperation({ account, deviceId, transaction }).forEach(e => {
70
- try {
71
- expect(e.type).toEqual(expectedEvent[eventIdx].type);
72
- eventIdx++;
73
- if (eventIdx === expectedEvent.length) {
74
- done();
75
- }
76
- }
77
- catch (err) {
78
- done(err);
79
- }
80
- });
81
- });
82
- it("returns signature value from LedgerSigner", done => {
83
- // GIVEN
84
- const account = createFixtureAccount();
85
- const transaction = createFixtureTransaction({ fees: new BigNumber(0) });
86
- mockForgeOperations.mockResolvedValue("f0463d");
87
- // WHEN & THEN
88
- const subscriber = signOperation({ account, deviceId, transaction }).subscribe((e) => {
89
- if (e.type === "signed") {
90
- const signature = e.signedOperation.signature;
91
- expect(signature).toEqual("SBYTES");
92
- expect(mockForgeOperations).toHaveBeenCalledTimes(1);
93
- expect(mockSign).toHaveBeenCalledTimes(1);
94
- expect(mockSign.mock.lastCall[0]).toEqual(Buffer.concat([Buffer.from("03", "hex"), Buffer.from("f0463d", "hex")]).toString("hex"));
95
- // Cleanup
96
- subscriber.unsubscribe();
97
- done();
98
- }
99
- });
100
- });
101
- });
102
- describe("getOperationContents - revealed account", () => {
103
- const account = createFixtureAccount({ freshAddress: "tz1addr" });
104
- it("mode - send", async () => {
105
- const transaction = createFixtureTransaction({
106
- family: "tezos",
107
- amount: new BigNumber(0),
108
- recipient: "RECIPIENT_ADD",
109
- fees: new BigNumber(0),
110
- mode: "send",
111
- gasLimit: new BigNumber(0),
112
- storageLimit: new BigNumber(0),
113
- });
114
- const { type, contents } = await getOperationContents({
115
- account,
116
- transaction,
117
- counter: 0,
118
- public_key: "pk",
119
- public_key_hash: "pkh",
120
- });
121
- expect(type).toBe("OUT");
122
- expect(contents.length).toEqual(1);
123
- expect(contents).toStrictEqual([
124
- {
125
- kind: OpKind.TRANSACTION,
126
- amount: transaction.amount.toString(),
127
- destination: transaction.recipient,
128
- source: "tz1addr",
129
- counter: "1",
130
- fee: new BigNumber(0).toString(),
131
- gas_limit: new BigNumber(0).toString(),
132
- storage_limit: new BigNumber(0).toString(),
133
- },
134
- ]);
135
- expect(mockEstimateReveal).not.toHaveBeenCalled();
136
- });
137
- it("mode - delegate", async () => {
138
- const transaction = createFixtureTransaction({
139
- family: "tezos",
140
- amount: new BigNumber(0),
141
- recipient: "RECIPIENT_ADD",
142
- fees: new BigNumber(0),
143
- mode: "delegate",
144
- gasLimit: new BigNumber(0),
145
- storageLimit: new BigNumber(0),
146
- });
147
- const { type, contents } = await getOperationContents({
148
- account,
149
- transaction,
150
- counter: 0,
151
- public_key: "pk",
152
- public_key_hash: "pkh",
153
- });
154
- expect(type).toBe("DELEGATE");
155
- expect(contents.length).toEqual(1);
156
- expect(contents).toStrictEqual([
157
- {
158
- kind: OpKind.DELEGATION,
159
- source: "tz1addr",
160
- counter: "1",
161
- fee: new BigNumber(0).toString(),
162
- gas_limit: new BigNumber(0).toString(),
163
- storage_limit: new BigNumber(0).toString(),
164
- delegate: transaction.recipient,
165
- },
166
- ]);
167
- expect(mockEstimateReveal).not.toHaveBeenCalled();
168
- });
169
- it("mode - undelegate", async () => {
170
- const transaction = createFixtureTransaction({
171
- family: "tezos",
172
- amount: new BigNumber(0),
173
- recipient: "",
174
- fees: new BigNumber(0),
175
- mode: "undelegate",
176
- gasLimit: new BigNumber(0),
177
- storageLimit: new BigNumber(0),
178
- });
179
- const { type, contents } = await getOperationContents({
180
- account,
181
- transaction,
182
- counter: 0,
183
- public_key: "pk",
184
- public_key_hash: "pkh",
185
- });
186
- expect(type).toBe("UNDELEGATE");
187
- expect(contents.length).toEqual(1);
188
- expect(contents).toStrictEqual([
189
- {
190
- kind: OpKind.DELEGATION,
191
- source: "tz1addr",
192
- counter: "1",
193
- fee: new BigNumber(0).toString(),
194
- gas_limit: new BigNumber(0).toString(),
195
- storage_limit: new BigNumber(0).toString(),
196
- },
197
- ]);
198
- expect(mockEstimateReveal).not.toHaveBeenCalled();
199
- });
200
- describe("getOperationContents - not revealed account", () => {
201
- const account = createFixtureAccount({
202
- freshAddress: "tz1addr",
203
- // We don't use `counter` in the OperationContents computation
204
- tezosResources: { revealed: false, counter: -10 },
205
- });
206
- it("mode - send", async () => {
207
- // Given
208
- mockEstimateReveal.mockResolvedValue({
209
- gasLimit: 100,
210
- storageLimit: 200,
211
- });
212
- const transaction = createFixtureTransaction({
213
- family: "tezos",
214
- amount: new BigNumber(0),
215
- recipient: "RECIPIENT_ADD",
216
- fees: new BigNumber(0),
217
- mode: "send",
218
- gasLimit: new BigNumber(0),
219
- storageLimit: new BigNumber(0),
220
- });
221
- const { type, contents } = await getOperationContents({
222
- account,
223
- transaction,
224
- counter: 0,
225
- public_key: "pk",
226
- public_key_hash: "pkh",
227
- });
228
- expect(type).toBe("OUT");
229
- expect(contents.length).toEqual(2);
230
- expect(contents).toStrictEqual([
231
- {
232
- kind: OpKind.REVEAL,
233
- fee: getRevealFee(account.freshAddress).toString(),
234
- gas_limit: "100",
235
- storage_limit: "200",
236
- source: "pkh",
237
- counter: "1",
238
- public_key: "pk",
239
- },
240
- {
241
- kind: OpKind.TRANSACTION,
242
- amount: transaction.amount.toString(),
243
- destination: transaction.recipient,
244
- source: "tz1addr",
245
- counter: "2",
246
- fee: new BigNumber(0).toString(),
247
- gas_limit: new BigNumber(0).toString(),
248
- storage_limit: new BigNumber(0).toString(),
249
- },
250
- ]);
251
- expect(mockEstimateReveal).toHaveBeenCalledTimes(1);
252
- });
253
- });
254
- });
255
- //# sourceMappingURL=signOperation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signOperation.test.js","sourceRoot":"","sources":["../../src/bridge/signOperation.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { GetAccountShape } from "@ledgerhq/coin-framework/bridge/jsHelpers";
2
- import { TezosAccount } from "../types";
3
- export declare const getAccountShape: GetAccountShape<TezosAccount>;
4
- export declare const sync: (initialAccount: TezosAccount, syncConfig: import("@ledgerhq/types-live").SyncConfig) => import("rxjs").Observable<(arg0: TezosAccount) => TezosAccount>;
5
- //# sourceMappingURL=synchronization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"synchronization.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAsB,MAAM,2CAA2C,CAAC;AAIhG,OAAO,EAAE,YAAY,EAAkB,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,YAAY,CAwFzD,CAAC;AAEF,eAAO,MAAM,IAAI,0JAAgC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=synchronization.integ.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"synchronization.integ.test.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronization.integ.test.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
1
- import coinConfig from "../config";
2
- import { fetchAllTransactions } from "../network/tzkt";
3
- import { mockConfig } from "../test/config";
4
- jest.setTimeout(2 * 60 * 1000);
5
- describe("TEZOS_MAX_TX_QUERIES", () => {
6
- const tezosConfig = mockConfig;
7
- const bigAccount = "tz1boBHAVpwcvKkNFAQHYr7mjxAz1PpVgKq7";
8
- test("default have more than 100 txs", async () => {
9
- // Given
10
- coinConfig.setCoinConfig(() => tezosConfig);
11
- const txs = await fetchAllTransactions(bigAccount);
12
- expect(txs.length).toBeGreaterThan(100);
13
- });
14
- test("lowering it to 1 will only fetch a few txs", async () => {
15
- // Given
16
- coinConfig.setCoinConfig(() => ({
17
- ...tezosConfig,
18
- explorer: {
19
- url: "https://xtz-tzkt-explorer.api.live.ledger.com",
20
- maxTxQuery: 1,
21
- },
22
- }));
23
- const txs = await fetchAllTransactions(bigAccount);
24
- expect(txs.length).toBeLessThanOrEqual(100);
25
- });
26
- });
27
- //# sourceMappingURL=synchronization.integ.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"synchronization.integ.test.js","sourceRoot":"","sources":["../../src/bridge/synchronization.integ.test.ts"],"names":[],"mappings":"AAAA,OAAO,UAA+B,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAE/B,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,MAAM,WAAW,GAAG,UAA6B,CAAC;IAClD,MAAM,UAAU,GAAG,sCAAsC,CAAC;IAE1D,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAChD,QAAQ;QACR,UAAU,CAAC,aAAa,CAAC,GAAoB,EAAE,CAAC,WAAW,CAAC,CAAC;QAE7D,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC5D,QAAQ;QACR,UAAU,CAAC,aAAa,CACtB,GAAoB,EAAE,CAAC,CAAC;YACtB,GAAG,WAAW;YACd,QAAQ,EAAE;gBACR,GAAG,EAAE,+CAA+C;gBACpD,UAAU,EAAE,CAAC;aACd;SACF,CAAC,CACH,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,70 +0,0 @@
1
- import invariant from "invariant";
2
- import { BigNumber } from "bignumber.js";
3
- import { makeSync, mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
4
- import { encodeAccountId, areAllOperationsLoaded } from "@ledgerhq/coin-framework/account/index";
5
- import { encodeAddress, isStringHex, reconciliatePublicKey, txToOp } from "./logic";
6
- import api, { fetchAllTransactions } from "../network/tzkt";
7
- export const getAccountShape = async ({ initialAccount, rest, currency, derivationMode, }) => {
8
- const publicKey = reconciliatePublicKey(rest?.publicKey, initialAccount);
9
- invariant(isStringHex(publicKey), `Invalid public key (${publicKey}). Please reimport your Tezos accounts`);
10
- const hex = Buffer.from(publicKey, "hex");
11
- const address = encodeAddress(hex);
12
- const accountId = encodeAccountId({
13
- type: "js",
14
- version: "2",
15
- currencyId: currency.id,
16
- xpubOrAddress: publicKey,
17
- derivationMode,
18
- });
19
- const initialStableOperations = (initialAccount && initialAccount.id === accountId ? initialAccount.operations : []);
20
- // fetch transactions, incrementally if possible
21
- const mostRecentStableOperation = initialStableOperations[0];
22
- const lastId = initialAccount && areAllOperationsLoaded(initialAccount) && mostRecentStableOperation
23
- ? mostRecentStableOperation.extra.id || undefined
24
- : undefined;
25
- const apiAccountPromise = api.getAccountByAddress(address);
26
- const blocksCountPromise = api.getBlockCount();
27
- const [apiAccount, blockHeight] = await Promise.all([apiAccountPromise, blocksCountPromise]);
28
- if (apiAccount.type === "empty") {
29
- return {
30
- id: accountId,
31
- xpub: publicKey,
32
- freshAddress: address,
33
- blockHeight,
34
- lastSyncDate: new Date(),
35
- tezosResources: {
36
- revealed: false,
37
- counter: 0,
38
- },
39
- };
40
- }
41
- const fullySupported = apiAccount.type === "user";
42
- const apiOperations = fullySupported ? await fetchAllTransactions(address, lastId) : [];
43
- const { revealed, counter } = apiAccount;
44
- const tezosResources = {
45
- revealed,
46
- counter,
47
- };
48
- const balance = new BigNumber(apiAccount.balance);
49
- const subAccounts = [];
50
- const newOps = apiOperations
51
- .map(txToOp({ address, accountId }))
52
- .filter(Boolean); // force cast because `filter(Boolean)` remove undefined and null value
53
- const operations = mergeOps(initialStableOperations, newOps);
54
- const accountShape = {
55
- id: accountId,
56
- xpub: publicKey,
57
- freshAddress: address,
58
- operations,
59
- operationsCount: operations.length,
60
- balance,
61
- subAccounts,
62
- spendableBalance: balance,
63
- blockHeight,
64
- lastSyncDate: new Date(),
65
- tezosResources,
66
- };
67
- return accountShape;
68
- };
69
- export const sync = makeSync({ getAccountShape });
70
- //# sourceMappingURL=synchronization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"synchronization.js","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQ5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD,eAAO,MAAM,iBAAiB,0GAWzB,WAAW,eACD,OAAO,KACnB,MAoBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,OAAQ,cAAc,KAAG,WAiBvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cAiBjD,CAAC;;+HA5DG,WAAW,eACD,OAAO,KACnB,MAAM;6BAsB8B,cAAc,KAAG,WAAW;0BAmB/B,WAAW,KAAG,cAAc;;;;;AAmBhE,wBAOE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { SignedOperation } from "@ledgerhq/types-live";
2
- import { createFixtureOperation } from "../types/bridge.fixture";
3
- import config, { type TezosCoinConfig } from "../config";
4
- import { broadcast } from "./broadcast";
5
- import { mockConfig } from "../test/config";
6
-
7
- const mockInjectOperation = jest.fn();
8
- jest.mock("@taquito/taquito", () => ({
9
- TezosToolkit: jest.fn().mockReturnValue({
10
- rpc: {
11
- injectOperation: () => mockInjectOperation(),
12
- },
13
- }),
14
- }));
15
-
16
- describe("broadcast", () => {
17
- beforeAll(() => {
18
- config.setCoinConfig((): TezosCoinConfig => mockConfig as TezosCoinConfig);
19
- });
20
-
21
- it("calls 'injectOperation' from TezosToolkit and returns its hash computation", async () => {
22
- // GIVEN
23
- const signedOperation: SignedOperation = {
24
- operation: createFixtureOperation(),
25
- signature: "SIGNATURE",
26
- };
27
- mockInjectOperation.mockResolvedValue("SIGN_HASH");
28
-
29
- // WHEN
30
- const op = await broadcast({ signedOperation, account: {} as any });
31
-
32
- // THEN
33
- expect(mockInjectOperation).toHaveBeenCalledTimes(1);
34
- expect(op.hash).toEqual("SIGN_HASH");
35
- });
36
- });
@@ -1,13 +0,0 @@
1
- import { patchOperationWithHash } from "@ledgerhq/coin-framework/operation";
2
- import { AccountBridge, SignedOperation } from "@ledgerhq/types-live";
3
- import { Transaction } from "../types";
4
- import { broadcast as logicBroadcast } from "../logic";
5
-
6
- export const broadcast: AccountBridge<Transaction>["broadcast"] = async ({
7
- signedOperation: { operation, signature },
8
- }: {
9
- signedOperation: SignedOperation;
10
- }) => {
11
- const hash = await logicBroadcast(signature);
12
- return patchOperationWithHash(operation, hash);
13
- };
@@ -1,28 +0,0 @@
1
- import { OperationType } from "@ledgerhq/types-live";
2
- import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
3
- import { TezosAccount, TezosOperation, Transaction } from "../types";
4
- import BigNumber from "bignumber.js";
5
-
6
- export const buildOptimisticOperation = (
7
- account: TezosAccount,
8
- transaction: Transaction,
9
- operationType: OperationType,
10
- ): TezosOperation => {
11
- const txHash = ""; // resolved at broadcast time
12
- const { id: accountId } = account;
13
-
14
- return {
15
- id: encodeOperationId(accountId, txHash, operationType),
16
- hash: txHash,
17
- type: operationType,
18
- value: transaction.amount,
19
- fee: transaction.fees || new BigNumber(0),
20
- extra: {},
21
- blockHash: null,
22
- blockHeight: null,
23
- senders: [account.freshAddress],
24
- recipients: [transaction.recipient],
25
- accountId,
26
- date: new Date(),
27
- };
28
- };
@@ -1,19 +0,0 @@
1
- import BigNumber from "bignumber.js";
2
- import { AccountBridge } from "@ledgerhq/types-live";
3
- import { Transaction } from "../types";
4
-
5
- export const createTransaction: AccountBridge<Transaction>["createTransaction"] = () => {
6
- return {
7
- family: "tezos",
8
- mode: "send",
9
- amount: new BigNumber(0),
10
- fees: null,
11
- gasLimit: null,
12
- storageLimit: null,
13
- recipient: "",
14
- networkInfo: null,
15
- useAllAmount: false,
16
- taquitoError: null,
17
- estimatedFees: null,
18
- };
19
- };
@@ -1,37 +0,0 @@
1
- import BigNumber from "bignumber.js";
2
- import { Account, AccountBridge, AccountLike } from "@ledgerhq/types-live";
3
- import { getMainAccount } from "@ledgerhq/coin-framework/account/index";
4
- import { TezosAccount, Transaction } from "../types";
5
- import { prepareTransaction } from "./prepareTransaction";
6
- import { createTransaction } from "./createTransaction";
7
- import getEstimatedFees from "./getFeesForTransaction";
8
-
9
- const TEZOS_BURN_ADDRESS = "tz1burnburnburnburnburnburnburjAYjjX";
10
-
11
- export const estimateMaxSpendable: AccountBridge<Transaction>["estimateMaxSpendable"] = async ({
12
- account,
13
- parentAccount,
14
- transaction,
15
- }: {
16
- account: AccountLike;
17
- parentAccount: Account | undefined;
18
- transaction: Transaction;
19
- }): Promise<BigNumber> => {
20
- const mainAccount = getMainAccount(account, parentAccount) as TezosAccount;
21
- const tx = await prepareTransaction(mainAccount, {
22
- ...createTransaction(account),
23
- ...transaction,
24
- // estimate using a burn address that exists so we don't enter into NotEnoughBalanceBecauseDestinationNotCreated
25
- recipient: transaction?.recipient || TEZOS_BURN_ADDRESS,
26
- useAllAmount: true,
27
- });
28
- const estimation = await getEstimatedFees({
29
- account: mainAccount,
30
- transaction: tx,
31
- });
32
-
33
- // As we use `useAllAmount`, we know we will receive an amount value.
34
- return estimation.amount!;
35
- };
36
-
37
- export default estimateMaxSpendable;
@@ -1,49 +0,0 @@
1
- import BigNumber from "bignumber.js";
2
- import { TezosAccount, Transaction } from "../types";
3
- import { estimateFees } from "../logic";
4
-
5
- export type EstimatedFees = {
6
- fees: BigNumber;
7
- gasLimit: BigNumber;
8
- storageLimit: BigNumber;
9
- estimatedFees: BigNumber;
10
- amount?: BigNumber;
11
- taquitoError?: string;
12
- };
13
- /**
14
- * Fetch the transaction fees for a transaction
15
- *
16
- * @param {Account} a
17
- * @param {Transaction} t
18
- */
19
- export default async function getEstimatedFees({
20
- account,
21
- transaction,
22
- }: {
23
- account: TezosAccount;
24
- transaction: Transaction;
25
- }): Promise<EstimatedFees> {
26
- const estimate = await estimateFees({
27
- account: {
28
- xpub: account.xpub,
29
- address: account.freshAddress,
30
- balance: BigInt(account.balance.toString()),
31
- revealed: account.tezosResources.revealed,
32
- },
33
- transaction: {
34
- mode: transaction.mode,
35
- recipient: transaction.recipient,
36
- amount: BigInt(transaction.amount.toString()),
37
- useAllAmount: transaction.useAllAmount,
38
- },
39
- });
40
-
41
- return {
42
- fees: BigNumber(estimate.fees.toString()),
43
- gasLimit: BigNumber(estimate.gasLimit.toString()),
44
- storageLimit: BigNumber(estimate.storageLimit.toString()),
45
- estimatedFees: BigNumber(estimate.estimatedFees.toString()),
46
- amount: estimate.amount !== undefined ? BigNumber(estimate.amount.toString()) : BigNumber(0),
47
- taquitoError: estimate.taquitoError,
48
- };
49
- }