@ledgerhq/coin-filecoin 1.3.3-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 (316) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.unimportedrc.json +21 -0
  3. package/CHANGELOG.md +11 -0
  4. package/LICENSE.txt +21 -0
  5. package/jest.config.js +8 -0
  6. package/lib/api/api.d.ts +9 -0
  7. package/lib/api/api.d.ts.map +1 -0
  8. package/lib/api/api.js +99 -0
  9. package/lib/api/api.js.map +1 -0
  10. package/lib/api/index.d.ts +2 -0
  11. package/lib/api/index.d.ts.map +1 -0
  12. package/lib/api/index.js +18 -0
  13. package/lib/api/index.js.map +1 -0
  14. package/lib/bridge/broadcast.d.ts +4 -0
  15. package/lib/bridge/broadcast.d.ts.map +1 -0
  16. package/lib/bridge/broadcast.js +27 -0
  17. package/lib/bridge/broadcast.js.map +1 -0
  18. package/lib/bridge/buildOptimisticOperation.d.ts +5 -0
  19. package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -0
  20. package/lib/bridge/buildOptimisticOperation.js +62 -0
  21. package/lib/bridge/buildOptimisticOperation.js.map +1 -0
  22. package/lib/bridge/createTransaction.d.ts +4 -0
  23. package/lib/bridge/createTransaction.d.ts.map +1 -0
  24. package/lib/bridge/createTransaction.js +24 -0
  25. package/lib/bridge/createTransaction.js.map +1 -0
  26. package/lib/bridge/deviceTransactionConfig.d.ts +33 -0
  27. package/lib/bridge/deviceTransactionConfig.d.ts.map +1 -0
  28. package/lib/bridge/deviceTransactionConfig.js +71 -0
  29. package/lib/bridge/deviceTransactionConfig.js.map +1 -0
  30. package/lib/bridge/estimateMaxSpendable.d.ts +4 -0
  31. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
  32. package/lib/bridge/estimateMaxSpendable.js +100 -0
  33. package/lib/bridge/estimateMaxSpendable.js.map +1 -0
  34. package/lib/bridge/getTransactionStatus.d.ts +4 -0
  35. package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
  36. package/lib/bridge/getTransactionStatus.js +84 -0
  37. package/lib/bridge/getTransactionStatus.js.map +1 -0
  38. package/lib/bridge/index.d.ts +8 -0
  39. package/lib/bridge/index.d.ts.map +1 -0
  40. package/lib/bridge/index.js +54 -0
  41. package/lib/bridge/index.js.map +1 -0
  42. package/lib/bridge/prepareTransaction.d.ts +4 -0
  43. package/lib/bridge/prepareTransaction.d.ts.map +1 -0
  44. package/lib/bridge/prepareTransaction.js +75 -0
  45. package/lib/bridge/prepareTransaction.js.map +1 -0
  46. package/lib/bridge/serializer.d.ts +13 -0
  47. package/lib/bridge/serializer.d.ts.map +1 -0
  48. package/lib/bridge/serializer.js +65 -0
  49. package/lib/bridge/serializer.js.map +1 -0
  50. package/lib/bridge/signOperation.d.ts +5 -0
  51. package/lib/bridge/signOperation.d.ts.map +1 -0
  52. package/lib/bridge/signOperation.js +80 -0
  53. package/lib/bridge/signOperation.js.map +1 -0
  54. package/lib/bridge/transaction.d.ts +14 -0
  55. package/lib/bridge/transaction.d.ts.map +1 -0
  56. package/lib/bridge/transaction.js +41 -0
  57. package/lib/bridge/transaction.js.map +1 -0
  58. package/lib/bridge/utils.d.ts +26 -0
  59. package/lib/bridge/utils.d.ts.map +1 -0
  60. package/lib/bridge/utils.js +67 -0
  61. package/lib/bridge/utils.js.map +1 -0
  62. package/lib/bridge/utils.unit.test.d.ts +2 -0
  63. package/lib/bridge/utils.unit.test.d.ts.map +1 -0
  64. package/lib/bridge/utils.unit.test.js +23 -0
  65. package/lib/bridge/utils.unit.test.js.map +1 -0
  66. package/lib/common-logic/index.d.ts +2 -0
  67. package/lib/common-logic/index.d.ts.map +1 -0
  68. package/lib/common-logic/index.js +13 -0
  69. package/lib/common-logic/index.js.map +1 -0
  70. package/lib/common-logic/utils.d.ts +22 -0
  71. package/lib/common-logic/utils.d.ts.map +1 -0
  72. package/lib/common-logic/utils.js +189 -0
  73. package/lib/common-logic/utils.js.map +1 -0
  74. package/lib/erc20/ERC20.json +12 -0
  75. package/lib/erc20/tokenAccounts.d.ts +10 -0
  76. package/lib/erc20/tokenAccounts.d.ts.map +1 -0
  77. package/lib/erc20/tokenAccounts.js +169 -0
  78. package/lib/erc20/tokenAccounts.js.map +1 -0
  79. package/lib/errors.d.ts +7 -0
  80. package/lib/errors.d.ts.map +1 -0
  81. package/lib/errors.js +13 -0
  82. package/lib/errors.js.map +1 -0
  83. package/lib/hw-signMessage.d.ts +12 -0
  84. package/lib/hw-signMessage.d.ts.map +1 -0
  85. package/lib/hw-signMessage.js +32 -0
  86. package/lib/hw-signMessage.js.map +1 -0
  87. package/lib/index.d.ts +2 -0
  88. package/lib/index.d.ts.map +1 -0
  89. package/lib/index.js +6 -0
  90. package/lib/index.js.map +1 -0
  91. package/lib/network/addresses.d.ts +16 -0
  92. package/lib/network/addresses.d.ts.map +1 -0
  93. package/lib/network/addresses.js +75 -0
  94. package/lib/network/addresses.js.map +1 -0
  95. package/lib/network/index.d.ts +2 -0
  96. package/lib/network/index.d.ts.map +1 -0
  97. package/lib/network/index.js +18 -0
  98. package/lib/network/index.js.map +1 -0
  99. package/lib/signer/getAddress.d.ts +6 -0
  100. package/lib/signer/getAddress.d.ts.map +1 -0
  101. package/lib/signer/getAddress.js +30 -0
  102. package/lib/signer/getAddress.js.map +1 -0
  103. package/lib/signer/index.d.ts +3 -0
  104. package/lib/signer/index.d.ts.map +1 -0
  105. package/lib/signer/index.js +8 -0
  106. package/lib/signer/index.js.map +1 -0
  107. package/lib/test/bot-specs.d.ts +7 -0
  108. package/lib/test/bot-specs.d.ts.map +1 -0
  109. package/lib/test/bot-specs.js +151 -0
  110. package/lib/test/bot-specs.js.map +1 -0
  111. package/lib/test/bridgeDatasetTest.d.ts +4 -0
  112. package/lib/test/bridgeDatasetTest.d.ts.map +1 -0
  113. package/lib/test/bridgeDatasetTest.js +401 -0
  114. package/lib/test/bridgeDatasetTest.js.map +1 -0
  115. package/lib/test/cli.d.ts +19 -0
  116. package/lib/test/cli.d.ts.map +1 -0
  117. package/lib/test/cli.js +59 -0
  118. package/lib/test/cli.js.map +1 -0
  119. package/lib/test/index.d.ts +6 -0
  120. package/lib/test/index.d.ts.map +1 -0
  121. package/lib/test/index.js +26 -0
  122. package/lib/test/index.js.map +1 -0
  123. package/lib/test/speculos-deviceActions.d.ts +5 -0
  124. package/lib/test/speculos-deviceActions.d.ts.map +1 -0
  125. package/lib/test/speculos-deviceActions.js +159 -0
  126. package/lib/test/speculos-deviceActions.js.map +1 -0
  127. package/lib/types/bridge.d.ts +35 -0
  128. package/lib/types/bridge.d.ts.map +1 -0
  129. package/lib/types/bridge.js +3 -0
  130. package/lib/types/bridge.js.map +1 -0
  131. package/lib/types/common.d.ts +96 -0
  132. package/lib/types/common.d.ts.map +1 -0
  133. package/lib/types/common.js +10 -0
  134. package/lib/types/common.js.map +1 -0
  135. package/lib/types/index.d.ts +4 -0
  136. package/lib/types/index.d.ts.map +1 -0
  137. package/lib/types/index.js +20 -0
  138. package/lib/types/index.js.map +1 -0
  139. package/lib/types/signer.d.ts +19 -0
  140. package/lib/types/signer.d.ts.map +1 -0
  141. package/lib/types/signer.js +3 -0
  142. package/lib/types/signer.js.map +1 -0
  143. package/lib-es/api/api.d.ts +9 -0
  144. package/lib-es/api/api.d.ts.map +1 -0
  145. package/lib-es/api/api.js +87 -0
  146. package/lib-es/api/api.js.map +1 -0
  147. package/lib-es/api/index.d.ts +2 -0
  148. package/lib-es/api/index.d.ts.map +1 -0
  149. package/lib-es/api/index.js +2 -0
  150. package/lib-es/api/index.js.map +1 -0
  151. package/lib-es/bridge/broadcast.d.ts +4 -0
  152. package/lib-es/bridge/broadcast.d.ts.map +1 -0
  153. package/lib-es/bridge/broadcast.js +23 -0
  154. package/lib-es/bridge/broadcast.js.map +1 -0
  155. package/lib-es/bridge/buildOptimisticOperation.d.ts +5 -0
  156. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -0
  157. package/lib-es/bridge/buildOptimisticOperation.js +58 -0
  158. package/lib-es/bridge/buildOptimisticOperation.js.map +1 -0
  159. package/lib-es/bridge/createTransaction.d.ts +4 -0
  160. package/lib-es/bridge/createTransaction.d.ts.map +1 -0
  161. package/lib-es/bridge/createTransaction.js +17 -0
  162. package/lib-es/bridge/createTransaction.js.map +1 -0
  163. package/lib-es/bridge/deviceTransactionConfig.d.ts +33 -0
  164. package/lib-es/bridge/deviceTransactionConfig.d.ts.map +1 -0
  165. package/lib-es/bridge/deviceTransactionConfig.js +69 -0
  166. package/lib-es/bridge/deviceTransactionConfig.js.map +1 -0
  167. package/lib-es/bridge/estimateMaxSpendable.d.ts +4 -0
  168. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
  169. package/lib-es/bridge/estimateMaxSpendable.js +93 -0
  170. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
  171. package/lib-es/bridge/getTransactionStatus.d.ts +4 -0
  172. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
  173. package/lib-es/bridge/getTransactionStatus.js +80 -0
  174. package/lib-es/bridge/getTransactionStatus.js.map +1 -0
  175. package/lib-es/bridge/index.d.ts +8 -0
  176. package/lib-es/bridge/index.d.ts.map +1 -0
  177. package/lib-es/bridge/index.js +47 -0
  178. package/lib-es/bridge/index.js.map +1 -0
  179. package/lib-es/bridge/prepareTransaction.d.ts +4 -0
  180. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
  181. package/lib-es/bridge/prepareTransaction.js +68 -0
  182. package/lib-es/bridge/prepareTransaction.js.map +1 -0
  183. package/lib-es/bridge/serializer.d.ts +13 -0
  184. package/lib-es/bridge/serializer.d.ts.map +1 -0
  185. package/lib-es/bridge/serializer.js +58 -0
  186. package/lib-es/bridge/serializer.js.map +1 -0
  187. package/lib-es/bridge/signOperation.d.ts +5 -0
  188. package/lib-es/bridge/signOperation.d.ts.map +1 -0
  189. package/lib-es/bridge/signOperation.js +76 -0
  190. package/lib-es/bridge/signOperation.js.map +1 -0
  191. package/lib-es/bridge/transaction.d.ts +14 -0
  192. package/lib-es/bridge/transaction.d.ts.map +1 -0
  193. package/lib-es/bridge/transaction.js +33 -0
  194. package/lib-es/bridge/transaction.js.map +1 -0
  195. package/lib-es/bridge/utils.d.ts +26 -0
  196. package/lib-es/bridge/utils.d.ts.map +1 -0
  197. package/lib-es/bridge/utils.js +57 -0
  198. package/lib-es/bridge/utils.js.map +1 -0
  199. package/lib-es/bridge/utils.unit.test.d.ts +2 -0
  200. package/lib-es/bridge/utils.unit.test.d.ts.map +1 -0
  201. package/lib-es/bridge/utils.unit.test.js +21 -0
  202. package/lib-es/bridge/utils.unit.test.js.map +1 -0
  203. package/lib-es/common-logic/index.d.ts +2 -0
  204. package/lib-es/common-logic/index.d.ts.map +1 -0
  205. package/lib-es/common-logic/index.js +2 -0
  206. package/lib-es/common-logic/index.js.map +1 -0
  207. package/lib-es/common-logic/utils.d.ts +22 -0
  208. package/lib-es/common-logic/utils.d.ts.map +1 -0
  209. package/lib-es/common-logic/utils.js +175 -0
  210. package/lib-es/common-logic/utils.js.map +1 -0
  211. package/lib-es/erc20/ERC20.json +12 -0
  212. package/lib-es/erc20/tokenAccounts.d.ts +10 -0
  213. package/lib-es/erc20/tokenAccounts.d.ts.map +1 -0
  214. package/lib-es/erc20/tokenAccounts.js +158 -0
  215. package/lib-es/erc20/tokenAccounts.js.map +1 -0
  216. package/lib-es/errors.d.ts +7 -0
  217. package/lib-es/errors.d.ts.map +1 -0
  218. package/lib-es/errors.js +10 -0
  219. package/lib-es/errors.js.map +1 -0
  220. package/lib-es/hw-signMessage.d.ts +12 -0
  221. package/lib-es/hw-signMessage.d.ts.map +1 -0
  222. package/lib-es/hw-signMessage.js +28 -0
  223. package/lib-es/hw-signMessage.js.map +1 -0
  224. package/lib-es/index.d.ts +2 -0
  225. package/lib-es/index.d.ts.map +1 -0
  226. package/lib-es/index.js +2 -0
  227. package/lib-es/index.js.map +1 -0
  228. package/lib-es/network/addresses.d.ts +16 -0
  229. package/lib-es/network/addresses.d.ts.map +1 -0
  230. package/lib-es/network/addresses.js +64 -0
  231. package/lib-es/network/addresses.js.map +1 -0
  232. package/lib-es/network/index.d.ts +2 -0
  233. package/lib-es/network/index.d.ts.map +1 -0
  234. package/lib-es/network/index.js +2 -0
  235. package/lib-es/network/index.js.map +1 -0
  236. package/lib-es/signer/getAddress.d.ts +6 -0
  237. package/lib-es/signer/getAddress.d.ts.map +1 -0
  238. package/lib-es/signer/getAddress.js +28 -0
  239. package/lib-es/signer/getAddress.js.map +1 -0
  240. package/lib-es/signer/index.d.ts +3 -0
  241. package/lib-es/signer/index.d.ts.map +1 -0
  242. package/lib-es/signer/index.js +3 -0
  243. package/lib-es/signer/index.js.map +1 -0
  244. package/lib-es/test/bot-specs.d.ts +7 -0
  245. package/lib-es/test/bot-specs.d.ts.map +1 -0
  246. package/lib-es/test/bot-specs.js +146 -0
  247. package/lib-es/test/bot-specs.js.map +1 -0
  248. package/lib-es/test/bridgeDatasetTest.d.ts +4 -0
  249. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -0
  250. package/lib-es/test/bridgeDatasetTest.js +395 -0
  251. package/lib-es/test/bridgeDatasetTest.js.map +1 -0
  252. package/lib-es/test/cli.d.ts +19 -0
  253. package/lib-es/test/cli.d.ts.map +1 -0
  254. package/lib-es/test/cli.js +53 -0
  255. package/lib-es/test/cli.js.map +1 -0
  256. package/lib-es/test/index.d.ts +6 -0
  257. package/lib-es/test/index.d.ts.map +1 -0
  258. package/lib-es/test/index.js +6 -0
  259. package/lib-es/test/index.js.map +1 -0
  260. package/lib-es/test/speculos-deviceActions.d.ts +5 -0
  261. package/lib-es/test/speculos-deviceActions.d.ts.map +1 -0
  262. package/lib-es/test/speculos-deviceActions.js +152 -0
  263. package/lib-es/test/speculos-deviceActions.js.map +1 -0
  264. package/lib-es/types/bridge.d.ts +35 -0
  265. package/lib-es/types/bridge.d.ts.map +1 -0
  266. package/lib-es/types/bridge.js +2 -0
  267. package/lib-es/types/bridge.js.map +1 -0
  268. package/lib-es/types/common.d.ts +96 -0
  269. package/lib-es/types/common.d.ts.map +1 -0
  270. package/lib-es/types/common.js +7 -0
  271. package/lib-es/types/common.js.map +1 -0
  272. package/lib-es/types/index.d.ts +4 -0
  273. package/lib-es/types/index.d.ts.map +1 -0
  274. package/lib-es/types/index.js +4 -0
  275. package/lib-es/types/index.js.map +1 -0
  276. package/lib-es/types/signer.d.ts +19 -0
  277. package/lib-es/types/signer.d.ts.map +1 -0
  278. package/lib-es/types/signer.js +2 -0
  279. package/lib-es/types/signer.js.map +1 -0
  280. package/package.json +134 -0
  281. package/src/api/api.ts +125 -0
  282. package/src/api/index.ts +1 -0
  283. package/src/bridge/broadcast.ts +20 -0
  284. package/src/bridge/buildOptimisticOperation.ts +58 -0
  285. package/src/bridge/createTransaction.ts +20 -0
  286. package/src/bridge/deviceTransactionConfig.ts +119 -0
  287. package/src/bridge/estimateMaxSpendable.ts +120 -0
  288. package/src/bridge/getTransactionStatus.ts +80 -0
  289. package/src/bridge/index.ts +63 -0
  290. package/src/bridge/prepareTransaction.ts +82 -0
  291. package/src/bridge/serializer.ts +63 -0
  292. package/src/bridge/signOperation.ts +97 -0
  293. package/src/bridge/transaction.ts +69 -0
  294. package/src/bridge/utils.ts +73 -0
  295. package/src/bridge/utils.unit.test.ts +27 -0
  296. package/src/common-logic/index.ts +10 -0
  297. package/src/common-logic/utils.ts +232 -0
  298. package/src/erc20/ERC20.json +12 -0
  299. package/src/erc20/tokenAccounts.ts +183 -0
  300. package/src/errors.ts +13 -0
  301. package/src/hw-signMessage.ts +27 -0
  302. package/src/index.ts +1 -0
  303. package/src/network/addresses.ts +93 -0
  304. package/src/network/index.ts +1 -0
  305. package/src/signer/getAddress.ts +28 -0
  306. package/src/signer/index.ts +3 -0
  307. package/src/test/bot-specs.ts +163 -0
  308. package/src/test/bridgeDatasetTest.ts +403 -0
  309. package/src/test/cli.ts +80 -0
  310. package/src/test/index.ts +6 -0
  311. package/src/test/speculos-deviceActions.ts +166 -0
  312. package/src/types/bridge.ts +42 -0
  313. package/src/types/common.ts +105 -0
  314. package/src/types/index.ts +3 -0
  315. package/src/types/signer.ts +19 -0
  316. package/tsconfig.json +14 -0
