@ledgerhq/coin-vechain 2.27.0 → 2.28.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 (204) hide show
  1. package/.unimportedrc.json +3 -21
  2. package/CHANGELOG.md +34 -0
  3. package/jest.config.js +39 -13
  4. package/lib/api/index.d.ts +4 -0
  5. package/lib/api/index.d.ts.map +1 -0
  6. package/lib/api/index.js +45 -0
  7. package/lib/api/index.js.map +1 -0
  8. package/lib/bridge/getTransactionStatus.js +1 -1
  9. package/lib/bridge/getTransactionStatus.js.map +1 -1
  10. package/lib/logic/account/getBalance.d.ts +5 -0
  11. package/lib/logic/account/getBalance.d.ts.map +1 -0
  12. package/lib/logic/account/getBalance.js +25 -0
  13. package/lib/logic/account/getBalance.js.map +1 -0
  14. package/lib/logic/history/getBlock.d.ts +3 -0
  15. package/lib/logic/history/getBlock.d.ts.map +1 -0
  16. package/lib/logic/history/getBlock.js +35 -0
  17. package/lib/logic/history/getBlock.js.map +1 -0
  18. package/lib/logic/history/getBlockInfo.d.ts +6 -0
  19. package/lib/logic/history/getBlockInfo.d.ts.map +1 -0
  20. package/lib/logic/history/getBlockInfo.js +23 -0
  21. package/lib/logic/history/getBlockInfo.js.map +1 -0
  22. package/lib/logic/history/lastBlock.d.ts +3 -0
  23. package/lib/logic/history/lastBlock.d.ts.map +1 -0
  24. package/lib/logic/history/lastBlock.js +11 -0
  25. package/lib/logic/history/lastBlock.js.map +1 -0
  26. package/lib/logic/history/listOperations.d.ts +3 -0
  27. package/lib/logic/history/listOperations.d.ts.map +1 -0
  28. package/lib/logic/history/listOperations.js +50 -0
  29. package/lib/logic/history/listOperations.js.map +1 -0
  30. package/lib/logic/index.d.ts +12 -0
  31. package/lib/logic/index.d.ts.map +1 -0
  32. package/lib/logic/index.js +28 -0
  33. package/lib/logic/index.js.map +1 -0
  34. package/lib/logic/transaction/broadcast.d.ts +3 -0
  35. package/lib/logic/transaction/broadcast.d.ts.map +1 -0
  36. package/lib/logic/transaction/broadcast.js +10 -0
  37. package/lib/logic/transaction/broadcast.js.map +1 -0
  38. package/lib/logic/transaction/combine.d.ts +2 -0
  39. package/lib/logic/transaction/combine.d.ts.map +1 -0
  40. package/lib/logic/transaction/combine.js +11 -0
  41. package/lib/logic/transaction/combine.js.map +1 -0
  42. package/lib/logic/transaction/craftTransaction.d.ts +3 -0
  43. package/lib/logic/transaction/craftTransaction.d.ts.map +1 -0
  44. package/lib/logic/transaction/craftTransaction.js +99 -0
  45. package/lib/logic/transaction/craftTransaction.js.map +1 -0
  46. package/lib/logic/transaction/estimateFees.d.ts +3 -0
  47. package/lib/logic/transaction/estimateFees.d.ts.map +1 -0
  48. package/lib/logic/transaction/estimateFees.js +23 -0
  49. package/lib/logic/transaction/estimateFees.js.map +1 -0
  50. package/lib/logic/validateAddress.d.ts +4 -0
  51. package/lib/logic/validateAddress.d.ts.map +1 -0
  52. package/lib/logic/validateAddress.js +14 -0
  53. package/lib/logic/validateAddress.js.map +1 -0
  54. package/lib/logic/validateIntent.d.ts +3 -0
  55. package/lib/logic/validateIntent.d.ts.map +1 -0
  56. package/lib/logic/validateIntent.js +65 -0
  57. package/lib/logic/validateIntent.js.map +1 -0
  58. package/lib/network/getBlock.d.ts +3 -0
  59. package/lib/network/getBlock.d.ts.map +1 -0
  60. package/lib/network/getBlock.js +23 -0
  61. package/lib/network/getBlock.js.map +1 -0
  62. package/lib/network/getFees.d.ts.map +1 -1
  63. package/lib/network/getFees.js +2 -3
  64. package/lib/network/getFees.js.map +1 -1
  65. package/lib/network/index.d.ts +1 -0
  66. package/lib/network/index.d.ts.map +1 -1
  67. package/lib/network/index.js +1 -0
  68. package/lib/network/index.js.map +1 -1
  69. package/lib/network/sdk.d.ts.map +1 -1
  70. package/lib/network/sdk.js +14 -8
  71. package/lib/network/sdk.js.map +1 -1
  72. package/lib/test/bridgeDatasetTest.js +1 -1
  73. package/lib/test/bridgeDatasetTest.js.map +1 -1
  74. package/lib/test/msw-setup.d.ts +2 -0
  75. package/lib/test/msw-setup.d.ts.map +1 -0
  76. package/lib/test/msw-setup.js +9 -0
  77. package/lib/test/msw-setup.js.map +1 -0
  78. package/lib/test/msw.mock.d.ts +3 -0
  79. package/lib/test/msw.mock.d.ts.map +1 -0
  80. package/lib/test/msw.mock.js +9 -0
  81. package/lib/test/msw.mock.js.map +1 -0
  82. package/lib/types/network.d.ts +30 -0
  83. package/lib/types/network.d.ts.map +1 -1
  84. package/lib-es/api/index.d.ts +4 -0
  85. package/lib-es/api/index.d.ts.map +1 -0
  86. package/lib-es/api/index.js +42 -0
  87. package/lib-es/api/index.js.map +1 -0
  88. package/lib-es/bridge/getTransactionStatus.js +1 -1
  89. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  90. package/lib-es/logic/account/getBalance.d.ts +5 -0
  91. package/lib-es/logic/account/getBalance.d.ts.map +1 -0
  92. package/lib-es/logic/account/getBalance.js +20 -0
  93. package/lib-es/logic/account/getBalance.js.map +1 -0
  94. package/lib-es/logic/history/getBlock.d.ts +3 -0
  95. package/lib-es/logic/history/getBlock.d.ts.map +1 -0
  96. package/lib-es/logic/history/getBlock.js +32 -0
  97. package/lib-es/logic/history/getBlock.js.map +1 -0
  98. package/lib-es/logic/history/getBlockInfo.d.ts +6 -0
  99. package/lib-es/logic/history/getBlockInfo.d.ts.map +1 -0
  100. package/lib-es/logic/history/getBlockInfo.js +19 -0
  101. package/lib-es/logic/history/getBlockInfo.js.map +1 -0
  102. package/lib-es/logic/history/lastBlock.d.ts +3 -0
  103. package/lib-es/logic/history/lastBlock.d.ts.map +1 -0
  104. package/lib-es/logic/history/lastBlock.js +8 -0
  105. package/lib-es/logic/history/lastBlock.js.map +1 -0
  106. package/lib-es/logic/history/listOperations.d.ts +3 -0
  107. package/lib-es/logic/history/listOperations.d.ts.map +1 -0
  108. package/lib-es/logic/history/listOperations.js +47 -0
  109. package/lib-es/logic/history/listOperations.js.map +1 -0
  110. package/lib-es/logic/index.d.ts +12 -0
  111. package/lib-es/logic/index.d.ts.map +1 -0
  112. package/lib-es/logic/index.js +12 -0
  113. package/lib-es/logic/index.js.map +1 -0
  114. package/lib-es/logic/transaction/broadcast.d.ts +3 -0
  115. package/lib-es/logic/transaction/broadcast.d.ts.map +1 -0
  116. package/lib-es/logic/transaction/broadcast.js +7 -0
  117. package/lib-es/logic/transaction/broadcast.js.map +1 -0
  118. package/lib-es/logic/transaction/combine.d.ts +2 -0
  119. package/lib-es/logic/transaction/combine.d.ts.map +1 -0
  120. package/lib-es/logic/transaction/combine.js +8 -0
  121. package/lib-es/logic/transaction/combine.js.map +1 -0
  122. package/lib-es/logic/transaction/craftTransaction.d.ts +3 -0
  123. package/lib-es/logic/transaction/craftTransaction.d.ts.map +1 -0
  124. package/lib-es/logic/transaction/craftTransaction.js +96 -0
  125. package/lib-es/logic/transaction/craftTransaction.js.map +1 -0
  126. package/lib-es/logic/transaction/estimateFees.d.ts +3 -0
  127. package/lib-es/logic/transaction/estimateFees.d.ts.map +1 -0
  128. package/lib-es/logic/transaction/estimateFees.js +20 -0
  129. package/lib-es/logic/transaction/estimateFees.js.map +1 -0
  130. package/lib-es/logic/validateAddress.d.ts +4 -0
  131. package/lib-es/logic/validateAddress.d.ts.map +1 -0
  132. package/lib-es/logic/validateAddress.js +10 -0
  133. package/lib-es/logic/validateAddress.js.map +1 -0
  134. package/lib-es/logic/validateIntent.d.ts +3 -0
  135. package/lib-es/logic/validateIntent.d.ts.map +1 -0
  136. package/lib-es/logic/validateIntent.js +62 -0
  137. package/lib-es/logic/validateIntent.js.map +1 -0
  138. package/lib-es/network/getBlock.d.ts +3 -0
  139. package/lib-es/network/getBlock.d.ts.map +1 -0
  140. package/lib-es/network/getBlock.js +16 -0
  141. package/lib-es/network/getBlock.js.map +1 -0
  142. package/lib-es/network/getFees.d.ts.map +1 -1
  143. package/lib-es/network/getFees.js +1 -2
  144. package/lib-es/network/getFees.js.map +1 -1
  145. package/lib-es/network/index.d.ts +1 -0
  146. package/lib-es/network/index.d.ts.map +1 -1
  147. package/lib-es/network/index.js +1 -0
  148. package/lib-es/network/index.js.map +1 -1
  149. package/lib-es/network/sdk.d.ts.map +1 -1
  150. package/lib-es/network/sdk.js +8 -2
  151. package/lib-es/network/sdk.js.map +1 -1
  152. package/lib-es/test/bridgeDatasetTest.js +1 -1
  153. package/lib-es/test/bridgeDatasetTest.js.map +1 -1
  154. package/lib-es/test/msw-setup.d.ts +2 -0
  155. package/lib-es/test/msw-setup.d.ts.map +1 -0
  156. package/lib-es/test/msw-setup.js +7 -0
  157. package/lib-es/test/msw-setup.js.map +1 -0
  158. package/lib-es/test/msw.mock.d.ts +3 -0
  159. package/lib-es/test/msw.mock.d.ts.map +1 -0
  160. package/lib-es/test/msw.mock.js +6 -0
  161. package/lib-es/test/msw.mock.js.map +1 -0
  162. package/lib-es/types/network.d.ts +30 -0
  163. package/lib-es/types/network.d.ts.map +1 -1
  164. package/package.json +7 -8
  165. package/src/api/index.integ.test.ts +123 -0
  166. package/src/api/index.ts +89 -0
  167. package/src/api/index.unit.test.ts +234 -0
  168. package/src/bridge/getTransactionStatus.test.ts +1 -1
  169. package/src/bridge/getTransactionStatus.ts +1 -1
  170. package/src/bridge/synchronisation.test.ts +7 -3
  171. package/src/logic/account/getBalance.ts +24 -0
  172. package/src/logic/account/getBalance.unit.test.ts +50 -0
  173. package/src/logic/history/getBlock.ts +47 -0
  174. package/src/logic/history/getBlock.unit.test.ts +106 -0
  175. package/src/logic/history/getBlockInfo.ts +24 -0
  176. package/src/logic/history/getBlockInfo.unit.test.ts +30 -0
  177. package/src/logic/history/lastBlock.ts +9 -0
  178. package/src/logic/history/lastBlock.unit.test.ts +30 -0
  179. package/src/logic/history/listOperations.ts +64 -0
  180. package/src/logic/history/listOperations.unit.test.ts +129 -0
  181. package/src/logic/index.ts +11 -0
  182. package/src/logic/transaction/broadcast.msw.test.ts +23 -0
  183. package/src/logic/transaction/broadcast.ts +10 -0
  184. package/src/logic/transaction/broadcast.unit.test.ts +26 -0
  185. package/src/logic/transaction/combine.ts +10 -0
  186. package/src/logic/transaction/combine.unit.test.ts +37 -0
  187. package/src/logic/transaction/craftTransaction.ts +137 -0
  188. package/src/logic/transaction/craftTransaction.unit.test.ts +217 -0
  189. package/src/logic/transaction/estimateFees.ts +32 -0
  190. package/src/logic/transaction/estimateFees.unit.test.ts +102 -0
  191. package/src/logic/validateAddress.ts +15 -0
  192. package/src/logic/validateAddress.unit.test.ts +15 -0
  193. package/src/logic/validateIntent.ts +96 -0
  194. package/src/logic/validateIntent.unit.test.ts +156 -0
  195. package/src/network/getBlock.ts +23 -0
  196. package/src/network/getBlock.unit.test.ts +58 -0
  197. package/src/network/getFees.ts +1 -3
  198. package/src/network/index.ts +1 -0
  199. package/src/network/sdk.test.ts +32 -1
  200. package/src/network/sdk.ts +9 -2
  201. package/src/test/bridgeDatasetTest.ts +1 -1
  202. package/src/test/msw-setup.ts +7 -0
  203. package/src/test/msw.mock.ts +6 -0
  204. package/src/types/network.ts +34 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateIntent.js","sourceRoot":"","sources":["../../src/logic/validateIntent.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,cAAc,EACd,cAAc,EACd,4CAA4C,EAC5C,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,SAAS,YAAY,CAAC,MAAyB;IAC7C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,QAAmB,EAAE,OAAgB;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAChE,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,WAAW,CAClB,MAA2C,EAC3C,OAAgB,EAChB,MAAc,EACd,SAAiB,EACjB,aAAqB,EACrB,cAAsB;IAEtB,IAAI,MAAM,CAAC,YAAY,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QAC5C,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACzC,OAAO,IAAI,cAAc,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,IAAI,MAAM,GAAG,aAAa,GAAG,cAAc,EAAE,CAAC;QACvD,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,MAAM,GAAG,cAAc,EAAE,CAAC;QACxC,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA2C,EAC3C,QAAmB,EACnB,UAA0B;IAE1B,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAE3C,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC;IAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEhD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,SAAS,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC7C,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1E,QAAQ,CAAC,SAAS,GAAG,IAAI,4CAA4C,EAAE,CAAC;IAC1E,CAAC;SAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;IACrF,MAAM,SAAS,GAAG,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAE/D,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACjG,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,GAAG,aAAa,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7D,OAAO;QACL,MAAM;QACN,QAAQ;QACR,aAAa;QACb,MAAM;QACN,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ApiResponseBlock } from "../types";
