@ledgerhq/coin-tezos 6.6.0 → 6.7.0-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 (335) hide show
  1. package/.unimportedrc.json +4 -30
  2. package/CHANGELOG.md +15 -0
  3. package/jest.integ.config.js +1 -0
  4. package/lib/api/index.d.ts.map +1 -1
  5. package/lib/api/index.integ.test.js +6 -0
  6. package/lib/api/index.integ.test.js.map +1 -1
  7. package/lib/api/index.js +221 -40
  8. package/lib/api/index.js.map +1 -1
  9. package/lib/api/index.test.js +84 -10
  10. package/lib/api/index.test.js.map +1 -1
  11. package/lib/api/types.d.ts +7 -6
  12. package/lib/api/types.d.ts.map +1 -1
  13. package/lib/config.d.ts +4 -3
  14. package/lib/config.d.ts.map +1 -1
  15. package/lib/config.js.map +1 -1
  16. package/lib/index.d.ts +1 -1
  17. package/lib/index.d.ts.map +1 -1
  18. package/lib/index.js +1 -3
  19. package/lib/index.js.map +1 -1
  20. package/lib/logic/craftTransaction.d.ts.map +1 -1
  21. package/lib/logic/craftTransaction.js +7 -0
  22. package/lib/logic/craftTransaction.js.map +1 -1
  23. package/lib/logic/craftTransaction.test.js +1 -0
  24. package/lib/logic/craftTransaction.test.js.map +1 -1
  25. package/lib/logic/estimateFees.d.ts.map +1 -1
  26. package/lib/logic/estimateFees.integ.test.js +8 -2
  27. package/lib/logic/estimateFees.integ.test.js.map +1 -1
  28. package/lib/logic/estimateFees.js +119 -45
  29. package/lib/logic/estimateFees.js.map +1 -1
  30. package/lib/logic/getBalance.js +1 -1
  31. package/lib/logic/getBalance.js.map +1 -1
  32. package/lib/logic/getStakes.d.ts +3 -0
  33. package/lib/logic/getStakes.d.ts.map +1 -0
  34. package/lib/logic/getStakes.js +26 -0
  35. package/lib/logic/getStakes.js.map +1 -0
  36. package/lib/logic/getStakes.test.d.ts +2 -0
  37. package/lib/logic/getStakes.test.d.ts.map +1 -0
  38. package/lib/logic/getStakes.test.js +133 -0
  39. package/lib/logic/getStakes.test.js.map +1 -0
  40. package/lib/logic/index.d.ts +2 -0
  41. package/lib/logic/index.d.ts.map +1 -1
  42. package/lib/logic/index.js +5 -1
  43. package/lib/logic/index.js.map +1 -1
  44. package/lib/logic/listOperations.d.ts.map +1 -1
  45. package/lib/logic/listOperations.js +69 -11
  46. package/lib/logic/listOperations.js.map +1 -1
  47. package/lib/logic/listOperations.test.js +14 -10
  48. package/lib/logic/listOperations.test.js.map +1 -1
  49. package/lib/logic/validateIntent.d.ts +3 -0
  50. package/lib/logic/validateIntent.d.ts.map +1 -0
  51. package/lib/logic/validateIntent.js +179 -0
  52. package/lib/logic/validateIntent.js.map +1 -0
  53. package/lib/logic/validateIntent.test.d.ts +2 -0
  54. package/lib/logic/validateIntent.test.d.ts.map +1 -0
  55. package/lib/logic/validateIntent.test.js +261 -0
  56. package/lib/logic/validateIntent.test.js.map +1 -0
  57. package/{lib-es/bridge → lib}/transaction.d.ts +1 -1
  58. package/lib/transaction.d.ts.map +1 -0
  59. package/lib/{bridge/transaction.js → transaction.js} +3 -3
  60. package/lib/transaction.js.map +1 -0
  61. package/lib/types/bridge.d.ts +3 -0
  62. package/lib/types/bridge.d.ts.map +1 -1
  63. package/lib/types/bridge.fixture.d.ts.map +1 -1
  64. package/lib/types/bridge.fixture.js +1 -0
  65. package/lib/types/bridge.fixture.js.map +1 -1
  66. package/lib/types/bridge.js.map +1 -1
  67. package/lib/utils.d.ts +50 -0
  68. package/lib/utils.d.ts.map +1 -0
  69. package/lib/utils.js +111 -0
  70. package/lib/utils.js.map +1 -0
  71. package/lib-es/api/index.d.ts.map +1 -1
  72. package/lib-es/api/index.integ.test.js +6 -0
  73. package/lib-es/api/index.integ.test.js.map +1 -1
  74. package/lib-es/api/index.js +222 -41
  75. package/lib-es/api/index.js.map +1 -1
  76. package/lib-es/api/index.test.js +84 -10
  77. package/lib-es/api/index.test.js.map +1 -1
  78. package/lib-es/api/types.d.ts +7 -6
  79. package/lib-es/api/types.d.ts.map +1 -1
  80. package/lib-es/config.d.ts +4 -3
  81. package/lib-es/config.d.ts.map +1 -1
  82. package/lib-es/config.js.map +1 -1
  83. package/lib-es/index.d.ts +1 -1
  84. package/lib-es/index.d.ts.map +1 -1
  85. package/lib-es/index.js +1 -1
  86. package/lib-es/index.js.map +1 -1
  87. package/lib-es/logic/craftTransaction.d.ts.map +1 -1
  88. package/lib-es/logic/craftTransaction.js +7 -0
  89. package/lib-es/logic/craftTransaction.js.map +1 -1
  90. package/lib-es/logic/craftTransaction.test.js +1 -0
  91. package/lib-es/logic/craftTransaction.test.js.map +1 -1
  92. package/lib-es/logic/estimateFees.d.ts.map +1 -1
  93. package/lib-es/logic/estimateFees.integ.test.js +8 -2
  94. package/lib-es/logic/estimateFees.integ.test.js.map +1 -1
  95. package/lib-es/logic/estimateFees.js +119 -45
  96. package/lib-es/logic/estimateFees.js.map +1 -1
  97. package/lib-es/logic/getBalance.js +1 -1
  98. package/lib-es/logic/getBalance.js.map +1 -1
  99. package/lib-es/logic/getStakes.d.ts +3 -0
  100. package/lib-es/logic/getStakes.d.ts.map +1 -0
  101. package/lib-es/logic/getStakes.js +20 -0
  102. package/lib-es/logic/getStakes.js.map +1 -0
  103. package/lib-es/logic/getStakes.test.d.ts +2 -0
  104. package/lib-es/logic/getStakes.test.d.ts.map +1 -0
  105. package/lib-es/logic/getStakes.test.js +128 -0
  106. package/lib-es/logic/getStakes.test.js.map +1 -0
  107. package/lib-es/logic/index.d.ts +2 -0
  108. package/lib-es/logic/index.d.ts.map +1 -1
  109. package/lib-es/logic/index.js +2 -0
  110. package/lib-es/logic/index.js.map +1 -1
  111. package/lib-es/logic/listOperations.d.ts.map +1 -1
  112. package/lib-es/logic/listOperations.js +69 -11
  113. package/lib-es/logic/listOperations.js.map +1 -1
  114. package/lib-es/logic/listOperations.test.js +14 -10
  115. package/lib-es/logic/listOperations.test.js.map +1 -1
  116. package/lib-es/logic/validateIntent.d.ts +3 -0
  117. package/lib-es/logic/validateIntent.d.ts.map +1 -0
  118. package/lib-es/logic/validateIntent.js +173 -0
  119. package/lib-es/logic/validateIntent.js.map +1 -0
  120. package/lib-es/logic/validateIntent.test.d.ts +2 -0
  121. package/lib-es/logic/validateIntent.test.d.ts.map +1 -0
  122. package/lib-es/logic/validateIntent.test.js +233 -0
  123. package/lib-es/logic/validateIntent.test.js.map +1 -0
  124. package/{lib/bridge → lib-es}/transaction.d.ts +1 -1
  125. package/lib-es/transaction.d.ts.map +1 -0
  126. package/lib-es/{bridge/transaction.js → transaction.js} +3 -3
  127. package/lib-es/transaction.js.map +1 -0
  128. package/lib-es/types/bridge.d.ts +3 -0
  129. package/lib-es/types/bridge.d.ts.map +1 -1
  130. package/lib-es/types/bridge.fixture.d.ts.map +1 -1
  131. package/lib-es/types/bridge.fixture.js +1 -0
  132. package/lib-es/types/bridge.fixture.js.map +1 -1
  133. package/lib-es/types/bridge.js.map +1 -1
  134. package/lib-es/utils.d.ts +50 -0
  135. package/lib-es/utils.d.ts.map +1 -0
  136. package/lib-es/utils.js +100 -0
  137. package/lib-es/utils.js.map +1 -0
  138. package/package.json +8 -11
  139. package/src/api/index.integ.test.ts +8 -1
  140. package/src/api/index.test.ts +93 -16
  141. package/src/api/index.ts +248 -55
  142. package/src/api/types.ts +11 -7
  143. package/src/config.ts +9 -2
  144. package/src/index.ts +1 -2
  145. package/src/logic/craftTransaction.test.ts +1 -0
  146. package/src/logic/craftTransaction.ts +8 -0
  147. package/src/logic/estimateFees.integ.test.ts +8 -2
  148. package/src/logic/estimateFees.ts +140 -49
  149. package/src/logic/getBalance.ts +1 -1
  150. package/src/logic/getStakes.test.ts +145 -0
  151. package/src/logic/getStakes.ts +20 -0
  152. package/src/logic/index.ts +2 -0
  153. package/src/logic/listOperations.test.ts +64 -54
  154. package/src/logic/listOperations.ts +70 -10
  155. package/src/logic/validateIntent.test.ts +274 -0
  156. package/src/logic/validateIntent.ts +207 -0
  157. package/src/{bridge/transaction.ts → transaction.ts} +4 -4
  158. package/src/types/bridge.fixture.ts +1 -0
  159. package/src/types/bridge.ts +6 -1
  160. package/src/utils.ts +111 -0
  161. package/lib/bridge/broadcast.d.ts +0 -4
  162. package/lib/bridge/broadcast.d.ts.map +0 -1
  163. package/lib/bridge/broadcast.js +0 -11
  164. package/lib/bridge/broadcast.js.map +0 -1
  165. package/lib/bridge/broadcast.test.d.ts +0 -2
  166. package/lib/bridge/broadcast.test.d.ts.map +0 -1
  167. package/lib/bridge/broadcast.test.js +0 -36
  168. package/lib/bridge/broadcast.test.js.map +0 -1
  169. package/lib/bridge/buildOptimisticOperation.d.ts +0 -4
  170. package/lib/bridge/buildOptimisticOperation.d.ts.map +0 -1
  171. package/lib/bridge/buildOptimisticOperation.js +0 -28
  172. package/lib/bridge/buildOptimisticOperation.js.map +0 -1
  173. package/lib/bridge/createTransaction.d.ts +0 -4
  174. package/lib/bridge/createTransaction.d.ts.map +0 -1
  175. package/lib/bridge/createTransaction.js +0 -24
  176. package/lib/bridge/createTransaction.js.map +0 -1
  177. package/lib/bridge/estimateMaxSpendable.d.ts +0 -5
  178. package/lib/bridge/estimateMaxSpendable.d.ts.map +0 -1
  179. package/lib/bridge/estimateMaxSpendable.js +0 -30
  180. package/lib/bridge/estimateMaxSpendable.js.map +0 -1
  181. package/lib/bridge/getFeesForTransaction.d.ts +0 -21
  182. package/lib/bridge/getFeesForTransaction.d.ts.map +0 -1
  183. package/lib/bridge/getFeesForTransaction.js +0 -39
  184. package/lib/bridge/getFeesForTransaction.js.map +0 -1
  185. package/lib/bridge/getTransactionStatus.d.ts +0 -4
  186. package/lib/bridge/getTransactionStatus.d.ts.map +0 -1
  187. package/lib/bridge/getTransactionStatus.js +0 -108
  188. package/lib/bridge/getTransactionStatus.js.map +0 -1
  189. package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
  190. package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
  191. package/lib/bridge/getTransactionStatus.test.js +0 -107
  192. package/lib/bridge/getTransactionStatus.test.js.map +0 -1
  193. package/lib/bridge/index.d.ts +0 -10
  194. package/lib/bridge/index.d.ts.map +0 -1
  195. package/lib/bridge/index.js +0 -59
  196. package/lib/bridge/index.js.map +0 -1
  197. package/lib/bridge/logic.d.ts +0 -10
  198. package/lib/bridge/logic.d.ts.map +0 -1
  199. package/lib/bridge/logic.js +0 -155
  200. package/lib/bridge/logic.js.map +0 -1
  201. package/lib/bridge/preload.d.ts +0 -9
  202. package/lib/bridge/preload.d.ts.map +0 -1
  203. package/lib/bridge/preload.js +0 -23
  204. package/lib/bridge/preload.js.map +0 -1
  205. package/lib/bridge/prepareTransaction.d.ts +0 -5
  206. package/lib/bridge/prepareTransaction.d.ts.map +0 -1
  207. package/lib/bridge/prepareTransaction.integ.test.d.ts +0 -2
  208. package/lib/bridge/prepareTransaction.integ.test.d.ts.map +0 -1
  209. package/lib/bridge/prepareTransaction.integ.test.js +0 -34
  210. package/lib/bridge/prepareTransaction.integ.test.js.map +0 -1
  211. package/lib/bridge/prepareTransaction.js +0 -57
  212. package/lib/bridge/prepareTransaction.js.map +0 -1
  213. package/lib/bridge/prepareTransaction.test.d.ts +0 -2
  214. package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
  215. package/lib/bridge/prepareTransaction.test.js +0 -178
  216. package/lib/bridge/prepareTransaction.test.js.map +0 -1
  217. package/lib/bridge/serialization.d.ts +0 -7
  218. package/lib/bridge/serialization.d.ts.map +0 -1
  219. package/lib/bridge/serialization.js +0 -26
  220. package/lib/bridge/serialization.js.map +0 -1
  221. package/lib/bridge/signOperation.d.ts +0 -16
  222. package/lib/bridge/signOperation.d.ts.map +0 -1
  223. package/lib/bridge/signOperation.js +0 -88
  224. package/lib/bridge/signOperation.js.map +0 -1
  225. package/lib/bridge/signOperation.test.d.ts +0 -2
  226. package/lib/bridge/signOperation.test.d.ts.map +0 -1
  227. package/lib/bridge/signOperation.test.js +0 -283
  228. package/lib/bridge/signOperation.test.js.map +0 -1
  229. package/lib/bridge/synchronization.d.ts +0 -5
  230. package/lib/bridge/synchronization.d.ts.map +0 -1
  231. package/lib/bridge/synchronization.integ.test.d.ts +0 -2
  232. package/lib/bridge/synchronization.integ.test.d.ts.map +0 -1
  233. package/lib/bridge/synchronization.integ.test.js +0 -32
  234. package/lib/bridge/synchronization.integ.test.js.map +0 -1
  235. package/lib/bridge/synchronization.js +0 -100
  236. package/lib/bridge/synchronization.js.map +0 -1
  237. package/lib/bridge/transaction.d.ts.map +0 -1
  238. package/lib/bridge/transaction.js.map +0 -1
  239. package/lib-es/bridge/broadcast.d.ts +0 -4
  240. package/lib-es/bridge/broadcast.d.ts.map +0 -1
  241. package/lib-es/bridge/broadcast.js +0 -7
  242. package/lib-es/bridge/broadcast.js.map +0 -1
  243. package/lib-es/bridge/broadcast.test.d.ts +0 -2
  244. package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
  245. package/lib-es/bridge/broadcast.test.js +0 -31
  246. package/lib-es/bridge/broadcast.test.js.map +0 -1
  247. package/lib-es/bridge/buildOptimisticOperation.d.ts +0 -4
  248. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +0 -1
  249. package/lib-es/bridge/buildOptimisticOperation.js +0 -21
  250. package/lib-es/bridge/buildOptimisticOperation.js.map +0 -1
  251. package/lib-es/bridge/createTransaction.d.ts +0 -4
  252. package/lib-es/bridge/createTransaction.d.ts.map +0 -1
  253. package/lib-es/bridge/createTransaction.js +0 -17
  254. package/lib-es/bridge/createTransaction.js.map +0 -1
  255. package/lib-es/bridge/estimateMaxSpendable.d.ts +0 -5
  256. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +0 -1
  257. package/lib-es/bridge/estimateMaxSpendable.js +0 -23
  258. package/lib-es/bridge/estimateMaxSpendable.js.map +0 -1
  259. package/lib-es/bridge/getFeesForTransaction.d.ts +0 -21
  260. package/lib-es/bridge/getFeesForTransaction.d.ts.map +0 -1
  261. package/lib-es/bridge/getFeesForTransaction.js +0 -33
  262. package/lib-es/bridge/getFeesForTransaction.js.map +0 -1
  263. package/lib-es/bridge/getTransactionStatus.d.ts +0 -4
  264. package/lib-es/bridge/getTransactionStatus.d.ts.map +0 -1
  265. package/lib-es/bridge/getTransactionStatus.js +0 -101
  266. package/lib-es/bridge/getTransactionStatus.js.map +0 -1
  267. package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
  268. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
  269. package/lib-es/bridge/getTransactionStatus.test.js +0 -102
  270. package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
  271. package/lib-es/bridge/index.d.ts +0 -10
  272. package/lib-es/bridge/index.d.ts.map +0 -1
  273. package/lib-es/bridge/index.js +0 -53
  274. package/lib-es/bridge/index.js.map +0 -1
  275. package/lib-es/bridge/logic.d.ts +0 -10
  276. package/lib-es/bridge/logic.d.ts.map +0 -1
  277. package/lib-es/bridge/logic.js +0 -145
  278. package/lib-es/bridge/logic.js.map +0 -1
  279. package/lib-es/bridge/preload.d.ts +0 -9
  280. package/lib-es/bridge/preload.d.ts.map +0 -1
  281. package/lib-es/bridge/preload.js +0 -17
  282. package/lib-es/bridge/preload.js.map +0 -1
  283. package/lib-es/bridge/prepareTransaction.d.ts +0 -5
  284. package/lib-es/bridge/prepareTransaction.d.ts.map +0 -1
  285. package/lib-es/bridge/prepareTransaction.integ.test.d.ts +0 -2
  286. package/lib-es/bridge/prepareTransaction.integ.test.d.ts.map +0 -1
  287. package/lib-es/bridge/prepareTransaction.integ.test.js +0 -29
  288. package/lib-es/bridge/prepareTransaction.integ.test.js.map +0 -1
  289. package/lib-es/bridge/prepareTransaction.js +0 -50
  290. package/lib-es/bridge/prepareTransaction.js.map +0 -1
  291. package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
  292. package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
  293. package/lib-es/bridge/prepareTransaction.test.js +0 -173
  294. package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
  295. package/lib-es/bridge/serialization.d.ts +0 -7
  296. package/lib-es/bridge/serialization.d.ts.map +0 -1
  297. package/lib-es/bridge/serialization.js +0 -20
  298. package/lib-es/bridge/serialization.js.map +0 -1
  299. package/lib-es/bridge/signOperation.d.ts +0 -16
  300. package/lib-es/bridge/signOperation.d.ts.map +0 -1
  301. package/lib-es/bridge/signOperation.js +0 -83
  302. package/lib-es/bridge/signOperation.js.map +0 -1
  303. package/lib-es/bridge/signOperation.test.d.ts +0 -2
  304. package/lib-es/bridge/signOperation.test.d.ts.map +0 -1
  305. package/lib-es/bridge/signOperation.test.js +0 -255
  306. package/lib-es/bridge/signOperation.test.js.map +0 -1
  307. package/lib-es/bridge/synchronization.d.ts +0 -5
  308. package/lib-es/bridge/synchronization.d.ts.map +0 -1
  309. package/lib-es/bridge/synchronization.integ.test.d.ts +0 -2
  310. package/lib-es/bridge/synchronization.integ.test.d.ts.map +0 -1
  311. package/lib-es/bridge/synchronization.integ.test.js +0 -27
  312. package/lib-es/bridge/synchronization.integ.test.js.map +0 -1
  313. package/lib-es/bridge/synchronization.js +0 -70
  314. package/lib-es/bridge/synchronization.js.map +0 -1
  315. package/lib-es/bridge/transaction.d.ts.map +0 -1
  316. package/lib-es/bridge/transaction.js.map +0 -1
  317. package/src/bridge/broadcast.test.ts +0 -36
  318. package/src/bridge/broadcast.ts +0 -13
  319. package/src/bridge/buildOptimisticOperation.ts +0 -28
  320. package/src/bridge/createTransaction.ts +0 -19
  321. package/src/bridge/estimateMaxSpendable.ts +0 -37
  322. package/src/bridge/getFeesForTransaction.ts +0 -49
  323. package/src/bridge/getTransactionStatus.test.ts +0 -124
  324. package/src/bridge/getTransactionStatus.ts +0 -123
  325. package/src/bridge/index.ts +0 -74
  326. package/src/bridge/logic.ts +0 -171
  327. package/src/bridge/preload.ts +0 -18
  328. package/src/bridge/prepareTransaction.integ.test.ts +0 -35
  329. package/src/bridge/prepareTransaction.test.ts +0 -205
  330. package/src/bridge/prepareTransaction.ts +0 -69
  331. package/src/bridge/serialization.ts +0 -27
  332. package/src/bridge/signOperation.test.ts +0 -284
  333. package/src/bridge/signOperation.ts +0 -130
  334. package/src/bridge/synchronization.integ.test.ts +0 -33
  335. package/src/bridge/synchronization.ts +0 -100
