@ledgerhq/coin-aptos 2.5.1 → 2.5.2-nightly.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +5 -8
  3. package/CHANGELOG.md +18 -0
  4. package/lib/__tests__/bridge/deviceTransactionConfig.test.js +115 -30
  5. package/lib/__tests__/bridge/deviceTransactionConfig.test.js.map +1 -1
  6. package/lib/__tests__/bridge/getFeesForTransaction.test.js +10 -10
  7. package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
  8. package/lib/__tests__/bridge/getTransactionStatus.test.js +193 -2
  9. package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
  10. package/lib/__tests__/bridge/index.test.js +4 -1
  11. package/lib/__tests__/bridge/index.test.js.map +1 -1
  12. package/lib/__tests__/bridge/logic.test.js +9 -9
  13. package/lib/__tests__/bridge/logic.test.js.map +1 -1
  14. package/lib/__tests__/bridge/prepareTransaction.test.js +1 -0
  15. package/lib/__tests__/bridge/prepareTransaction.test.js.map +1 -1
  16. package/lib/__tests__/bridge/serialization.d.ts +2 -0
  17. package/lib/__tests__/bridge/serialization.d.ts.map +1 -0
  18. package/lib/__tests__/bridge/serialization.js +91 -0
  19. package/lib/__tests__/bridge/serialization.js.map +1 -0
  20. package/lib/__tests__/bridge/synchronisation.test.js +763 -23
  21. package/lib/__tests__/bridge/synchronisation.test.js.map +1 -1
  22. package/lib/__tests__/logic/staking.test.d.ts +2 -0
  23. package/lib/__tests__/logic/staking.test.d.ts.map +1 -0
  24. package/lib/__tests__/logic/staking.test.js +202 -0
  25. package/lib/__tests__/logic/staking.test.js.map +1 -0
  26. package/lib/__tests__/network/client.test.js +3 -3
  27. package/lib/__tests__/network/validators.test.d.ts +2 -0
  28. package/lib/__tests__/network/validators.test.d.ts.map +1 -0
  29. package/lib/__tests__/network/validators.test.js +98 -0
  30. package/lib/__tests__/network/validators.test.js.map +1 -0
  31. package/lib/__tests__/utils/IconGenerator.test.d.ts +2 -0
  32. package/lib/__tests__/utils/IconGenerator.test.d.ts.map +1 -0
  33. package/lib/__tests__/utils/IconGenerator.test.js +14 -0
  34. package/lib/__tests__/utils/IconGenerator.test.js.map +1 -0
  35. package/lib/__tests__/utils/index.test.d.ts +2 -0
  36. package/lib/__tests__/utils/index.test.d.ts.map +1 -0
  37. package/lib/__tests__/utils/index.test.js +11 -0
  38. package/lib/__tests__/utils/index.test.js.map +1 -0
  39. package/lib/bridge/bridge.fixture.d.ts.map +1 -1
  40. package/lib/bridge/bridge.fixture.js +12 -0
  41. package/lib/bridge/bridge.fixture.js.map +1 -1
  42. package/lib/bridge/deviceTransactionConfig.d.ts +7 -8
  43. package/lib/bridge/deviceTransactionConfig.d.ts.map +1 -1
  44. package/lib/bridge/deviceTransactionConfig.js +83 -16
  45. package/lib/bridge/deviceTransactionConfig.js.map +1 -1
  46. package/lib/bridge/estimateMaxSpendable.d.ts +4 -4
  47. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -1
  48. package/lib/bridge/estimateMaxSpendable.js +1 -1
  49. package/lib/bridge/estimateMaxSpendable.js.map +1 -1
  50. package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
  51. package/lib/bridge/getFeesForTransaction.js +8 -4
  52. package/lib/bridge/getFeesForTransaction.js.map +1 -1
  53. package/lib/bridge/getTransactionStatus.d.ts +2 -3
  54. package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
  55. package/lib/bridge/getTransactionStatus.js +139 -25
  56. package/lib/bridge/getTransactionStatus.js.map +1 -1
  57. package/lib/bridge/index.d.ts +3 -3
  58. package/lib/bridge/index.d.ts.map +1 -1
  59. package/lib/bridge/index.js +9 -2
  60. package/lib/bridge/index.js.map +1 -1
  61. package/lib/bridge/logic.d.ts +3 -3
  62. package/lib/bridge/logic.d.ts.map +1 -1
  63. package/lib/bridge/logic.js +23 -9
  64. package/lib/bridge/logic.js.map +1 -1
  65. package/lib/bridge/prepareTransaction.d.ts +2 -3
  66. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  67. package/lib/bridge/prepareTransaction.js +46 -10
  68. package/lib/bridge/prepareTransaction.js.map +1 -1
  69. package/lib/bridge/serialization.d.ts +7 -0
  70. package/lib/bridge/serialization.d.ts.map +1 -0
  71. package/lib/bridge/serialization.js +51 -0
  72. package/lib/bridge/serialization.js.map +1 -0
  73. package/lib/bridge/signOperation.d.ts.map +1 -1
  74. package/lib/bridge/signOperation.js +17 -5
  75. package/lib/bridge/signOperation.js.map +1 -1
  76. package/lib/bridge/synchronisation.d.ts +6 -4
  77. package/lib/bridge/synchronisation.d.ts.map +1 -1
  78. package/lib/bridge/synchronisation.js +51 -4
  79. package/lib/bridge/synchronisation.js.map +1 -1
  80. package/lib/constants.d.ts +25 -1
  81. package/lib/constants.d.ts.map +1 -1
  82. package/lib/constants.js +54 -8
  83. package/lib/constants.js.map +1 -1
  84. package/lib/index.d.ts +0 -1
  85. package/lib/index.d.ts.map +1 -1
  86. package/lib/index.js +0 -15
  87. package/lib/index.js.map +1 -1
  88. package/lib/logic/buildTransaction.d.ts.map +1 -1
  89. package/lib/logic/buildTransaction.js +42 -19
  90. package/lib/logic/buildTransaction.js.map +1 -1
  91. package/lib/logic/getCoinAndAmounts.d.ts +2 -0
  92. package/lib/logic/getCoinAndAmounts.d.ts.map +1 -1
  93. package/lib/logic/getCoinAndAmounts.js +65 -38
  94. package/lib/logic/getCoinAndAmounts.js.map +1 -1
  95. package/lib/logic/staking.d.ts +12 -0
  96. package/lib/logic/staking.d.ts.map +1 -0
  97. package/lib/logic/staking.js +81 -0
  98. package/lib/logic/staking.js.map +1 -0
  99. package/lib/logic/transactionsToOperations.js +3 -3
  100. package/lib/logic/transactionsToOperations.js.map +1 -1
  101. package/lib/network/client.d.ts +4 -1
  102. package/lib/network/client.d.ts.map +1 -1
  103. package/lib/network/client.js +32 -1
  104. package/lib/network/client.js.map +1 -1
  105. package/lib/network/graphql/queries.d.ts +2 -0
  106. package/lib/network/graphql/queries.d.ts.map +1 -1
  107. package/lib/network/graphql/queries.js +42 -2
  108. package/lib/network/graphql/queries.js.map +1 -1
  109. package/lib/network/graphql/types.d.ts +57 -6
  110. package/lib/network/graphql/types.d.ts.map +1 -1
  111. package/lib/network/index.d.ts.map +1 -1
  112. package/lib/network/index.js.map +1 -1
  113. package/lib/network/validators.d.ts +3 -0
  114. package/lib/network/validators.d.ts.map +1 -0
  115. package/lib/network/validators.js +42 -0
  116. package/lib/network/validators.js.map +1 -0
  117. package/lib/preload-data.d.ts +7 -0
  118. package/lib/preload-data.d.ts.map +1 -0
  119. package/lib/preload-data.js +42 -0
  120. package/lib/preload-data.js.map +1 -0
  121. package/lib/preload.d.ts +6 -0
  122. package/lib/preload.d.ts.map +1 -0
  123. package/lib/preload.js +21 -0
  124. package/lib/preload.js.map +1 -0
  125. package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
  126. package/lib/test/bridgeDatasetTest.js +1 -0
  127. package/lib/test/bridgeDatasetTest.js.map +1 -1
  128. package/lib/types/index.d.ts +92 -8
  129. package/lib/types/index.d.ts.map +1 -1
  130. package/lib/types/index.js.map +1 -1
  131. package/lib/utils/IconGenerator.d.ts +12 -0
  132. package/lib/utils/IconGenerator.d.ts.map +1 -0
  133. package/lib/utils/IconGenerator.js +138 -0
  134. package/lib/utils/IconGenerator.js.map +1 -0
  135. package/lib/utils/index.d.ts +3 -0
  136. package/lib/utils/index.d.ts.map +1 -0
  137. package/lib/utils/index.js +31 -0
  138. package/lib/utils/index.js.map +1 -0
  139. package/lib-es/__tests__/bridge/deviceTransactionConfig.test.js +113 -8
  140. package/lib-es/__tests__/bridge/deviceTransactionConfig.test.js.map +1 -1
  141. package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +10 -10
  142. package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
  143. package/lib-es/__tests__/bridge/getTransactionStatus.test.js +194 -3
  144. package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
  145. package/lib-es/__tests__/bridge/index.test.js +4 -1
  146. package/lib-es/__tests__/bridge/index.test.js.map +1 -1
  147. package/lib-es/__tests__/bridge/logic.test.js +10 -10
  148. package/lib-es/__tests__/bridge/logic.test.js.map +1 -1
  149. package/lib-es/__tests__/bridge/prepareTransaction.test.js +1 -0
  150. package/lib-es/__tests__/bridge/prepareTransaction.test.js.map +1 -1
  151. package/lib-es/__tests__/bridge/serialization.d.ts +2 -0
  152. package/lib-es/__tests__/bridge/serialization.d.ts.map +1 -0
  153. package/lib-es/__tests__/bridge/serialization.js +86 -0
  154. package/lib-es/__tests__/bridge/serialization.js.map +1 -0
  155. package/lib-es/__tests__/bridge/synchronisation.test.js +763 -23
  156. package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -1
  157. package/lib-es/__tests__/logic/staking.test.d.ts +2 -0
  158. package/lib-es/__tests__/logic/staking.test.d.ts.map +1 -0
  159. package/lib-es/__tests__/logic/staking.test.js +197 -0
  160. package/lib-es/__tests__/logic/staking.test.js.map +1 -0
  161. package/lib-es/__tests__/network/client.test.js +3 -3
  162. package/lib-es/__tests__/network/validators.test.d.ts +2 -0
  163. package/lib-es/__tests__/network/validators.test.d.ts.map +1 -0
  164. package/lib-es/__tests__/network/validators.test.js +93 -0
  165. package/lib-es/__tests__/network/validators.test.js.map +1 -0
  166. package/lib-es/__tests__/utils/IconGenerator.test.d.ts +2 -0
  167. package/lib-es/__tests__/utils/IconGenerator.test.d.ts.map +1 -0
  168. package/lib-es/__tests__/utils/IconGenerator.test.js +12 -0
  169. package/lib-es/__tests__/utils/IconGenerator.test.js.map +1 -0
  170. package/lib-es/__tests__/utils/index.test.d.ts +2 -0
  171. package/lib-es/__tests__/utils/index.test.d.ts.map +1 -0
  172. package/lib-es/__tests__/utils/index.test.js +9 -0
  173. package/lib-es/__tests__/utils/index.test.js.map +1 -0
  174. package/lib-es/bridge/bridge.fixture.d.ts.map +1 -1
  175. package/lib-es/bridge/bridge.fixture.js +12 -0
  176. package/lib-es/bridge/bridge.fixture.js.map +1 -1
  177. package/lib-es/bridge/deviceTransactionConfig.d.ts +7 -8
  178. package/lib-es/bridge/deviceTransactionConfig.d.ts.map +1 -1
  179. package/lib-es/bridge/deviceTransactionConfig.js +83 -14
  180. package/lib-es/bridge/deviceTransactionConfig.js.map +1 -1
  181. package/lib-es/bridge/estimateMaxSpendable.d.ts +4 -4
  182. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -1
  183. package/lib-es/bridge/estimateMaxSpendable.js +1 -1
  184. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
  185. package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -1
  186. package/lib-es/bridge/getFeesForTransaction.js +9 -5
  187. package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
  188. package/lib-es/bridge/getTransactionStatus.d.ts +2 -3
  189. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
  190. package/lib-es/bridge/getTransactionStatus.js +140 -26
  191. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  192. package/lib-es/bridge/index.d.ts +3 -3
  193. package/lib-es/bridge/index.d.ts.map +1 -1
  194. package/lib-es/bridge/index.js +9 -2
  195. package/lib-es/bridge/index.js.map +1 -1
  196. package/lib-es/bridge/logic.d.ts +3 -3
  197. package/lib-es/bridge/logic.d.ts.map +1 -1
  198. package/lib-es/bridge/logic.js +23 -9
  199. package/lib-es/bridge/logic.js.map +1 -1
  200. package/lib-es/bridge/prepareTransaction.d.ts +2 -3
  201. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  202. package/lib-es/bridge/prepareTransaction.js +46 -10
  203. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  204. package/lib-es/bridge/serialization.d.ts +7 -0
  205. package/lib-es/bridge/serialization.d.ts.map +1 -0
  206. package/lib-es/bridge/serialization.js +41 -0
  207. package/lib-es/bridge/serialization.js.map +1 -0
  208. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  209. package/lib-es/bridge/signOperation.js +17 -5
  210. package/lib-es/bridge/signOperation.js.map +1 -1
  211. package/lib-es/bridge/synchronisation.d.ts +6 -4
  212. package/lib-es/bridge/synchronisation.d.ts.map +1 -1
  213. package/lib-es/bridge/synchronisation.js +49 -3
  214. package/lib-es/bridge/synchronisation.js.map +1 -1
  215. package/lib-es/constants.d.ts +25 -1
  216. package/lib-es/constants.d.ts.map +1 -1
  217. package/lib-es/constants.js +53 -7
  218. package/lib-es/constants.js.map +1 -1
  219. package/lib-es/index.d.ts +0 -1
  220. package/lib-es/index.d.ts.map +1 -1
  221. package/lib-es/index.js +0 -1
  222. package/lib-es/index.js.map +1 -1
  223. package/lib-es/logic/buildTransaction.d.ts.map +1 -1
  224. package/lib-es/logic/buildTransaction.js +42 -19
  225. package/lib-es/logic/buildTransaction.js.map +1 -1
  226. package/lib-es/logic/getCoinAndAmounts.d.ts +2 -0
  227. package/lib-es/logic/getCoinAndAmounts.d.ts.map +1 -1
  228. package/lib-es/logic/getCoinAndAmounts.js +66 -39
  229. package/lib-es/logic/getCoinAndAmounts.js.map +1 -1
  230. package/lib-es/logic/staking.d.ts +12 -0
  231. package/lib-es/logic/staking.d.ts.map +1 -0
  232. package/lib-es/logic/staking.js +67 -0
  233. package/lib-es/logic/staking.js.map +1 -0
  234. package/lib-es/logic/transactionsToOperations.js +4 -4
  235. package/lib-es/logic/transactionsToOperations.js.map +1 -1
  236. package/lib-es/network/client.d.ts +4 -1
  237. package/lib-es/network/client.d.ts.map +1 -1
  238. package/lib-es/network/client.js +32 -1
  239. package/lib-es/network/client.js.map +1 -1
  240. package/lib-es/network/graphql/queries.d.ts +2 -0
  241. package/lib-es/network/graphql/queries.d.ts.map +1 -1
  242. package/lib-es/network/graphql/queries.js +41 -1
  243. package/lib-es/network/graphql/queries.js.map +1 -1
  244. package/lib-es/network/graphql/types.d.ts +57 -6
  245. package/lib-es/network/graphql/types.d.ts.map +1 -1
  246. package/lib-es/network/index.d.ts.map +1 -1
  247. package/lib-es/network/index.js.map +1 -1
  248. package/lib-es/network/validators.d.ts +3 -0
  249. package/lib-es/network/validators.d.ts.map +1 -0
  250. package/lib-es/network/validators.js +35 -0
  251. package/lib-es/network/validators.js.map +1 -0
  252. package/lib-es/preload-data.d.ts +7 -0
  253. package/lib-es/preload-data.d.ts.map +1 -0
  254. package/lib-es/preload-data.js +36 -0
  255. package/lib-es/preload-data.js.map +1 -0
  256. package/lib-es/preload.d.ts +6 -0
  257. package/lib-es/preload.d.ts.map +1 -0
  258. package/lib-es/preload.js +16 -0
  259. package/lib-es/preload.js.map +1 -0
  260. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -1
  261. package/lib-es/test/bridgeDatasetTest.js +1 -0
  262. package/lib-es/test/bridgeDatasetTest.js.map +1 -1
  263. package/lib-es/types/index.d.ts +92 -8
  264. package/lib-es/types/index.d.ts.map +1 -1
  265. package/lib-es/types/index.js.map +1 -1
  266. package/lib-es/utils/IconGenerator.d.ts +12 -0
  267. package/lib-es/utils/IconGenerator.d.ts.map +1 -0
  268. package/lib-es/utils/IconGenerator.js +134 -0
  269. package/lib-es/utils/IconGenerator.js.map +1 -0
  270. package/lib-es/utils/index.d.ts +3 -0
  271. package/lib-es/utils/index.d.ts.map +1 -0
  272. package/lib-es/utils/index.js +13 -0
  273. package/lib-es/utils/index.js.map +1 -0
  274. package/package.json +14 -9
  275. package/src/__tests__/bridge/deviceTransactionConfig.test.ts +120 -8
  276. package/src/__tests__/bridge/getFeesForTransaction.test.ts +10 -10
  277. package/src/__tests__/bridge/getTransactionStatus.test.ts +247 -3
  278. package/src/__tests__/bridge/index.test.ts +5 -1
  279. package/src/__tests__/bridge/logic.test.ts +10 -10
  280. package/src/__tests__/bridge/prepareTransaction.test.ts +4 -4
  281. package/src/__tests__/bridge/serialization.ts +103 -0
  282. package/src/__tests__/bridge/synchronisation.test.ts +798 -32
  283. package/src/__tests__/logic/staking.test.ts +221 -0
  284. package/src/__tests__/network/client.test.ts +3 -3
  285. package/src/__tests__/network/validators.test.ts +105 -0
  286. package/src/__tests__/utils/IconGenerator.test.ts +13 -0
  287. package/src/__tests__/utils/index.test.ts +11 -0
  288. package/src/bridge/bridge.fixture.ts +12 -0
  289. package/src/bridge/deviceTransactionConfig.ts +90 -21
  290. package/src/bridge/estimateMaxSpendable.ts +5 -5
  291. package/src/bridge/getFeesForTransaction.ts +17 -5
  292. package/src/bridge/getTransactionStatus.ts +208 -32
  293. package/src/bridge/index.ts +14 -5
  294. package/src/bridge/logic.ts +28 -12
  295. package/src/bridge/prepareTransaction.ts +72 -24
  296. package/src/bridge/serialization.ts +52 -0
  297. package/src/bridge/signOperation.ts +20 -7
  298. package/src/bridge/synchronisation.ts +69 -12
  299. package/src/constants.ts +64 -2
  300. package/src/index.ts +0 -2
  301. package/src/logic/buildTransaction.ts +49 -24
  302. package/src/logic/getCoinAndAmounts.ts +91 -41
  303. package/src/logic/staking.ts +105 -0
  304. package/src/logic/transactionsToOperations.ts +5 -5
  305. package/src/network/client.ts +44 -4
  306. package/src/network/graphql/queries.ts +46 -1
  307. package/src/network/graphql/types.ts +63 -6
  308. package/src/network/index.ts +1 -0
  309. package/src/network/validators.ts +48 -0
  310. package/src/preload-data.ts +43 -0
  311. package/src/preload.ts +23 -0
  312. package/src/test/bridgeDatasetTest.ts +1 -0
  313. package/src/types/index.ts +106 -8
  314. package/src/utils/IconGenerator.ts +166 -0
  315. package/src/utils/index.ts +16 -0
