@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.
- package/CHANGELOG.md +35 -0
- package/README.md +118 -190
- package/dist/cjs/api/client.api.d.ts +51 -1
- package/dist/cjs/api/client.api.js +5 -1
- package/dist/cjs/api/client.api.js.map +1 -1
- package/dist/cjs/api/generated-indexer-api.d.ts +15 -15
- package/dist/cjs/api/generated-indexer-api.js +206 -212
- package/dist/cjs/api/generated-indexer-api.js.map +1 -1
- package/dist/cjs/api/generated-wallet-api.d.ts +828 -52
- package/dist/cjs/api/generated-wallet-api.js +434 -79
- package/dist/cjs/api/generated-wallet-api.js.map +1 -1
- package/dist/cjs/api/generated-wc-api.d.ts +219 -0
- package/dist/cjs/api/generated-wc-api.js +248 -0
- package/dist/cjs/api/generated-wc-api.js.map +1 -0
- package/dist/cjs/api/index.d.ts +1 -0
- package/dist/cjs/api/index.js +2 -1
- package/dist/cjs/api/index.js.map +1 -1
- package/dist/cjs/assets/assets/icons/close.svg +4 -0
- package/dist/cjs/assets/assets/images/extension.png +0 -0
- package/dist/cjs/assets/assets/images/walletConnect.png +0 -0
- package/dist/cjs/assets/icons/close.svg +4 -0
- package/dist/cjs/assets/images/extension.png +0 -0
- package/dist/cjs/assets/images/walletConnect.png +0 -0
- package/dist/cjs/constants/config.constants.d.ts +4 -0
- package/dist/cjs/constants/config.constants.js +5 -1
- package/dist/cjs/constants/config.constants.js.map +1 -1
- package/dist/cjs/constants/wc.constants.d.ts +1 -0
- package/dist/cjs/constants/wc.constants.js +5 -0
- package/dist/cjs/constants/wc.constants.js.map +1 -0
- package/dist/cjs/helpers/handleResponse.helper.d.ts +4 -0
- package/dist/cjs/helpers/{handleResponce.helper.js → handleResponse.helper.js} +12 -2
- package/dist/cjs/helpers/{handleResponce.helper.js.map → handleResponse.helper.js.map} +1 -1
- package/dist/cjs/helpers/mobile-check.helper.d.ts +7 -0
- package/dist/cjs/helpers/mobile-check.helper.js +27 -0
- package/dist/cjs/helpers/mobile-check.helper.js.map +1 -0
- package/dist/cjs/index.d.ts +11 -7
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/requests/checkAvailability.d.ts +3 -3
- package/dist/cjs/requests/checkAvailability.js +52 -11
- package/dist/cjs/requests/checkAvailability.js.map +1 -1
- package/dist/cjs/requests/connect.d.ts +2 -2
- package/dist/cjs/requests/connect.js +115 -23
- package/dist/cjs/requests/connect.js.map +1 -1
- package/dist/cjs/requests/disconnect.js +51 -16
- package/dist/cjs/requests/disconnect.js.map +1 -1
- package/dist/cjs/requests/getAccounts.js +55 -19
- package/dist/cjs/requests/getAccounts.js.map +1 -1
- package/dist/cjs/requests/getActiveAccount.js +55 -19
- package/dist/cjs/requests/getActiveAccount.js.map +1 -1
- package/dist/cjs/requests/getActiveNetwork.js +57 -19
- package/dist/cjs/requests/getActiveNetwork.js.map +1 -1
- package/dist/cjs/requests/getBalance.js +53 -19
- package/dist/cjs/requests/getBalance.js.map +1 -1
- package/dist/cjs/requests/getCoinsBalance.js +53 -19
- package/dist/cjs/requests/getCoinsBalance.js.map +1 -1
- package/dist/cjs/requests/getIsConnected.d.ts +3 -3
- package/dist/cjs/requests/getIsConnected.js +55 -19
- package/dist/cjs/requests/getIsConnected.js.map +1 -1
- package/dist/cjs/requests/getNodeOffers.js +51 -17
- package/dist/cjs/requests/getNodeOffers.js.map +1 -1
- package/dist/cjs/requests/getNodeTransfer.js +51 -17
- package/dist/cjs/requests/getNodeTransfer.js.map +1 -1
- package/dist/cjs/requests/getNodeTransfers.js +53 -19
- package/dist/cjs/requests/getNodeTransfers.js.map +1 -1
- package/dist/cjs/requests/getOffers.js +51 -17
- package/dist/cjs/requests/getOffers.js.map +1 -1
- package/dist/cjs/requests/getStatus.d.ts +3 -3
- package/dist/cjs/requests/getStatus.js +70 -20
- package/dist/cjs/requests/getStatus.js.map +1 -1
- package/dist/cjs/requests/getTransfer.js +53 -17
- package/dist/cjs/requests/getTransfer.js.map +1 -1
- package/dist/cjs/requests/getTransfers.js +53 -19
- package/dist/cjs/requests/getTransfers.js.map +1 -1
- package/dist/cjs/requests/getWalletVersion.d.ts +12 -0
- package/dist/cjs/requests/getWalletVersion.js +83 -0
- package/dist/cjs/requests/getWalletVersion.js.map +1 -0
- package/dist/cjs/requests/index.d.ts +3 -0
- package/dist/cjs/requests/index.js +3 -0
- package/dist/cjs/requests/index.js.map +1 -1
- package/dist/cjs/requests/ledgerApi.d.ts +16 -0
- package/dist/cjs/requests/ledgerApi.js +77 -0
- package/dist/cjs/requests/ledgerApi.js.map +1 -0
- package/dist/cjs/requests/signMessage.js +50 -16
- package/dist/cjs/requests/signMessage.js.map +1 -1
- package/dist/cjs/requests/singBatch.js +49 -15
- package/dist/cjs/requests/singBatch.js.map +1 -1
- package/dist/cjs/requests/submitCommands.js +56 -22
- package/dist/cjs/requests/submitCommands.js.map +1 -1
- package/dist/cjs/requests/submitInstructionChoice.d.ts +23 -0
- package/dist/cjs/requests/submitInstructionChoice.js +84 -0
- package/dist/cjs/requests/submitInstructionChoice.js.map +1 -0
- package/dist/cjs/services/index.d.ts +0 -0
- package/dist/cjs/services/index.js +2 -0
- package/dist/cjs/services/index.js.map +1 -0
- package/dist/cjs/services/indexedDB/index.d.ts +1 -0
- package/dist/cjs/services/indexedDB/index.js +5 -0
- package/dist/cjs/services/indexedDB/index.js.map +1 -0
- package/dist/cjs/services/indexedDB/wc-session.storage.d.ts +10 -0
- package/dist/cjs/services/indexedDB/wc-session.storage.js +60 -0
- package/dist/cjs/services/indexedDB/wc-session.storage.js.map +1 -0
- package/dist/cjs/services/wc-service/connector-select.d.ts +7 -0
- package/dist/cjs/services/wc-service/connector-select.js +70 -0
- package/dist/cjs/services/wc-service/connector-select.js.map +1 -0
- package/dist/cjs/services/wc-service/index.d.ts +0 -0
- package/dist/cjs/services/wc-service/index.js +2 -0
- package/dist/cjs/services/wc-service/index.js.map +1 -0
- package/dist/cjs/services/wc-service/prepare-wc.d.ts +1 -0
- package/dist/cjs/services/wc-service/prepare-wc.js +15 -0
- package/dist/cjs/services/wc-service/prepare-wc.js.map +1 -0
- package/dist/cjs/services/wc-service/wc-request-separator.d.ts +1 -0
- package/dist/cjs/services/wc-service/wc-request-separator.js +27 -0
- package/dist/cjs/services/wc-service/wc-request-separator.js.map +1 -0
- package/dist/cjs/services/wc-service/wc-service.d.ts +35 -0
- package/dist/cjs/services/wc-service/wc-service.js +189 -0
- package/dist/cjs/services/wc-service/wc-service.js.map +1 -0
- package/dist/cjs/styles.css +110 -0
- package/dist/cjs/triggersNative/onAccountsChanged.js +45 -31
- package/dist/cjs/triggersNative/onAccountsChanged.js.map +1 -1
- package/dist/cjs/triggersNative/onConnectionStatusChanged.d.ts +2 -2
- package/dist/cjs/triggersNative/onConnectionStatusChanged.js +48 -22
- package/dist/cjs/triggersNative/onConnectionStatusChanged.js.map +1 -1
- package/dist/cjs/triggersNative/onTxChanged.js +24 -9
- package/dist/cjs/triggersNative/onTxChanged.js.map +1 -1
- package/dist/cjs/types/communication.types.d.ts +6 -1
- package/dist/cjs/types/communication.types.js +3 -0
- package/dist/cjs/types/communication.types.js.map +1 -1
- package/dist/cjs/types/connect.type.d.ts +55 -4
- package/dist/cjs/types/connect.type.js +15 -0
- package/dist/cjs/types/connect.type.js.map +1 -1
- package/dist/cjs/types/error.type.d.ts +32 -2
- package/dist/cjs/types/error.type.js +138 -0
- package/dist/cjs/types/error.type.js.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/ledger.type.d.ts +6 -0
- package/dist/cjs/types/ledger.type.js +3 -0
- package/dist/cjs/types/ledger.type.js.map +1 -0
- package/dist/cjs/types/signed.type.d.ts +20 -0
- package/dist/cjs/types/signed.type.js +7 -1
- package/dist/cjs/types/signed.type.js.map +1 -1
- package/dist/cjs/types/token.types.d.ts +8 -0
- package/dist/cjs/types/token.types.js +7 -1
- package/dist/cjs/types/token.types.js.map +1 -1
- package/dist/esm/api/client.api.d.ts +51 -1
- package/dist/esm/api/client.api.js +5 -1
- package/dist/esm/api/client.api.js.map +1 -1
- package/dist/esm/api/generated-indexer-api.d.ts +15 -15
- package/dist/esm/api/generated-indexer-api.js +207 -213
- package/dist/esm/api/generated-indexer-api.js.map +1 -1
- package/dist/esm/api/generated-wallet-api.d.ts +828 -52
- package/dist/esm/api/generated-wallet-api.js +434 -79
- package/dist/esm/api/generated-wallet-api.js.map +1 -1
- package/dist/esm/api/generated-wc-api.d.ts +219 -0
- package/dist/esm/api/generated-wc-api.js +242 -0
- package/dist/esm/api/generated-wc-api.js.map +1 -0
- package/dist/esm/api/index.d.ts +1 -0
- package/dist/esm/api/index.js +1 -0
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/assets/assets/icons/close.svg +4 -0
- package/dist/esm/assets/assets/images/extension.png +0 -0
- package/dist/esm/assets/assets/images/walletConnect.png +0 -0
- package/dist/esm/assets/icons/close.svg +4 -0
- package/dist/esm/assets/images/extension.png +0 -0
- package/dist/esm/assets/images/walletConnect.png +0 -0
- package/dist/esm/constants/config.constants.d.ts +4 -0
- package/dist/esm/constants/config.constants.js +4 -0
- package/dist/esm/constants/config.constants.js.map +1 -1
- package/dist/esm/constants/wc.constants.d.ts +1 -0
- package/dist/esm/constants/wc.constants.js +2 -0
- package/dist/esm/constants/wc.constants.js.map +1 -0
- package/dist/esm/helpers/handleResponse.helper.d.ts +4 -0
- package/dist/esm/helpers/{handleResponce.helper.js → handleResponse.helper.js} +10 -1
- package/dist/esm/helpers/{handleResponce.helper.js.map → handleResponse.helper.js.map} +1 -1
- package/dist/esm/helpers/mobile-check.helper.d.ts +7 -0
- package/dist/esm/helpers/mobile-check.helper.js +23 -0
- package/dist/esm/helpers/mobile-check.helper.js.map +1 -0
- package/dist/esm/index.d.ts +11 -7
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/requests/checkAvailability.d.ts +3 -3
- package/dist/esm/requests/checkAvailability.js +52 -11
- package/dist/esm/requests/checkAvailability.js.map +1 -1
- package/dist/esm/requests/connect.d.ts +2 -2
- package/dist/esm/requests/connect.js +116 -24
- package/dist/esm/requests/connect.js.map +1 -1
- package/dist/esm/requests/disconnect.js +52 -17
- package/dist/esm/requests/disconnect.js.map +1 -1
- package/dist/esm/requests/getAccounts.js +57 -21
- package/dist/esm/requests/getAccounts.js.map +1 -1
- package/dist/esm/requests/getActiveAccount.js +57 -21
- package/dist/esm/requests/getActiveAccount.js.map +1 -1
- package/dist/esm/requests/getActiveNetwork.js +59 -21
- package/dist/esm/requests/getActiveNetwork.js.map +1 -1
- package/dist/esm/requests/getBalance.js +54 -20
- package/dist/esm/requests/getBalance.js.map +1 -1
- package/dist/esm/requests/getCoinsBalance.js +54 -20
- package/dist/esm/requests/getCoinsBalance.js.map +1 -1
- package/dist/esm/requests/getIsConnected.d.ts +3 -3
- package/dist/esm/requests/getIsConnected.js +57 -21
- package/dist/esm/requests/getIsConnected.js.map +1 -1
- package/dist/esm/requests/getNodeOffers.js +52 -18
- package/dist/esm/requests/getNodeOffers.js.map +1 -1
- package/dist/esm/requests/getNodeTransfer.js +52 -18
- package/dist/esm/requests/getNodeTransfer.js.map +1 -1
- package/dist/esm/requests/getNodeTransfers.js +54 -20
- package/dist/esm/requests/getNodeTransfers.js.map +1 -1
- package/dist/esm/requests/getOffers.js +52 -18
- package/dist/esm/requests/getOffers.js.map +1 -1
- package/dist/esm/requests/getStatus.d.ts +3 -3
- package/dist/esm/requests/getStatus.js +72 -22
- package/dist/esm/requests/getStatus.js.map +1 -1
- package/dist/esm/requests/getTransfer.js +54 -18
- package/dist/esm/requests/getTransfer.js.map +1 -1
- package/dist/esm/requests/getTransfers.js +54 -20
- package/dist/esm/requests/getTransfers.js.map +1 -1
- package/dist/esm/requests/getWalletVersion.d.ts +12 -0
- package/dist/esm/requests/getWalletVersion.js +79 -0
- package/dist/esm/requests/getWalletVersion.js.map +1 -0
- package/dist/esm/requests/index.d.ts +3 -0
- package/dist/esm/requests/index.js +3 -0
- package/dist/esm/requests/index.js.map +1 -1
- package/dist/esm/requests/ledgerApi.d.ts +16 -0
- package/dist/esm/requests/ledgerApi.js +73 -0
- package/dist/esm/requests/ledgerApi.js.map +1 -0
- package/dist/esm/requests/signMessage.js +51 -17
- package/dist/esm/requests/signMessage.js.map +1 -1
- package/dist/esm/requests/singBatch.js +50 -16
- package/dist/esm/requests/singBatch.js.map +1 -1
- package/dist/esm/requests/submitCommands.js +57 -23
- package/dist/esm/requests/submitCommands.js.map +1 -1
- package/dist/esm/requests/submitInstructionChoice.d.ts +23 -0
- package/dist/esm/requests/submitInstructionChoice.js +80 -0
- package/dist/esm/requests/submitInstructionChoice.js.map +1 -0
- package/dist/esm/services/index.d.ts +0 -0
- package/dist/esm/services/index.js +2 -0
- package/dist/esm/services/index.js.map +1 -0
- package/dist/esm/services/indexedDB/index.d.ts +1 -0
- package/dist/esm/services/indexedDB/index.js +2 -0
- package/dist/esm/services/indexedDB/index.js.map +1 -0
- package/dist/esm/services/indexedDB/wc-session.storage.d.ts +10 -0
- package/dist/esm/services/indexedDB/wc-session.storage.js +51 -0
- package/dist/esm/services/indexedDB/wc-session.storage.js.map +1 -0
- package/dist/esm/services/wc-service/connector-select.d.ts +7 -0
- package/dist/esm/services/wc-service/connector-select.js +65 -0
- package/dist/esm/services/wc-service/connector-select.js.map +1 -0
- package/dist/esm/services/wc-service/index.d.ts +0 -0
- package/dist/esm/services/wc-service/index.js +2 -0
- package/dist/esm/services/wc-service/index.js.map +1 -0
- package/dist/esm/services/wc-service/prepare-wc.d.ts +1 -0
- package/dist/esm/services/wc-service/prepare-wc.js +11 -0
- package/dist/esm/services/wc-service/prepare-wc.js.map +1 -0
- package/dist/esm/services/wc-service/wc-request-separator.d.ts +1 -0
- package/dist/esm/services/wc-service/wc-request-separator.js +23 -0
- package/dist/esm/services/wc-service/wc-request-separator.js.map +1 -0
- package/dist/esm/services/wc-service/wc-service.d.ts +35 -0
- package/dist/esm/services/wc-service/wc-service.js +185 -0
- package/dist/esm/services/wc-service/wc-service.js.map +1 -0
- package/dist/esm/styles.css +110 -0
- package/dist/esm/triggersNative/onAccountsChanged.js +45 -31
- package/dist/esm/triggersNative/onAccountsChanged.js.map +1 -1
- package/dist/esm/triggersNative/onConnectionStatusChanged.d.ts +2 -2
- package/dist/esm/triggersNative/onConnectionStatusChanged.js +50 -24
- package/dist/esm/triggersNative/onConnectionStatusChanged.js.map +1 -1
- package/dist/esm/triggersNative/onTxChanged.js +24 -9
- package/dist/esm/triggersNative/onTxChanged.js.map +1 -1
- package/dist/esm/types/communication.types.d.ts +6 -1
- package/dist/esm/types/communication.types.js +3 -0
- package/dist/esm/types/communication.types.js.map +1 -1
- package/dist/esm/types/connect.type.d.ts +55 -4
- package/dist/esm/types/connect.type.js +14 -1
- package/dist/esm/types/connect.type.js.map +1 -1
- package/dist/esm/types/error.type.d.ts +32 -2
- package/dist/esm/types/error.type.js +137 -1
- package/dist/esm/types/error.type.js.map +1 -1
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/ledger.type.d.ts +6 -0
- package/dist/esm/types/ledger.type.js +2 -0
- package/dist/esm/types/ledger.type.js.map +1 -0
- package/dist/esm/types/signed.type.d.ts +20 -0
- package/dist/esm/types/signed.type.js +6 -0
- package/dist/esm/types/signed.type.js.map +1 -1
- package/dist/esm/types/token.types.d.ts +8 -0
- package/dist/esm/types/token.types.js +6 -0
- package/dist/esm/types/token.types.js.map +1 -1
- package/package.json +12 -8
- package/dist/cjs/helpers/handleResponce.helper.d.ts +0 -3
- 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/
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
|
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, `${
|
|
21
|
+
if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
|
|
29
22
|
window.removeEventListener('message', handleResponse);
|
|
30
23
|
clearTimeout(timeOut);
|
|
31
|
-
if (event.data.
|
|
32
|
-
reject(event.data.
|
|
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;
|
|
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/
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
|
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, `${
|
|
22
|
+
if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
|
|
29
23
|
window.removeEventListener('message', handleResponse);
|
|
30
24
|
clearTimeout(timeOut);
|
|
31
|
-
if (event.data.
|
|
32
|
-
reject(event.data.
|
|
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;
|
|
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/
|
|
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
|
-
|
|
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
|
|
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, `${
|
|
18
|
+
if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
|
|
27
19
|
window.removeEventListener('message', handleResponse);
|
|
28
|
-
if (event.data.
|
|
29
|
-
reject(event.data.
|
|
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;
|
|
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/
|
|
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
|
-
|
|
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
|
|
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, `${
|
|
18
|
+
if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
|
|
27
19
|
window.removeEventListener('message', handleResponse);
|
|
28
|
-
if (event.data.
|
|
29
|
-
reject(event.data.
|
|
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;
|
|
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 {
|
|
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<
|
|
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<
|
|
12
|
+
export declare const isConnected: () => Promise<ConnectResponse>;
|
|
@@ -1,35 +1,28 @@
|
|
|
1
|
-
import { WALLET_TARGET } from '../constants';
|
|
2
|
-
import { isExpectedResponse } from '../helpers/
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
|
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, `${
|
|
21
|
+
if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
|
|
29
22
|
window.removeEventListener('message', handleResponse);
|
|
30
23
|
clearTimeout(timeOut);
|
|
31
|
-
if (event.data.
|
|
32
|
-
reject(event.data.
|
|
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;
|
|
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/
|
|
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
|
-
|
|
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
|
|
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, `${
|
|
18
|
+
if (isExpectedResponse(event, id, `${type}_RESPONSE`)) {
|
|
25
19
|
window.removeEventListener('message', handleResponse);
|
|
26
|
-
if (event.data.
|
|
27
|
-
reject(event.data.
|
|
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
|