@@ -1,40 +1,68 @@
1
1
  import { IncorrectTypeError, } from "@ledgerhq/coin-framework/api/index";
2
2
  import coinConfig from "../config";
3
- import { broadcast, combine, craftTransaction, estimateFees, getBalance, lastBlock, listOperations, rawEncode, } from "../logic";
3
+ import { broadcast, combine, craftTransaction, estimateFees, getBalance, lastBlock, listOperations, rawEncode, validateIntent, getStakes, } from "../logic";
4
+ import { getTezosToolkit } from "../logic/tezosToolkit";
4
5
  import api from "../network/tzkt";
6
+ import { RecommendUndelegation } from "@ledgerhq/errors";
7
+ import { validatePublicKey, ValidationResult, getPkhfromPk } from "@taquito/utils";
8
+ import { getRevealFee } from "@taquito/taquito";
9
+ import { DUST_MARGIN_MUTEZ, hasEmptyBalance, mapIntentTypeToTezosMode, normalizePublicKeyForAddress, } from "../utils";
5
10
  export function createApi(config) {
6
11
  coinConfig.setCoinConfig(() => ({ ...config, status: { type: "active" } }));
7
12
  return {
8
13
  broadcast,
9
14
  combine,
10
15
  craftTransaction: craft,
16
+ craftRawTransaction: (_transaction, _sender, _publicKey, _sequence) => {
17
+ throw new Error("craftRawTransaction is not supported");
18
+ },
11
19
  estimateFees: estimate,
12
20
  getBalance: balance,
13
21
  lastBlock,
14
22
  listOperations: operations,
23
+ getStakes,
24
+ validateIntent,
25
+ // required by signer to compute next valid sequence/counter
26
+ getSequence: async (address) => {
27
+ const accountInfo = await api.getAccountByAddress(address);
28
+ return accountInfo.type === "user" ? accountInfo.counter + 1 : 0;
29
+ },
15
30
  getBlock(_height) {
16
31
  throw new Error("getBlock is not supported");
17
32
  },
18
33
  getBlockInfo(_height) {
19
34
  throw new Error("getBlockInfo is not supported");
20
35
  },
21
- getStakes(_address, _cursor) {
22
- throw new Error("getStakes is not supported");
23
- },
24
36
  getRewards(_address, _cursor) {
25
37
  throw new Error("getRewards is not supported");
26
38
  },
27
39
  };
28
40
  }
