@console-wallet/dapp-sdk 1.2.1 → 2.0.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 (291) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +118 -190
  3. package/dist/cjs/api/client.api.d.ts +51 -1
  4. package/dist/cjs/api/client.api.js +5 -1
  5. package/dist/cjs/api/client.api.js.map +1 -1
  6. package/dist/cjs/api/generated-indexer-api.d.ts +15 -15
  7. package/dist/cjs/api/generated-indexer-api.js +206 -212
  8. package/dist/cjs/api/generated-indexer-api.js.map +1 -1
  9. package/dist/cjs/api/generated-wallet-api.d.ts +828 -52
  10. package/dist/cjs/api/generated-wallet-api.js +434 -79
  11. package/dist/cjs/api/generated-wallet-api.js.map +1 -1
  12. package/dist/cjs/api/generated-wc-api.d.ts +219 -0
  13. package/dist/cjs/api/generated-wc-api.js +248 -0
  14. package/dist/cjs/api/generated-wc-api.js.map +1 -0
  15. package/dist/cjs/api/index.d.ts +1 -0
  16. package/dist/cjs/api/index.js +2 -1
  17. package/dist/cjs/api/index.js.map +1 -1
  18. package/dist/cjs/assets/assets/icons/close.svg +4 -0
  19. package/dist/cjs/assets/assets/images/extension.png +0 -0
  20. package/dist/cjs/assets/assets/images/walletConnect.png +0 -0
  21. package/dist/cjs/assets/icons/close.svg +4 -0
  22. package/dist/cjs/assets/images/extension.png +0 -0
  23. package/dist/cjs/assets/images/walletConnect.png +0 -0
  24. package/dist/cjs/constants/config.constants.d.ts +4 -0
  25. package/dist/cjs/constants/config.constants.js +5 -1
  26. package/dist/cjs/constants/config.constants.js.map +1 -1
  27. package/dist/cjs/constants/wc.constants.d.ts +1 -0
  28. package/dist/cjs/constants/wc.constants.js +5 -0
  29. package/dist/cjs/constants/wc.constants.js.map +1 -0
  30. package/dist/cjs/helpers/handleResponse.helper.d.ts +4 -0
  31. package/dist/cjs/helpers/{handleResponce.helper.js → handleResponse.helper.js} +12 -2
  32. package/dist/cjs/helpers/{handleResponce.helper.js.map → handleResponse.helper.js.map} +1 -1
  33. package/dist/cjs/helpers/mobile-check.helper.d.ts +7 -0
  34. package/dist/cjs/helpers/mobile-check.helper.js +27 -0
  35. package/dist/cjs/helpers/mobile-check.helper.js.map +1 -0
  36. package/dist/cjs/index.d.ts +11 -7
  37. package/dist/cjs/index.js +3 -2
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/requests/checkAvailability.d.ts +3 -3
  40. package/dist/cjs/requests/checkAvailability.js +52 -11
  41. package/dist/cjs/requests/checkAvailability.js.map +1 -1
  42. package/dist/cjs/requests/connect.d.ts +2 -2
  43. package/dist/cjs/requests/connect.js +115 -23
  44. package/dist/cjs/requests/connect.js.map +1 -1
  45. package/dist/cjs/requests/disconnect.js +51 -16
  46. package/dist/cjs/requests/disconnect.js.map +1 -1
  47. package/dist/cjs/requests/getAccounts.js +55 -19
  48. package/dist/cjs/requests/getAccounts.js.map +1 -1
  49. package/dist/cjs/requests/getActiveAccount.js +55 -19
  50. package/dist/cjs/requests/getActiveAccount.js.map +1 -1
  51. package/dist/cjs/requests/getActiveNetwork.js +57 -19
  52. package/dist/cjs/requests/getActiveNetwork.js.map +1 -1
  53. package/dist/cjs/requests/getBalance.js +53 -19
  54. package/dist/cjs/requests/getBalance.js.map +1 -1
  55. package/dist/cjs/requests/getCoinsBalance.js +53 -19
  56. package/dist/cjs/requests/getCoinsBalance.js.map +1 -1
  57. package/dist/cjs/requests/getIsConnected.d.ts +3 -3
  58. package/dist/cjs/requests/getIsConnected.js +55 -19
  59. package/dist/cjs/requests/getIsConnected.js.map +1 -1
  60. package/dist/cjs/requests/getNodeOffers.js +51 -17
  61. package/dist/cjs/requests/getNodeOffers.js.map +1 -1
  62. package/dist/cjs/requests/getNodeTransfer.js +51 -17
  63. package/dist/cjs/requests/getNodeTransfer.js.map +1 -1
  64. package/dist/cjs/requests/getNodeTransfers.js +53 -19
  65. package/dist/cjs/requests/getNodeTransfers.js.map +1 -1
  66. package/dist/cjs/requests/getOffers.js +51 -17
  67. package/dist/cjs/requests/getOffers.js.map +1 -1
  68. package/dist/cjs/requests/getStatus.d.ts +3 -3
  69. package/dist/cjs/requests/getStatus.js +70 -20
  70. package/dist/cjs/requests/getStatus.js.map +1 -1
  71. package/dist/cjs/requests/getTransfer.js +53 -17
  72. package/dist/cjs/requests/getTransfer.js.map +1 -1
  73. package/dist/cjs/requests/getTransfers.js +53 -19
  74. package/dist/cjs/requests/getTransfers.js.map +1 -1
  75. package/dist/cjs/requests/getWalletVersion.d.ts +12 -0
  76. package/dist/cjs/requests/getWalletVersion.js +83 -0
  77. package/dist/cjs/requests/getWalletVersion.js.map +1 -0
  78. package/dist/cjs/requests/index.d.ts +3 -0
  79. package/dist/cjs/requests/index.js +3 -0
  80. package/dist/cjs/requests/index.js.map +1 -1
  81. package/dist/cjs/requests/ledgerApi.d.ts +16 -0
  82. package/dist/cjs/requests/ledgerApi.js +77 -0
  83. package/dist/cjs/requests/ledgerApi.js.map +1 -0
  84. package/dist/cjs/requests/signMessage.js +50 -16
  85. package/dist/cjs/requests/signMessage.js.map +1 -1
  86. package/dist/cjs/requests/singBatch.js +49 -15
  87. package/dist/cjs/requests/singBatch.js.map +1 -1
  88. package/dist/cjs/requests/submitCommands.js +56 -22
  89. package/dist/cjs/requests/submitCommands.js.map +1 -1
  90. package/dist/cjs/requests/submitInstructionChoice.d.ts +23 -0
  91. package/dist/cjs/requests/submitInstructionChoice.js +84 -0
  92. package/dist/cjs/requests/submitInstructionChoice.js.map +1 -0
  93. package/dist/cjs/services/index.d.ts +0 -0
  94. package/dist/cjs/services/index.js +2 -0
  95. package/dist/cjs/services/index.js.map +1 -0
  96. package/dist/cjs/services/indexedDB/index.d.ts +1 -0
  97. package/dist/cjs/services/indexedDB/index.js +5 -0
  98. package/dist/cjs/services/indexedDB/index.js.map +1 -0
  99. package/dist/cjs/services/indexedDB/wc-session.storage.d.ts +10 -0
  100. package/dist/cjs/services/indexedDB/wc-session.storage.js +60 -0
  101. package/dist/cjs/services/indexedDB/wc-session.storage.js.map +1 -0
  102. package/dist/cjs/services/wc-service/connector-select.d.ts +7 -0
  103. package/dist/cjs/services/wc-service/connector-select.js +70 -0
  104. package/dist/cjs/services/wc-service/connector-select.js.map +1 -0
  105. package/dist/cjs/services/wc-service/index.d.ts +0 -0
  106. package/dist/cjs/services/wc-service/index.js +2 -0
  107. package/dist/cjs/services/wc-service/index.js.map +1 -0
  108. package/dist/cjs/services/wc-service/prepare-wc.d.ts +1 -0
  109. package/dist/cjs/services/wc-service/prepare-wc.js +15 -0
  110. package/dist/cjs/services/wc-service/prepare-wc.js.map +1 -0
  111. package/dist/cjs/services/wc-service/wc-request-separator.d.ts +1 -0
  112. package/dist/cjs/services/wc-service/wc-request-separator.js +27 -0
  113. package/dist/cjs/services/wc-service/wc-request-separator.js.map +1 -0
  114. package/dist/cjs/services/wc-service/wc-service.d.ts +35 -0
  115. package/dist/cjs/services/wc-service/wc-service.js +189 -0
  116. package/dist/cjs/services/wc-service/wc-service.js.map +1 -0
  117. package/dist/cjs/styles.css +110 -0
  118. package/dist/cjs/triggersNative/onAccountsChanged.js +45 -31
  119. package/dist/cjs/triggersNative/onAccountsChanged.js.map +1 -1
  120. package/dist/cjs/triggersNative/onConnectionStatusChanged.d.ts +2 -2
  121. package/dist/cjs/triggersNative/onConnectionStatusChanged.js +48 -22
  122. package/dist/cjs/triggersNative/onConnectionStatusChanged.js.map +1 -1
  123. package/dist/cjs/triggersNative/onTxChanged.js +24 -9
  124. package/dist/cjs/triggersNative/onTxChanged.js.map +1 -1
  125. package/dist/cjs/types/communication.types.d.ts +6 -1
  126. package/dist/cjs/types/communication.types.js +3 -0
  127. package/dist/cjs/types/communication.types.js.map +1 -1
  128. package/dist/cjs/types/connect.type.d.ts +55 -4
  129. package/dist/cjs/types/connect.type.js +15 -0
  130. package/dist/cjs/types/connect.type.js.map +1 -1
  131. package/dist/cjs/types/error.type.d.ts +32 -2
  132. package/dist/cjs/types/error.type.js +138 -0
  133. package/dist/cjs/types/error.type.js.map +1 -1
  134. package/dist/cjs/types/index.d.ts +1 -0
  135. package/dist/cjs/types/index.js +1 -0
  136. package/dist/cjs/types/index.js.map +1 -1
  137. package/dist/cjs/types/ledger.type.d.ts +6 -0
  138. package/dist/cjs/types/ledger.type.js +3 -0
  139. package/dist/cjs/types/ledger.type.js.map +1 -0
  140. package/dist/cjs/types/signed.type.d.ts +20 -0
  141. package/dist/cjs/types/signed.type.js +7 -1
  142. package/dist/cjs/types/signed.type.js.map +1 -1
  143. package/dist/cjs/types/token.types.d.ts +8 -0
  144. package/dist/cjs/types/token.types.js +7 -1
  145. package/dist/cjs/types/token.types.js.map +1 -1
  146. package/dist/esm/api/client.api.d.ts +51 -1
  147. package/dist/esm/api/client.api.js +5 -1
  148. package/dist/esm/api/client.api.js.map +1 -1
  149. package/dist/esm/api/generated-indexer-api.d.ts +15 -15
  150. package/dist/esm/api/generated-indexer-api.js +207 -213
  151. package/dist/esm/api/generated-indexer-api.js.map +1 -1
  152. package/dist/esm/api/generated-wallet-api.d.ts +828 -52
  153. package/dist/esm/api/generated-wallet-api.js +434 -79
  154. package/dist/esm/api/generated-wallet-api.js.map +1 -1
  155. package/dist/esm/api/generated-wc-api.d.ts +219 -0
  156. package/dist/esm/api/generated-wc-api.js +242 -0
  157. package/dist/esm/api/generated-wc-api.js.map +1 -0
  158. package/dist/esm/api/index.d.ts +1 -0
  159. package/dist/esm/api/index.js +1 -0
  160. package/dist/esm/api/index.js.map +1 -1
  161. package/dist/esm/assets/assets/icons/close.svg +4 -0
  162. package/dist/esm/assets/assets/images/extension.png +0 -0
  163. package/dist/esm/assets/assets/images/walletConnect.png +0 -0
  164. package/dist/esm/assets/icons/close.svg +4 -0
  165. package/dist/esm/assets/images/extension.png +0 -0
  166. package/dist/esm/assets/images/walletConnect.png +0 -0
  167. package/dist/esm/constants/config.constants.d.ts +4 -0
  168. package/dist/esm/constants/config.constants.js +4 -0
  169. package/dist/esm/constants/config.constants.js.map +1 -1
  170. package/dist/esm/constants/wc.constants.d.ts +1 -0
  171. package/dist/esm/constants/wc.constants.js +2 -0
  172. package/dist/esm/constants/wc.constants.js.map +1 -0
  173. package/dist/esm/helpers/handleResponse.helper.d.ts +4 -0
  174. package/dist/esm/helpers/{handleResponce.helper.js → handleResponse.helper.js} +10 -1
  175. package/dist/esm/helpers/{handleResponce.helper.js.map → handleResponse.helper.js.map} +1 -1
  176. package/dist/esm/helpers/mobile-check.helper.d.ts +7 -0
  177. package/dist/esm/helpers/mobile-check.helper.js +23 -0
  178. package/dist/esm/helpers/mobile-check.helper.js.map +1 -0
  179. package/dist/esm/index.d.ts +11 -7
  180. package/dist/esm/index.js +2 -1
  181. package/dist/esm/index.js.map +1 -1
  182. package/dist/esm/requests/checkAvailability.d.ts +3 -3
  183. package/dist/esm/requests/checkAvailability.js +52 -11
  184. package/dist/esm/requests/checkAvailability.js.map +1 -1
  185. package/dist/esm/requests/connect.d.ts +2 -2
  186. package/dist/esm/requests/connect.js +116 -24
  187. package/dist/esm/requests/connect.js.map +1 -1
  188. package/dist/esm/requests/disconnect.js +52 -17
  189. package/dist/esm/requests/disconnect.js.map +1 -1
  190. package/dist/esm/requests/getAccounts.js +57 -21
  191. package/dist/esm/requests/getAccounts.js.map +1 -1
  192. package/dist/esm/requests/getActiveAccount.js +57 -21
  193. package/dist/esm/requests/getActiveAccount.js.map +1 -1
  194. package/dist/esm/requests/getActiveNetwork.js +59 -21
  195. package/dist/esm/requests/getActiveNetwork.js.map +1 -1
  196. package/dist/esm/requests/getBalance.js +54 -20
  197. package/dist/esm/requests/getBalance.js.map +1 -1
  198. package/dist/esm/requests/getCoinsBalance.js +54 -20
  199. package/dist/esm/requests/getCoinsBalance.js.map +1 -1
  200. package/dist/esm/requests/getIsConnected.d.ts +3 -3
  201. package/dist/esm/requests/getIsConnected.js +57 -21
  202. package/dist/esm/requests/getIsConnected.js.map +1 -1
  203. package/dist/esm/requests/getNodeOffers.js +52 -18
  204. package/dist/esm/requests/getNodeOffers.js.map +1 -1
  205. package/dist/esm/requests/getNodeTransfer.js +52 -18
  206. package/dist/esm/requests/getNodeTransfer.js.map +1 -1
  207. package/dist/esm/requests/getNodeTransfers.js +54 -20
  208. package/dist/esm/requests/getNodeTransfers.js.map +1 -1
  209. package/dist/esm/requests/getOffers.js +52 -18
  210. package/dist/esm/requests/getOffers.js.map +1 -1
  211. package/dist/esm/requests/getStatus.d.ts +3 -3
  212. package/dist/esm/requests/getStatus.js +72 -22
  213. package/dist/esm/requests/getStatus.js.map +1 -1
  214. package/dist/esm/requests/getTransfer.js +54 -18
  215. package/dist/esm/requests/getTransfer.js.map +1 -1
  216. package/dist/esm/requests/getTransfers.js +54 -20
  217. package/dist/esm/requests/getTransfers.js.map +1 -1
  218. package/dist/esm/requests/getWalletVersion.d.ts +12 -0
  219. package/dist/esm/requests/getWalletVersion.js +79 -0
  220. package/dist/esm/requests/getWalletVersion.js.map +1 -0
  221. package/dist/esm/requests/index.d.ts +3 -0
  222. package/dist/esm/requests/index.js +3 -0
  223. package/dist/esm/requests/index.js.map +1 -1
  224. package/dist/esm/requests/ledgerApi.d.ts +16 -0
  225. package/dist/esm/requests/ledgerApi.js +73 -0
  226. package/dist/esm/requests/ledgerApi.js.map +1 -0
  227. package/dist/esm/requests/signMessage.js +51 -17
  228. package/dist/esm/requests/signMessage.js.map +1 -1
  229. package/dist/esm/requests/singBatch.js +50 -16
  230. package/dist/esm/requests/singBatch.js.map +1 -1
  231. package/dist/esm/requests/submitCommands.js +57 -23
  232. package/dist/esm/requests/submitCommands.js.map +1 -1
  233. package/dist/esm/requests/submitInstructionChoice.d.ts +23 -0
  234. package/dist/esm/requests/submitInstructionChoice.js +80 -0
  235. package/dist/esm/requests/submitInstructionChoice.js.map +1 -0
  236. package/dist/esm/services/index.d.ts +0 -0
  237. package/dist/esm/services/index.js +2 -0
  238. package/dist/esm/services/index.js.map +1 -0
  239. package/dist/esm/services/indexedDB/index.d.ts +1 -0
  240. package/dist/esm/services/indexedDB/index.js +2 -0
  241. package/dist/esm/services/indexedDB/index.js.map +1 -0
  242. package/dist/esm/services/indexedDB/wc-session.storage.d.ts +10 -0
  243. package/dist/esm/services/indexedDB/wc-session.storage.js +51 -0
  244. package/dist/esm/services/indexedDB/wc-session.storage.js.map +1 -0
  245. package/dist/esm/services/wc-service/connector-select.d.ts +7 -0
  246. package/dist/esm/services/wc-service/connector-select.js +65 -0
  247. package/dist/esm/services/wc-service/connector-select.js.map +1 -0
  248. package/dist/esm/services/wc-service/index.d.ts +0 -0
  249. package/dist/esm/services/wc-service/index.js +2 -0
  250. package/dist/esm/services/wc-service/index.js.map +1 -0
  251. package/dist/esm/services/wc-service/prepare-wc.d.ts +1 -0
  252. package/dist/esm/services/wc-service/prepare-wc.js +11 -0
  253. package/dist/esm/services/wc-service/prepare-wc.js.map +1 -0
  254. package/dist/esm/services/wc-service/wc-request-separator.d.ts +1 -0
  255. package/dist/esm/services/wc-service/wc-request-separator.js +23 -0
  256. package/dist/esm/services/wc-service/wc-request-separator.js.map +1 -0
  257. package/dist/esm/services/wc-service/wc-service.d.ts +35 -0
  258. package/dist/esm/services/wc-service/wc-service.js +185 -0
  259. package/dist/esm/services/wc-service/wc-service.js.map +1 -0
  260. package/dist/esm/styles.css +110 -0
  261. package/dist/esm/triggersNative/onAccountsChanged.js +45 -31
  262. package/dist/esm/triggersNative/onAccountsChanged.js.map +1 -1
  263. package/dist/esm/triggersNative/onConnectionStatusChanged.d.ts +2 -2
  264. package/dist/esm/triggersNative/onConnectionStatusChanged.js +50 -24
  265. package/dist/esm/triggersNative/onConnectionStatusChanged.js.map +1 -1
  266. package/dist/esm/triggersNative/onTxChanged.js +24 -9
  267. package/dist/esm/triggersNative/onTxChanged.js.map +1 -1
  268. package/dist/esm/types/communication.types.d.ts +6 -1
  269. package/dist/esm/types/communication.types.js +3 -0
  270. package/dist/esm/types/communication.types.js.map +1 -1
  271. package/dist/esm/types/connect.type.d.ts +55 -4
  272. package/dist/esm/types/connect.type.js +14 -1
  273. package/dist/esm/types/connect.type.js.map +1 -1
  274. package/dist/esm/types/error.type.d.ts +32 -2
  275. package/dist/esm/types/error.type.js +137 -1
  276. package/dist/esm/types/error.type.js.map +1 -1
  277. package/dist/esm/types/index.d.ts +1 -0
  278. package/dist/esm/types/index.js +1 -0
  279. package/dist/esm/types/index.js.map +1 -1
  280. package/dist/esm/types/ledger.type.d.ts +6 -0
  281. package/dist/esm/types/ledger.type.js +2 -0
  282. package/dist/esm/types/ledger.type.js.map +1 -0
  283. package/dist/esm/types/signed.type.d.ts +20 -0
  284. package/dist/esm/types/signed.type.js +6 -0
  285. package/dist/esm/types/signed.type.js.map +1 -1
  286. package/dist/esm/types/token.types.d.ts +8 -0
  287. package/dist/esm/types/token.types.js +6 -0
  288. package/dist/esm/types/token.types.js.map +1 -1
  289. package/package.json +12 -8
  290. package/dist/cjs/helpers/handleResponce.helper.d.ts +0 -3
  291. package/dist/esm/helpers/handleResponce.helper.d.ts +0 -3
