@ledgerhq/coin-aptos 1.9.6-next.0 → 2.0.0-nightly.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +18 -6
  3. package/CHANGELOG.md +19 -4
  4. package/jest.integ.config.js +8 -0
  5. package/lib/__tests__/api/index.integ.test.d.ts +2 -0
  6. package/lib/__tests__/api/index.integ.test.d.ts.map +1 -0
  7. package/lib/__tests__/api/index.integ.test.js +22 -0
  8. package/lib/__tests__/api/index.integ.test.js.map +1 -0
  9. package/lib/__tests__/api/index.test.js +48 -404
  10. package/lib/__tests__/api/index.test.js.map +1 -1
  11. package/lib/__tests__/bridge/broadcast.test.js +5 -5
  12. package/lib/__tests__/bridge/broadcast.test.js.map +1 -1
  13. package/lib/__tests__/bridge/buildTransaction.test.js +60 -5
  14. package/lib/__tests__/bridge/buildTransaction.test.js.map +1 -1
  15. package/lib/__tests__/bridge/getFeesForTransaction.test.js +115 -14
  16. package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
  17. package/lib/__tests__/bridge/getTransactionStatus.test.js +175 -37
  18. package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
  19. package/lib/__tests__/bridge/logic.test.js +889 -115
  20. package/lib/__tests__/bridge/logic.test.js.map +1 -1
  21. package/lib/__tests__/bridge/prepareTransaction.test.js +3 -3
  22. package/lib/__tests__/bridge/prepareTransaction.test.js.map +1 -1
  23. package/lib/__tests__/bridge/signOperation.test.js +131 -4
  24. package/lib/__tests__/bridge/signOperation.test.js.map +1 -1
  25. package/lib/__tests__/bridge/synchronisation.test.js +1215 -68
  26. package/lib/__tests__/bridge/synchronisation.test.js.map +1 -1
  27. package/lib/__tests__/network/client.test.d.ts +2 -0
  28. package/lib/__tests__/network/client.test.d.ts.map +1 -0
  29. package/lib/__tests__/network/client.test.js +478 -0
  30. package/lib/__tests__/network/client.test.js.map +1 -0
  31. package/lib/api/index.d.ts +4 -30
  32. package/lib/api/index.d.ts.map +1 -1
  33. package/lib/api/index.js +26 -170
  34. package/lib/api/index.js.map +1 -1
  35. package/lib/bridge/bridge.fixture.d.ts +2 -0
  36. package/lib/bridge/bridge.fixture.d.ts.map +1 -1
  37. package/lib/bridge/bridge.fixture.js +85 -13
  38. package/lib/bridge/bridge.fixture.js.map +1 -1
  39. package/lib/bridge/broadcast.d.ts +3 -2
  40. package/lib/bridge/broadcast.d.ts.map +1 -1
  41. package/lib/bridge/broadcast.js +4 -3
  42. package/lib/bridge/broadcast.js.map +1 -1
  43. package/lib/bridge/buildTransaction.d.ts +1 -1
  44. package/lib/bridge/buildTransaction.d.ts.map +1 -1
  45. package/lib/bridge/buildTransaction.js +29 -3
  46. package/lib/bridge/buildTransaction.js.map +1 -1
  47. package/lib/bridge/estimateMaxSpendable.js +3 -3
  48. package/lib/bridge/estimateMaxSpendable.js.map +1 -1
  49. package/lib/bridge/getFeesForTransaction.d.ts +1 -1
  50. package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
  51. package/lib/bridge/getFeesForTransaction.js +12 -7
  52. package/lib/bridge/getFeesForTransaction.js.map +1 -1
  53. package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
  54. package/lib/bridge/getTransactionStatus.js +28 -14
  55. package/lib/bridge/getTransactionStatus.js.map +1 -1
  56. package/lib/bridge/index.d.ts +1 -1
  57. package/lib/bridge/index.d.ts.map +1 -1
  58. package/lib/bridge/logic.d.ts +13 -8
  59. package/lib/bridge/logic.d.ts.map +1 -1
  60. package/lib/bridge/logic.js +152 -54
  61. package/lib/bridge/logic.js.map +1 -1
  62. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  63. package/lib/bridge/prepareTransaction.js +4 -4
  64. package/lib/bridge/prepareTransaction.js.map +1 -1
  65. package/lib/bridge/signOperation.d.ts.map +1 -1
  66. package/lib/bridge/signOperation.js +20 -6
  67. package/lib/bridge/signOperation.js.map +1 -1
  68. package/lib/bridge/synchronisation.d.ts +15 -0
  69. package/lib/bridge/synchronisation.d.ts.map +1 -1
  70. package/lib/bridge/synchronisation.js +129 -6
  71. package/lib/bridge/synchronisation.js.map +1 -1
  72. package/lib/config.d.ts +13 -0
  73. package/lib/config.d.ts.map +1 -0
  74. package/lib/config.js +9 -0
  75. package/lib/config.js.map +1 -0
  76. package/lib/constants.d.ts +5 -1
  77. package/lib/constants.d.ts.map +1 -1
  78. package/lib/constants.js +6 -2
  79. package/lib/constants.js.map +1 -1
  80. package/lib/network/client.d.ts +34 -0
  81. package/lib/network/client.d.ts.map +1 -0
  82. package/lib/network/client.js +213 -0
  83. package/lib/network/client.js.map +1 -0
  84. package/lib/network/graphql/queries.d.ts.map +1 -0
  85. package/lib/{api → network}/graphql/queries.js +6 -6
  86. package/lib/network/graphql/queries.js.map +1 -0
  87. package/lib/{api → network}/graphql/types.d.ts +9 -9
  88. package/lib/network/graphql/types.d.ts.map +1 -0
  89. package/lib/{api → network}/graphql/types.js.map +1 -1
  90. package/lib/network/index.d.ts +2 -1
  91. package/lib/network/index.d.ts.map +1 -1
  92. package/lib/network/index.js +15 -0
  93. package/lib/network/index.js.map +1 -1
  94. package/lib/test/bot-specs.d.ts.map +1 -1
  95. package/lib/test/bot-specs.js +40 -1
  96. package/lib/test/bot-specs.js.map +1 -1
  97. package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
  98. package/lib/test/bridgeDatasetTest.js +44 -62
  99. package/lib/test/bridgeDatasetTest.js.map +1 -1
  100. package/lib/test/speculos-deviceActions.d.ts +1 -0
  101. package/lib/test/speculos-deviceActions.d.ts.map +1 -1
  102. package/lib/test/speculos-deviceActions.js +37 -5
  103. package/lib/test/speculos-deviceActions.js.map +1 -1
  104. package/lib/types/assets.d.ts +3 -0
  105. package/lib/types/assets.d.ts.map +1 -0
  106. package/lib/types/assets.js +3 -0
  107. package/lib/types/assets.js.map +1 -0
  108. package/lib/types/index.d.ts +18 -7
  109. package/lib/types/index.d.ts.map +1 -1
  110. package/lib-es/__tests__/api/index.integ.test.d.ts +2 -0
  111. package/lib-es/__tests__/api/index.integ.test.d.ts.map +1 -0
  112. package/lib-es/__tests__/api/index.integ.test.js +20 -0
  113. package/lib-es/__tests__/api/index.integ.test.js.map +1 -0
  114. package/lib-es/__tests__/api/index.test.js +52 -408
  115. package/lib-es/__tests__/api/index.test.js.map +1 -1
  116. package/lib-es/__tests__/bridge/broadcast.test.js +2 -2
  117. package/lib-es/__tests__/bridge/broadcast.test.js.map +1 -1
  118. package/lib-es/__tests__/bridge/buildTransaction.test.js +60 -5
  119. package/lib-es/__tests__/bridge/buildTransaction.test.js.map +1 -1
  120. package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +112 -11
  121. package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
  122. package/lib-es/__tests__/bridge/getTransactionStatus.test.js +177 -39
  123. package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
  124. package/lib-es/__tests__/bridge/logic.test.js +891 -117
  125. package/lib-es/__tests__/bridge/logic.test.js.map +1 -1
  126. package/lib-es/__tests__/bridge/prepareTransaction.test.js +2 -2
  127. package/lib-es/__tests__/bridge/prepareTransaction.test.js.map +1 -1
  128. package/lib-es/__tests__/bridge/signOperation.test.js +131 -4
  129. package/lib-es/__tests__/bridge/signOperation.test.js.map +1 -1
  130. package/lib-es/__tests__/bridge/synchronisation.test.js +1213 -69
  131. package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -1
  132. package/lib-es/__tests__/network/client.test.d.ts +2 -0
  133. package/lib-es/__tests__/network/client.test.d.ts.map +1 -0
  134. package/lib-es/__tests__/network/client.test.js +473 -0
  135. package/lib-es/__tests__/network/client.test.js.map +1 -0
  136. package/lib-es/api/index.d.ts +4 -30
  137. package/lib-es/api/index.d.ts.map +1 -1
  138. package/lib-es/api/index.js +24 -168
  139. package/lib-es/api/index.js.map +1 -1
  140. package/lib-es/bridge/bridge.fixture.d.ts +2 -0
  141. package/lib-es/bridge/bridge.fixture.d.ts.map +1 -1
  142. package/lib-es/bridge/bridge.fixture.js +82 -12
  143. package/lib-es/bridge/bridge.fixture.js.map +1 -1
  144. package/lib-es/bridge/broadcast.d.ts +3 -2
  145. package/lib-es/bridge/broadcast.d.ts.map +1 -1
  146. package/lib-es/bridge/broadcast.js +4 -3
  147. package/lib-es/bridge/broadcast.js.map +1 -1
  148. package/lib-es/bridge/buildTransaction.d.ts +1 -1
  149. package/lib-es/bridge/buildTransaction.d.ts.map +1 -1
  150. package/lib-es/bridge/buildTransaction.js +30 -4
  151. package/lib-es/bridge/buildTransaction.js.map +1 -1
  152. package/lib-es/bridge/estimateMaxSpendable.js +2 -2
  153. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
  154. package/lib-es/bridge/getFeesForTransaction.d.ts +1 -1
  155. package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -1
  156. package/lib-es/bridge/getFeesForTransaction.js +13 -8
  157. package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
  158. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
  159. package/lib-es/bridge/getTransactionStatus.js +28 -14
  160. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  161. package/lib-es/bridge/index.d.ts +1 -1
  162. package/lib-es/bridge/index.d.ts.map +1 -1
  163. package/lib-es/bridge/logic.d.ts +13 -8
  164. package/lib-es/bridge/logic.d.ts.map +1 -1
  165. package/lib-es/bridge/logic.js +146 -52
  166. package/lib-es/bridge/logic.js.map +1 -1
  167. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  168. package/lib-es/bridge/prepareTransaction.js +3 -3
  169. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  170. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  171. package/lib-es/bridge/signOperation.js +18 -4
  172. package/lib-es/bridge/signOperation.js.map +1 -1
  173. package/lib-es/bridge/synchronisation.d.ts +15 -0
  174. package/lib-es/bridge/synchronisation.d.ts.map +1 -1
  175. package/lib-es/bridge/synchronisation.js +124 -4
  176. package/lib-es/bridge/synchronisation.js.map +1 -1
  177. package/lib-es/config.d.ts +13 -0
  178. package/lib-es/config.d.ts.map +1 -0
  179. package/lib-es/config.js +4 -0
  180. package/lib-es/config.js.map +1 -0
  181. package/lib-es/constants.d.ts +5 -1
  182. package/lib-es/constants.d.ts.map +1 -1
  183. package/lib-es/constants.js +5 -1
  184. package/lib-es/constants.js.map +1 -1
  185. package/lib-es/network/client.d.ts +34 -0
  186. package/lib-es/network/client.d.ts.map +1 -0
  187. package/lib-es/network/client.js +206 -0
  188. package/lib-es/network/client.js.map +1 -0
  189. package/lib-es/network/graphql/queries.d.ts.map +1 -0
  190. package/lib-es/{api → network}/graphql/queries.js +6 -6
  191. package/lib-es/network/graphql/queries.js.map +1 -0
  192. package/lib-es/{api → network}/graphql/types.d.ts +9 -9
  193. package/lib-es/network/graphql/types.d.ts.map +1 -0
  194. package/lib-es/{api → network}/graphql/types.js.map +1 -1
  195. package/lib-es/network/index.d.ts +2 -1
  196. package/lib-es/network/index.d.ts.map +1 -1
  197. package/lib-es/network/index.js +1 -0
  198. package/lib-es/network/index.js.map +1 -1
  199. package/lib-es/test/bot-specs.d.ts.map +1 -1
  200. package/lib-es/test/bot-specs.js +41 -2
  201. package/lib-es/test/bot-specs.js.map +1 -1
  202. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -1
  203. package/lib-es/test/bridgeDatasetTest.js +44 -59
  204. package/lib-es/test/bridgeDatasetTest.js.map +1 -1
  205. package/lib-es/test/speculos-deviceActions.d.ts +1 -0
  206. package/lib-es/test/speculos-deviceActions.d.ts.map +1 -1
  207. package/lib-es/test/speculos-deviceActions.js +36 -4
  208. package/lib-es/test/speculos-deviceActions.js.map +1 -1
  209. package/lib-es/types/assets.d.ts +3 -0
  210. package/lib-es/types/assets.d.ts.map +1 -0
  211. package/lib-es/types/assets.js +2 -0
  212. package/lib-es/types/assets.js.map +1 -0
  213. package/lib-es/types/index.d.ts +18 -7
  214. package/lib-es/types/index.d.ts.map +1 -1
  215. package/package.json +10 -8
  216. package/src/__tests__/api/index.integ.test.ts +24 -0
  217. package/src/__tests__/api/index.test.ts +58 -477
  218. package/src/__tests__/bridge/broadcast.test.ts +2 -2
  219. package/src/__tests__/bridge/buildTransaction.test.ts +87 -5
  220. package/src/__tests__/bridge/getFeesForTransaction.test.ts +146 -11
  221. package/src/__tests__/bridge/getTransactionStatus.test.ts +217 -38
  222. package/src/__tests__/bridge/logic.test.ts +922 -118
  223. package/src/__tests__/bridge/prepareTransaction.test.ts +2 -2
  224. package/src/__tests__/bridge/signOperation.test.ts +147 -5
  225. package/src/__tests__/bridge/synchronisation.test.ts +1265 -71
  226. package/src/__tests__/network/client.test.ts +569 -0
  227. package/src/api/index.ts +30 -223
  228. package/src/bridge/bridge.fixture.ts +91 -12
  229. package/src/bridge/broadcast.ts +7 -7
  230. package/src/bridge/buildTransaction.ts +40 -7
  231. package/src/bridge/estimateMaxSpendable.ts +2 -2
  232. package/src/bridge/getFeesForTransaction.ts +15 -10
  233. package/src/bridge/getTransactionStatus.ts +35 -13
  234. package/src/bridge/index.ts +1 -1
  235. package/src/bridge/logic.ts +202 -63
  236. package/src/bridge/prepareTransaction.ts +5 -3
  237. package/src/bridge/signOperation.ts +20 -4
  238. package/src/bridge/synchronisation.ts +171 -4
  239. package/src/config.ts +19 -0
  240. package/src/constants.ts +12 -1
  241. package/src/network/client.ts +265 -0
  242. package/src/{api → network}/graphql/queries.ts +6 -6
  243. package/src/{api → network}/graphql/types.ts +9 -9
  244. package/src/network/index.ts +2 -1
  245. package/src/test/bot-specs.ts +63 -3
  246. package/src/test/bridgeDatasetTest.ts +46 -59
  247. package/src/test/speculos-deviceActions.ts +40 -4
  248. package/src/types/assets.ts +3 -0
  249. package/src/types/index.ts +15 -1
  250. package/lib/api/graphql/queries.d.ts.map +0 -1
  251. package/lib/api/graphql/queries.js.map +0 -1
  252. package/lib/api/graphql/types.d.ts.map +0 -1
  253. package/lib-es/api/graphql/queries.d.ts.map +0 -1
  254. package/lib-es/api/graphql/queries.js.map +0 -1
  255. package/lib-es/api/graphql/types.d.ts.map +0 -1
  256. /package/lib/{api → network}/graphql/queries.d.ts +0 -0
  257. /package/lib/{api → network}/graphql/types.js +0 -0
  258. /package/lib-es/{api → network}/graphql/queries.d.ts +0 -0
  259. /package/lib-es/{api → network}/graphql/types.js +0 -0