29
41
  function isTezosTransactionType(type) {
30
- return ["send", "delegate", "undelegate"].includes(type);
42
+ return ["send", "delegate", "undelegate", "stake", "unstake"].includes(type);
31
43
  }
32
44
  async function balance(address) {
33
45
  const value = await getBalance(address);
46
+ const accountInfo = await api.getAccountByAddress(address);
47
+ // tzkt returns `type: "empty"` for untouched accounts; legacy logic returns -1 in that case
48
+ // the generic bridge expects non-negative balances
49
+ const normalized = value < 0n ? 0n : value;
50
+ // include stake information so ui can reflect delegation on account page
51
+ const stake = accountInfo.type === "user" && accountInfo.delegate?.address
52
+ ? {
53
+ uid: address,
54
+ address,
55
+ delegate: accountInfo.delegate.address,
56
+ state: "active",
57
+ asset: { type: "native" },
58
+ amount: BigInt(accountInfo.balance ?? 0),
59
+ }
60
+ : undefined;
34
61
  return [
35
62
  {
36
- value,
63
+ value: normalized,
37
64
  asset: { type: "native" },
65
+ stake,
38
66
  },
39
67
  ];
40
68
  }
@@ -42,48 +70,201 @@ async function craft(transactionIntent, customFees) {
42
70
  if (!isTezosTransactionType(transactionIntent.type)) {
43
71
  throw new IncorrectTypeError(transactionIntent.type);
44
72
  }
45
- // note that an estimation is always necessary to get gasLimit and storageLimit, if even using custom fees
46
- const fee = await estimate(transactionIntent).then(fees => ({
47
- fees: (customFees?.value ?? fees.value).toString(),
48
- gasLimit: fees.parameters?.gasLimit?.toString(),
49
- storageLimit: fees.parameters?.storageLimit?.toString(),
50
- }));
51
- const { contents } = await craftTransaction({ address: transactionIntent.sender }, {
52
- type: transactionIntent.type,
73
+ // Always estimate to get gasLimit/storageLimit
74
+ const estimation = await estimate(transactionIntent);
75
+ const fee = {
76
+ fees: (customFees?.value ?? estimation.value).toString(),
77
+ gasLimit: estimation.parameters?.gasLimit?.toString(),
78
+ storageLimit: estimation.parameters?.storageLimit?.toString(),
79
+ };
80
+ // Map generic staking intents to tezos modes
81
+ const mappedType = mapIntentTypeToTezosMode(transactionIntent.type);
82
+ // Guard: send max is incompatible with delegated accounts
83
+ let amountToUse = transactionIntent.amount;
84
+ if (mappedType === "send" && transactionIntent.useAllAmount) {
85
+ const senderInfo = await api.getAccountByAddress(transactionIntent.sender);
86
+ if (senderInfo.type === "user" && senderInfo.delegate?.address) {
87
+ throw new RecommendUndelegation();
88
+ }
89
+ if (senderInfo.type === "user") {
90
+ // Use the amount calculated by the estimation which includes proper buffers and adjustments
91
+ if (estimation.parameters?.amount !== undefined) {
92
+ amountToUse = estimation.parameters.amount;
93
+ }
94
+ else {
95
+ // Fallback to the original calculation if estimation doesn't provide amount
96
+ const bal = BigInt(senderInfo.balance);
97
+ const feeBI = BigInt(fee.fees || "0");
98
+ const dustMargin = BigInt(DUST_MARGIN_MUTEZ);
99
+ const totalToDeduct = feeBI + dustMargin;
100
+ amountToUse = bal > totalToDeduct ? bal - totalToDeduct : 0n;
101
+ }
102
+ }
103
+ else {
104
+ amountToUse = 0n;
105
+ }
106
+ }
107
+ const accountForCraft = {
108
+ address: transactionIntent.sender,
109
+ };
110
+ const senderApiAcc = await api.getAccountByAddress(transactionIntent.sender);
111
+ const needsReveal = senderApiAcc.type === "user" && !senderApiAcc.revealed;
112
+ const totalFee = Number(fee.fees || "0");
113
+ let txFee;
114
+ if (customFees) {
115
+ txFee = needsReveal ? Math.max(totalFee - getRevealFee(transactionIntent.sender), 0) : totalFee;
116
+ }
117
+ else if (estimation.parameters?.txFee !== undefined) {
118
+ txFee = Number(estimation.parameters.txFee);
119
+ }
120
+ else {
121
+ const calculatedTxFee = needsReveal
122
+ ? Math.max(totalFee - getRevealFee(transactionIntent.sender), 0)
123
+ : totalFee;
124
+ txFee = calculatedTxFee;
125
+ }
126
+ const txForCraft = {
127
+ type: mappedType,
53
128
  recipient: transactionIntent.recipient,
54
- amount: transactionIntent.amount,
55
- fee,
56
- });
129
+ amount: amountToUse,
130
+ fee: { ...fee, fees: txFee.toString() },
131
+ };
132
+ const publicKeyForCraft = needsReveal && transactionIntent.senderPublicKey
133
+ ? (() => {
134
+ // Accept either base58 or hex from device, and map curve using sender address
135
+ let pk = transactionIntent.senderPublicKey;
136
+ if (validatePublicKey(pk) !== ValidationResult.VALID) {
137
+ pk = normalizePublicKeyForAddress(pk, transactionIntent.sender) || pk;
138
+ }
139
+ // Verify the public key matches the sender address to avoid inconsistent_hash
140
+ let isPublicKeyValid = false;
141
+ try {
142
+ const derived = getPkhfromPk(pk);
143
+ isPublicKeyValid = derived === transactionIntent.sender;
144
+ }
145
+ catch {
146
+ // getPkhfromPk failed = will fallback to basic validation below
147
+ isPublicKeyValid = false;
148
+ }
149
+ if (!isPublicKeyValid) {
150
+ // If derivation failed/doesn't match, check if the key is atleast valid format
151
+ if (validatePublicKey(pk) !== ValidationResult.VALID) {
152
+ throw new Error("Unable to normalize sender public key");
153
+ }
154
+ }
155
+ return { publicKey: pk, publicKeyHash: transactionIntent.sender };
156
+ })()
157
+ : undefined;
158
+ const { contents } = await craftTransaction(accountForCraft, txForCraft, publicKeyForCraft);
57
159
  const tx = await rawEncode(contents);
58
160
  return { transaction: tx };
59
161
  }