@@ -0,0 +1,4 @@
1
+
2
+ > @ledgerhq/coin-filecoin@1.3.2 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-filecoin
3
+ > tsc && tsc -m ES6 --outDir lib-es
4
+
@@ -0,0 +1,21 @@
1
+ {
2
+ "ignoreUnresolved": [
3
+ "follow-redirects",
4
+ "form-data",
5
+ "proxy-from-env"
6
+ ],
7
+ "ignoreUnused": [
8
+ "@ledgerhq/devices",
9
+ "expect"
10
+ ],
11
+ "ignoreUnimported": [
12
+ "src/bridge/deviceTransactionConfig.ts",
13
+ "src/bridge/transaction.ts",
14
+ "src/hw-signMessage.ts",
15
+ "src/test/bot-specs.ts",
16
+ "src/test/bridgeDatasetTest.ts",
17
+ "src/test/cli.ts",
18
+ "src/test/index.ts",
19
+ "src/test/speculos-deviceActions.ts"
20
+ ]
21
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,11 @@
1
+ # @ledgerhq/coin-filecoin
2
+
3
+ ## 1.3.3-nightly.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [#8210](https://github.com/LedgerHQ/ledger-live/pull/8210) [`6a83c72`](https://github.com/LedgerHQ/ledger-live/commit/6a83c72b67fa0aed627a8610b202b2c3fb177c3f) Thanks [@qperrot](https://github.com/qperrot)! - support: move filecoin to its own coin module
8
+
9
+ - Updated dependencies [[`5ce33a4`](https://github.com/LedgerHQ/ledger-live/commit/5ce33a417ecc87face54c1864aa49476c5f394b9), [`a52f6ae`](https://github.com/LedgerHQ/ledger-live/commit/a52f6ae3d49ea8daea42d9cdc24e9dd0d6d0f371)]:
10
+ - @ledgerhq/types-live@6.53.0-nightly.3
11
+ - @ledgerhq/coin-framework@0.19.0-nightly.4
package/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2017-present Ledger https://www.ledger.com/
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
package/jest.config.js ADDED
@@ -0,0 +1,8 @@
1
+ /** @type {import('ts-jest/dist/types').JestConfigWithTsJest} */
2
+ module.exports = {
3
+ collectCoverageFrom: ["src/**/*.ts"],
4
+ coverageDirectory: "coverage",
5
+ preset: "ts-jest",
6
+ testEnvironment: "node",
7
+ testPathIgnorePatterns: ["lib/", "lib-es/", ".integration.test.ts"],
8
+ };
@@ -0,0 +1,9 @@
1
+ import { BalanceResponse, BroadcastTransactionRequest, BroadcastTransactionResponse, EstimatedFeesRequest, EstimatedFeesResponse, NetworkStatusResponse, TransactionResponse, ERC20Transfer } from "../types";
2
+ export declare const fetchBalances: (addr: string) => Promise<BalanceResponse>;
3
+ export declare const fetchEstimatedFees: import("@ledgerhq/live-network/cache").CacheRes<[request: EstimatedFeesRequest], EstimatedFeesResponse>;
4
+ export declare const fetchBlockHeight: () => Promise<NetworkStatusResponse>;
5
+ export declare const fetchTxs: (addr: string) => Promise<TransactionResponse[]>;
6
+ export declare const broadcastTx: (message: BroadcastTransactionRequest) => Promise<BroadcastTransactionResponse>;
7
+ export declare const fetchERC20TokenBalance: (ethAddr: string, contractAddr: string) => Promise<string>;
8
+ export declare const fetchERC20Transactions: (ethAddr: string) => Promise<ERC20Transfer[]>;
9
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EAGnB,aAAa,EAEd,MAAM,UAAU,CAAC;AA+ClB,eAAO,MAAM,aAAa,SAAgB,MAAM,KAAG,QAAQ,eAAe,CAGzE,CAAC;AAEF,eAAO,MAAM,kBAAkB,yGAc9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAa,QAAQ,qBAAqB,CAGtE,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAgB,MAAM,KAAG,QAAQ,mBAAmB,EAAE,CAG1E,CAAC;AAEF,eAAO,MAAM,WAAW,YACb,2BAA2B,KACnC,QAAQ,4BAA4B,CAGtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,YACxB,MAAM,gBACD,MAAM,KACnB,QAAQ,MAAM,CAUhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,YAAmB,MAAM,KAAG,QAAQ,aAAa,EAAE,CAKrF,CAAC"}
package/lib/api/api.js ADDED
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.fetchERC20Transactions = exports.fetchERC20TokenBalance = exports.broadcastTx = exports.fetchTxs = exports.fetchBlockHeight = exports.fetchEstimatedFees = exports.fetchBalances = void 0;
16
+ const logs_1 = require("@ledgerhq/logs");
17
+ const network_1 = __importDefault(require("@ledgerhq/live-network/network"));
18
+ const cache_1 = require("@ledgerhq/live-network/cache");
19
+ const live_env_1 = require("@ledgerhq/live-env");
20
+ const errors_1 = require("../errors");
21
+ const getFilecoinURL = (path) => {
22
+ const baseUrl = (0, live_env_1.getEnv)("API_FILECOIN_ENDPOINT");
23
+ if (!baseUrl)
24
+ throw new Error("API base URL not available");
25
+ return `${baseUrl}${path ? path : ""}`;
26
+ };
27
+ const fetch = (path) => __awaiter(void 0, void 0, void 0, function* () {
28
+ const url = getFilecoinURL(path);
29
+ // We force data to this way as network func is not using the correct param type. Changing that func will generate errors in other implementations
30
+ const opts = {
31
+ method: "GET",
32
+ url,
33
+ };
34
+ const rawResponse = yield (0, network_1.default)(opts);
35
+ // We force data to this way as network func is not using the correct param type. Changing that func will generate errors in other implementations
36
+ const { data } = rawResponse;
37
+ (0, logs_1.log)("http", url);
38
+ return data;
39
+ });
40
+ const send = (path, data) => __awaiter(void 0, void 0, void 0, function* () {
41
+ const url = getFilecoinURL(path);
42
+ const opts = {
43
+ method: "POST",
44
+ url,
45
+ data: JSON.stringify(data),
46
+ headers: { "Content-Type": "application/json" },
47
+ };
48
+ const rawResponse = yield (0, network_1.default)(opts);
49
+ // We force data to this way as network func is not using generics. Changing that func will generate errors in other implementations
50
+ const { data: responseData } = rawResponse;
51
+ (0, logs_1.log)("http", url);
52
+ return responseData;
53
+ });
54
+ const fetchBalances = (addr) => __awaiter(void 0, void 0, void 0, function* () {
55
+ const data = yield fetch(`/addresses/${addr}/balance`);
56
+ return data; // TODO Validate if the response fits this interface
57
+ });
58
+ exports.fetchBalances = fetchBalances;
59
+ exports.fetchEstimatedFees = (0, cache_1.makeLRUCache)((request) => __awaiter(void 0, void 0, void 0, function* () {
60
+ try {
61
+ const data = yield send(`/fees/estimate`, request);
62
+ return data; // TODO Validate if the response fits this interface
63
+ }
64
+ catch (e) {
65
+ (0, logs_1.log)("error", "filecoin fetchEstimatedFees", e);
66
+ throw new errors_1.FilecoinFeeEstimationFailed();
67
+ }
68
+ }), request => `${request.from}-${request.to}`, {
69
+ ttl: 5 * 1000, // 5 seconds
70
+ });
71
+ const fetchBlockHeight = () => __awaiter(void 0, void 0, void 0, function* () {
72
+ const data = yield fetch("/network/status");
73
+ return data; // TODO Validate if the response fits this interface
74
+ });
75
+ exports.fetchBlockHeight = fetchBlockHeight;
76
+ const fetchTxs = (addr) => __awaiter(void 0, void 0, void 0, function* () {
77
+ const response = yield fetch(`/addresses/${addr}/transactions`);
78
+ return response.txs; // TODO Validate if the response fits this interface
79
+ });
80
+ exports.fetchTxs = fetchTxs;
81
+ const broadcastTx = (message) => __awaiter(void 0, void 0, void 0, function* () {
82
+ const response = yield send(`/transaction/broadcast`, message);
83
+ return response; // TODO Validate if the response fits this interface
84
+ });
85
+ exports.broadcastTx = broadcastTx;
86
+ const fetchERC20TokenBalance = (ethAddr, contractAddr) => __awaiter(void 0, void 0, void 0, function* () {
87
+ const res = yield fetch(`/contract/${contractAddr}/address/${ethAddr}/balance/erc20`);
88
+ if (res.data.length) {
89
+ return res.data[0].balance;
90
+ }
91
+ return "0";
92
+ });
93
+ exports.fetchERC20TokenBalance = fetchERC20TokenBalance;
94
+ const fetchERC20Transactions = (ethAddr) => __awaiter(void 0, void 0, void 0, function* () {
95
+ const res = yield fetch(`/addresses/${ethAddr}/transactions/erc20`);
96
+ return res.txs.sort((a, b) => b.timestamp - a.timestamp);
97
+ });
98
+ exports.fetchERC20Transactions = fetchERC20Transactions;
99
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./api";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./api"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB"}
@@ -0,0 +1,4 @@
1
+ import { AccountBridge } from "@ledgerhq/types-live";
2
+ import { Transaction } from "../types";
3
+ export declare const broadcast: AccountBridge<Transaction>["broadcast"];
4
+ //# sourceMappingURL=broadcast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../src/bridge/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,WAAW,CAa7D,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.broadcast = void 0;
13
+ const operation_1 = require("@ledgerhq/coin-framework/operation");
14
+ const common_logic_1 = require("../common-logic");
15
+ const api_1 = require("../api");
16
+ const broadcast = (_a) => __awaiter(void 0, [_a], void 0, function* ({ signedOperation }) {
17
+ // log("debug", "[broadcast] start fn");
18
+ const { operation, signature, rawData } = signedOperation;
19
+ const tx = (0, common_logic_1.getTxToBroadcast)(operation, signature, rawData);
20
+ const resp = yield (0, api_1.broadcastTx)(tx);
21
+ const { hash } = resp;
22
+ const result = (0, operation_1.patchOperationWithHash)(signedOperation.operation, hash);
23
+ // log("debug", "[broadcast] finish fn");
24
+ return result;
25
+ });
26
+ exports.broadcast = broadcast;
27
+ //# sourceMappingURL=broadcast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/bridge/broadcast.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAA4E;AAC5E,kDAAmD;AACnD,gCAAqC;AAG9B,MAAM,SAAS,GAA4C,KAA4B,EAAE,4CAAvB,EAAE,eAAe,EAAE;IAC1F,wCAAwC;IACxC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IAC1D,MAAM,EAAE,GAAG,IAAA,+BAAgB,EAAC,SAAS,EAAE,SAAS,EAAE,OAAQ,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAW,EAAC,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAEtB,MAAM,MAAM,GAAG,IAAA,kCAAsB,EAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEvE,yCAAyC;IAEzC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA,CAAC;AAbW,QAAA,SAAS,aAapB"}
@@ -0,0 +1,5 @@
1
+ import { Account, Operation, OperationType } from "@ledgerhq/types-live";
2
+ import { Transaction } from "../types";
3
+ import { toCBORResponse } from "../bridge/serializer";
4
+ export declare const buildOptimisticOperation: (account: Account, transaction: Transaction, serializationRes: toCBORResponse, operationType?: OperationType) => Promise<Operation>;
5
+ //# sourceMappingURL=buildOptimisticOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildOptimisticOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKtD,eAAO,MAAM,wBAAwB,YAC1B,OAAO,eACH,WAAW,oBACN,cAAc,kBACjB,aAAa,KAC3B,QAAQ,SAAS,CA4CnB,CAAC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.buildOptimisticOperation = void 0;
13
+ const operation_1 = require("@ledgerhq/coin-framework/operation");
14
+ const utils_1 = require("../bridge/utils");
15
+ const network_1 = require("../network");
16
+ const utils_2 = require("../common-logic/utils");
17
+ const buildOptimisticOperation = (account_1, transaction_1, serializationRes_1, ...args_1) => __awaiter(void 0, [account_1, transaction_1, serializationRes_1, ...args_1], void 0, function* (account, transaction, serializationRes, operationType = "OUT") {
18
+ const type = operationType;
19
+ const subAccount = (0, utils_2.getSubAccount)(account, transaction);
20
+ // resolved at broadcast time
21
+ const txHash = "";
22
+ const { gasFeeCap, gasLimit } = transaction;
23
+ const { parsedSender, recipientToBroadcast, amountToBroadcast: finalAmount } = serializationRes;
24
+ const fee = (0, utils_1.calculateEstimatedFees)(gasFeeCap, gasLimit);
25
+ let operation;
26
+ if (subAccount) {
27
+ const recipientFilAddr = (0, network_1.convertAddressEthToFil)(transaction.recipient);
28
+ operation = {
29
+ id: (0, operation_1.encodeOperationId)(subAccount.id, txHash, "OUT"),
30
+ hash: txHash,
31
+ type,
32
+ value: finalAmount,
33
+ fee,
34
+ blockHeight: null,
35
+ blockHash: null,
36
+ accountId: subAccount.id,
37
+ senders: [parsedSender],
38
+ recipients: [recipientFilAddr],
39
+ date: new Date(),
40
+ extra: {},
41
+ };
42
+ }
43
+ else {
44
+ operation = {
45
+ id: (0, operation_1.encodeOperationId)(account.id, txHash, "OUT"),
46
+ hash: txHash,
47
+ type,
48
+ senders: [parsedSender],
49
+ recipients: [recipientToBroadcast],
50
+ accountId: account.id,
51
+ value: finalAmount.plus(fee),
52
+ fee,
53
+ blockHash: null,
54
+ blockHeight: null,
55
+ date: new Date(),
56
+ extra: {},
57
+ };
58
+ }
59
+ return operation;
60
+ });
61
+ exports.buildOptimisticOperation = buildOptimisticOperation;
62
+ //# sourceMappingURL=buildOptimisticOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAAuE;AAGvE,2CAAyD;AACzD,wCAAoD;AACpD,iDAAsD;AAE/C,MAAM,wBAAwB,GAAG,0DAKlB,EAAE,iGAJtB,OAAgB,EAChB,WAAwB,EACxB,gBAAgC,EAChC,gBAA+B,KAAK;IAEpC,MAAM,IAAI,GAAG,aAAa,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACvD,6BAA6B;IAC7B,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAC5C,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC;IAChG,MAAM,GAAG,GAAG,IAAA,8BAAsB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAExD,IAAI,SAAoB,CAAC;IACzB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,gBAAgB,GAAG,IAAA,gCAAsB,EAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvE,SAAS,GAAG;YACV,EAAE,EAAE,IAAA,6BAAiB,EAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC;YACnD,IAAI,EAAE,MAAM;YACZ,IAAI;YACJ,KAAK,EAAE,WAAW;YAClB,GAAG;YACH,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,UAAU,CAAC,EAAE;YACxB,OAAO,EAAE,CAAC,YAAY,CAAC;YACvB,UAAU,EAAE,CAAC,gBAAgB,CAAC;YAC9B,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,SAAS,GAAG;YACV,EAAE,EAAE,IAAA,6BAAiB,EAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC;YAChD,IAAI,EAAE,MAAM;YACZ,IAAI;YACJ,OAAO,EAAE,CAAC,YAAY,CAAC;YACvB,UAAU,EAAE,CAAC,oBAAoB,CAAC;YAClC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5B,GAAG;YACH,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAA,CAAC;AAjDW,QAAA,wBAAwB,4BAiDnC"}
@@ -0,0 +1,4 @@
1
+ import { AccountBridge } from "@ledgerhq/types-live";
2
+ import { Transaction } from "../types";
3
+ export declare const createTransaction: AccountBridge<Transaction>["createTransaction"];
4
+ //# sourceMappingURL=createTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/createTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAe7E,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createTransaction = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const createTransaction = () => {
9
+ // log("debug", "[createTransaction] creating base tx");
10
+ return {
11
+ family: "filecoin",
12
+ amount: new bignumber_js_1.default(0),
13
+ method: 0,
14
+ version: 0,
15
+ nonce: 0,
16
+ gasLimit: new bignumber_js_1.default(0),
17
+ gasFeeCap: new bignumber_js_1.default(0),
18
+ gasPremium: new bignumber_js_1.default(0),
19
+ recipient: "",
20
+ useAllAmount: false,
21
+ };
22
+ };
23
+ exports.createTransaction = createTransaction;
24
+ //# sourceMappingURL=createTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTransaction.js","sourceRoot":"","sources":["../../src/bridge/createTransaction.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAqC;AAE9B,MAAM,iBAAiB,GAAoD,GAAG,EAAE;IACrF,wDAAwD;IAExD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;QACxB,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;QAC1B,SAAS,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;QAC3B,UAAU,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;QAC5B,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,KAAK;KACpB,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,iBAAiB,qBAe5B"}
@@ -0,0 +1,33 @@
1
+ import type { CommonDeviceTransactionField } from "@ledgerhq/coin-framework/transaction/common";
2
+ import type { Account, AccountLike } from "@ledgerhq/types-live";
3
+ import type { Transaction, TransactionStatus } from "../types";
4
+ export type ExtraDeviceTransactionField = {
5
+ type: "filecoin.gasFeeCap";
6
+ label: string;
7
+ value: string;
8
+ } | {
9
+ type: "filecoin.gasPremium";
10
+ label: string;
11
+ value: string;
12
+ } | {
13
+ type: "filecoin.gasLimit";
14
+ label: string;
15
+ value: string;
16
+ } | {
17
+ type: "filecoin.method";
18
+ label: string;
19
+ value: string;
20
+ } | {
21
+ type: "filecoin.recipient";
22
+ label: string;
23
+ value: string;
24
+ };
25
+ export type DeviceTransactionField = CommonDeviceTransactionField | ExtraDeviceTransactionField;
26
+ declare function getDeviceTransactionConfig(input: {
27
+ account: AccountLike;
28
+ parentAccount: Account | null | undefined;
29
+ transaction: Transaction;
30
+ status: TransactionStatus;
31
+ }): Array<DeviceTransactionField>;
32
+ export default getDeviceTransactionConfig;
33
+ //# sourceMappingURL=deviceTransactionConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAgB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAW/D,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG,2BAA2B,CAAC;AAEhG,iBAAS,0BAA0B,CAAC,KAAK,EAAE;IACzC,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAqEhC;AAED,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("@ledgerhq/coin-framework/currencies/index");
4
+ const utils_1 = require("./utils");
5
+ const network_1 = require("../network");
6
+ function getDeviceTransactionConfig(input) {
7
+ const tokenTransfer = input.account.type === utils_1.AccountType.TokenAccount;
8
+ const subAccount = tokenTransfer ? input.account : null;
9
+ const fields = [];
10
+ const unit = input.parentAccount
11
+ ? input.parentAccount.currency.units[0]
12
+ : (0, utils_1.getAccountUnit)(input.account);
13
+ const formatConfig = {
14
+ disableRounding: true,
15
+ alwaysShowSign: false,
16
+ showCode: false,
17
+ };
18
+ if (subAccount) {
19
+ fields.push({
20
+ type: "filecoin.recipient",
21
+ label: "To",
22
+ value: (0, utils_1.expectedToFieldForTokenTransfer)(input.transaction.recipient),
23
+ });
24
+ }
25
+ else {
26
+ const recipient = input.transaction.recipient;
27
+ if (recipient.length >= 4 && recipient.substring(0, 4) === "0xff") {
28
+ const validated = (0, network_1.validateAddress)(recipient);
29
+ if (validated.isValid) {
30
+ const value = validated.parsedAddress.toString();
31
+ fields.push({
32
+ type: "filecoin.recipient",
33
+ label: "To",
34
+ value,
35
+ });
36
+ }
37
+ }
38
+ }
39
+ fields.push({
40
+ type: "filecoin.gasLimit",
41
+ label: "Gas Limit",
42
+ value: (0, index_1.formatCurrencyUnit)(unit, input.transaction.gasLimit, formatConfig),
43
+ });
44
+ if (!subAccount) {
45
+ fields.push({
46
+ type: "filecoin.gasFeeCap",
47
+ label: "Gas Fee Cap",
48
+ value: (0, index_1.formatCurrencyUnit)(unit, input.transaction.gasFeeCap, formatConfig),
49
+ });
50
+ fields.push({
51
+ type: "filecoin.gasPremium",
52
+ label: "Gas Premium",
53
+ value: (0, index_1.formatCurrencyUnit)(unit, input.transaction.gasPremium, formatConfig),
54
+ });
55
+ fields.push({
56
+ type: "filecoin.method",
57
+ label: "Method",
58
+ value: (0, utils_1.methodToString)(input.transaction.method),
59
+ });
60
+ }
61
+ if (subAccount) {
62
+ fields.push({
63
+ type: "filecoin.method",
64
+ label: "Method",
65
+ value: (0, utils_1.methodToString)(utils_1.Methods.ERC20Transfer),
66
+ });
67
+ }
68
+ return fields;
69
+ }
70
+ exports.default = getDeviceTransactionConfig;
71
+ //# sourceMappingURL=deviceTransactionConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { AccountBridge } from "@ledgerhq/types-live";
2
+ import { Transaction } from "../types";
3
+ export declare const estimateMaxSpendable: AccountBridge<Transaction>["estimateMaxSpendable"];
4
+ //# sourceMappingURL=estimateMaxSpendable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimateMaxSpendable.d.ts","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAevC,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,sBAAsB,CAuGnF,CAAC"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.estimateMaxSpendable = void 0;
16
+ const index_1 = require("@ledgerhq/coin-framework/account/index");
17
+ const common_logic_1 = require("../common-logic");
18
+ const utils_1 = require("./utils");
19
+ const errors_1 = require("@ledgerhq/errors");
20
+ const network_1 = require("../network");
21
+ const api_1 = require("../api");
22
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
23
+ const types_1 = require("../types");
24
+ const tokenAccounts_1 = require("../erc20/tokenAccounts");
25
+ const estimateMaxSpendable = (_a) => __awaiter(void 0, [_a], void 0, function* ({ account, parentAccount, transaction, }) {
26
+ var _b, _c;
27
+ // log("debug", "[estimateMaxSpendable] start fn");
28
+ if (transaction && !transaction.subAccountId) {
29
+ transaction.subAccountId = account.type === "Account" ? null : account.id;
30
+ }
31
+ let tokenAccountTxn = false;
32
+ let subAccount;
33
+ const a = (0, index_1.getMainAccount)(account, parentAccount);
34
+ if (account.type === utils_1.AccountType.TokenAccount) {
35
+ tokenAccountTxn = true;
36
+ subAccount = account;
37
+ }
38
+ if (transaction && transaction.subAccountId && !subAccount) {
39
+ tokenAccountTxn = true;
40
+ subAccount = (_b = (0, common_logic_1.getSubAccount)(a, transaction)) !== null && _b !== void 0 ? _b : null;
41
+ }
42
+ let { address: sender } = (0, common_logic_1.getAddress)(a);
43
+ let methodNum = utils_1.Methods.Transfer;
44
+ let recipient = transaction === null || transaction === void 0 ? void 0 : transaction.recipient;
45
+ const invalidAddressErr = new errors_1.InvalidAddress(undefined, {
46
+ currencyName: subAccount ? subAccount.token.name : a.currency.name,
47
+ });
48
+ const senderValidation = (0, network_1.validateAddress)(sender);
49
+ if (!senderValidation.isValid)
50
+ throw invalidAddressErr;
51
+ sender = senderValidation.parsedAddress.toString();
52
+ if (recipient) {
53
+ const recipientValidation = (0, network_1.validateAddress)(recipient);
54
+ if (!recipientValidation.isValid) {
55
+ throw invalidAddressErr;
56
+ }
57
+ recipient = recipientValidation.parsedAddress.toString();
58
+ methodNum =
59
+ (0, network_1.isFilEthAddress)(recipientValidation.parsedAddress) || tokenAccountTxn
60
+ ? utils_1.Methods.InvokeEVM
61
+ : utils_1.Methods.Transfer;
62
+ }
63
+ let balance = new bignumber_js_1.default((yield (0, api_1.fetchBalances)(sender)).spendable_balance);
64
+ if (balance.eq(0))
65
+ return balance;
66
+ const validatedContractAddress = (0, network_1.validateAddress)((_c = subAccount === null || subAccount === void 0 ? void 0 : subAccount.token.contractAddress) !== null && _c !== void 0 ? _c : "");
67
+ if (tokenAccountTxn && !validatedContractAddress.isValid) {
68
+ throw invalidAddressErr;
69
+ }
70
+ const contractAddress = tokenAccountTxn && validatedContractAddress.isValid
71
+ ? validatedContractAddress.parsedAddress.toString()
72
+ : "";
73
+ const finalRecipient = tokenAccountTxn ? contractAddress : recipient;
74
+ // If token transfer, the evm payload is required to estimate fees
75
+ const params = tokenAccountTxn && transaction && subAccount
76
+ ? (0, tokenAccounts_1.generateTokenTxnParams)(contractAddress, transaction.amount.isZero() ? (0, bignumber_js_1.default)(1) : transaction.amount)
77
+ : undefined;
78
+ const result = yield (0, api_1.fetchEstimatedFees)(Object.assign(Object.assign({ to: finalRecipient, from: sender, methodNum, blockIncl: types_1.BroadcastBlockIncl }, (params && { params: (0, tokenAccounts_1.encodeTxnParams)(params) })), (tokenAccountTxn && { value: "0" })));
79
+ const gasFeeCap = new bignumber_js_1.default(result.gas_fee_cap);
80
+ const gasLimit = new bignumber_js_1.default(result.gas_limit);
81
+ const estimatedFees = (0, utils_1.calculateEstimatedFees)(gasFeeCap, gasLimit);
82
+ if (balance.lte(estimatedFees)) {
83
+ if (tokenAccountTxn) {
84
+ throw new errors_1.NotEnoughBalanceInParentAccount(undefined, {
85
+ currencyName: a.currency.name,
86
+ });
87
+ }
88
+ throw new errors_1.NotEnoughSpendableBalance(undefined, {
89
+ currencyName: a.currency.name,
90
+ });
91
+ }
92
+ balance = balance.minus(estimatedFees);
93
+ if (tokenAccountTxn && subAccount) {
94
+ return subAccount.spendableBalance;
95
+ }
96
+ // log("debug", "[estimateMaxSpendable] finish fn");
97
+ return balance;
98
+ });
99
+ exports.estimateMaxSpendable = estimateMaxSpendable;
100
+ //# sourceMappingURL=estimateMaxSpendable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimateMaxSpendable.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { AccountBridge } from "@ledgerhq/types-live";
2
+ import { Transaction } from "../types";
3
+ export declare const getTransactionStatus: AccountBridge<Transaction>["getTransactionStatus"];
4
+ //# sourceMappingURL=getTransactionStatus.d.ts.map