@@ -1,35 +1,28 @@
1
- import { WALLET_TARGET } from '../constants';
2
- import { isExpectedResponse } from '../helpers/handleResponce.helper';
3
- import { PUBLIC_REQUESTS } from '../types';
4
- /**
5
- * Returns the active (primary) account selected in the wallet.
6
- *
7
- * Emits `${PUBLIC_REQUESTS.GET_ACTIVE_ACCOUNT}_RESPONSE` with account details.
8
- * If the origin is not connected, the wallet may prevent access or prompt connect.
9
- *
10
- * @returns {Promise<GetAccountResponse>} Active account or undefined.
11
- * @example
12
- * const account = await getPrimaryAccount();
13
- */
14
- export const getPrimaryAccount = async () => new Promise((resolve, reject) => {
1
+ import { PROVIDER_VERSION, WALLET_TARGET } from '../constants';
2
+ import { isExpectedMobileResponse, isExpectedResponse } from '../helpers/handleResponse.helper';
3
+ import { wcRequestLogicSeparator } from '../services/wc-service/wc-request-separator';
4
+ import { wcSessionService } from '../services/wc-service/wc-service';
5
+ import { EIP_1474_ERROR, EIP_1474_ERROR_ENUM, PUBLIC_REQUESTS, } from '../types';
6
+ const type = PUBLIC_REQUESTS.GET_ACTIVE_ACCOUNT;
7
+ const browserFunction = async () => new Promise((resolve, reject) => {
15
8
  const id = crypto.randomUUID();
16
9
  window.postMessage({
17
- type: PUBLIC_REQUESTS.GET_ACTIVE_ACCOUNT,
10
+ type,
18
11
  target: WALLET_TARGET,
12
+ sdkVersion: PROVIDER_VERSION,
19
13
  id,
14
+ fromOrigin: window.location.origin,
20
15
  }, '*');
21
16
  const timeOut = setTimeout(() => {
22
- const error = {
23
- message: 'Extension not installed',
24
- };
17
+ const error = EIP_1474_ERROR[EIP_1474_ERROR_ENUM.ResourceUnavailable];
25
18
  reject(error);
26
19
  }, 500);
27
20
  function handleResponse(event) {
28
- if (isExpectedResponse(event, id, `${PUBLIC_REQUESTS.GET_ACTIVE_ACCOUNT}_RESPONSE`)) {
21
+ if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
29
22
  window.removeEventListener('message', handleResponse);
30
23
  clearTimeout(timeOut);
31
- if (event.data.data.error) {
32
- reject(event.data.data.error);
24
+ if (event.data.error) {
25
+ reject(event.data.error);
33
26
  }
34
27
  else {
35
28
  resolve(event.data.data);
@@ -38,4 +31,47 @@ export const getPrimaryAccount = async () => new Promise((resolve, reject) => {
38
31
  }
39
32
  window.addEventListener('message', handleResponse);
40
33
  });
34
+ const mobileFunction = async () => new Promise((resolve, reject) => {
35
+ const id = crypto.randomUUID();
36
+ // TODO: add timeout for request
37
+ // const timeOut = setTimeout(() => {
38
+ // const error: ConsoleWalletError = EIP_1474_ERROR[EIP_1474_ERROR_ENUM.ResourceUnavailable];
39
+ // reject(error);
40
+ // }, 500);
41
+ wcSessionService
42
+ .sendMessage(JSON.stringify({
43
+ type,
44
+ target: WALLET_TARGET,
45
+ sdkVersion: PROVIDER_VERSION,
46
+ id,
47
+ fromOrigin: window.location.origin,
48
+ }), type, id)
49
+ .then(() => {
50
+ wcSessionService.addSubscriber(id, (message) => {
51
+ const response = JSON.parse(message.serializedPayload);
52
+ if (isExpectedMobileResponse(response, id, `${type}_RESPONSE`)) {
53
+ if (response.error) {
54
+ reject(response.error);
55
+ }
56
+ else {
57
+ resolve(response.data);
58
+ }
59
+ }
60
+ });
61
+ });
62
+ });
63
+ /**
64
+ * Returns the active (primary) account selected in the wallet.
65
+ *
66
+ * Emits `${PUBLIC_REQUESTS.GET_ACTIVE_ACCOUNT}_RESPONSE` with account details.
67
+ * If the origin is not connected, the wallet may prevent access or prompt connect.
68
+ *
69
+ * @returns {Promise<GetAccountResponse>} Active account or undefined.
70
+ * @example
71
+ * const account = await getPrimaryAccount();
72
+ */
73
+ export const getPrimaryAccount = async () => {
74
+ const res = await wcRequestLogicSeparator(async () => await browserFunction(), async () => await mobileFunction());
75
+ return res;
76
+ };
41
77
  //# sourceMappingURL=getActiveAccount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getActiveAccount.js","sourceRoot":"","sources":["../../../src/requests/getActiveAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAsB,eAAe,EAA2B,MAAM,UAAU,CAAC;AAExF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsC,KAAK,IAAI,EAAE,CAC7E,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAE/B,MAAM,CAAC,WAAW,CAChB;QACE,IAAI,EAAE,eAAe,CAAC,kBAAkB;QACxC,MAAM,EAAE,aAAa;QACrB,EAAE;KACH,EACD,GAAG,CACJ,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,MAAM,KAAK,GAAuB;YAChC,OAAO,EAAE,yBAAyB;SACnC,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,SAAS,cAAc,CAAC,KAAmB;QACzC,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC,kBAAkB,WAAW,CAAC,EAAE;YACnF,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEtD,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getActiveAccount.js","sourceRoot":"","sources":["../../../src/requests/getActiveAccount.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,29 @@
1
- import { WALLET_TARGET } from '../constants';
2
- import { isExpectedResponse } from '../helpers/handleResponce.helper';
3
- import { PUBLIC_REQUESTS } from '../types';
4
- /**
5
- * Retrieves the currently selected network in the wallet.
6
- *
7
- * Emits `${PUBLIC_REQUESTS.GET_ACTIVE_NETWORK}_RESPONSE` with network information.
8
- * Origin should be connected; otherwise a connect flow may be required.
9
- *
10
- * @returns {Promise<Network>} Active network data.
11
- * @example
12
- * const network = await getActiveNetwork();
13
- */
14
- export const getActiveNetwork = async () => new Promise((resolve, reject) => {
1
+ import { PROVIDER_VERSION, WALLET_TARGET } from '../constants';
2
+ import { isExpectedMobileResponse, isExpectedResponse } from '../helpers/handleResponse.helper';
3
+ import { handlePrepareWC } from '../services/wc-service/prepare-wc';
4
+ import { wcRequestLogicSeparator } from '../services/wc-service/wc-request-separator';
5
+ import { wcSessionService } from '../services/wc-service/wc-service';
6
+ import { EIP_1474_ERROR, EIP_1474_ERROR_ENUM, PUBLIC_REQUESTS } from '../types';
7
+ const type = PUBLIC_REQUESTS.GET_ACTIVE_NETWORK;
8
+ const browserFunction = async () => new Promise((resolve, reject) => {
15
9
  const id = crypto.randomUUID();
16
10
  window.postMessage({
17
- type: PUBLIC_REQUESTS.GET_ACTIVE_NETWORK,
11
+ type,
18
12
  target: WALLET_TARGET,
13
+ sdkVersion: PROVIDER_VERSION,
19
14
  id,
15
+ fromOrigin: window.location.origin,
20
16
  }, '*');
21
17
  const timeOut = setTimeout(() => {
22
- const error = {
23
- message: 'Extension not installed or no active account',
24
- };
18
+ const error = EIP_1474_ERROR[EIP_1474_ERROR_ENUM.ResourceUnavailable];
25
19
  reject(error);
26
20
  }, 500);
27
21
  function handleResponse(event) {
28
- if (isExpectedResponse(event, id, `${PUBLIC_REQUESTS.GET_ACTIVE_NETWORK}_RESPONSE`)) {
22
+ if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
29
23
  window.removeEventListener('message', handleResponse);
30
24
  clearTimeout(timeOut);
31
- if (event.data.data.error) {
32
- reject(event.data.data.error);
25
+ if (event.data.error) {
26
+ reject(event.data.error);
33
27
  }
34
28
  else {
35
29
  resolve(event.data.data);
@@ -38,4 +32,48 @@ export const getActiveNetwork = async () => new Promise((resolve, reject) => {
38
32
  }
39
33
  window.addEventListener('message', handleResponse);
40
34
  });
35
+ const mobileFunction = async () => new Promise((resolve, reject) => {
36
+ const id = crypto.randomUUID();
37
+ // TODO: add timeout for request
38
+ // const timeOut = setTimeout(() => {
39
+ // const error: ConsoleWalletError = EIP_1474_ERROR[EIP_1474_ERROR_ENUM.ResourceUnavailable];
40
+ // reject(error);
41
+ // }, 500);
42
+ wcSessionService
43
+ .sendMessage(JSON.stringify({
44
+ type,
45
+ target: WALLET_TARGET,
46
+ sdkVersion: PROVIDER_VERSION,
47
+ id,
48
+ fromOrigin: window.location.origin,
49
+ }), type, id)
50
+ .then(() => {
51
+ handlePrepareWC();
52
+ wcSessionService.addSubscriber(id, (message) => {
53
+ const response = JSON.parse(message.serializedPayload);
54
+ if (isExpectedMobileResponse(response, id, `${type}_RESPONSE`)) {
55
+ if (response.error) {
56
+ reject(response.error);
57
+ }
58
+ else {
59
+ resolve(response.data);
60
+ }
61
+ }
62
+ });
63
+ });
64
+ });
65
+ /**
66
+ * Retrieves the currently selected network in the wallet.
67
+ *
68
+ * Emits `${PUBLIC_REQUESTS.GET_ACTIVE_NETWORK}_RESPONSE` with network information.
69
+ * Origin should be connected; otherwise a connect flow may be required.
70
+ *
71
+ * @returns {Promise<Network>} Active network data.
72
+ * @example
73
+ * const network = await getActiveNetwork();
74
+ */
75
+ export const getActiveNetwork = async () => {
76
+ const res = await wcRequestLogicSeparator(async () => await browserFunction(), async () => await mobileFunction());
77
+ return res;
78
+ };
41
79
  //# sourceMappingURL=getActiveNetwork.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getActiveNetwork.js","sourceRoot":"","sources":["../../../src/requests/getActiveNetwork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B,KAAK,IAAI,EAAE,CACjE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAE/B,MAAM,CAAC,WAAW,CAChB;QACE,IAAI,EAAE,eAAe,CAAC,kBAAkB;QACxC,MAAM,EAAE,aAAa;QACrB,EAAE;KACH,EACD,GAAG,CACJ,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,MAAM,KAAK,GAAuB;YAChC,OAAO,EAAE,8CAA8C;SACxD,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,SAAS,cAAc,CAAC,KAAmB;QACzC,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC,kBAAkB,WAAW,CAAC,EAAE;YACnF,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEtD,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getActiveNetwork.js","sourceRoot":"","sources":["../../../src/requests/getActiveNetwork.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,24 @@
1
- import { WALLET_TARGET } from '../constants';
2
- import { isExpectedResponse } from '../helpers/handleResponce.helper';
1
+ import { PROVIDER_VERSION, WALLET_TARGET } from '../constants';
2
+ import { isExpectedMobileResponse, isExpectedResponse } from '../helpers/handleResponse.helper';
3
+ import { wcRequestLogicSeparator } from '../services/wc-service/wc-request-separator';
4
+ import { wcSessionService } from '../services/wc-service/wc-service';
3
5
  import { PUBLIC_REQUESTS } from '../types';
4
- /**
5
- * Fetches token balances and pricing details for the provided party.
6
- *
7
- * Emits `${PUBLIC_REQUESTS.GET_BALANCE}_RESPONSE` with balances and metadata.
8
- * Origin should be connected; otherwise a connect flow may be required.
9
- *
10
- * @param {GetBalanceRequest} data Request payload with partyId and options.
11
- * @param {string} data.party Party identifier to query balances for.
12
- * @param {CANTON_NETWORK_VARIANTS} data.network Canton network to query against.
13
- * @returns {Promise<GetBalanceResponse>} Tokens, split flag, and optional price.
14
- * @example
15
- * const res = await getBalance({ party: "123::122", network: CANTON_NETWORK_DEV });
16
- */
17
- export const getBalance = async (data) => new Promise((resolve, reject) => {
6
+ const type = PUBLIC_REQUESTS.GET_BALANCE;
7
+ const browserFunction = async (data) => new Promise((resolve, reject) => {
18
8
  const id = crypto.randomUUID();
19
9
  window.postMessage({
20
- type: PUBLIC_REQUESTS.GET_BALANCE,
10
+ type,
21
11
  target: WALLET_TARGET,
12
+ sdkVersion: PROVIDER_VERSION,
22
13
  id,
14
+ fromOrigin: window.location.origin,
23
15
  ...data,
24
16
  }, '*');
25
17
  function handleResponse(event) {
26
- if (isExpectedResponse(event, id, `${PUBLIC_REQUESTS.GET_BALANCE}_RESPONSE`)) {
18
+ if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
27
19
  window.removeEventListener('message', handleResponse);
28
- if (event.data.data.error) {
29
- reject(event.data.data.error);
20
+ if (event.data.error) {
21
+ reject(event.data.error);
30
22
  }
31
23
  else {
32
24
  resolve(event.data.data);
@@ -35,4 +27,46 @@ export const getBalance = async (data) => new Promise((resolve, reject) => {
35
27
  }
36
28
  window.addEventListener('message', handleResponse);
37
29
  });
30
+ const mobileFunction = async (data) => new Promise((resolve, reject) => {
31
+ const id = crypto.randomUUID();
32
+ wcSessionService
33
+ .sendMessage(JSON.stringify({
34
+ type,
35
+ target: WALLET_TARGET,
36
+ sdkVersion: PROVIDER_VERSION,
37
+ id,
38
+ fromOrigin: window.location.origin,
39
+ ...data,
40
+ }), type, id)
41
+ .then(() => {
42
+ wcSessionService.addSubscriber(id, (message) => {
43
+ const response = JSON.parse(message.serializedPayload);
44
+ if (isExpectedMobileResponse(response, id, `${type}_RESPONSE`)) {
45
+ if (response.error) {
46
+ reject(response.error);
47
+ }
48
+ else {
49
+ resolve(response.data);
50
+ }
51
+ }
52
+ });
53
+ });
54
+ });
55
+ /**
56
+ * Fetches token balances and pricing details for the provided party.
57
+ *
58
+ * Emits `${PUBLIC_REQUESTS.GET_BALANCE}_RESPONSE` with balances and metadata.
59
+ * Origin should be connected; otherwise a connect flow may be required.
60
+ *
61
+ * @param {GetBalanceRequest} data Request payload with partyId and options.
62
+ * @param {string} data.party Party identifier to query balances for.
63
+ * @param {CANTON_NETWORK_VARIANTS} data.network Canton network to query against.
64
+ * @returns {Promise<GetBalanceResponse>} Tokens, split flag, and optional price.
65
+ * @example
66
+ * const res = await getBalance({ party: "123::122", network: CANTON_NETWORK_DEV });
67
+ */
68
+ export const getBalance = async (data) => {
69
+ const res = await wcRequestLogicSeparator(async () => await browserFunction(data), async () => await mobileFunction(data));
70
+ return res;
71
+ };
38
72
  //# sourceMappingURL=getBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../src/requests/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAyC,eAAe,EAAE,MAAM,UAAU,CAAC;AAElF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,UAAU,GAA6D,KAAK,EAAE,IAAI,EAAE,EAAE,CACjG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAE/B,MAAM,CAAC,WAAW,CAChB;QACE,IAAI,EAAE,eAAe,CAAC,WAAW;QACjC,MAAM,EAAE,aAAa;QACrB,EAAE;QACF,GAAG,IAAI;KACR,EACD,GAAG,CACJ,CAAC;IAEF,SAAS,cAAc,CAAC,KAAmB;QACzC,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC,WAAW,WAAW,CAAC,EAAE;YAC5E,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEtD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../src/requests/getBalance.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,24 @@
1
- import { WALLET_TARGET } from '../constants';
2
- import { isExpectedResponse } from '../helpers/handleResponce.helper';
1
+ import { PROVIDER_VERSION, WALLET_TARGET } from '../constants';
2
+ import { isExpectedMobileResponse, isExpectedResponse } from '../helpers/handleResponse.helper';
3
+ import { wcRequestLogicSeparator } from '../services/wc-service/wc-request-separator';
4
+ import { wcSessionService } from '../services/wc-service/wc-service';
3
5
  import { PUBLIC_REQUESTS } from '../types';
4
- /**
5
- * Fetches token balances and pricing details for the provided party.
6
- *
7
- * Emits `${PUBLIC_REQUESTS.GET_COINS_BALANCE}_RESPONSE` with balances and metadata.
8
- * Origin should be connected; otherwise a connect flow may be required.
9
- *
10
- * @param {GetBalanceRequest} data Request payload with partyId and options.
11
- * @param {string} data.party Party identifier to query balances for.
12
- * @param {CANTON_NETWORK_VARIANTS} data.network Canton network to query against.
13
- * @returns {Promise<GetBalanceResponse>} Tokens, split flag, and optional price.
14
- * @example
15
- * const res = await getCoinsBalance({ party: "123::122", network: CANTON_NETWORK_DEV });
16
- */
17
- export const getCoinsBalance = async (data) => new Promise((resolve, reject) => {
6
+ const type = PUBLIC_REQUESTS.GET_COINS_BALANCE;
7
+ const browserFunction = async (data) => new Promise((resolve, reject) => {
18
8
  const id = crypto.randomUUID();
19
9
  window.postMessage({
20
- type: PUBLIC_REQUESTS.GET_COINS_BALANCE,
10
+ type,
21
11
  target: WALLET_TARGET,
12
+ sdkVersion: PROVIDER_VERSION,
22
13
  id,
14
+ fromOrigin: window.location.origin,
23
15
  ...data,
24
16
  }, '*');
25
17
  function handleResponse(event) {
26
- if (isExpectedResponse(event, id, `${PUBLIC_REQUESTS.GET_COINS_BALANCE}_RESPONSE`)) {
18
+ if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
27
19
  window.removeEventListener('message', handleResponse);
28
- if (event.data.data.error) {
29
- reject(event.data.data.error);
20
+ if (event.data.error) {
21
+ reject(event.data.error);
30
22
  }
31
23
  else {
32
24
  resolve(event.data.data);
@@ -35,4 +27,46 @@ export const getCoinsBalance = async (data) => new Promise((resolve, reject) =>
35
27
  }
36
28
  window.addEventListener('message', handleResponse);
37
29
  });
30
+ const mobileFunction = async (data) => new Promise((resolve, reject) => {
31
+ const id = crypto.randomUUID();
32
+ wcSessionService
33
+ .sendMessage(JSON.stringify({
34
+ type,
35
+ target: WALLET_TARGET,
36
+ sdkVersion: PROVIDER_VERSION,
37
+ id,
38
+ fromOrigin: window.location.origin,
39
+ ...data,
40
+ }), type, id)
41
+ .then(() => {
42
+ wcSessionService.addSubscriber(id, (message) => {
43
+ const response = JSON.parse(message.serializedPayload);
44
+ if (isExpectedMobileResponse(response, id, `${type}_RESPONSE`)) {
45
+ if (response.error) {
46
+ reject(response.error);
47
+ }
48
+ else {
49
+ resolve(response.data);
50
+ }
51
+ }
52
+ });
53
+ });
54
+ });
55
+ /**
56
+ * Fetches token balances and pricing details for the provided party.
57
+ *
58
+ * Emits `${PUBLIC_REQUESTS.GET_COINS_BALANCE}_RESPONSE` with balances and metadata.
59
+ * Origin should be connected; otherwise a connect flow may be required.
60
+ *
61
+ * @param {GetBalanceRequest} data Request payload with partyId and options.
62
+ * @param {string} data.party Party identifier to query balances for.
63
+ * @param {CANTON_NETWORK_VARIANTS} data.network Canton network to query against.
64
+ * @returns {Promise<GetBalanceResponse>} Tokens, split flag, and optional price.
65
+ * @example
66
+ * const res = await getCoinsBalance({ party: "123::122", network: CANTON_NETWORK_DEV });
67
+ */
68
+ export const getCoinsBalance = async (data) => {
69
+ const res = await wcRequestLogicSeparator(async () => await browserFunction(data), async () => await mobileFunction(data));
70
+ return res;
71
+ };
38
72
  //# sourceMappingURL=getCoinsBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCoinsBalance.js","sourceRoot":"","sources":["../../../src/requests/getCoinsBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAuC,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAA2D,KAAK,EAC1F,IAAI,EACJ,EAAE,CACF,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAE/B,MAAM,CAAC,WAAW,CAChB;QACE,IAAI,EAAE,eAAe,CAAC,iBAAiB;QACvC,MAAM,EAAE,aAAa;QACrB,EAAE;QACF,GAAG,IAAI;KACR,EACD,GAAG,CACJ,CAAC;IAEF,SAAS,cAAc,CAAC,KAAmB;QACzC,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC,iBAAiB,WAAW,CAAC,EAAE;YAClF,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEtD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getCoinsBalance.js","sourceRoot":"","sources":["../../../src/requests/getCoinsBalance.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import type { NetworkStatus } from '../types';
1
+ import type { ConnectResponse } from '../types';
2
2
  /**
3
3
  * Checks whether the current dApp origin is connected to the wallet.
4
4
  *
5
5
  * Emits `${PUBLIC_REQUESTS.GET_IS_CONNECTED}_RESPONSE` with a boolean status.
6
6
  * Use this before calling privileged requests to avoid unnecessary prompts.
7
7
  *
8
- * @returns {Promise<NetworkStatus>} true if connected, false otherwise.
8
+ * @returns {Promise<ConnectResponse>} true if connected, false otherwise.
9
9
  * @example
10
10
  * const connected = await isConnected();
11
11
  */
12
- export declare const isConnected: () => Promise<NetworkStatus>;
12
+ export declare const isConnected: () => Promise<ConnectResponse>;
@@ -1,35 +1,28 @@
1
- import { WALLET_TARGET } from '../constants';
2
- import { isExpectedResponse } from '../helpers/handleResponce.helper';
3
- import { PUBLIC_REQUESTS } from '../types';
4
- /**
5
- * Checks whether the current dApp origin is connected to the wallet.
6
- *
7
- * Emits `${PUBLIC_REQUESTS.GET_IS_CONNECTED}_RESPONSE` with a boolean status.
8
- * Use this before calling privileged requests to avoid unnecessary prompts.
9
- *
10
- * @returns {Promise<NetworkStatus>} true if connected, false otherwise.
11
- * @example
12
- * const connected = await isConnected();
13
- */
14
- export const isConnected = async () => new Promise((resolve, reject) => {
1
+ import { PROVIDER_VERSION, WALLET_TARGET } from '../constants';
2
+ import { isExpectedMobileResponse, isExpectedResponse } from '../helpers/handleResponse.helper';
3
+ import { wcRequestLogicSeparator } from '../services/wc-service/wc-request-separator';
4
+ import { wcSessionService } from '../services/wc-service/wc-service';
5
+ import { EIP_1474_ERROR, EIP_1474_ERROR_ENUM, PUBLIC_REQUESTS } from '../types';
6
+ const type = PUBLIC_REQUESTS.GET_IS_CONNECTED;
7
+ const browserFunction = async () => new Promise((resolve, reject) => {
15
8
  const id = crypto.randomUUID();
16
9
  window.postMessage({
17
- type: PUBLIC_REQUESTS.GET_IS_CONNECTED,
10
+ type,
18
11
  target: WALLET_TARGET,
12
+ sdkVersion: PROVIDER_VERSION,
19
13
  id,
14
+ fromOrigin: window.location.origin,
20
15
  }, '*');
21
16
  const timeOut = setTimeout(() => {
22
- const error = {
23
- message: 'Extension not installed',
24
- };
17
+ const error = EIP_1474_ERROR[EIP_1474_ERROR_ENUM.ResourceUnavailable];
25
18
  reject(error);
26
19
  }, 500);
27
20
  function handleResponse(event) {
28
- if (isExpectedResponse(event, id, `${PUBLIC_REQUESTS.GET_IS_CONNECTED}_RESPONSE`)) {
21
+ if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
29
22
  window.removeEventListener('message', handleResponse);
30
23
  clearTimeout(timeOut);
31
- if (event.data.data.error) {
32
- reject(event.data.data.error);
24
+ if (event.data.error) {
25
+ reject(event.data.error);
33
26
  }
34
27
  else {
35
28
  resolve(event.data.data);
@@ -38,4 +31,47 @@ export const isConnected = async () => new Promise((resolve, reject) => {
38
31
  }
39
32
  window.addEventListener('message', handleResponse);
40
33
  });
34
+ const mobileFunction = async () => new Promise((resolve, reject) => {
35
+ const id = crypto.randomUUID();
36
+ // TODO: add timeout for request
37
+ // const timeOut = setTimeout(() => {
38
+ // const error: ConsoleWalletError = EIP_1474_ERROR[EIP_1474_ERROR_ENUM.ResourceUnavailable];
39
+ // reject(error);
40
+ // }, 500);
41
+ wcSessionService
42
+ .sendMessage(JSON.stringify({
43
+ type,
44
+ target: WALLET_TARGET,
45
+ sdkVersion: PROVIDER_VERSION,
46
+ id,
47
+ fromOrigin: window.location.origin,
48
+ }), type, id)
49
+ .then(() => {
50
+ wcSessionService.addSubscriber(id, (message) => {
51
+ const response = JSON.parse(message.serializedPayload);
52
+ if (isExpectedMobileResponse(response, id, `${type}_RESPONSE`)) {
53
+ if (response.error) {
54
+ reject(response.error);
55
+ }
56
+ else {
57
+ resolve(response.data);
58
+ }
59
+ }
60
+ });
61
+ });
62
+ });
63
+ /**
64
+ * Checks whether the current dApp origin is connected to the wallet.
65
+ *
66
+ * Emits `${PUBLIC_REQUESTS.GET_IS_CONNECTED}_RESPONSE` with a boolean status.
67
+ * Use this before calling privileged requests to avoid unnecessary prompts.
68
+ *
69
+ * @returns {Promise<ConnectResponse>} true if connected, false otherwise.
70
+ * @example
71
+ * const connected = await isConnected();
72
+ */
73
+ export const isConnected = async () => {
74
+ const res = await wcRequestLogicSeparator(async () => await browserFunction(), async () => await mobileFunction());
75
+ return res;
76
+ };
41
77
  //# sourceMappingURL=getIsConnected.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getIsConnected.js","sourceRoot":"","sources":["../../../src/requests/getIsConnected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAiC,KAAK,IAAI,EAAE,CAClE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAE/B,MAAM,CAAC,WAAW,CAChB;QACE,IAAI,EAAE,eAAe,CAAC,gBAAgB;QACtC,MAAM,EAAE,aAAa;QACrB,EAAE;KACH,EACD,GAAG,CACJ,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,MAAM,KAAK,GAAuB;YAChC,OAAO,EAAE,yBAAyB;SACnC,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,SAAS,cAAc,CAAC,KAAmB;QACzC,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC,gBAAgB,WAAW,CAAC,EAAE;YACjF,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEtD,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getIsConnected.js","sourceRoot":"","sources":["../../../src/requests/getIsConnected.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,24 @@
1
- import { WALLET_TARGET } from '../constants';
2
- import { isExpectedResponse } from '../helpers/handleResponce.helper';
1
+ import { PROVIDER_VERSION, WALLET_TARGET } from '../constants';
2
+ import { isExpectedMobileResponse, isExpectedResponse } from '../helpers/handleResponse.helper';
3
+ import { wcRequestLogicSeparator } from '../services/wc-service/wc-request-separator';
4
+ import { wcSessionService } from '../services/wc-service/wc-service';
3
5
  import { PUBLIC_REQUESTS } from '../types';
4
- /**
5
- * Retrieves offers history for a party using the indexer.
6
- *
7
- * Emits `${PUBLIC_REQUESTS.GET_NODE_OFFERS_HISTORY}_RESPONSE` with paged results.
8
- * Origin should be connected; otherwise a connect flow may be required.
9
- *
10
- * @param {OffersFromNodeRequest} data Request payload (filters, pagination).
11
- * @returns {Promise<OffersResponse>} Offer page data or null if none.
12
- * @example
13
- * const offers = await getNodeOffers({ ... });
14
- */
15
- export const getNodeOffers = async (data) => new Promise((resolve, reject) => {
6
+ const type = PUBLIC_REQUESTS.GET_NODE_OFFERS_HISTORY;
7
+ const browserFunction = async (data) => new Promise((resolve, reject) => {
16
8
  const id = crypto.randomUUID();
17
9
  window.postMessage({
18
- type: PUBLIC_REQUESTS.GET_NODE_OFFERS_HISTORY,
10
+ type,
19
11
  target: WALLET_TARGET,
12
+ sdkVersion: PROVIDER_VERSION,
20
13
  id,
14
+ fromOrigin: window.location.origin,
21
15
  ...data,
22
16
  }, '*');
23
17
  function handleResponse(event) {
24
- if (isExpectedResponse(event, id, `${PUBLIC_REQUESTS.GET_NODE_OFFERS_HISTORY}_RESPONSE`)) {
18
+ if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
25
19
  window.removeEventListener('message', handleResponse);
26
- if (event.data.data.error) {
27
- reject(event.data.data.error);
20
+ if (event.data.error) {
21
+ reject(event.data.error);
28
22
  }
29
23
  else {
30
24
  resolve(event.data.data);
@@ -33,4 +27,44 @@ export const getNodeOffers = async (data) => new Promise((resolve, reject) => {
33
27
  }
34
28
  window.addEventListener('message', handleResponse);
35
29
  });
30
+ const mobileFunction = async (data) => new Promise((resolve, reject) => {
31
+ const id = crypto.randomUUID();
32
+ wcSessionService
33
+ .sendMessage(JSON.stringify({
34
+ type,
35
+ target: WALLET_TARGET,
36
+ sdkVersion: PROVIDER_VERSION,
37
+ id,
38
+ fromOrigin: window.location.origin,
39
+ ...data,
40
+ }), type, id)
41
+ .then(() => {
42
+ wcSessionService.addSubscriber(id, (message) => {
43
+ const response = JSON.parse(message.serializedPayload);
44
+ if (isExpectedMobileResponse(response, id, `${type}_RESPONSE`)) {
45
+ if (response.error) {
46
+ reject(response.error);
47
+ }
48
+ else {
49
+ resolve(response.data);
50
+ }
51
+ }
52
+ });
53
+ });
54
+ });
55
+ /**
56
+ * Retrieves offers history for a party using the indexer.
57
+ *
58
+ * Emits `${PUBLIC_REQUESTS.GET_NODE_OFFERS_HISTORY}_RESPONSE` with paged results.
59
+ * Origin should be connected; otherwise a connect flow may be required.
60
+ *
61
+ * @param {OffersFromNodeRequest} data Request payload (filters, pagination).
62
+ * @returns {Promise<OffersResponse>} Offer page data or null if none.
63
+ * @example
64
+ * const offers = await getNodeOffers({ ... });
65
+ */
66
+ export const getNodeOffers = async (data) => {
67
+ const res = await wcRequestLogicSeparator(async () => await browserFunction(data), async () => await mobileFunction(data));
68
+ return res;
69
+ };
36
70
  //# sourceMappingURL=getNodeOffers.js.map