60
162
  async function estimate(transactionIntent) {
163
+ // avoid taquito error when estimating a 0-amount transfer during input
164
+ const config = coinConfig.getCoinConfig();
165
+ if (transactionIntent.type === "send" &&
166
+ transactionIntent.amount === 0n &&
167
+ !transactionIntent.useAllAmount) {
168
+ return {
169
+ value: BigInt(DUST_MARGIN_MUTEZ),
170
+ parameters: {
171
+ gasLimit: 10000n,
172
+ storageLimit: 300n,
173
+ amount: 0n,
174
+ txFee: BigInt(DUST_MARGIN_MUTEZ),
175
+ },
176
+ };
177
+ }
61
178
  const senderAccountInfo = await api.getAccountByAddress(transactionIntent.sender);
62
- const { estimatedFees: value, gasLimit, storageLimit, taquitoError, } = await estimateFees({
63
- account: {
64
- address: transactionIntent.sender,
65
- revealed: senderAccountInfo.type === "user" && senderAccountInfo.revealed,
66
- balance: BigInt(senderAccountInfo.type === "user" ? senderAccountInfo.balance : 0),
67
- // NOTE: previously we checked for .sender.xpub
68
- xpub: transactionIntent.senderPublicKey ??
69
- (senderAccountInfo.type === "user" ? senderAccountInfo.publicKey : undefined),
70
- },
71
- transaction: {
72
- mode: transactionIntent.type,
73
- recipient: transactionIntent.recipient,
74
- amount: transactionIntent.amount,
75
- },
76
- });
77
- if (taquitoError !== undefined) {
78
- throw new Error(`Fees estimation failed: ${taquitoError}`);
179
+ // If the sender is not a user account, return default estimation values
180
+ if (senderAccountInfo.type !== "user") {
181
+ return {
182
+ value: BigInt(DUST_MARGIN_MUTEZ),
183
+ parameters: {
184
+ gasLimit: 10000n,
185
+ storageLimit: 300n,
186
+ amount: 0n,
187
+ txFee: BigInt(DUST_MARGIN_MUTEZ),
188
+ },
189
+ };
190
+ }
191
+ try {
192
+ const estimation = await estimateFees({
193
+ account: {
194
+ address: transactionIntent.sender,
195
+ revealed: senderAccountInfo.revealed,
196
+ balance: BigInt(senderAccountInfo.balance),
197
+ // try intent public key first and fallback to tzkt public key
198
+ xpub: transactionIntent.senderPublicKey ?? senderAccountInfo.publicKey,
199
+ },
200
+ transaction: {
201
+ // reuse the same mapping as craft
202
+ mode: mapIntentTypeToTezosMode(transactionIntent.type),
203
+ recipient: transactionIntent.recipient,
204
+ amount: transactionIntent.amount,
205
+ // legacy estimator needs this flag to pre-estimate fees
206
+ useAllAmount: !!transactionIntent.useAllAmount,
207
+ },
208
+ });
209
+ if (estimation.taquitoError &&
210
+ !estimation.taquitoError.includes("delegate.unchanged") &&
211
+ !estimation.taquitoError.includes("subtraction_underflow") &&
212
+ !estimation.taquitoError.includes("balance_too_low")) {
213
+ throw new Error(`Fees estimation failed: ${estimation.taquitoError}`);
214
+ }
215
+ return {
216
+ value: estimation.estimatedFees,
217
+ parameters: {
218
+ gasLimit: estimation.gasLimit,
219
+ storageLimit: estimation.storageLimit,
220
+ amount: estimation.amount,
221
+ txFee: estimation.fees,
222
+ },
223
+ };
224
+ }
225
+ catch (error) {
226
+ // Handle PublicKeyNotFoundError
227
+ if (error?.message?.includes("Public key not found")) {
228
+ const apiAccount = await api.getAccountByAddress(transactionIntent.recipient);
229
+ const storageLimit = !hasEmptyBalance(apiAccount) || transactionIntent.type === "stake" ? 0n : 277n;
230
+ // Check if account needs reveal for proper fee calculation
231
+ const senderApiAcc = await api.getAccountByAddress(transactionIntent.sender);
232
+ const needsReveal = senderApiAcc.type === "user" && !senderApiAcc.revealed;
233
+ // Production-calibrated fallback fee when Taquito estimation fails (~388 mutez observed)
234
+ const DEFAULT_TX_FEE_FALLBACK = 388;
235
+ let baseTxFee;
236
+ try {
237
+ const toolkit = getTezosToolkit();
238
+ const simpleEstimate = await toolkit.estimate.transfer({
239
+ to: transactionIntent.recipient,
240
+ amount: Number(transactionIntent.amount),
241
+ mutez: true,
242
+ source: transactionIntent.sender,
243
+ });
244
+ // Use Taquito estimation, respecting minFees from config
245
+ baseTxFee = BigInt(Math.max(config.fees.minFees, simpleEstimate.suggestedFeeMutez));
246
+ }
247
+ catch {
248
+ // Fallback to production-calibrated default if estimation fails
249
+ baseTxFee = BigInt(Math.max(DEFAULT_TX_FEE_FALLBACK, config.fees.minFees));
250
+ }
251
+ const revealFee = needsReveal ? BigInt(getRevealFee(transactionIntent.sender)) : 0n;
252
+ const totalFee = baseTxFee + revealFee;
253
+ return {
254
+ value: totalFee,
255
+ parameters: {
256
+ gasLimit: 10000n,
257
+ storageLimit,
258
+ amount: 0n,
259
+ txFee: baseTxFee,
260
+ },
261
+ };
262
+ }
263
+ else {
264
+ // Re-throw other errors
265
+ throw error;
266
+ }
79
267
  }
80
- return {
81
- value,
82
- parameters: {
83
- gasLimit,
84
- storageLimit,
85
- },
86
- };
87
268
  }
88
269
  async function operations(address, pagination = { minHeight: 0, order: "asc" }) {
89
270
  const [operations, newNextCursor] = await listOperations(address, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,18 @@ jest.mock("../logic", () => ({
14
14
  craftTransaction: (account, transaction) => logicCraftTransactionMock(account, transaction),
15
15
  rawEncode: () => Promise.resolve("tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ"),
16
16
  }));
17
- jest
18
- .spyOn(networkApi, "getAccountByAddress")
19
- .mockImplementation((_adress) => Promise.resolve({ type: "user", balance: 1000 }));
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
+ });
20
29
  const api = createApi({
21
30
  baker: {
22
31
  url: "https://baker.example.com",
@@ -75,18 +84,44 @@ describe("get operations", () => {
75
84
  describe("Testing craftTransaction function", () => {
76
85
  beforeEach(() => jest.clearAllMocks());
77
86
  it("should use estimated fees when user does not provide them for crafting a transaction ", async () => {
78
- logicEstimateFees.mockResolvedValue({ estimatedFees: DEFAULT_ESTIMATED_FEES });
79
- await api.craftTransaction({ type: "send", sender: {} });
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
+ });
80
99
  expect(logicEstimateFees).toHaveBeenCalledTimes(1);
81
- expect(logicCraftTransactionMock).toHaveBeenCalledWith(expect.any(Object), expect.objectContaining({ fee: { fees: DEFAULT_ESTIMATED_FEES.toString() } }));
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
+ }));
82
107
  });
83
108
  it.each([[1n], [50n], [99n]])("should use custom user fees when user provides it for crafting a transaction", async (customFees) => {
84
109
  logicEstimateFees.mockResolvedValue({
85
110
  estimatedFees: DEFAULT_ESTIMATED_FEES,
86
111
  gasLimit: DEFAULT_GAS_LIMIT,
87
112
  storageLimit: DEFAULT_STORAGE_LIMIT,
113
+ parameters: {
114
+ gasLimit: DEFAULT_GAS_LIMIT,
115
+ storageLimit: DEFAULT_STORAGE_LIMIT,
116
+ },
88
117
  });
89
- await api.craftTransaction({ type: "send", sender: {} }, {
118
+ await api.craftTransaction({
119
+ intentType: "transaction",
120
+ type: "send",
121
+ sender: "tz1test",
122
+ recipient: "tz1recipient",
123
+ amount: 1000n,
124
+ }, {
90
125
  value: customFees,
91
126
  });
92
127
  expect(logicEstimateFees).toHaveBeenCalledTimes(1);
@@ -107,7 +142,13 @@ describe("Testing estimateFees function", () => {
107
142
  gasLimit: DEFAULT_GAS_LIMIT,
108
143
  storageLimit: DEFAULT_STORAGE_LIMIT,
109
144
  });
110
- const result = await api.estimateFees({ type: "send", sender: {} });
145
+ const result = await api.estimateFees({
146
+ intentType: "transaction",
147
+ type: "send",
148
+ sender: "tz1test",
149
+ recipient: "tz1recipient",
150
+ amount: 1000n,
151
+ });
111
152
  expect(result).toEqual({
112
153
  value: DEFAULT_ESTIMATED_FEES,
113
154
  parameters: {
@@ -117,8 +158,41 @@ describe("Testing estimateFees function", () => {
117
158
  });
118
159
  });
119
160
  it("should throw taquito errors", async () => {
120
- logicEstimateFees.mockResolvedValue({ taquitoError: "test" });
121
- await expect(api.estimateFees({ type: "send", sender: {} })).rejects.toThrow("Fees estimation failed: test");
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
+ });
122
196
  });
123
197
  });
124
198
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
- import { AlpacaApi, FeeEstimation, TransactionIntent } from "@ledgerhq/coin-framework/api/types";
1
+ import type { Api, FeeEstimation } from "@ledgerhq/coin-framework/api/types";
2
2
  export type TezosFeeParameters = {
3
3
  gasLimit: bigint;
4
4
  storageLimit: bigint;
5
+ amount?: bigint;
6
+ txFee?: bigint;
7
+ };
8
+ export type TezosFeeEstimation = FeeEstimation & {
9
+ parameters?: TezosFeeParameters & Record<string, unknown>;
5
10
  };
6
- export type TezosFeeEstimation = FeeEstimation;
7
11
  export type TezosSender = {
8
12
  address: string;
9
13
  xpub?: string;
10
14
  };
11
- export type TezosTransactionIntent = TransactionIntent;
12
- export type TezosApi = AlpacaApi & {
13
- estimateFees: (transactionIntent: TezosTransactionIntent) => Promise<TezosFeeEstimation>;
14
- };
15
+ export type TezosApi = Api;
15
16
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEjG,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5E,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7D,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAEvD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG;IACjC,YAAY,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC1F,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,UAAU,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC"}
@@ -1,4 +1,5 @@
1
- import { type CurrencyConfig } from "@ledgerhq/coin-framework/config";
1
+ import { type CoinConfig, type CurrencyConfig } from "@ledgerhq/coin-framework/config";
2
+ import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
2
3
  export type TezosConfig = {
3
4
  baker: {
4
5
  url: string;
@@ -20,8 +21,8 @@ export type TezosConfig = {
20
21
  };
21
22
  export type TezosCoinConfig = CurrencyConfig & TezosConfig;
22
23
  declare const coinConfig: {
23
- setCoinConfig: (config: import("@ledgerhq/coin-framework/config").CoinConfig<TezosCoinConfig>) => void;
24
- getCoinConfig: (currency?: import("@ledgerhq/types-cryptoassets").CryptoCurrency) => TezosCoinConfig;
24
+ setCoinConfig: (config: CoinConfig<TezosCoinConfig>) => void;
25
+ getCoinConfig: (currency?: CryptoCurrency) => TezosCoinConfig;
25
26
  };
26
27
  export default coinConfig;
27
28
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAwB,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,WAAW,CAAC;AAE3D,QAAA,MAAM,UAAU;;;CAAqC,CAAC;AAEtD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAwB,EACtB,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,WAAW,CAAC;AAE3D,QAAA,MAAM,UAAU,EAAE;IAChB,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC7D,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,cAAc,KAAK,eAAe,CAAC;CAC1B,CAAC;AAEvC,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,eAAwC,MAAM,iCAAiC,CAAC;AAwBvF,MAAM,UAAU,GAAG,eAAe,EAAmB,CAAC;AAEtD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,eAGN,MAAM,iCAAiC,CAAC;AAyBzC,MAAM,UAAU,GAGZ,eAAe,EAAmB,CAAC;AAEvC,eAAe,UAAU,CAAC"}
package/lib-es/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from "./types";
2
- export { createBridges } from "./bridge/index";
2
+ export * from "./transaction";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
package/lib-es/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from "./types";
2
- export { createBridges } from "./bridge/index";
2
+ export * from "./transaction";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAU,MAAM,cAAc,CAAC;AAM9D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,UAAU,GAAG,YAAY,CAAC;AAEhE,wBAAsB,gBAAgB,CACpC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,WAAW,EAAE;IACX,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,cAAc,CAAC;CACrB,EACD,SAAS,CAAC,EAAE;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAAC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CA2EnE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9E"}
1
+ {"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAU,MAAM,cAAc,CAAC;AAO9D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,UAAU,GAAG,YAAY,CAAC;AAEhE,wBAAsB,gBAAgB,CACpC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,WAAW,EAAE;IACX,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,cAAc,CAAC;CACrB,EACD,SAAS,CAAC,EAAE;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAAC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CAkFnE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9E"}
@@ -3,6 +3,7 @@ import { getRevealFee } from "@taquito/taquito";
3
3
  import coinConfig from "../config";
4
4
  import { UnsupportedTransactionMode } from "../types/errors";
5
5
  import { getTezosToolkit } from "./tezosToolkit";
6
+ import { createMockSigner } from "../utils";
6
7
  export async function craftTransaction(account, transaction, publicKey) {
7
8
  const { address } = account;
8
9
  const transactionFees = {
@@ -11,6 +12,12 @@ export async function craftTransaction(account, transaction, publicKey) {
11
12
  storage_limit: transaction.fee.storageLimit ?? "0",
12
13
  };
13
14
  const tezosToolkit = getTezosToolkit();
15
+ // Configure signer for Taquito operations (same as in estimateFees)
16
+ if (publicKey) {
17
+ tezosToolkit.setProvider({
18
+ signer: createMockSigner(publicKey.publicKeyHash, publicKey.publicKey),
19
+ });
20
+ }
14
21
  const sourceData = await tezosToolkit.rpc.getContract(address);
15
22
  const counter = account.counter ?? Number(sourceData.counter);
16
23
  const contents = [];
@@ -1 +1 @@
1
- {"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,MAAM,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,UAAU,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AASjD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAGC,EACD,WAKC,EACD,SAGC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,eAAe,GAAG;QACtB,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG;QAChC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG;QAC1C,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG;KACnD,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC5E,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC9E,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;YACrC,8HAA8H;YAC9H,yCAAyC;YACzC,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE;YACpC,aAAa,EAAE,CAAC,UAAU,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YACzD,MAAM,EAAE,SAAS,CAAC,aAAa;YAC/B,OAAO,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;YACnD,UAAU,EAAE,SAAS,CAAC,SAAS;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAqB,CAAC;IAC1B,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,GAAG,KAAK,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC,WAAW;gBACxB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACrC,WAAW,EAAE,WAAW,CAAC,SAAS;gBAClC,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;gBACnD,GAAG,eAAe;aACnB,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,GAAG,UAAU,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC,UAAU;gBACvB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;gBACnD,QAAQ,EAAE,WAAW,CAAC,SAAS;gBAC/B,GAAG,eAAe;aACnB,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,+CAA+C;YAC/C,+BAA+B;YAC/B,IAAI,GAAG,YAAY,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC,UAAU;gBACvB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACjC,GAAG,eAAe;aACnB,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD;YACE,MAAM,IAAI,0BAA0B,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAA6B;IAC3D,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC;QACzD,MAAM,EAAE,KAAK,CAAC,IAAI;QAClB,QAAQ;KACT,CAAC,CAAC;IAEH,yEAAyE;IACzE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpG,CAAC"}
1
+ {"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"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"}