@@ -1,7 +1,117 @@
1
+ import { inferSubOperations } from "@ledgerhq/coin-framework/serialization/index";
1
2
  import { decodeAccountId, encodeAccountId } from "@ledgerhq/coin-framework/account";
2
3
  import { mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
3
- import { AptosAPI } from "../api";
4
+ import { AptosAPI } from "../network";
4
5
  import { txsToOps } from "./logic";
6
+ import { decodeTokenAccountId, emptyHistoryCache, encodeTokenAccountId, } from "@ledgerhq/coin-framework/account/index";
7
+ /**
8
+ * List of properties of a sub account that can be updated when 2 "identical" accounts are found
9
+ */
10
+ const updatableSubAccountProperties = [
11
+ { name: "balance", isOps: false },
12
+ { name: "spendableBalance", isOps: false },
13
+ { name: "balanceHistoryCache", isOps: false },
14
+ { name: "operations", isOps: true },
15
+ { name: "pendingOperations", isOps: true },
16
+ ];
17
+ /**
18
+ * In charge of smartly merging sub accounts while maintaining references as much as possible
19
+ */
20
+ export const mergeSubAccounts = (initialAccount, newSubAccounts) => {
21
+ const oldSubAccounts = initialAccount?.subAccounts;
22
+ if (!oldSubAccounts) {
23
+ return newSubAccounts;
24
+ }
25
+ // Creating a map of already existing sub accounts by id
26
+ const oldSubAccountsById = {};
27
+ for (const oldSubAccount of oldSubAccounts) {
28
+ oldSubAccountsById[oldSubAccount.id] = oldSubAccount;
29
+ }
30
+ // Looping on new sub accounts to compare them with already existing ones
31
+ // Already existing will be updated if necessary (see `updatableSubAccountProperties`)
32
+ // Fresh new sub accounts will be added/pushed after already existing
33
+ const newSubAccountsToAdd = [];
34
+ for (const newSubAccount of newSubAccounts) {
35
+ const duplicatedAccount = oldSubAccountsById[newSubAccount.id];
36
+ // If this sub account was not already in the initialAccount
37
+ if (!duplicatedAccount) {
38
+ // We'll add it later
39
+ newSubAccountsToAdd.push(newSubAccount);
40
+ continue;
41
+ }
42
+ const updates = {};
43
+ for (const { name, isOps } of updatableSubAccountProperties) {
44
+ if (!isOps) {
45
+ if (newSubAccount[name] !==
46
+ duplicatedAccount[name]) {
47
+ updates[name] = newSubAccount[name];
48
+ }
49
+ }
50
+ else {
51
+ updates[name] =
52
+ mergeOps(duplicatedAccount[name], newSubAccount[name]) || [];
53
+ }
54
+ }
55
+ // Updating the operationsCount in case the mergeOps changed it
56
+ updates.operationsCount =
57
+ updates.operations?.length || duplicatedAccount?.operations?.length || 0;
58
+ // Modifying the Map with the updated sub account with a new ref
59
+ oldSubAccountsById[newSubAccount.id] = {
60
+ ...duplicatedAccount,
61
+ ...updates,
62
+ };
63
+ }
64
+ const updatedSubAccounts = Object.values(oldSubAccountsById);
65
+ return [...updatedSubAccounts, ...newSubAccountsToAdd];
66
+ };
67
+ /**
68
+ * Fetch the balance for a token and creates a TokenAccount based on this and the provided operations
69
+ */
70
+ export const getSubAccountShape = async (currency, address, parentId, token, operations) => {
71
+ const aptosClient = new AptosAPI(currency.id);
72
+ const tokenAccountId = encodeTokenAccountId(parentId, token);
73
+ const balance = await aptosClient.getBalance(address, token);
74
+ const firstOperation = operations
75
+ .sort((a, b) => b.date.getTime() - a.date.getTime())
76
+ .at(operations.length - 1);
77
+ return {
78
+ type: "TokenAccount",
79
+ id: tokenAccountId,
80
+ parentId,
81
+ token,
82
+ balance,
83
+ spendableBalance: balance,
84
+ creationDate: firstOperation?.date || new Date(0),
85
+ operations,
86
+ operationsCount: operations.length,
87
+ pendingOperations: [],
88
+ balanceHistoryCache: emptyHistoryCache,
89
+ swapHistory: [],
90
+ };
91
+ };
92
+ /**
93
+ * Getting all token related operations in order to provide TokenAccounts
94
+ */
95
+ export const getSubAccounts = async (infos, address, accountId, lastTokenOperations) => {
96
+ const { currency } = infos;
97
+ // Creating a Map of Operations by TokenCurrencies in order to know which TokenAccounts should be synced as well
98
+ const operationsByToken = lastTokenOperations.reduce((acc, operation) => {
99
+ const { token } = decodeTokenAccountId(operation.accountId);
100
+ if (!token)
101
+ return acc; // TODO: do we need to check blacklistedTokenIds
102
+ if (!acc.has(token)) {
103
+ acc.set(token, []);
104
+ }
105
+ acc.get(token)?.push(operation);
106
+ return acc;
107
+ }, new Map());
108
+ // Fetching all TokenAccounts possible and providing already filtered operations
109
+ const subAccountsPromises = [];
110
+ for (const [token, ops] of operationsByToken.entries()) {
111
+ subAccountsPromises.push(getSubAccountShape(currency, address, accountId, token, ops));
112
+ }
113
+ return Promise.all(subAccountsPromises);
114
+ };
5
115
  export const getAccountShape = async (info) => {
6
116
  const { address, initialAccount, currency, derivationMode, rest } = info;
7
117
  const publicKey = rest?.publicKey || (initialAccount && decodeAccountId(initialAccount.id).xpubOrAddress);
@@ -18,11 +128,20 @@ export const getAccountShape = async (info) => {
18
128
  // "xpub" field is used because this field exists in ledger operation type
19
129
  const xpub = initialAccount?.xpub || publicKey || "";
20
130
  const oldOperations = initialAccount?.operations || [];
21
- const startAt = oldOperations[0]?.extra?.version;
22
131
  const aptosClient = new AptosAPI(currency.id);
23
- const { balance, transactions, blockHeight } = await aptosClient.getAccountInfo(address, startAt);
24
- const newOperations = txsToOps(info, accountId, transactions);
132
+ const { balance, transactions, blockHeight } = await aptosClient.getAccountInfo(address);
133
+ const [newOperations, tokenOperations] = txsToOps(info, accountId, transactions);
25
134
  const operations = mergeOps(oldOperations, newOperations);
135
+ const newSubAccounts = await getSubAccounts(info, address, accountId, tokenOperations);
136
+ const shouldSyncFromScratch = initialAccount === undefined;
137
+ const subAccounts = shouldSyncFromScratch
138
+ ? newSubAccounts
139
+ : mergeSubAccounts(initialAccount, newSubAccounts);
140
+ operations.forEach(op => {
141
+ const subOperations = inferSubOperations(op.hash, subAccounts);
142
+ op.subOperations =
143
+ subOperations.length === 1 ? subOperations : subOperations.filter(op => !!op.blockHash);
144
+ });
26
145
  const shape = {
27
146
  type: "Account",
28
147
  id: accountId,
@@ -33,6 +152,7 @@ export const getAccountShape = async (info) => {
33
152
  operationsCount: operations.length,
34
153
  blockHeight,
35
154
  lastSyncDate: new Date(),
155
+ subAccounts,
36
156
  };
37
157
  return shape;
38
158
  };
@@ -1 +1 @@
1
- {"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,MAAM,CAAC,MAAM,eAAe,GAAoB,KAAK,EAAC,IAAI,EAAC,EAAE;IAC3D,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAEzE,MAAM,SAAS,GACb,IAAI,EAAE,SAAS,IAAI,CAAC,cAAc,IAAI,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAE1F,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,aAAa,EAAE,SAAS,IAAI,OAAO;QACnC,cAAc;KACf,CAAC,CAAC;IAEH,yFAAyF;IACzF,4EAA4E;IAC5E,kDAAkD;IAClD,0EAA0E;IAC1E,MAAM,IAAI,GAAG,cAAc,EAAE,IAAI,IAAI,SAAS,IAAI,EAAE,CAAC;IAErD,MAAM,aAAa,GAAG,cAAc,EAAE,UAAU,IAAI,EAAE,CAAC;IACvD,MAAM,OAAO,GAAI,aAAa,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,OAAO,CAAC;IAE1D,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAElG,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAE1D,MAAM,KAAK,GAA0B;QACnC,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,SAAS;QACb,IAAI;QACJ,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,OAAO;QACzB,UAAU;QACV,eAAe,EAAE,UAAU,CAAC,MAAM;QAClC,WAAW;QACX,YAAY,EAAE,IAAI,IAAI,EAAE;KACzB,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type AptosSettings } from "@aptos-labs/ts-sdk";
2
+ import { type CoinConfig, type CurrencyConfig } from "@ledgerhq/coin-framework/config";
3
+ import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
4
+ export type AptosConfig = {
5
+ aptosSettings: AptosSettings;
6
+ };
7
+ export type AptosCoinConfig = CurrencyConfig & AptosConfig;
8
+ declare const coinConfig: {
9
+ setCoinConfig: (config: CoinConfig<AptosCoinConfig>) => void;
10
+ getCoinConfig: (currency?: CryptoCurrency) => AptosCoinConfig;
11
+ };
12
+ export default coinConfig;
13
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAwB,EACtB,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,WAAW,CAAC;AAE3D,QAAA,MAAM,UAAU,EAAE;IAChB,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC7D,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,cAAc,KAAK,eAAe,CAAC;CAC1B,CAAC;AAEvC,eAAe,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import buildCoinConfig from "@ledgerhq/coin-framework/config";
2
+ const coinConfig = buildCoinConfig();
3
+ export default coinConfig;
4
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,eAGN,MAAM,iCAAiC,CAAC;AASzC,MAAM,UAAU,GAGZ,eAAe,EAAmB,CAAC;AAEvC,eAAe,UAAU,CAAC"}
@@ -6,14 +6,18 @@ export declare enum TX_STATUS {
6
6
  SUCCESS = "success"
7
7
  }
8
8
  export declare const WRITE_RESOURCE = "write_resource";
9
- export declare const TRANSFER_TYPES: MoveStructId[];
9
+ export declare const COIN_TRANSFER_TYPES: MoveStructId[];
10
+ export declare const FA_TRANSFER_TYPES: MoveStructId[];
10
11
  export declare const BATCH_TRANSFER_TYPES: MoveStructId[];
11
12
  export declare const DELEGATION_POOL_TYPES: MoveStructId[];
12
13
  export declare const APTOS_ASSET_ID: MoveStructId;
13
14
  export declare const APTOS_COIN_CHANGE: MoveStructId;
15
+ export declare const APTOS_FUNGIBLE_STORE: MoveStructId;
16
+ export declare const APTOS_OBJECT_CORE: MoveStructId;
14
17
  export declare enum DIRECTION {
15
18
  IN = "IN",
16
19
  OUT = "OUT",
17
20
  UNKNOWN = "UNKNOWN"
18
21
  }
22
+ export declare const SUPPORTED_TOKEN_TYPES: string[];
19
23
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,eAAO,MAAM,cAAc,EAAE,YAAY,EAIxC,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAG9C,CAAC;AACF,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAG/C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,YAA2C,CAAC;AACzE,eAAO,MAAM,iBAAiB,EAAE,YAAwD,CAAC;AAEzF,oBAAY,SAAS;IACnB,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,eAAO,MAAM,mBAAmB,EAAE,YAAY,EAI7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,EAA8C,CAAC;AAE3F,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAG9C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAG/C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,YAA2C,CAAC;AAEzE,eAAO,MAAM,iBAAiB,EAAE,YAAwD,CAAC;AAEzF,eAAO,MAAM,oBAAoB,EAAE,YAAmD,CAAC;AAEvF,eAAO,MAAM,iBAAiB,EAAE,YAAwC,CAAC;AAEzE,oBAAY,SAAS;IACnB,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,qBAAqB,UAA6B,CAAC"}
@@ -6,11 +6,12 @@ export var TX_STATUS;
6
6
  TX_STATUS["SUCCESS"] = "success";
7
7
  })(TX_STATUS || (TX_STATUS = {}));
8
8
  export const WRITE_RESOURCE = "write_resource";
9
- export const TRANSFER_TYPES = [
9
+ export const COIN_TRANSFER_TYPES = [
10
10
  "0x1::aptos_account::transfer",
11
11
  "0x1::aptos_account::transfer_coins",
12
12
  "0x1::coin::transfer",
13
13
  ];
14
+ export const FA_TRANSFER_TYPES = ["0x1::primary_fungible_store::transfer"];
14
15
  export const BATCH_TRANSFER_TYPES = [
15
16
  "0x1::aptos_account::batch_transfer",
16
17
  "0x1::aptos_account::batch_transfer_coins",
@@ -21,10 +22,13 @@ export const DELEGATION_POOL_TYPES = [
21
22
  ];
22
23
  export const APTOS_ASSET_ID = "0x1::aptos_coin::AptosCoin";
23
24
  export const APTOS_COIN_CHANGE = `0x1::coin::CoinStore<${APTOS_ASSET_ID}>`;
25
+ export const APTOS_FUNGIBLE_STORE = "0x1::fungible_asset::FungibleStore";
26
+ export const APTOS_OBJECT_CORE = "0x1::object::ObjectCore";
24
27
  export var DIRECTION;
25
28
  (function (DIRECTION) {
26
29
  DIRECTION["IN"] = "IN";
27
30
  DIRECTION["OUT"] = "OUT";
28
31
  DIRECTION["UNKNOWN"] = "UNKNOWN";
29
32
  })(DIRECTION || (DIRECTION = {}));
33
+ export const SUPPORTED_TOKEN_TYPES = ["coin", "fungible_asset"];
30
34
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,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,cAAc,GAAmB;IAC5C,8BAA8B;IAC9B,oCAAoC;IACpC,qBAAqB;CACtB,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,oCAAoC;IACpC,0CAA0C;CAC3C,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,iCAAiC;IACjC,gCAAgC;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAiB,4BAA4B,CAAC;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAiB,wBAAwB,cAAc,GAAG,CAAC;AAEzF,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,sBAAS,CAAA;IACT,wBAAW,CAAA;IACX,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,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,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { AccountData, Ed25519PublicKey, GasEstimation, InputEntryFunctionData, RawTransaction, UserTransactionResponse, AptosSettings } from "@aptos-labs/ts-sdk";
2
+ import BigNumber from "bignumber.js";
3
+ import type { AptosTransaction, TransactionOptions } from "../types";
4
+ import { TokenCurrency } from "@ledgerhq/types-cryptoassets";
5
+ import { BlockInfo } from "@ledgerhq/coin-framework/api/types";
6
+ export declare class AptosAPI {
7
+ private aptosConfig;
8
+ private aptosClient;
9
+ private apolloClient;
10
+ constructor(currencyIdOrSettings: AptosSettings | string);
11
+ getAccount(address: string): Promise<AccountData>;
12
+ getAccountInfo(address: string, startAt?: string): Promise<{
13
+ balance: BigNumber;
14
+ transactions: (AptosTransaction | null)[];
15
+ blockHeight: number;
16
+ }>;
17
+ estimateGasPrice(): Promise<GasEstimation>;
18
+ generateTransaction(address: string, payload: InputEntryFunctionData, options: TransactionOptions): Promise<RawTransaction>;
19
+ simulateTransaction(address: Ed25519PublicKey, tx: RawTransaction, options?: {
20
+ estimateGasUnitPrice: boolean;
21
+ estimateMaxGasAmount: boolean;
22
+ estimatePrioritizedGasUnitPrice: boolean;
23
+ }): Promise<UserTransactionResponse[]>;
24
+ broadcast(signature: string): Promise<string>;
25
+ getBalance(address: string, token: TokenCurrency): Promise<BigNumber>;
26
+ getLastBlock(): Promise<BlockInfo>;
27
+ getCoinBalance(address: string, contract_address: string): Promise<BigNumber>;
28
+ getFABalance(address: string, contract_address: string): Promise<BigNumber>;
29
+ private fetchTransactions;
30
+ private richItemByVersion;
31
+ private getHeight;
32
+ private getBlock;
33
+ }
34
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/network/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAIX,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EAItB,cAAc,EAGd,uBAAuB,EAGvB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMrE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAS/D,qBAAa,QAAQ;IACnB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,YAAY,CAAuB;gBAE/B,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;;;;;IAchD,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,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa7C,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IAUrE,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAUlC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAgB7E,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;YAgBnE,iBAAiB;YA8BjB,iBAAiB;YAejB,SAAS;YAQT,QAAQ;CAOvB"}
@@ -0,0 +1,206 @@
1
+ import { ApolloClient, InMemoryCache } from "@apollo/client";
2
+ import { Aptos, AptosApiType, AptosConfig, MimeType, post, } from "@aptos-labs/ts-sdk";
3
+ import { getEnv } from "@ledgerhq/live-env";
4
+ import network from "@ledgerhq/live-network";
5
+ import BigNumber from "bignumber.js";
6
+ import isUndefined from "lodash/isUndefined";
7
+ import { APTOS_ASSET_ID } from "../constants";
8
+ import { isTestnet } from "../bridge/logic";
9
+ import { GetAccountTransactionsData, GetAccountTransactionsDataGt } from "./graphql/queries";
10
+ const getApiEndpoint = (currencyId) => isTestnet(currencyId) ? getEnv("APTOS_TESTNET_API_ENDPOINT") : getEnv("APTOS_API_ENDPOINT");
11
+ const getIndexerEndpoint = (currencyId) => isTestnet(currencyId)
12
+ ? getEnv("APTOS_TESTNET_INDEXER_ENDPOINT")
13
+ : getEnv("APTOS_INDEXER_ENDPOINT");
14
+ export class AptosAPI {
15
+ aptosConfig;
16
+ aptosClient;
17
+ apolloClient;
18
+ constructor(currencyIdOrSettings) {
19
+ if (typeof currencyIdOrSettings === "string") {
20
+ this.aptosConfig = new AptosConfig({
21
+ fullnode: getApiEndpoint(currencyIdOrSettings),
22
+ indexer: getIndexerEndpoint(currencyIdOrSettings),
23
+ });
24
+ }
25
+ else {
26
+ this.aptosConfig = new AptosConfig(currencyIdOrSettings);
27
+ }
28
+ this.aptosClient = new Aptos(this.aptosConfig);
29
+ this.apolloClient = new ApolloClient({
30
+ uri: this.aptosConfig.indexer || "",
31
+ cache: new InMemoryCache(),
32
+ headers: {
33
+ "x-client": "ledger-live",
34
+ },
35
+ });
36
+ }
37
+ async getAccount(address) {
38
+ return this.aptosClient.getAccountInfo({ accountAddress: address });
39
+ }
40
+ async getAccountInfo(address, startAt) {
41
+ const [balance, transactions, blockHeight] = await Promise.all([
42
+ this.getCoinBalance(address, APTOS_ASSET_ID),
43
+ this.fetchTransactions(address, startAt),
44
+ this.getHeight(),
45
+ ]);
46
+ return {
47
+ balance,
48
+ transactions,
49
+ blockHeight,
50
+ };
51
+ }
52
+ async estimateGasPrice() {
53
+ return this.aptosClient.getGasPriceEstimation();
54
+ }
55
+ async generateTransaction(address, payload, options) {
56
+ const opts = {};
57
+ if (!isUndefined(options.maxGasAmount)) {
58
+ opts.maxGasAmount = Number(options.maxGasAmount);
59
+ }
60
+ if (!isUndefined(options.gasUnitPrice)) {
61
+ opts.gasUnitPrice = Number(options.gasUnitPrice);
62
+ }
63
+ try {
64
+ const { ledger_timestamp } = await this.aptosClient.getLedgerInfo();
65
+ opts.expireTimestamp = Number(Math.ceil(+ledger_timestamp / 1_000_000 + 2 * 60)); // in milliseconds
66
+ }
67
+ catch {
68
+ // skip
69
+ }
70
+ return this.aptosClient.transaction.build
71
+ .simple({
72
+ sender: address,
73
+ data: payload,
74
+ options: opts,
75
+ })
76
+ .then(t => t.rawTransaction)
77
+ .catch(error => {
78
+ throw error;
79
+ });
80
+ }
81
+ async simulateTransaction(address, tx, options = {
82
+ estimateGasUnitPrice: true,
83
+ estimateMaxGasAmount: true,
84
+ estimatePrioritizedGasUnitPrice: false,
85
+ }) {
86
+ return this.aptosClient.transaction.simulate.simple({
87
+ signerPublicKey: address,
88
+ transaction: { rawTransaction: tx },
89
+ options,
90
+ });
91
+ }
92
+ async broadcast(signature) {
93
+ const txBytes = Uint8Array.from(Buffer.from(signature, "hex"));
94
+ const pendingTx = await post({
95
+ contentType: MimeType.BCS_SIGNED_TRANSACTION,
96
+ aptosConfig: this.aptosClient.config,
97
+ body: txBytes,
98
+ path: "transactions",
99
+ type: AptosApiType.FULLNODE,
100
+ originMethod: "",
101
+ });
102
+ return pendingTx.data.hash;
103
+ }
104
+ async getBalance(address, token) {
105
+ let balance = new BigNumber(0);
106
+ if (token.tokenType === "coin") {
107
+ balance = await this.getCoinBalance(address, token.contractAddress);
108
+ }
109
+ else {
110
+ balance = await this.getFABalance(address, token.contractAddress);
111
+ }
112
+ return balance;
113
+ }
114
+ async getLastBlock() {
115
+ const { block_height } = await this.aptosClient.getLedgerInfo();
116
+ const block = await this.aptosClient.getBlockByHeight({ blockHeight: Number(block_height) });
117
+ return {
118
+ height: Number(block.block_height),
119
+ hash: block.block_hash,
120
+ time: new Date(Number(block.block_timestamp)),
121
+ };
122
+ }
123
+ async getCoinBalance(address, contract_address) {
124
+ try {
125
+ const [balanceStr] = await this.aptosClient.view({
126
+ payload: {
127
+ function: "0x1::coin::balance",
128
+ typeArguments: [contract_address],
129
+ functionArguments: [address],
130
+ },
131
+ });
132
+ const balance = parseInt(balanceStr, 10);
133
+ return new BigNumber(balance);
134
+ }
135
+ catch (_) {
136
+ return new BigNumber(0);
137
+ }
138
+ }
139
+ async getFABalance(address, contract_address) {
140
+ try {
141
+ const [balanceStr] = await this.aptosClient.view({
142
+ payload: {
143
+ function: "0x1::primary_fungible_store::balance",
144
+ typeArguments: ["0x1::object::ObjectCore"],
145
+ functionArguments: [address, contract_address],
146
+ },
147
+ });
148
+ const balance = parseInt(balanceStr, 10);
149
+ return new BigNumber(balance);
150
+ }
151
+ catch (_) {
152
+ return new BigNumber(0);
153
+ }
154
+ }
155
+ async fetchTransactions(address, gt) {
156
+ if (!address) {
157
+ return [];
158
+ }
159
+ let query = GetAccountTransactionsData;
160
+ if (gt) {
161
+ query = GetAccountTransactionsDataGt;
162
+ }
163
+ const queryResponse = await this.apolloClient.query({
164
+ query,
165
+ variables: {
166
+ address,
167
+ limit: 1000,
168
+ gt,
169
+ },
170
+ fetchPolicy: "network-only",
171
+ });
172
+ return Promise.all(queryResponse.data.account_transactions.map(({ transaction_version }) => {
173
+ return this.richItemByVersion(transaction_version);
174
+ }));
175
+ }
176
+ async richItemByVersion(version) {
177
+ try {
178
+ const tx = await this.aptosClient.getTransactionByVersion({
179
+ ledgerVersion: version,
180
+ });
181
+ const block = await this.getBlock(version);
182
+ return {
183
+ ...tx,
184
+ block,
185
+ };
186
+ }
187
+ catch (error) {
188
+ return null;
189
+ }
190
+ }
191
+ async getHeight() {
192
+ const { data } = await network({
193
+ method: "GET",
194
+ url: this.aptosConfig.fullnode || "",
195
+ });
196
+ return parseInt(data.block_height);
197
+ }
198
+ async getBlock(version) {
199
+ const block = await this.aptosClient.getBlockByVersion({ ledgerVersion: version });
200
+ return {
201
+ height: parseInt(block.block_height),
202
+ hash: block.block_hash,
203
+ };
204
+ }
205
+ }
206
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/network/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/network/graphql/queries.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,6BAA6B,uCAczC,CAAC;AACF,eAAO,MAAM,0BAA0B,uCAWtC,CAAC;AACF,eAAO,MAAM,4BAA4B,uCAWxC,CAAC;AACF,eAAO,MAAM,4BAA4B,uCAWxC,CAAC"}
@@ -17,8 +17,8 @@ export const GetDelegatedStakingActivities = gql `
17
17
  `;
18
18
  export const GetAccountTransactionsData = gql `
19
19
  query GetAccountTransactionsData($address: String, $limit: Int) {
20
- address_version_from_move_resources(
21
- where: { address: { _eq: $address } }
20
+ account_transactions(
21
+ where: { account_address: { _eq: $address } }
22
22
  order_by: { transaction_version: desc }
23
23
  limit: $limit
24
24
  ) {
@@ -29,8 +29,8 @@ export const GetAccountTransactionsData = gql `
29
29
  `;
30
30
  export const GetAccountTransactionsDataGt = gql `
31
31
  query GetAccountTransactionsDataGt($address: String, $limit: Int, $gt: bigint) {
32
- address_version_from_move_resources(
33
- where: { address: { _eq: $address }, transaction_version: { _gt: $gt } }
32
+ account_transactions(
33
+ where: { account_address: { _eq: $address }, transaction_version: { _gt: $gt } }
34
34
  order_by: { transaction_version: desc }
35
35
  limit: $limit
36
36
  ) {
@@ -41,8 +41,8 @@ export const GetAccountTransactionsDataGt = gql `
41
41
  `;
42
42
  export const GetAccountTransactionsDataLt = gql `
43
43
  query GetAccountTransactionsDataLt($address: String, $limit: Int, $lt: bigint) {
44
- address_version_from_move_resources(
45
- where: { address: { _eq: $address }, transaction_version: { _lt: $lt } }
44
+ account_transactions(
45
+ where: { account_address: { _eq: $address }, transaction_version: { _lt: $lt } }
46
46
  order_by: { transaction_version: desc }
47
47
  limit: $limit
48
48
  ) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/network/graphql/queries.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAA;;;;;;;;;;;;;;CAc/C,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAA;;;;;;;;;;;CAW5C,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;;;;;;;;;;;CAW9C,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;;;;;;;;;;;CAW9C,CAAC"}
@@ -24,9 +24,9 @@ export type GetAccountTransactionsDataQueryVariables = Exact<{
24
24
  }>;
25
25
  export type GetAccountTransactionsDataQuery = {
26
26
  __typename?: "query_root";
27
- address_version_from_move_resources: Array<{
28
- __typename: "address_version_from_move_resources";
29
- transaction_version?: any | null;
27
+ account_transactions: Array<{
28
+ __typename?: "account_transactions";
29
+ transaction_version: number;
30
30
  }>;
31
31
  };
32
32
  export type GetAccountTransactionsDataGtQueryVariables = Exact<{
@@ -36,9 +36,9 @@ export type GetAccountTransactionsDataGtQueryVariables = Exact<{
36
36
  }>;
37
37
  export type GetAccountTransactionsDataGtQuery = {
38
38
  __typename?: "query_root";
39
- address_version_from_move_resources: Array<{
40
- __typename: "address_version_from_move_resources";
41
- transaction_version?: any | null;
39
+ account_transactions: Array<{
40
+ __typename?: "account_transactions";
41
+ transaction_version: number;
42
42
  }>;
43
43
  };
44
44
  export type GetAccountTransactionsDataLtQueryVariables = Exact<{
@@ -48,9 +48,9 @@ export type GetAccountTransactionsDataLtQueryVariables = Exact<{
48
48
  }>;
49
49
  export type GetAccountTransactionsDataLtQuery = {
50
50
  __typename?: "query_root";
51
- address_version_from_move_resources: Array<{
52
- __typename: "address_version_from_move_resources";
53
- transaction_version?: any | null;
51
+ account_transactions: Array<{
52
+ __typename?: "account_transactions";
53
+ transaction_version: number;
54
54
  }>;
55
55
  };
56
56
  export type DelegatedStakingActivity = {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/network/graphql/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACrC,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AACnF,qEAAqE;AACrE,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wCAAwC,GAAG,KAAK,CAAC;IAC3D,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,oBAAoB,EAAE,KAAK,CAAC;QAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;QACpC,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG,KAAK,CAAC;IAC7D,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,oBAAoB,EAAE,KAAK,CAAC;QAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;QACpC,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG,KAAK,CAAC;IAC7D,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,oBAAoB,EAAE,KAAK,CAAC;QAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;QACpC,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,4BAA4B,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAE/F,MAAM,MAAM,eAAe,GAAG;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/graphql/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/network/graphql/types.ts"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
1
  import { RawTransaction } from "@aptos-labs/ts-sdk";
2
- import { SignerContext } from "@ledgerhq/coin-framework/lib/signer";
2
+ import { SignerContext } from "@ledgerhq/coin-framework/signer";
3
3
  import { Account } from "@ledgerhq/types-live";
4
4
  import { AptosSigner } from "../types";
5
+ export * from "./client";
5
6
  export declare function signTransaction(signerContext: SignerContext<AptosSigner>, account: Account, deviceId: string, rawTxn: RawTransaction): Promise<Uint8Array>;
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,wBAAsB,eAAe,CACnC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,EACzC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,cAAc,UAAU,CAAC;AAEzB,wBAAsB,eAAe,CACnC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,EACzC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
@@ -1,5 +1,6 @@
1
1
  import { AccountAddress, AccountAuthenticatorEd25519, Ed25519PublicKey, Ed25519Signature, generateSignedTransaction, generateSigningMessageForTransaction, Hex, } from "@aptos-labs/ts-sdk";
2
2
  import { sha3_256 as sha3Hash } from "@noble/hashes/sha3";
3
+ export * from "./client";
3
4
  export async function signTransaction(signerContext, account, deviceId, rawTxn) {
4
5
  const { freshAddressPath: derivationPath } = account;
5
6
  if (!account.xpub) {