2
+ export declare const getBlock: (revision: number, expanded?: boolean) => Promise<ApiResponseBlock | null>;
3
+ //# sourceMappingURL=getBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlock.d.ts","sourceRoot":"","sources":["../../src/network/getBlock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIjD,eAAO,MAAM,QAAQ,aACT,MAAM,yBAEf,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAajC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import network from "@ledgerhq/live-network";
2
+ import { VECHAIN_NODE_URL as BASE_URL } from "../constants";
3
+ // Thor GET /blocks/{revision}. `expanded` returns full clause/output detail (getBlock) vs. tx
4
+ // hashes only (getBlockInfo/lastBlock).
5
+ export const getBlock = async (revision, expanded = false) => {
6
+ if (!Number.isInteger(revision) || revision < 0) {
7
+ throw new Error(`vechain: getBlock: invalid revision ${revision}`);
8
+ }
9
+ const query = new URLSearchParams({ expanded: String(expanded) });
10
+ const { data } = await network({
11
+ method: "GET",
12
+ url: `${BASE_URL}/blocks/${revision}?${query}`,
13
+ });
14
+ return data;
15
+ };
16
+ //# sourceMappingURL=getBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlock.js","sourceRoot":"","sources":["../../src/network/getBlock.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG5D,8FAA8F;AAC9F,wCAAwC;AACxC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,QAAgB,EAChB,QAAQ,GAAG,KAAK,EACkB,EAAE;IACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAElE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAA0B;QACtD,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,QAAQ,WAAW,QAAQ,IAAI,KAAK,EAAE;KAC/C,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFees.d.ts","sourceRoot":"","sources":["../../src/network/getFees.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAMrC;;;;GAIG;AACH,eAAO,MAAM,OAAO,kBAAyB,MAAM,KAAG,OAAO,CAAC,SAAS,CAStE,CAAC"}
1
+ {"version":3,"file":"getFees.d.ts","sourceRoot":"","sources":["../../src/network/getFees.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC;;;;GAIG;AACH,eAAO,MAAM,OAAO,kBAAyB,MAAM,KAAG,OAAO,CAAC,SAAS,CAStE,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import BigNumber from "bignumber.js";
2
2
  import network from "@ledgerhq/live-network";
3
- import { getEnv } from "@ledgerhq/live-env";
4
- const BASE_URL = getEnv("API_VECHAIN_THOREST");
3
+ import { VECHAIN_NODE_URL as BASE_URL } from "../constants";
5
4
  /**
6
5
  * Get fees paid for the transaction
7
6
  * @param transactionId - the id of the transaction
@@ -1 +1 @@
1
- {"version":3,"file":"getFees.js","sourceRoot":"","sources":["../../src/network/getFees.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,QAAQ,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,aAAqB,EAAsB,EAAE;IACzE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAmB;QAC/C,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,QAAQ,iBAAiB,aAAa,UAAU;QACxD,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE;KAC9B,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC"}
1
+ {"version":3,"file":"getFees.js","sourceRoot":"","sources":["../../src/network/getFees.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,aAAqB,EAAsB,EAAE;IACzE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAmB;QAC/C,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,QAAQ,iBAAiB,aAAa,UAAU;QACxD,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE;KAC9B,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { getAccount, getOperations } from "./sdk";
2
2
  export * from "./sdk";
3
+ export * from "./getBlock";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAClD,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAClD,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { getAccount, getOperations } from "./sdk";
2
2
  export * from "./sdk";
3
+ export * from "./getBlock";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAClD,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAClD,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EAKf,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AActD,eAAO,MAAM,UAAU,YAAmB,MAAM,KAAG,OAAO,CAAC,eAAe,CAOzE,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,MAAM,CAOzD,CAAC;AA8JF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,cACb,MAAM,QACX,MAAM,WACH,MAAM,UACP,MAAM,KACb,OAAO,CAAC,SAAS,EAAE,CAIrB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,cAClB,MAAM,QACX,MAAM,aACD,MAAM,WACR,MAAM,UACP,MAAM,KACb,OAAO,CAAC,SAAS,EAAE,CAIrB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM,gBAAuB,qBAAqB,KAAG,OAAO,CAAC,MAAM,CAe/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,MAAM,CAOlD,CAAC"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EAKf,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAatD,eAAO,MAAM,UAAU,YAAmB,MAAM,KAAG,OAAO,CAAC,eAAe,CAOzE,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,MAAM,CAOzD,CAAC;AAsKF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,cACb,MAAM,QACX,MAAM,WACH,MAAM,UACP,MAAM,KACb,OAAO,CAAC,SAAS,EAAE,CAIrB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,cAClB,MAAM,QACX,MAAM,aACD,MAAM,WACR,MAAM,UACP,MAAM,KACb,OAAO,CAAC,SAAS,EAAE,CAIrB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM,gBAAuB,qBAAqB,KAAG,OAAO,CAAC,MAAM,CAe/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,MAAM,CAOlD,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import network from "@ledgerhq/live-network";
2
2
  import { mapVetTransfersToOperations, mapTokenTransfersToOperations, padAddress, } from "../common-logic";
3
- import { getEnv } from "@ledgerhq/live-env";
4
- const BASE_URL = getEnv("API_VECHAIN_THOREST");
3
+ import { VECHAIN_NODE_URL as BASE_URL } from "../constants";
5
4
  const NET_ERROR_LOG_TRANSFERS_LIMIT = {
6
5
  status: 403,
7
6
  msgPattern: /exceeds the maximum allowed/,
@@ -106,6 +105,13 @@ const fetchRangeOfTokenOperations = async (accountId, addr, tokenAddr, startAt,
106
105
  * @returns an array of operations
107
106
  */
108
107
  const getLogsWithPagination = async (startAt, stopAt, fetchRangeOfLogs) => {
108
+ // No new block since the last known operation (startAt = lastOp.blockHeight + 1 can exceed the
109
+ // current best height when nothing has happened since the previous sync) — Thor's `/logs/*`
110
+ // endpoints reject an inverted range with a 400, so treat it as "nothing new" instead of
111
+ // querying at all.
112
+ if (stopAt < startAt) {
113
+ return [];
114
+ }
109
115
  let completed = false;
110
116
  const ops = [];
111
117
  let from = startAt;
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { MAINNET_CHAIN_TAG } from "../types";
4
4
  import { vechain1, vechain3 } from "../datasets";
5
5
  import { generateNonce } from "../common-logic";
6
6
  import vechainScanAccounts1 from "../datasets/vechain.scanAccounts.1";
7
- import { AmountRequired, NotEnoughBalance } from "@ledgerhq/errors";
7
+ import { AmountRequired, NotEnoughBalance } from "@ledgerhq/ledger-wallet-framework/errors";
8
8
  import { NotEnoughVTHO } from "../errors";
9
9
  import { ABIContract, VIP180_ABI } from "@vechain/sdk-core";
10
10
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeDatasetTest.js","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridgeDatasetTest.js","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=msw-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msw-setup.d.ts","sourceRoot":"","sources":["../../src/test/msw-setup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { setEnv } from "@ledgerhq/live-env";
2
+ import { TEST_VECHAIN_ENDPOINT } from "./msw.mock";
3
+ // Runs as a jest `setupFiles` entry (before the test modules load), so `constants/env.ts` — which
4
+ // reads `API_VECHAIN_THOREST` into a module-level const at import time — resolves to the test host
5
+ // that the MSW handlers intercept.
6
+ setEnv("API_VECHAIN_THOREST", TEST_VECHAIN_ENDPOINT);
7
+ //# sourceMappingURL=msw-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msw-setup.js","sourceRoot":"","sources":["../../src/test/msw-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,kGAAkG;AAClG,mGAAmG;AACnG,mCAAmC;AACnC,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const TEST_VECHAIN_ENDPOINT = "https://vechain-test.ledger.com";
2
+ export declare const server: import("msw/node").SetupServerApi;
3
+ //# sourceMappingURL=msw.mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msw.mock.d.ts","sourceRoot":"","sources":["../../src/test/msw.mock.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,oCAAoC,CAAC;AACvE,eAAO,MAAM,MAAM,mCAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { setupServer } from "msw/node";
2
+ // Test host that `msw-setup.ts` points `API_VECHAIN_THOREST` at, so MSW handlers intercept the exact
3
+ // URL the network layer builds. Shared, empty MSW server; each suite registers handlers via `server.use`.
4
+ export const TEST_VECHAIN_ENDPOINT = "https://vechain-test.ledger.com";
5
+ export const server = setupServer();
6
+ //# sourceMappingURL=msw.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msw.mock.js","sourceRoot":"","sources":["../../src/test/msw.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,qGAAqG;AACrG,0GAA0G;AAC1G,MAAM,CAAC,MAAM,qBAAqB,GAAG,iCAAiC,CAAC;AACvE,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC"}
@@ -68,4 +68,34 @@ export interface QueryResponse {
68
68
  reverted: boolean;
69
69
  vmError: string;
70
70
  }
71
+ /** Thor `GET /blocks/{revision}` transfer (VET or VIP180 event, when `expanded=true`). */
72
+ export interface ApiResponseBlockTransfer {
73
+ sender: string;
74
+ recipient: string;
75
+ amount: string;
76
+ }
77
+ /** A single clause output, part of an expanded block transaction. */
78
+ export interface ApiResponseBlockOutput {
79
+ contractAddress: string | null;
80
+ events: EventLog[];
81
+ transfers: ApiResponseBlockTransfer[];
82
+ }
83
+ /** An expanded transaction, as returned by Thor `GET /blocks/{revision}?expanded=true`. */
84
+ export interface ApiResponseBlockTransaction {
85
+ id: string;
86
+ origin: string;
87
+ gasPayer?: string;
88
+ gasUsed: number;
89
+ paid: string;
90
+ reverted: boolean;
91
+ outputs: ApiResponseBlockOutput[];
92
+ }
93
+ /** Thor `GET /blocks/{revision}` response. */
94
+ export interface ApiResponseBlock {
95
+ id: string;
96
+ number: number;
97
+ timestamp: number;
98
+ /** Transaction ids (`string[]`) when `expanded=false`, full transactions when `expanded=true`. */
99
+ transactions: unknown[];
100
+ }
71
101
  //# sourceMappingURL=network.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/types/network.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/types/network.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-vechain",
3
- "version": "2.27.0",
3
+ "version": "2.28.0",
4
4
  "description": "Ledger VeChain Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -87,17 +87,16 @@
87
87
  },
88
88
  "license": "Apache-2.0",
89
89
  "dependencies": {
90
- "@ledgerhq/coin-module-framework": "4.0.2",
90
+ "@ledgerhq/coin-module-framework": "4.3.0",
91
+ "@vechain/sdk-core": "2.0.0",
92
+ "@vechain/sdk-network": "2.0.0",
91
93
  "bignumber.js": "^9.1.2",
92
94
  "eip55": "^2.1.1",
93
95
  "invariant": "^2.2.2",
94
96
  "lodash": "^4.17.21",
95
97
  "rxjs": "7.8.2",
96
- "@vechain/sdk-core": "2.0.0",
97
- "@vechain/sdk-network": "2.0.0",
98
98
  "@ledgerhq/devices": "8.17.0",
99
- "@ledgerhq/errors": "^7.0.0",
100
- "@ledgerhq/ledger-wallet-framework": "^2.6.0",
99
+ "@ledgerhq/ledger-wallet-framework": "^2.7.0",
101
100
  "@ledgerhq/live-env": "^3.0.0",
102
101
  "@ledgerhq/live-network": "^3.0.0"
103
102
  },
@@ -114,8 +113,8 @@
114
113
  "oxfmt": "0.36.0",
115
114
  "oxlint": "1.51.0",
116
115
  "@ledgerhq/disable-network-setup": "^0.3.0",
117
- "@ledgerhq/types-live": "^6.117.0",
118
- "@ledgerhq/wallet-framework-test-setup": "^0.1.3"
116
+ "@ledgerhq/types-live": "^6.118.0",
117
+ "@ledgerhq/wallet-framework-test-setup": "^0.1.4"
119
118
  },
120
119
  "scripts": {
121
120
  "clean": "rimraf lib lib-es",
@@ -0,0 +1,123 @@
1
+ import type { CoinModuleApi } from "@ledgerhq/coin-module-framework/api/types";
2
+ import type { VechainCoinConfig } from "../config";
3
+ import { createApi } from "./index";
4
+
5
+ const config: VechainCoinConfig = () => ({ status: { type: "active" } });
6
+
7
+ // Repo-committed VeChain mainnet address, already used by src/datasets/vechain.ts for bridge
8
+ // integration/dataset testing ("account information is fetched from the blockchain"). Reused
9
+ // here as a real, network-reachable address for balance-agnostic smoke assertions — its exact
10
+ // current balance is not asserted (only shape/type), mirroring coin-kaspa's FUNDED_SENDER smoke
11
+ // pattern but without asserting a specific non-zero balance we cannot guarantee ahead of time.
12
+ const KNOWN_ADDRESS = "0x0fe6688548f0C303932bB197B0A96034f1d74dba";
13
+
14
+ describe("createApi (integration)", () => {
15
+ let api: CoinModuleApi;
16
+
17
+ beforeAll(() => {
18
+ api = createApi(config, "vechain");
19
+ });
20
+
21
+ // These methods throw synchronously (they never return a promise), so they are asserted with a
22
+ // synchronous `expect(() => …).toThrow`, not `.rejects` (mirrors coin-kaspa's api integ test).
23
+ it("getNextSequence throws (not applicable to Vechain's account model)", () => {
24
+ expect(() => api.getNextSequence(KNOWN_ADDRESS)).toThrow(
25
+ "getNextSequence is not applicable for Vechain",
26
+ );
27
+ });
28
+
29
+ it("validates addresses via parseAddress", async () => {
30
+ await expect(api.validateAddress(KNOWN_ADDRESS, {})).resolves.toBe(true);
31
+ await expect(api.validateAddress("0xnot-an-address", {})).resolves.toBe(false);
32
+ });
33
+
34
+ it("getStakes / getRewards / getValidators throw (not supported)", () => {
35
+ expect(() => api.getStakes(KNOWN_ADDRESS)).toThrow("getStakes is not supported");
36
+ expect(() => api.getRewards(KNOWN_ADDRESS)).toThrow("getRewards is not supported");
37
+ expect(() => api.getValidators()).toThrow("getValidators is not supported");
38
+ });
39
+
40
+ it("craftRawTransaction throws (not supported)", () => {
41
+ expect(() => api.craftRawTransaction("raw", KNOWN_ADDRESS, "pubkey", 0n)).toThrow(
42
+ "craftRawTransaction is not supported",
43
+ );
44
+ });
45
+
46
+ describe("account & block methods (real network)", () => {
47
+ it("getBalance returns both VET and VTHO balances", async () => {
48
+ const balances = await api.getBalance(KNOWN_ADDRESS);
49
+
50
+ expect(balances).toHaveLength(2);
51
+ expect(balances.some(b => b.asset.type === "native")).toBe(true);
52
+ expect(balances.some(b => b.asset.type !== "native")).toBe(true);
53
+ for (const balance of balances) {
54
+ expect(typeof balance.value).toBe("bigint");
55
+ expect(balance.value).toBeGreaterThanOrEqual(0n);
56
+ }
57
+ });
58
+
59
+ it("lastBlock returns the latest confirmed block", async () => {
60
+ const info = await api.lastBlock();
61
+
62
+ expect(info.height).toBeGreaterThan(0);
63
+ expect(typeof info.hash).toBe("string");
64
+ expect(info.time).toBeInstanceOf(Date);
65
+ });
66
+
67
+ it("getBlockInfo/getBlock agree on the same known height", async () => {
68
+ const lastBlockInfo = await api.lastBlock();
69
+ const knownHeight = lastBlockInfo.height - 100;
70
+
71
+ const info = await api.getBlockInfo(knownHeight);
72
+ const block = await api.getBlock(knownHeight);
73
+
74
+ expect(info.height).toBe(knownHeight);
75
+ expect(block.info).toEqual(info);
76
+ expect(Array.isArray(block.transactions)).toBe(true);
77
+ });
78
+
79
+ it("listOperations returns a page shape for a known address", async () => {
80
+ const page = await api.listOperations(KNOWN_ADDRESS, { minHeight: 0 });
81
+
82
+ expect(Array.isArray(page.items)).toBe(true);
83
+ for (const op of page.items) {
84
+ expect(["IN", "OUT"]).toContain(op.type);
85
+ expect(typeof op.value).toBe("bigint");
86
+ }
87
+ });
88
+ });
89
+
90
+ it("craftTransaction fails clearly for an intent with no recipient", async () => {
91
+ await expect(
92
+ api.craftTransaction({
93
+ intentType: "transaction",
94
+ type: "send",
95
+ sender: KNOWN_ADDRESS,
96
+ recipient: "",
97
+ amount: 1n,
98
+ asset: { type: "native" },
99
+ }),
100
+ ).rejects.toThrow("vechain: recipient is required");
101
+ });
102
+
103
+ it("crafts a native VET transaction and combines it into a signed hex payload", async () => {
104
+ const crafted = await api.craftTransaction({
105
+ intentType: "transaction",
106
+ type: "send",
107
+ sender: KNOWN_ADDRESS,
108
+ recipient: "0x02961B92B8D20A4ea12f1f1CeFA74Dd7B4355A86",
109
+ amount: 1n,
110
+ asset: { type: "native" },
111
+ });
112
+
113
+ const body = JSON.parse(crafted.transaction);
114
+ expect(body.clauses).toHaveLength(1);
115
+ expect(body.gas).toBeGreaterThan(0);
116
+ expect(typeof crafted.details?.fee).toBe("string");
117
+
118
+ // combine attaches a (dummy) 65-byte signature and returns the hex-encoded signed tx that
119
+ // broadcast would submit — exercising the full craft → combine round trip.
120
+ const signed = api.combine(crafted.transaction, "aa".repeat(65));
121
+ expect(signed).toMatch(/^0x[0-9a-f]+$/);
122
+ });
123
+ });
@@ -0,0 +1,89 @@
1
+ import { rejectBalanceOptions } from "@ledgerhq/coin-module-framework/api/getBalance/rejectBalanceOptions";
2
+ import { craftTransactionData } from "@ledgerhq/coin-module-framework/logic/craftTransactionData";
3
+ import type {
4
+ AddressValidationCurrencyParameters,
5
+ Balance,
6
+ BalanceOptions,
7
+ CoinModuleApi,
8
+ CraftedTransaction,
9
+ Cursor,
10
+ FeeEstimation,
11
+ Page,
12
+ Reward,
13
+ Stake,
14
+ TransactionIntent,
15
+ TransactionValidation,
16
+ Validator,
17
+ } from "@ledgerhq/coin-module-framework/api/index";
18
+ import { setCoinConfig, type VechainCoinConfig } from "../config";
19
+ import {
20
+ broadcast,
21
+ combine,
22
+ craftTransaction,
23
+ estimateFees,
24
+ getBalance,
25
+ getBlock,
26
+ getBlockInfo,
27
+ lastBlock,
28
+ listOperations,
29
+ validateAddress,
30
+ validateIntent,
31
+ } from "../logic";
32
+
33
+ // CoinModuleApi (Alpaca) factory for VET + VTHO. `config` is re-wrapped to force `status: active`.
34
+ export function createApi(config: VechainCoinConfig, _currencyId: string): CoinModuleApi {
35
+ setCoinConfig(() => ({ ...config(), status: { type: "active" } }));
36
+
37
+ return {
38
+ lastBlock,
39
+ getBlockInfo,
40
+ getBlock,
41
+ getBalance: (address: string, options?: BalanceOptions): Promise<Balance[]> =>
42
+ rejectBalanceOptions(() => getBalance(address), options),
43
+ listOperations,
44
+ craftTransaction: (
45
+ transactionIntent: TransactionIntent,
46
+ customFees?: FeeEstimation,
47
+ ): Promise<CraftedTransaction> => craftTransaction(transactionIntent, customFees),
48
+ estimateFees: (
49
+ transactionIntent: TransactionIntent,
50
+ customFeesParameters?: FeeEstimation["parameters"],
51
+ ): Promise<FeeEstimation> => estimateFees(transactionIntent, customFeesParameters),
52
+ combine,
53
+ broadcast,
54
+ validateIntent: (
55
+ transactionIntent: TransactionIntent,
56
+ balances: Balance[],
57
+ customFees?: FeeEstimation,
58
+ ): Promise<TransactionValidation> => validateIntent(transactionIntent, balances, customFees),
59
+ craftTransactionData,
60
+ validateAddress: (
61
+ address: string,
62
+ parameters: Partial<AddressValidationCurrencyParameters>,
63
+ ): Promise<boolean> => validateAddress(address, parameters),
64
+ // --- Not applicable / not supported for VeChain ---
65
+ getNextSequence: (_address: string): Promise<bigint> => {
66
+ throw new Error("getNextSequence is not applicable for Vechain");
67
+ },
68
+ craftRawTransaction: (
69
+ _transaction: string,
70
+ _sender: string,
71
+ _publicKey: string,
72
+ _sequence: bigint,
73
+ ): Promise<CraftedTransaction> => {
74
+ throw new Error("craftRawTransaction is not supported");
75
+ },
76
+ call: () => {
77
+ throw new Error("call is not supported");
78
+ },
79
+ getStakes: (_address: string, _cursor?: Cursor): Promise<Page<Stake>> => {
80
+ throw new Error("getStakes is not supported");
81
+ },
82
+ getRewards: (_address: string, _cursor?: Cursor): Promise<Page<Reward>> => {
83
+ throw new Error("getRewards is not supported");
84
+ },
85
+ getValidators: (_cursor?: Cursor): Promise<Page<Validator>> => {
86
+ throw new Error("getValidators is not supported");
87
+ },
88
+ };
89
+ }