@@ -1,5 +1,6 @@
1
1
  import BigNumber from "bignumber.js";
2
- export const ESTIMATE_GAS_MUL = new BigNumber(1.0); // define buffer for gas estimation change here, if needed
2
+ export const ESTIMATE_GAS_MUL = new BigNumber(1.1); // define buffer for gas estimation change here, if needed
3
+ export const ESTIMATE_GAS_MUL_FOR_STAKING = new BigNumber(3); // gas multiplier for staking operations
3
4
  export const LOAD_LIMIT = 10;
4
5
  export var TX_STATUS;
5
6
  (function (TX_STATUS) {
@@ -8,6 +9,9 @@ export var TX_STATUS;
8
9
  TX_STATUS["SUCCESS"] = "success";
9
10
  })(TX_STATUS || (TX_STATUS = {}));
10
11
  export const WRITE_RESOURCE = "write_resource";
12
+ export const APTOS_NON_HARDENED_DERIVATION_PATH_REGEX = /^44'\/637'\/[0-9]+'\/[0-9]+\/[0-9]+$/;
13
+ export const APTOS_NON_HARDENED_DERIVATION_PATH = "44'/637'/0'/0/0";
14
+ export const APTOS_HARDENED_DERIVATION_PATH = "44'/637'/0'/0'/0'";
11
15
  export const COIN_TRANSFER_TYPES = [
12
16
  "0x1::aptos_account::transfer",
13
17
  "0x1::aptos_account::transfer_coins",
@@ -20,18 +24,60 @@ export const BATCH_TRANSFER_TYPES = [
20
24
  ];
21
25
  export const DELEGATION_POOL_TYPES = [
22
26
  "0x1::delegation_pool::add_stake",
27
+ "0x1::delegation_pool::reactivate_stake",
28
+ "0x1::delegation_pool::unlock",
23
29
  "0x1::delegation_pool::withdraw",
24
30
  ];
31
+ export const ADD_STAKE_EVENTS = [
32
+ "0x1::stake::AddStake",
33
+ "0x1::stake::AddStakeEvent",
34
+ "0x1::delegation_pool::AddStake",
35
+ "0x1::delegation_pool::AddStakeEvent",
36
+ ];
37
+ export const REACTIVATE_STAKE_EVENTS = [
38
+ "0x1::stake::ReactivateStake",
39
+ "0x1::stake::ReactivateStakeEvent",
40
+ "0x1::delegation_pool::ReactivateStake",
41
+ "0x1::delegation_pool::ReactivateStakeEvent",
42
+ ];
43
+ export const UNLOCK_STAKE_EVENTS = [
44
+ "0x1::stake::UnlockStake",
45
+ "0x1::stake::UnlockStakeEvent",
46
+ "0x1::delegation_pool::UnlockStake",
47
+ "0x1::delegation_pool::UnlockStakeEvent",
48
+ ];
49
+ export const WITHDRAW_STAKE_EVENTS = [
50
+ "0x1::stake::WithdrawStake",
51
+ "0x1::stake::WithdrawStakeEvent",
52
+ "0x1::delegation_pool::WithdrawStake",
53
+ "0x1::delegation_pool::WithdrawStakeEvent",
54
+ ];
55
+ export const STAKING_EVENTS = ADD_STAKE_EVENTS.concat(REACTIVATE_STAKE_EVENTS, UNLOCK_STAKE_EVENTS, WITHDRAW_STAKE_EVENTS);
25
56
  export const APTOS_ASSET_ID = "0x1::aptos_coin::AptosCoin";
26
57
  export const APTOS_COIN_CHANGE = `0x1::coin::CoinStore<${APTOS_ASSET_ID}>`;
27
58
  export const APTOS_FUNGIBLE_STORE = "0x1::fungible_asset::FungibleStore";
28
59
  export const APTOS_OBJECT_CORE = "0x1::object::ObjectCore";
29
- export var DIRECTION;
30
- (function (DIRECTION) {
31
- DIRECTION["IN"] = "IN";
32
- DIRECTION["OUT"] = "OUT";
33
- DIRECTION["UNKNOWN"] = "UNKNOWN";
34
- })(DIRECTION || (DIRECTION = {}));
60
+ export var OP_TYPE;
61
+ (function (OP_TYPE) {
62
+ OP_TYPE["IN"] = "IN";
63
+ OP_TYPE["OUT"] = "OUT";
64
+ OP_TYPE["STAKE"] = "STAKE";
65
+ OP_TYPE["UNSTAKE"] = "UNSTAKE";
66
+ OP_TYPE["WITHDRAW"] = "WITHDRAW";
67
+ OP_TYPE["UNKNOWN"] = "UNKNOWN";
68
+ })(OP_TYPE || (OP_TYPE = {}));
69
+ export const SUPPORTED_TOKEN_TYPES = ["coin", "fungible_asset"];
70
+ export const STAKING_TX_MODES = ["stake", "unstake", "restake", "withdraw"];
71
+ export const APTOS_PRECISION = 8;
72
+ export const APTOS_MINIMUM_RESTAKE = BigNumber(1);
73
+ export const APTOS_MINIMUM_RESTAKE_IN_OCTAS = APTOS_MINIMUM_RESTAKE.shiftedBy(APTOS_PRECISION);
74
+ export const APTOS_DELEGATION_RESERVE = BigNumber(0.05);
75
+ export const APTOS_DELEGATION_RESERVE_IN_OCTAS = APTOS_DELEGATION_RESERVE.shiftedBy(APTOS_PRECISION);
76
+ export const MIN_COINS_ON_SHARES_POOL = BigNumber(11);
77
+ export const MIN_COINS_ON_SHARES_POOL_IN_OCTAS = MIN_COINS_ON_SHARES_POOL.shiftedBy(APTOS_PRECISION);
78
+ export const MIN_AMOUNT_TO_UNSTAKE = BigNumber(10);
79
+ export const MIN_AMOUNT_TO_UNSTAKE_IN_OCTAS = MIN_AMOUNT_TO_UNSTAKE.shiftedBy(APTOS_PRECISION);
80
+ export const APTOS_EXPLORER_ACCOUNT_URL = "https://explorer.aptoslabs.com/account";
35
81
  export var TOKEN_TYPE;
36
82
  (function (TOKEN_TYPE) {
37
83
  TOKEN_TYPE["COIN"] = "coin";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,0DAA0D;AAE9G,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,8BAA8B;IAC9B,oCAAoC;IACpC,qBAAqB;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAmB,CAAC,uCAAuC,CAAC,CAAC;AAE3F,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,oCAAoC;IACpC,0CAA0C;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,iCAAiC;IACjC,gCAAgC;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAiB,4BAA4B,CAAC;AAEzE,MAAM,CAAC,MAAM,iBAAiB,GAAiB,wBAAwB,cAAc,GAAG,CAAC;AAEzF,MAAM,CAAC,MAAM,oBAAoB,GAAiB,oCAAoC,CAAC;AAEvF,MAAM,CAAC,MAAM,iBAAiB,GAAiB,yBAAyB,CAAC;AAEzE,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,sBAAS,CAAA;IACT,wBAAW,CAAA;IACX,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,+CAAiC,CAAA;AACnC,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/lib-es/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- export * from "./types";
2
1
  export { createBridges } from "./bridge/index";
3
2
  //# 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,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
package/lib-es/index.js CHANGED
@@ -1,3 +1,2 @@
1
- export * from "./types";
2
1
  export { createBridges } from "./bridge/index";
3
2
  //# 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,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/buildTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAkB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,QAAA,MAAM,gBAAgB,YACX,OAAO,eACH,WAAW,eACX,QAAQ,oBACH,MAAM,cACZ,UAAU,KACrB,QAAQ,cAAc,CAkBxB,CAAC;AAgCF,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,OAE3C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"buildTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/buildTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAkB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,QAAA,MAAM,gBAAgB,YACX,OAAO,eACH,WAAW,eACX,QAAQ,oBACH,MAAM,cACZ,UAAU,KACrB,QAAQ,cAAc,CAiBxB,CAAC;AA2DF,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,OAE3C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -6,34 +6,57 @@ const buildTransaction = async (account, transaction, aptosClient, contractAddre
6
6
  const payloadContracAddress = subAccount ? subAccount.token.contractAddress : contractAddress;
7
7
  const payloadTokenType = subAccount?.token?.tokenType ?? tokenType;
8
8
  const txPayload = getPayload({
9
- amount: transaction.amount,
10
- recipient: transaction.recipient,
11
- contractAddress: payloadContracAddress,
9
+ transaction,
12
10
  tokenType: payloadTokenType,
11
+ contractAddress: payloadContracAddress,
13
12
  });
14
13
  const txOptions = normalizeTransactionOptions(transaction.options);
15
14
  const tx = await aptosClient.generateTransaction(account.freshAddress, txPayload, txOptions);
16
15
  return tx;
17
16
  };
18
- const getPayload = (args) => {
19
- if (args.tokenType !== undefined && !isTokenType(args.tokenType)) {
20
- throw new Error(`Token type ${args.tokenType} not supported`);
21
- }
22
- if (args.tokenType === TOKEN_TYPE.FUNGIBLE_ASSET) {
23
- return {
24
- function: "0x1::primary_fungible_store::transfer",
25
- typeArguments: ["0x1::fungible_asset::Metadata"],
26
- functionArguments: [args.contractAddress, args.recipient, args.amount.toString()],
27
- };
28
- }
29
- let address = args.contractAddress ?? "";
30
- if (address === "") {
31
- address = APTOS_ASSET_ID;
17
+ const getPayload = ({ transaction, tokenType, contractAddress, }) => {
18
+ const { amount, recipient, mode } = transaction;
19
+ switch (mode) {
20
+ case "stake":
21
+ return {
22
+ function: "0x1::delegation_pool::add_stake",
23
+ typeArguments: [],
24
+ functionArguments: [recipient, amount.toString()],
25
+ };
26
+ case "unstake":
27
+ return {
28
+ function: "0x1::delegation_pool::unlock",
29
+ typeArguments: [],
30
+ functionArguments: [recipient, amount.toString()],
31
+ };
32
+ case "restake":
33
+ return {
34
+ function: "0x1::delegation_pool::reactivate_stake",
35
+ typeArguments: [],
36
+ functionArguments: [recipient, amount.toString()],
37
+ };
38
+ case "withdraw":
39
+ return {
40
+ function: "0x1::delegation_pool::withdraw",
41
+ typeArguments: [],
42
+ functionArguments: [recipient, amount.toString()],
43
+ };
44
+ case "send":
45
+ if (tokenType !== undefined && !isTokenType(tokenType)) {
46
+ throw new Error(`Token type ${tokenType} not supported`);
47
+ }
48
+ if (tokenType === TOKEN_TYPE.FUNGIBLE_ASSET) {
49
+ return {
50
+ function: "0x1::primary_fungible_store::transfer",
51
+ typeArguments: ["0x1::fungible_asset::Metadata"],
52
+ functionArguments: [contractAddress, recipient, amount.toString()],
53
+ };
54
+ }
32
55
  }
33
56
  return {
34
57
  function: "0x1::aptos_account::transfer_coins",
35
- typeArguments: [address],
36
- functionArguments: [args.recipient, args.amount.toString()],
58
+ typeArguments: [contractAddress ?? APTOS_ASSET_ID],
59
+ functionArguments: [recipient, amount.toString()],
37
60
  };
38
61
  };
39
62
  export const isTokenType = (value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"buildTransaction.js","sourceRoot":"","sources":["../../src/logic/buildTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAI5E,MAAM,gBAAgB,GAAG,KAAK,EAC5B,OAAgB,EAChB,WAAwB,EACxB,WAAqB,EACrB,eAAwB,EACxB,SAAsB,EACG,EAAE;IAC3B,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAE/E,MAAM,qBAAqB,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;IAC9F,MAAM,gBAAgB,GAAI,UAAU,EAAE,KAAK,EAAE,SAAwB,IAAI,SAAS,CAAC;IAEnF,MAAM,SAAS,GAAG,UAAU,CAAC;QAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,eAAe,EAAE,qBAAqB;QACtC,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,2BAA2B,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAEnE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAE7F,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAKnB,EAA0B,EAAE;IAC3B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;QACjD,OAAO;YACL,QAAQ,EAAE,uCAAuC;YACjD,aAAa,EAAE,CAAC,+BAA+B,CAAC;YAChD,iBAAiB,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;SAClF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;IACzC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO,GAAG,cAAc,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,oCAAoC;QAC9C,aAAa,EAAE,CAAC,OAAO,CAAC;QACxB,iBAAiB,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAW,EAAE;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAmB,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"buildTransaction.js","sourceRoot":"","sources":["../../src/logic/buildTransaction.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import BigNumber from "bignumber.js";
2
+ import { OP_TYPE } from "../constants";
2
3
  import { AptosTransaction } from "../types";
3
4
  import { WriteSetChangeWriteResource, Event } from "@aptos-labs/ts-sdk";
4
5
  export declare function compareAddress(addressA: string, addressB: string): boolean;
@@ -9,5 +10,6 @@ export declare function getCoinAndAmounts(tx: AptosTransaction, address: string)
9
10
  coin_id: string | null;
10
11
  amount_in: BigNumber;
11
12
  amount_out: BigNumber;
13
+ type: OP_TYPE;
12
14
  };
13
15
  //# sourceMappingURL=getCoinAndAmounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCoinAndAmounts.d.ts","sourceRoot":"","sources":["../../src/logic/getCoinAndAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAIL,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAgB,2BAA2B,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAMtF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAKhE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAc9F;AAYD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAoBf;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAcf;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,gBAAgB,EACpB,OAAO,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,SAAS,CAAA;CAAE,CA4CzE"}
1
+ {"version":3,"file":"getCoinAndAmounts.d.ts","sourceRoot":"","sources":["../../src/logic/getCoinAndAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAKL,OAAO,EAKR,MAAM,cAAc,CAAC;AACtB,OAAO,EAIL,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAgB,2BAA2B,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAMtF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAKhE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAc9F;AAYD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAoBf;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAcf;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,gBAAgB,EACpB,OAAO,EAAE,MAAM,GACd;IACD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf,CA+EA"}
@@ -1,5 +1,5 @@
1
1
  import BigNumber from "bignumber.js";
2
- import { APTOS_ASSET_ID, APTOS_FUNGIBLE_STORE, APTOS_OBJECT_CORE } from "../constants";
2
+ import { ADD_STAKE_EVENTS, APTOS_ASSET_ID, APTOS_FUNGIBLE_STORE, APTOS_OBJECT_CORE, OP_TYPE, REACTIVATE_STAKE_EVENTS, STAKING_EVENTS, UNLOCK_STAKE_EVENTS, WITHDRAW_STAKE_EVENTS, } from "../constants";
3
3
  import { getResourceAddress } from "./getResourceAddress";
4
4
  import { isWriteSetChangeWriteResource } from "./isWriteSetChangeWriteResource";
5
5
  const CLEAN_HEX_REGEXP = /^0x0*|^0+/;
@@ -58,44 +58,71 @@ export function getCoinAndAmounts(tx, address) {
58
58
  let coin_id = null;
59
59
  let amount_in = BigNumber(0);
60
60
  let amount_out = BigNumber(0);
61
- // collect all events related to the address and calculate the overall amounts
62
- tx.events.forEach(event => {
63
- switch (event.type) {
64
- case "0x1::coin::WithdrawEvent":
65
- if (compareAddress(event.guid.account_address, address)) {
66
- coin_id = getResourceAddress(tx, event, "withdraw_events", getEventCoinAddress);
67
- amount_out = amount_out.plus(event.data.amount);
68
- }
69
- break;
70
- case "0x1::coin::DepositEvent":
71
- if (compareAddress(event.guid.account_address, address)) {
72
- coin_id = getResourceAddress(tx, event, "deposit_events", getEventCoinAddress);
73
- amount_in = amount_in.plus(event.data.amount);
74
- }
75
- break;
76
- case "0x1::fungible_asset::Withdraw":
77
- if (checkFAOwner(tx, event, address)) {
78
- coin_id = getResourceAddress(tx, event, "withdraw_events", getEventFAAddress);
79
- amount_out = amount_out.plus(event.data.amount);
80
- }
81
- break;
82
- case "0x1::fungible_asset::Deposit":
83
- if (checkFAOwner(tx, event, address)) {
84
- coin_id = getResourceAddress(tx, event, "deposit_events", getEventFAAddress);
85
- amount_in = amount_in.plus(event.data.amount);
86
- }
87
- break;
88
- case "0x1::transaction_fee::FeeStatement":
89
- if (tx.sender === address) {
90
- coin_id ??= APTOS_ASSET_ID;
91
- if (coin_id === APTOS_ASSET_ID) {
92
- const fees = BigNumber(tx.gas_unit_price).times(BigNumber(tx.gas_used));
93
- amount_out = amount_out.plus(fees);
94
- }
61
+ let type = OP_TYPE.UNKNOWN;
62
+ // Check if it is a staking transaction
63
+ const stakingTx = !!tx.events.find(event => STAKING_EVENTS.includes(event.type));
64
+ // Collect all events related to the address and calculate the overall amounts
65
+ if (stakingTx) {
66
+ tx.events.forEach(event => {
67
+ if (ADD_STAKE_EVENTS.includes(event.type) && tx.sender === address && amount_out.isZero()) {
68
+ coin_id = APTOS_ASSET_ID;
69
+ type = OP_TYPE.STAKE;
70
+ amount_out = amount_out.plus(event.data.amount_added || event.data.amount);
71
+ }
72
+ else if (REACTIVATE_STAKE_EVENTS.includes(event.type) &&
73
+ tx.sender === address &&
74
+ amount_out.isZero()) {
75
+ coin_id = APTOS_ASSET_ID;
76
+ type = OP_TYPE.STAKE;
77
+ amount_out = amount_out.plus(event.data.amount_reactivated || event.data.amount);
78
+ }
79
+ else if (UNLOCK_STAKE_EVENTS.includes(event.type) &&
80
+ tx.sender === address &&
81
+ amount_in.isZero()) {
82
+ coin_id = APTOS_ASSET_ID;
83
+ type = OP_TYPE.UNSTAKE;
84
+ amount_in = amount_in.plus(event.data.amount_unlocked || event.data.amount);
85
+ }
86
+ else if (WITHDRAW_STAKE_EVENTS.includes(event.type) &&
87
+ tx.sender === address &&
88
+ amount_in.isZero()) {
89
+ coin_id = APTOS_ASSET_ID;
90
+ type = OP_TYPE.WITHDRAW;
91
+ amount_in = amount_in.plus(event.data.amount_withdrawn || event.data.amount);
92
+ }
93
+ });
94
+ }
95
+ else {
96
+ tx.events.forEach(event => {
97
+ if (event.type === "0x1::coin::WithdrawEvent" &&
98
+ compareAddress(event.guid.account_address, address)) {
99
+ coin_id = getResourceAddress(tx, event, "withdraw_events", getEventCoinAddress);
100
+ amount_out = amount_out.plus(event.data.amount);
101
+ }
102
+ else if (event.type === "0x1::coin::DepositEvent" &&
103
+ compareAddress(event.guid.account_address, address)) {
104
+ coin_id = getResourceAddress(tx, event, "deposit_events", getEventCoinAddress);
105
+ amount_in = amount_in.plus(event.data.amount);
106
+ }
107
+ else if (event.type === "0x1::fungible_asset::Withdraw" &&
108
+ checkFAOwner(tx, event, address)) {
109
+ coin_id = getResourceAddress(tx, event, "withdraw_events", getEventFAAddress);
110
+ amount_out = amount_out.plus(event.data.amount);
111
+ }
112
+ else if (event.type === "0x1::fungible_asset::Deposit" &&
113
+ checkFAOwner(tx, event, address)) {
114
+ coin_id = getResourceAddress(tx, event, "deposit_events", getEventFAAddress);
115
+ amount_in = amount_in.plus(event.data.amount);
116
+ }
117
+ else if (event.type === "0x1::transaction_fee::FeeStatement" && tx.sender === address) {
118
+ coin_id ??= APTOS_ASSET_ID;
119
+ if (coin_id === APTOS_ASSET_ID) {
120
+ const fees = BigNumber(tx.gas_unit_price).times(BigNumber(tx.gas_used));
121
+ amount_out = amount_out.plus(fees);
95
122
  }
96
- break;
97
- }
98
- });
99
- return { coin_id, amount_in, amount_out };
123
+ }
124
+ });
125
+ }
126
+ return { coin_id, amount_in, amount_out, type };
100
127
  }
101
128
  //# sourceMappingURL=getCoinAndAmounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCoinAndAmounts.js","sourceRoot":"","sources":["../../src/logic/getCoinAndAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAQvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAErC,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,QAAgB;IAC/D,OAAO,CACL,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;QACpD,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAoB,EAAE,KAAY,EAAE,YAAoB;IACnF,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,IAA0D,CAAC;YACpF,IACE,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK;gBAClC,SAAS,CAAC,IAAI,IAAI,iBAAiB;gBACnC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,YAAY,EACpC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAmC,EACnC,KAAY,EACZ,UAAkB;IAElB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;IAEhC,MAAM,EAAE,GAAG,WAA8C,CAAC,CAAC,wCAAwC;IAEnG,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,IACE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,eAAe;QAC7D,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,IAAI,CAAC,eAAe,EACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAExC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAmC,EACnC,KAAY,EACZ,WAAmB;IAEnB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;IAEhC,IAAI,WAAW,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,GAAG,WAA2D,CAAC;IAEvE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,EAAoB,EACpB,OAAe;IAEf,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAE9B,8EAA8E;IAC9E,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,0BAA0B;gBAC7B,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC;oBACxD,OAAO,GAAG,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;oBAChF,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM;YACR,KAAK,yBAAyB;gBAC5B,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC;oBACxD,OAAO,GAAG,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;oBAC/E,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM;YACR,KAAK,+BAA+B;gBAClC,IAAI,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;oBACrC,OAAO,GAAG,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;oBAC9E,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM;YACR,KAAK,8BAA8B;gBACjC,IAAI,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;oBACrC,OAAO,GAAG,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;oBAC7E,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM;YACR,KAAK,oCAAoC;gBACvC,IAAI,EAAE,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBAC1B,OAAO,KAAK,cAAc,CAAC;oBAC3B,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACxE,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"getCoinAndAmounts.js","sourceRoot":"","sources":["../../src/logic/getCoinAndAmounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { Unit } from "@ledgerhq/types-cryptoassets";
3
+ import { AptosAccount, AptosMappedStakingPosition, AptosStakingPosition, AptosValidator } from "../types";
4
+ export declare const mapStakingPositions: (stakingPositions: AptosStakingPosition[], validators: AptosValidator[], unit: Unit) => AptosMappedStakingPosition[];
5
+ export declare const canStake: (account: AptosAccount) => boolean;
6
+ export declare const canUnstake: (stakingPosition: AptosMappedStakingPosition | AptosStakingPosition) => boolean;
7
+ export declare const canWithdraw: (stakingPosition: AptosMappedStakingPosition | AptosStakingPosition) => boolean;
8
+ export declare const canRestake: (stakingPosition: AptosMappedStakingPosition | AptosStakingPosition) => boolean;
9
+ export declare const getStakingPosition: (account: AptosAccount, validatorAddress: string) => AptosStakingPosition | undefined;
10
+ export declare const getDelegationOpMaxAmount: (account: AptosAccount, validatorAddress: string, mode: string) => BigNumber;
11
+ export declare const formatUnlockTime: (epochSecs: string) => string;
12
+ //# sourceMappingURL=staking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../src/logic/staking.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACf,MAAM,UAAU,CAAC;AAIlB,eAAO,MAAM,mBAAmB,qBACZ,oBAAoB,EAAE,cAC5B,cAAc,EAAE,QACtB,IAAI,KACT,0BAA0B,EAmB5B,CAAC;AAEF,eAAO,MAAM,QAAQ,YAAa,YAAY,KAAG,OAEhD,CAAC;AAEF,eAAO,MAAM,UAAU,oBACJ,0BAA0B,GAAG,oBAAoB,KACjE,OAEF,CAAC;AAEF,eAAO,MAAM,WAAW,oBACL,0BAA0B,GAAG,oBAAoB,KACjE,OAEF,CAAC;AAEF,eAAO,MAAM,UAAU,oBACJ,0BAA0B,GAAG,oBAAoB,KACjE,OAEF,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,YAAY,oBAAoB,MAAM,qCAG/E,CAAC;AAEJ,eAAO,MAAM,wBAAwB,YAC1B,YAAY,oBACH,MAAM,QAClB,MAAM,KACX,SAqBF,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAAe,MAAM,KAAG,MAapD,CAAC"}
@@ -0,0 +1,67 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { formatCurrencyUnit } from "@ledgerhq/coin-framework/currencies/formatCurrencyUnit";
3
+ import { MIN_COINS_ON_SHARES_POOL_IN_OCTAS } from "../constants";
4
+ import { getMaxSendBalance } from "../bridge/logic";
5
+ export const mapStakingPositions = (stakingPositions, validators, unit) => {
6
+ return stakingPositions.map(sp => {
7
+ const rank = validators.findIndex(v => v.address === sp.validatorId);
8
+ const validator = validators[rank] ?? sp;
9
+ const formatConfig = {
10
+ disableRounding: false,
11
+ alwaysShowSign: false,
12
+ showCode: true,
13
+ };
14
+ return {
15
+ ...sp,
16
+ formattedAmount: formatCurrencyUnit(unit, sp.active, formatConfig),
17
+ formattedPending: formatCurrencyUnit(unit, sp.pendingInactive, formatConfig),
18
+ formattedAvailable: formatCurrencyUnit(unit, sp.inactive, formatConfig),
19
+ rank,
20
+ validator,
21
+ };
22
+ });
23
+ };
24
+ export const canStake = (account) => {
25
+ return getMaxSendBalance(account) > MIN_COINS_ON_SHARES_POOL_IN_OCTAS;
26
+ };
27
+ export const canUnstake = (stakingPosition) => {
28
+ return stakingPosition.active.gt(0);
29
+ };
30
+ export const canWithdraw = (stakingPosition) => {
31
+ return stakingPosition.inactive.gt(0);
32
+ };
33
+ export const canRestake = (stakingPosition) => {
34
+ return stakingPosition.pendingInactive.gt(0);
35
+ };
36
+ export const getStakingPosition = (account, validatorAddress) => (account.aptosResources?.stakingPositions ?? []).find(stakingPosition => stakingPosition.validatorId === validatorAddress);
37
+ export const getDelegationOpMaxAmount = (account, validatorAddress, mode) => {
38
+ let maxAmount;
39
+ const stakingPosition = getStakingPosition(account, validatorAddress);
40
+ switch (mode) {
41
+ case "unstake":
42
+ maxAmount = stakingPosition?.active;
43
+ break;
44
+ case "withdraw":
45
+ maxAmount = stakingPosition?.inactive;
46
+ break;
47
+ case "restake":
48
+ maxAmount = stakingPosition?.pendingInactive;
49
+ }
50
+ if (maxAmount === undefined || maxAmount.lt(0)) {
51
+ return new BigNumber(0);
52
+ }
53
+ return maxAmount;
54
+ };
55
+ export const formatUnlockTime = (epochSecs) => {
56
+ const unlockTime = parseInt(epochSecs, 10) * 1000; // Convert to ms
57
+ const now = Date.now();
58
+ const diffMs = unlockTime - now;
59
+ if (diffMs <= 0)
60
+ return "Unlocked";
61
+ const totalMinutes = Math.floor(diffMs / (1000 * 60));
62
+ const days = Math.floor(totalMinutes / (60 * 24));
63
+ const hours = Math.floor((totalMinutes % (60 * 24)) / 60);
64
+ const minutes = totalMinutes % 60;
65
+ return `${days}d ${hours}h ${minutes}m`;
66
+ };
67
+ //# sourceMappingURL=staking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staking.js","sourceRoot":"","sources":["../../src/logic/staking.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import BigNumber from "bignumber.js";
2
- import { APTOS_ASSET_ID, DIRECTION } from "../constants";
2
+ import { APTOS_ASSET_ID, OP_TYPE } from "../constants";
3
3
  import { compareAddress, getCoinAndAmounts } from "./getCoinAndAmounts";
4
4
  import { calculateAmount } from "./calculateAmount";
5
5
  import { processRecipients } from "./processRecipients";
@@ -11,10 +11,10 @@ export const convertFunctionPayloadResponseToInputEntryFunctionData = (payload)
11
11
  functionArguments: payload.arguments,
12
12
  });
13
13
  const detectType = (address, tx, value) => {
14
- let type = compareAddress(tx.sender, address) ? DIRECTION.OUT : DIRECTION.IN;
14
+ let type = compareAddress(tx.sender, address) ? OP_TYPE.OUT : OP_TYPE.IN;
15
15
  if (!value) {
16
16
  // skip transaction that result no Aptos change
17
- type = DIRECTION.UNKNOWN;
17
+ type = OP_TYPE.UNKNOWN;
18
18
  }
19
19
  return type;
20
20
  };
@@ -61,7 +61,7 @@ export function transactionsToOperations(address, txs) {
61
61
  op.value = BigInt(value.isNaN() ? 0 : value.toString());
62
62
  op.senders.push(normalizeAddress(tx.sender));
63
63
  processRecipients(payload, address, op, function_address);
64
- if (op.type !== DIRECTION.UNKNOWN && coin_id !== null) {
64
+ if (op.type !== OP_TYPE.UNKNOWN && coin_id !== null) {
65
65
  if (coin_id === APTOS_ASSET_ID) {
66
66
  acc.push(op);
67
67
  return acc;
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsToOperations.js","sourceRoot":"","sources":["../../src/logic/transactionsToOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactionsToOperations.js","sourceRoot":"","sources":["../../src/logic/transactionsToOperations.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ApolloClient } from "@apollo/client";
1
2
  import { type AccountData, Ed25519PublicKey, type GasEstimation, type InputEntryFunctionData, type RawTransaction, type UserTransactionResponse, type AptosSettings } from "@aptos-labs/ts-sdk";
2
3
  import BigNumber from "bignumber.js";
3
4
  import type { AptosBalance, AptosTransaction, TransactionOptions } from "../types";
@@ -6,7 +7,7 @@ import { AptosAsset } from "../types/assets";
6
7
  export declare class AptosAPI {
7
8
  private readonly aptosConfig;
8
9
  private readonly aptosClient;
9
- private readonly apolloClient;
10
+ readonly apolloClient: ApolloClient<object>;
10
11
  constructor(currencyIdOrSettings: AptosSettings | string);
11
12
  getAccount(address: string): Promise<AccountData>;
12
13
  getAccountInfo(address: string, startAt?: string): Promise<{
@@ -24,6 +25,8 @@ export declare class AptosAPI {
24
25
  broadcast(tx: string): Promise<string>;
25
26
  getLastBlock(): Promise<BlockInfo>;
26
27
  estimateFees(transactionIntent: TransactionIntent<AptosAsset>): Promise<FeeEstimation>;
28
+ getNextUnlockTime(stakingPoolAddress: string): Promise<string | undefined>;
29
+ getDelegatorBalanceInPool(poolAddress: string, delegatorAddress: string): Promise<Array<string>>;
27
30
  listOperations(rawAddress: string, pagination: Pagination): Promise<[Operation<AptosAsset>[], string]>;
28
31
  private fetchTransactions;
29
32
  private richItemByVersion;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/network/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAGhB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAG3B,KAAK,cAAc,EAGnB,KAAK,uBAAuB,EAE5B,KAAK,aAAa,EAInB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,SAAS,MAAM,cAAc,CAAC;AASrC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMnF,OAAO,EACL,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,EACV,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAa7C,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;gBAExC,oBAAoB,EAAE,aAAa,GAAG,MAAM;IAoBlD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIjD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;;;;;IAahD,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAI1C,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC;IA6BpB,mBAAmB,CACvB,OAAO,EAAE,gBAAgB,EACzB,EAAE,EAAE,cAAc,EAClB,OAAO;;;;KAIN,GACA,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAQ/B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IActC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAUlC,YAAY,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAmDtF,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAQ/B,iBAAiB;YA8BjB,iBAAiB;YAkBjB,SAAS;YAQT,QAAQ;IAQhB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA2BtF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/network/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,KAAK,WAAW,EAGhB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAI3B,KAAK,cAAc,EAGnB,KAAK,uBAAuB,EAE5B,KAAK,aAAa,EAInB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,SAAS,MAAM,cAAc,CAAC;AASrC,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAEhB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,EACV,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAa7C,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IAEpC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;gBAEhC,oBAAoB,EAAE,aAAa,GAAG,MAAM;IAoBlD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIjD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;;;;;IAahD,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAI1C,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC;IA6BpB,mBAAmB,CACvB,OAAO,EAAE,gBAAgB,EACzB,EAAE,EAAE,cAAc,EAClB,OAAO;;;;KAIN,GACA,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAQ/B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IActC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAUlC,YAAY,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAqDtF,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAa1E,yBAAyB,CAC7B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAgBnB,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAQ/B,iBAAiB;YA8BjB,iBAAiB;YAkBjB,SAAS;YAQT,QAAQ;IAQhB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA2BtF"}
@@ -142,7 +142,9 @@ export class AptosAPI {
142
142
  const tx = await this.generateTransaction(transactionIntent.sender, txPayload, txOptions);
143
143
  const simulation = await this.simulateTransaction(publicKeyEd, tx);
144
144
  const completedTx = simulation[0];
145
- const gasLimit = new BigNumber(completedTx.gas_used).multipliedBy(ESTIMATE_GAS_MUL);
145
+ const gasLimit = new BigNumber(completedTx.gas_used)
146
+ .multipliedBy(ESTIMATE_GAS_MUL)
147
+ .integerValue();
146
148
  const gasPrice = new BigNumber(completedTx.gas_unit_price);
147
149
  const expectedGas = gasPrice.multipliedBy(gasLimit);
148
150
  return {
@@ -154,6 +156,35 @@ export class AptosAPI {
154
156
  },
155
157
  };
156
158
  }
159
+ async getNextUnlockTime(stakingPoolAddress) {
160
+ const resourceType = "0x1::stake::StakePool";
161
+ try {
162
+ const resource = await this.aptosClient.getAccountResource({
163
+ accountAddress: stakingPoolAddress,
164
+ resourceType,
165
+ });
166
+ return resource.locked_until_secs;
167
+ }
168
+ catch (error) {
169
+ log("error", "Failed to fetch StakePool resource:", { error });
170
+ }
171
+ }
172
+ async getDelegatorBalanceInPool(poolAddress, delegatorAddress) {
173
+ try {
174
+ // Query the delegator balance in the pool
175
+ return await this.aptosClient.view({
176
+ payload: {
177
+ function: "0x1::delegation_pool::get_stake",
178
+ typeArguments: [],
179
+ functionArguments: [poolAddress, delegatorAddress],
180
+ },
181
+ });
182
+ }
183
+ catch (error) {
184
+ log("error", "Failed to fetch delegation_pool::get_stake", { error });
185
+ return ["0", "0", "0"];
186
+ }
187
+ }
157
188
  async listOperations(rawAddress, pagination) {
158
189
  const address = normalizeAddress(rawAddress);
159
190
  const transactions = await this.getAccountInfo(address, pagination.minHeight.toString());