@subwallet/extension-base 1.0.12-0 → 1.0.13-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 (124) hide show
  1. package/background/KoniTypes.d.ts +89 -0
  2. package/background/KoniTypes.js +18 -19
  3. package/background/handlers/Extension.js +17 -2
  4. package/background/handlers/State.d.ts +0 -1
  5. package/background/handlers/State.js +4 -8
  6. package/background/types.d.ts +6 -1
  7. package/cjs/background/KoniTypes.js +21 -11
  8. package/cjs/background/handlers/Extension.js +22 -6
  9. package/cjs/background/handlers/State.js +4 -8
  10. package/cjs/constants/index.js +7 -1
  11. package/cjs/defaults.js +1 -1
  12. package/cjs/koni/api/dotsama/balance.js +5 -0
  13. package/cjs/koni/api/dotsama/transfer.js +6 -0
  14. package/cjs/koni/api/nft/config.js +11 -6
  15. package/cjs/koni/api/xcm/polkadotXcm.js +1 -1
  16. package/cjs/koni/api/xcm/xTokens.js +2 -2
  17. package/cjs/koni/background/cron.js +12 -1
  18. package/cjs/koni/background/handlers/Extension.js +457 -131
  19. package/cjs/koni/background/handlers/State.js +236 -53
  20. package/cjs/koni/background/handlers/Tabs.js +61 -9
  21. package/cjs/koni/background/subscription.js +3 -0
  22. package/cjs/packageInfo.js +1 -1
  23. package/cjs/page/Metadata.js +3 -0
  24. package/cjs/services/chain-service/constants.js +10 -4
  25. package/cjs/services/chain-service/handler/SubstrateApi.js +2 -1
  26. package/cjs/services/chain-service/handler/SubstrateChainHandler.js +3 -1
  27. package/cjs/services/chain-service/handler/manta/MantaPrivateHandler.js +147 -0
  28. package/cjs/services/chain-service/index.js +54 -5
  29. package/cjs/services/chain-service/utils.js +32 -0
  30. package/cjs/services/event-service/types.js +3 -1
  31. package/cjs/services/request-service/handler/AuthRequestHandler.js +4 -9
  32. package/cjs/services/request-service/handler/SubstrateRequestHandler.js +2 -2
  33. package/cjs/services/request-service/handler/WalletConnectRequestHandler.js +71 -0
  34. package/cjs/services/request-service/index.js +24 -6
  35. package/cjs/services/storage-service/DatabaseService.js +31 -1
  36. package/cjs/services/storage-service/databases/index.js +3 -0
  37. package/cjs/services/storage-service/db-stores/MantaPay.js +40 -0
  38. package/cjs/services/transaction-service/helpers/index.js +3 -2
  39. package/cjs/services/transaction-service/index.js +2 -1
  40. package/cjs/services/wallet-connect-service/constants.js +38 -0
  41. package/cjs/services/wallet-connect-service/handler/Eip155RequestHandler.js +113 -0
  42. package/cjs/services/wallet-connect-service/handler/PolkadotRequestHandler.js +123 -0
  43. package/cjs/services/wallet-connect-service/helpers.js +81 -0
  44. package/cjs/services/wallet-connect-service/index.js +273 -0
  45. package/cjs/services/wallet-connect-service/types.js +27 -0
  46. package/cjs/utils/array.js +17 -0
  47. package/cjs/utils/environment.js +66 -0
  48. package/cjs/utils/index.js +78 -1
  49. package/cjs/utils/lazy.js +52 -0
  50. package/constants/index.d.ts +2 -0
  51. package/constants/index.js +2 -0
  52. package/defaults.d.ts +1 -1
  53. package/defaults.js +1 -1
  54. package/koni/api/dotsama/balance.js +6 -1
  55. package/koni/api/dotsama/transfer.js +7 -1
  56. package/koni/api/nft/config.js +11 -6
  57. package/koni/api/xcm/polkadotXcm.js +1 -1
  58. package/koni/api/xcm/xTokens.js +2 -2
  59. package/koni/background/cron.d.ts +1 -0
  60. package/koni/background/cron.js +13 -2
  61. package/koni/background/handlers/Extension.d.ts +11 -0
  62. package/koni/background/handlers/Extension.js +329 -12
  63. package/koni/background/handlers/State.d.ts +17 -3
  64. package/koni/background/handlers/State.js +238 -52
  65. package/koni/background/handlers/Tabs.d.ts +2 -0
  66. package/koni/background/handlers/Tabs.js +58 -7
  67. package/koni/background/subscription.js +3 -0
  68. package/package.json +72 -6
  69. package/packageInfo.js +1 -1
  70. package/page/Metadata.d.ts +2 -0
  71. package/page/Metadata.js +3 -0
  72. package/services/chain-service/constants.d.ts +3 -0
  73. package/services/chain-service/constants.js +5 -2
  74. package/services/chain-service/handler/SubstrateApi.d.ts +1 -1
  75. package/services/chain-service/handler/SubstrateApi.js +2 -1
  76. package/services/chain-service/handler/SubstrateChainHandler.d.ts +1 -1
  77. package/services/chain-service/handler/SubstrateChainHandler.js +3 -1
  78. package/services/chain-service/handler/manta/MantaPrivateHandler.d.ts +30 -0
  79. package/services/chain-service/handler/manta/MantaPrivateHandler.js +140 -0
  80. package/services/chain-service/handler/types.d.ts +2 -0
  81. package/services/chain-service/index.d.ts +7 -3
  82. package/services/chain-service/index.js +56 -7
  83. package/services/chain-service/utils.d.ts +3 -0
  84. package/services/chain-service/utils.js +28 -0
  85. package/services/event-service/types.d.ts +3 -0
  86. package/services/event-service/types.js +3 -1
  87. package/services/request-service/handler/AuthRequestHandler.d.ts +0 -1
  88. package/services/request-service/handler/AuthRequestHandler.js +5 -10
  89. package/services/request-service/handler/SubstrateRequestHandler.d.ts +1 -1
  90. package/services/request-service/handler/SubstrateRequestHandler.js +2 -2
  91. package/services/request-service/handler/WalletConnectRequestHandler.d.ts +15 -0
  92. package/services/request-service/handler/WalletConnectRequestHandler.js +62 -0
  93. package/services/request-service/index.d.ts +7 -2
  94. package/services/request-service/index.js +24 -6
  95. package/services/storage-service/DatabaseService.d.ts +10 -1
  96. package/services/storage-service/DatabaseService.js +31 -1
  97. package/services/storage-service/databases/index.d.ts +2 -0
  98. package/services/storage-service/databases/index.js +3 -0
  99. package/services/storage-service/db-stores/MantaPay.d.ts +9 -0
  100. package/services/storage-service/db-stores/MantaPay.js +32 -0
  101. package/services/transaction-service/helpers/index.d.ts +1 -1
  102. package/services/transaction-service/helpers/index.js +2 -2
  103. package/services/transaction-service/index.js +2 -1
  104. package/services/transaction-service/types.d.ts +2 -1
  105. package/services/wallet-connect-service/constants.d.ts +11 -0
  106. package/services/wallet-connect-service/constants.js +23 -0
  107. package/services/wallet-connect-service/handler/Eip155RequestHandler.d.ts +8 -0
  108. package/services/wallet-connect-service/handler/Eip155RequestHandler.js +106 -0
  109. package/services/wallet-connect-service/handler/PolkadotRequestHandler.d.ts +8 -0
  110. package/services/wallet-connect-service/handler/PolkadotRequestHandler.js +114 -0
  111. package/services/wallet-connect-service/helpers.d.ts +12 -0
  112. package/services/wallet-connect-service/helpers.js +67 -0
  113. package/services/wallet-connect-service/index.d.ts +20 -0
  114. package/services/wallet-connect-service/index.js +265 -0
  115. package/services/wallet-connect-service/types.d.ts +46 -0
  116. package/services/wallet-connect-service/types.js +20 -0
  117. package/utils/array.d.ts +1 -0
  118. package/utils/array.js +10 -0
  119. package/utils/environment.d.ts +2 -0
  120. package/utils/environment.js +59 -0
  121. package/utils/index.d.ts +4 -0
  122. package/utils/index.js +10 -2
  123. package/utils/lazy.d.ts +2 -0
  124. package/utils/lazy.js +43 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WALLET_CONNECT_SUPPORT_NAMESPACES = exports.WALLET_CONNECT_SUPPORTED_METHODS = exports.WALLET_CONNECT_REQUEST_KEY = exports.WALLET_CONNECT_POLKADOT_NAMESPACE = exports.WALLET_CONNECT_EIP155_NAMESPACE = exports.RELAY_URL = exports.PROJECT_ID = exports.DEFAULT_WALLET_CONNECT_OPTIONS = exports.ALL_WALLET_CONNECT_EVENT = void 0;
7
+ var _types = require("@subwallet/extension-base/services/wallet-connect-service/types");
8
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
9
+ // SPDX-License-Identifier: Apache-2.0
10
+
11
+ const PROJECT_ID = '6da34c0b48164d27681924dd9a46d6be';
12
+ exports.PROJECT_ID = PROJECT_ID;
13
+ const RELAY_URL = 'wss://relay.walletconnect.com';
14
+ exports.RELAY_URL = RELAY_URL;
15
+ const DEFAULT_WALLET_CONNECT_OPTIONS = {
16
+ logger: 'debug',
17
+ projectId: PROJECT_ID,
18
+ relayUrl: RELAY_URL,
19
+ metadata: {
20
+ name: 'SubWallet',
21
+ description: 'React Wallet for WalletConnect',
22
+ url: 'https://www.subwallet.app/',
23
+ icons: ['https://1570604715-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lh39Kwxa1xxZM9WX_Bs%2Ficon%2FiETEgi1ykXUQRW63vPnL%2FLogo%3DWhite%2C%20Background%3DGradient.jpg?alt=media&token=46c5dafa-ce09-4576-bcd9-a5c796786f1a']
24
+ }
25
+ };
26
+ exports.DEFAULT_WALLET_CONNECT_OPTIONS = DEFAULT_WALLET_CONNECT_OPTIONS;
27
+ const ALL_WALLET_CONNECT_EVENT = ['session_proposal', 'session_update', 'session_extend', 'session_ping', 'session_delete', 'session_expire', 'session_request', 'session_request_sent', 'session_event', 'proposal_expire'];
28
+ exports.ALL_WALLET_CONNECT_EVENT = ALL_WALLET_CONNECT_EVENT;
29
+ const WALLET_CONNECT_SUPPORTED_METHODS = [_types.POLKADOT_SIGNING_METHODS.POLKADOT_SIGN_MESSAGE, _types.POLKADOT_SIGNING_METHODS.POLKADOT_SIGN_TRANSACTION, _types.EIP155_SIGNING_METHODS.ETH_SEND_TRANSACTION, _types.EIP155_SIGNING_METHODS.PERSONAL_SIGN, _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V1, _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V3, _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V4];
30
+ exports.WALLET_CONNECT_SUPPORTED_METHODS = WALLET_CONNECT_SUPPORTED_METHODS;
31
+ const WALLET_CONNECT_REQUEST_KEY = 'wallet-connect';
32
+ exports.WALLET_CONNECT_REQUEST_KEY = WALLET_CONNECT_REQUEST_KEY;
33
+ const WALLET_CONNECT_EIP155_NAMESPACE = 'eip155';
34
+ exports.WALLET_CONNECT_EIP155_NAMESPACE = WALLET_CONNECT_EIP155_NAMESPACE;
35
+ const WALLET_CONNECT_POLKADOT_NAMESPACE = 'polkadot';
36
+ exports.WALLET_CONNECT_POLKADOT_NAMESPACE = WALLET_CONNECT_POLKADOT_NAMESPACE;
37
+ const WALLET_CONNECT_SUPPORT_NAMESPACES = [WALLET_CONNECT_EIP155_NAMESPACE, WALLET_CONNECT_POLKADOT_NAMESPACE];
38
+ exports.WALLET_CONNECT_SUPPORT_NAMESPACES = WALLET_CONNECT_SUPPORT_NAMESPACES;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase"));
9
+ var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey"));
10
+ var _utils = require("@json-rpc-tools/utils");
11
+ var _helpers = require("@subwallet/extension-base/services/wallet-connect-service/helpers");
12
+ var _types = require("@subwallet/extension-base/services/wallet-connect-service/types");
13
+ var _utils2 = require("@subwallet/extension-base/utils");
14
+ var _utils3 = require("@walletconnect/utils");
15
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
16
+ // SPDX-License-Identifier: Apache-2.0
17
+ var _walletConnectService = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("walletConnectService");
18
+ var _koniState = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("koniState");
19
+ var _checkAccount = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("checkAccount");
20
+ var _handleError = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("handleError");
21
+ class Eip155RequestHandler {
22
+ constructor(koniState, walletConnectService) {
23
+ Object.defineProperty(this, _handleError, {
24
+ value: _handleError2
25
+ });
26
+ Object.defineProperty(this, _checkAccount, {
27
+ value: _checkAccount2
28
+ });
29
+ Object.defineProperty(this, _walletConnectService, {
30
+ writable: true,
31
+ value: void 0
32
+ });
33
+ Object.defineProperty(this, _koniState, {
34
+ writable: true,
35
+ value: void 0
36
+ });
37
+ (0, _classPrivateFieldLooseBase2.default)(this, _koniState)[_koniState] = koniState;
38
+ (0, _classPrivateFieldLooseBase2.default)(this, _walletConnectService)[_walletConnectService] = walletConnectService;
39
+ }
40
+ handleRequest(requestEvent) {
41
+ const {
42
+ id,
43
+ params,
44
+ topic
45
+ } = requestEvent;
46
+ const {
47
+ chainId: _chainId,
48
+ request
49
+ } = params;
50
+ const method = request.method;
51
+ const requestSession = (0, _classPrivateFieldLooseBase2.default)(this, _walletConnectService)[_walletConnectService].getSession(topic);
52
+ const url = requestSession.peer.metadata.url;
53
+ const sessionAccounts = requestSession.namespaces.eip155.accounts.map(account => account.split(':')[2]);
54
+ if ([_types.EIP155_SIGNING_METHODS.PERSONAL_SIGN, _types.EIP155_SIGNING_METHODS.ETH_SIGN, _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA, _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V3, _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V4].includes(method)) {
55
+ const address = (0, _helpers.getEip155MessageAddress)(method, request.params);
56
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkAccount)[_checkAccount](address, sessionAccounts);
57
+ (0, _classPrivateFieldLooseBase2.default)(this, _koniState)[_koniState].evmSign((0, _helpers.getWCId)(id), url, method === _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA ? _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V4 : method, request.params, sessionAccounts).then(async signature => {
58
+ await (0, _classPrivateFieldLooseBase2.default)(this, _walletConnectService)[_walletConnectService].responseRequest({
59
+ topic: topic,
60
+ response: (0, _utils.formatJsonRpcResult)(id, signature)
61
+ });
62
+ }).catch(e => {
63
+ (0, _classPrivateFieldLooseBase2.default)(this, _handleError)[_handleError](topic, id, e);
64
+ });
65
+ } else if (method === _types.EIP155_SIGNING_METHODS.ETH_SEND_TRANSACTION) {
66
+ const [tx] = (0, _helpers.parseRequestParams)(request.params);
67
+ const address = tx.from;
68
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkAccount)[_checkAccount](address, sessionAccounts);
69
+ const chainId = parseInt(_chainId.split(':')[1]);
70
+ const [networkKey, chainInfo] = (0, _classPrivateFieldLooseBase2.default)(this, _koniState)[_koniState].findNetworkKeyByChainId(chainId);
71
+ if (!networkKey || !chainInfo) {
72
+ throw new Error((0, _utils3.getSdkError)('UNSUPPORTED_CHAINS').message + ' ' + address);
73
+ }
74
+ const chainState = (0, _classPrivateFieldLooseBase2.default)(this, _koniState)[_koniState].getChainStateByKey(networkKey);
75
+ const createRequest = () => {
76
+ (0, _classPrivateFieldLooseBase2.default)(this, _koniState)[_koniState].evmSendTransaction((0, _helpers.getWCId)(id), url, networkKey, sessionAccounts, tx).then(async signature => {
77
+ await (0, _classPrivateFieldLooseBase2.default)(this, _walletConnectService)[_walletConnectService].responseRequest({
78
+ topic: topic,
79
+ response: (0, _utils.formatJsonRpcResult)(id, signature)
80
+ });
81
+ }).catch(e => {
82
+ (0, _classPrivateFieldLooseBase2.default)(this, _handleError)[_handleError](topic, id, e);
83
+ });
84
+ };
85
+ if (!chainState.active) {
86
+ (0, _classPrivateFieldLooseBase2.default)(this, _koniState)[_koniState].chainService.enableChain(networkKey).then(createRequest).catch(() => {
87
+ throw new Error((0, _utils3.getSdkError)('USER_REJECTED').message + ' Can not active chain: ' + chainInfo.name);
88
+ });
89
+ } else {
90
+ createRequest();
91
+ }
92
+ } else {
93
+ throw Error((0, _utils3.getSdkError)('INVALID_METHOD').message + ' ' + method);
94
+ }
95
+ }
96
+ }
97
+ exports.default = Eip155RequestHandler;
98
+ function _checkAccount2(address, accounts) {
99
+ if (!accounts.find(account => (0, _utils2.isSameAddress)(account, address))) {
100
+ throw new Error((0, _utils3.getSdkError)('UNSUPPORTED_ACCOUNTS').message + ' ' + address);
101
+ }
102
+ }
103
+ function _handleError2(topic, id, e) {
104
+ console.log(e);
105
+ let message = e.message;
106
+ if (message.includes('User Rejected Request')) {
107
+ message = (0, _utils3.getSdkError)('USER_REJECTED').message;
108
+ }
109
+ (0, _classPrivateFieldLooseBase2.default)(this, _walletConnectService)[_walletConnectService].responseRequest({
110
+ topic: topic,
111
+ response: (0, _utils.formatJsonRpcError)(id, message)
112
+ }).catch(console.error);
113
+ }
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase"));
9
+ var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey"));
10
+ var _utils = require("@json-rpc-tools/utils");
11
+ var _RequestBytesSign = _interopRequireDefault(require("@subwallet/extension-base/background/RequestBytesSign"));
12
+ var _RequestExtrinsicSign = _interopRequireDefault(require("@subwallet/extension-base/background/RequestExtrinsicSign"));
13
+ var _helpers = require("@subwallet/extension-base/services/wallet-connect-service/helpers");
14
+ var _types = require("@subwallet/extension-base/services/wallet-connect-service/types");
15
+ var _utils2 = require("@subwallet/extension-base/utils");
16
+ var _uiKeyring = _interopRequireDefault(require("@subwallet/ui-keyring"));
17
+ var _utils3 = require("@walletconnect/utils");
18
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
19
+ // SPDX-License-Identifier: Apache-2.0
20
+ var _walletConnectService = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("walletConnectService");
21
+ var _requestService = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("requestService");
22
+ var _checkAccount = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("checkAccount");
23
+ var _handleError = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("handleError");
24
+ class PolkadotRequestHandler {
25
+ constructor(walletConnectService, requestService) {
26
+ Object.defineProperty(this, _handleError, {
27
+ value: _handleError2
28
+ });
29
+ Object.defineProperty(this, _checkAccount, {
30
+ value: _checkAccount2
31
+ });
32
+ Object.defineProperty(this, _walletConnectService, {
33
+ writable: true,
34
+ value: void 0
35
+ });
36
+ Object.defineProperty(this, _requestService, {
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ (0, _classPrivateFieldLooseBase2.default)(this, _walletConnectService)[_walletConnectService] = walletConnectService;
41
+ (0, _classPrivateFieldLooseBase2.default)(this, _requestService)[_requestService] = requestService;
42
+ }
43
+ handleRequest(requestEvent) {
44
+ const {
45
+ id,
46
+ params,
47
+ topic
48
+ } = requestEvent;
49
+ const {
50
+ request
51
+ } = params;
52
+ const method = request.method;
53
+ const requestSession = (0, _classPrivateFieldLooseBase2.default)(this, _walletConnectService)[_walletConnectService].getSession(topic);
54
+ const url = requestSession.peer.metadata.url;
55
+ const sessionAccounts = requestSession.namespaces.polkadot.accounts.map(account => account.split(':')[2]);
56
+ if (method === _types.POLKADOT_SIGNING_METHODS.POLKADOT_SIGN_MESSAGE) {
57
+ const param = (0, _helpers.parseRequestParams)(request.params);
58
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkAccount)[_checkAccount](param.address, sessionAccounts);
59
+ const pair = _uiKeyring.default.getPair(param.address);
60
+ const address = pair.address;
61
+ (0, _classPrivateFieldLooseBase2.default)(this, _requestService)[_requestService].sign(url, new _RequestBytesSign.default({
62
+ address: address,
63
+ data: param.message,
64
+ type: 'bytes'
65
+ }), {
66
+ address,
67
+ ...pair.meta
68
+ }, (0, _helpers.getWCId)(id)).then(async _ref => {
69
+ let {
70
+ signature
71
+ } = _ref;
72
+ await (0, _classPrivateFieldLooseBase2.default)(this, _walletConnectService)[_walletConnectService].responseRequest({
73
+ topic: topic,
74
+ response: (0, _utils.formatJsonRpcResult)(id, {
75
+ signature
76
+ })
77
+ });
78
+ }).catch(e => {
79
+ (0, _classPrivateFieldLooseBase2.default)(this, _handleError)[_handleError](topic, id, e);
80
+ });
81
+ } else if (method === _types.POLKADOT_SIGNING_METHODS.POLKADOT_SIGN_TRANSACTION) {
82
+ const param = (0, _helpers.parseRequestParams)(request.params);
83
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkAccount)[_checkAccount](param.address, sessionAccounts);
84
+ const pair = _uiKeyring.default.getPair(param.address);
85
+ const address = pair.address;
86
+ (0, _classPrivateFieldLooseBase2.default)(this, _requestService)[_requestService].sign(url, new _RequestExtrinsicSign.default(param.transactionPayload), {
87
+ address,
88
+ ...pair.meta
89
+ }, (0, _helpers.getWCId)(id)).then(async _ref2 => {
90
+ let {
91
+ signature
92
+ } = _ref2;
93
+ await (0, _classPrivateFieldLooseBase2.default)(this, _walletConnectService)[_walletConnectService].responseRequest({
94
+ topic: topic,
95
+ response: (0, _utils.formatJsonRpcResult)(id, {
96
+ signature
97
+ })
98
+ });
99
+ }).catch(e => {
100
+ (0, _classPrivateFieldLooseBase2.default)(this, _handleError)[_handleError](topic, id, e);
101
+ });
102
+ } else {
103
+ throw Error(`${(0, _utils3.getSdkError)('INVALID_METHOD').message} ${method}`);
104
+ }
105
+ }
106
+ }
107
+ exports.default = PolkadotRequestHandler;
108
+ function _checkAccount2(address, accounts) {
109
+ if (!accounts.find(account => (0, _utils2.isSameAddress)(account, address))) {
110
+ throw new Error((0, _utils3.getSdkError)('UNSUPPORTED_ACCOUNTS').message + ' ' + address);
111
+ }
112
+ }
113
+ function _handleError2(topic, id, e) {
114
+ console.log(e);
115
+ let message = e.message;
116
+ if (message.includes('User Rejected Request')) {
117
+ message = (0, _utils3.getSdkError)('USER_REJECTED').message;
118
+ }
119
+ (0, _classPrivateFieldLooseBase2.default)(this, _walletConnectService)[_walletConnectService].responseRequest({
120
+ topic: topic,
121
+ response: (0, _utils.formatJsonRpcError)(id, message)
122
+ }).catch(console.error);
123
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseRequestParams = exports.isWalletConnectRequest = exports.isSupportWalletConnectNamespace = exports.isSupportWalletConnectChain = exports.isProposalExpired = exports.getWCId = exports.getEip155MessageAddress = exports.convertConnectRequest = void 0;
7
+ var _utils = require("@subwallet/extension-base/services/chain-service/utils");
8
+ var _utilCrypto = require("@polkadot/util-crypto");
9
+ var _constants = require("./constants");
10
+ var _types = require("./types");
11
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
12
+ // SPDX-License-Identifier: Apache-2.0
13
+
14
+ const getWCId = id => {
15
+ return [_constants.WALLET_CONNECT_REQUEST_KEY, Date.now(), id].join('.');
16
+ };
17
+ exports.getWCId = getWCId;
18
+ const convertConnectRequest = request => {
19
+ return {
20
+ id: getWCId(request.id),
21
+ isInternal: false,
22
+ request: request,
23
+ url: request.params.proposer.metadata.url
24
+ };
25
+ };
26
+ exports.convertConnectRequest = convertConnectRequest;
27
+ const parseRequestParams = params => {
28
+ // @ts-ignore
29
+ return params;
30
+ };
31
+ exports.parseRequestParams = parseRequestParams;
32
+ const getEip155MessageAddress = (method, param) => {
33
+ switch (method) {
34
+ case _types.EIP155_SIGNING_METHODS.PERSONAL_SIGN:
35
+ case _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA:
36
+ case _types.EIP155_SIGNING_METHODS.ETH_SIGN:
37
+ case _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V3:
38
+ case _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V4:
39
+ // eslint-disable-next-line no-case-declarations
40
+ const [p1, p2] = parseRequestParams(param);
41
+ if (typeof p1 === 'string' && (0, _utilCrypto.isEthereumAddress)(p1)) {
42
+ return p1;
43
+ } else if (typeof p2 === 'string' && (0, _utilCrypto.isEthereumAddress)(p2)) {
44
+ return p2;
45
+ }
46
+ return '';
47
+ default:
48
+ return '';
49
+ }
50
+ };
51
+ exports.getEip155MessageAddress = getEip155MessageAddress;
52
+ const isWalletConnectRequest = id => {
53
+ if (!id) {
54
+ return false;
55
+ }
56
+ const [prefix] = id.split('.');
57
+ return prefix === _constants.WALLET_CONNECT_REQUEST_KEY;
58
+ };
59
+ exports.isWalletConnectRequest = isWalletConnectRequest;
60
+ const isProposalExpired = params => {
61
+ const timeNum = params.expiry;
62
+ const expireTime = new Date(timeNum > 10 ** 12 ? timeNum : timeNum * 1000);
63
+ const now = new Date();
64
+ return now.getTime() >= expireTime.getTime();
65
+ };
66
+ exports.isProposalExpired = isProposalExpired;
67
+ const isSupportWalletConnectNamespace = namespace => {
68
+ return _constants.WALLET_CONNECT_SUPPORT_NAMESPACES.includes(namespace);
69
+ };
70
+ exports.isSupportWalletConnectNamespace = isSupportWalletConnectNamespace;
71
+ const isSupportWalletConnectChain = (chain, chainInfoMap) => {
72
+ const [namespace, info] = chain.split(':');
73
+ if (namespace === _constants.WALLET_CONNECT_POLKADOT_NAMESPACE) {
74
+ return !!(0, _utils.findChainInfoByHalfGenesisHash)(chainInfoMap, info);
75
+ } else if (namespace === _constants.WALLET_CONNECT_EIP155_NAMESPACE) {
76
+ return !!(0, _utils.findChainInfoByChainId)(chainInfoMap, parseInt(info));
77
+ } else {
78
+ return false;
79
+ }
80
+ };
81
+ exports.isSupportWalletConnectChain = isSupportWalletConnectChain;
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase"));
9
+ var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey"));
10
+ var _utils = require("@json-rpc-tools/utils");
11
+ var _Eip155RequestHandler = _interopRequireDefault(require("@subwallet/extension-base/services/wallet-connect-service/handler/Eip155RequestHandler"));
12
+ var _signClient = _interopRequireDefault(require("@walletconnect/sign-client"));
13
+ var _utils2 = require("@walletconnect/utils");
14
+ var _rxjs = require("rxjs");
15
+ var _PolkadotRequestHandler = _interopRequireDefault(require("./handler/PolkadotRequestHandler"));
16
+ var _constants = require("./constants");
17
+ var _helpers = require("./helpers");
18
+ var _types = require("./types");
19
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
20
+ // SPDX-License-Identifier: Apache-2.0
21
+ var _requestService = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("requestService");
22
+ var _polkadotRequestHandler = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("polkadotRequestHandler");
23
+ var _eip155RequestHandler = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("eip155RequestHandler");
24
+ var _koniState = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("koniState");
25
+ var _client = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("client");
26
+ var _option = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("option");
27
+ var _initClient = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("initClient");
28
+ var _updateSessions = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("updateSessions");
29
+ var _onSessionProposal = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("onSessionProposal");
30
+ var _onSessionRequest = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("onSessionRequest");
31
+ var _createListener = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("createListener");
32
+ var _removeListener = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("removeListener");
33
+ var _checkClient = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("checkClient");
34
+ class WalletConnectService {
35
+ constructor(koniState, requestService) {
36
+ let option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _constants.DEFAULT_WALLET_CONNECT_OPTIONS;
37
+ Object.defineProperty(this, _checkClient, {
38
+ value: _checkClient2
39
+ });
40
+ Object.defineProperty(this, _removeListener, {
41
+ value: _removeListener2
42
+ });
43
+ Object.defineProperty(this, _createListener, {
44
+ value: _createListener2
45
+ });
46
+ Object.defineProperty(this, _onSessionRequest, {
47
+ value: _onSessionRequest2
48
+ });
49
+ Object.defineProperty(this, _onSessionProposal, {
50
+ value: _onSessionProposal2
51
+ });
52
+ Object.defineProperty(this, _updateSessions, {
53
+ value: _updateSessions2
54
+ });
55
+ Object.defineProperty(this, _initClient, {
56
+ value: _initClient2
57
+ });
58
+ Object.defineProperty(this, _requestService, {
59
+ writable: true,
60
+ value: void 0
61
+ });
62
+ Object.defineProperty(this, _polkadotRequestHandler, {
63
+ writable: true,
64
+ value: void 0
65
+ });
66
+ Object.defineProperty(this, _eip155RequestHandler, {
67
+ writable: true,
68
+ value: void 0
69
+ });
70
+ Object.defineProperty(this, _koniState, {
71
+ writable: true,
72
+ value: void 0
73
+ });
74
+ Object.defineProperty(this, _client, {
75
+ writable: true,
76
+ value: void 0
77
+ });
78
+ Object.defineProperty(this, _option, {
79
+ writable: true,
80
+ value: void 0
81
+ });
82
+ this.sessionSubject = new _rxjs.BehaviorSubject([]);
83
+ (0, _classPrivateFieldLooseBase2.default)(this, _koniState)[_koniState] = koniState;
84
+ (0, _classPrivateFieldLooseBase2.default)(this, _requestService)[_requestService] = requestService;
85
+ (0, _classPrivateFieldLooseBase2.default)(this, _option)[_option] = option;
86
+ (0, _classPrivateFieldLooseBase2.default)(this, _polkadotRequestHandler)[_polkadotRequestHandler] = new _PolkadotRequestHandler.default(this, requestService);
87
+ (0, _classPrivateFieldLooseBase2.default)(this, _eip155RequestHandler)[_eip155RequestHandler] = new _Eip155RequestHandler.default((0, _classPrivateFieldLooseBase2.default)(this, _koniState)[_koniState], this);
88
+ (0, _classPrivateFieldLooseBase2.default)(this, _initClient)[_initClient]().catch(console.error);
89
+ }
90
+ get sessions() {
91
+ var _classPrivateFieldLoo;
92
+ return ((_classPrivateFieldLoo = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo === void 0 ? void 0 : _classPrivateFieldLoo.session.values) || [];
93
+ }
94
+ getSession(topic) {
95
+ var _classPrivateFieldLoo2;
96
+ const session = (_classPrivateFieldLoo2 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo2 === void 0 ? void 0 : _classPrivateFieldLoo2.session.get(topic);
97
+ if (!session) {
98
+ throw new Error((0, _utils2.getInternalError)('MISMATCHED_TOPIC').message);
99
+ } else {
100
+ return session;
101
+ }
102
+ }
103
+ async changeOption(newOption) {
104
+ (0, _classPrivateFieldLooseBase2.default)(this, _option)[_option] = Object.assign({}, (0, _classPrivateFieldLooseBase2.default)(this, _option)[_option], newOption);
105
+ await (0, _classPrivateFieldLooseBase2.default)(this, _initClient)[_initClient]();
106
+ }
107
+ getSessions() {
108
+ var _classPrivateFieldLoo3;
109
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
110
+ console.log((_classPrivateFieldLoo3 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo3 === void 0 ? void 0 : _classPrivateFieldLoo3.session.values);
111
+ }
112
+ async connect(uri) {
113
+ var _classPrivateFieldLoo4;
114
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
115
+ await ((_classPrivateFieldLoo4 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo4 === void 0 ? void 0 : _classPrivateFieldLoo4.pair({
116
+ uri
117
+ }));
118
+ }
119
+ async approveSession(result) {
120
+ var _classPrivateFieldLoo5;
121
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
122
+ await ((_classPrivateFieldLoo5 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo5 === void 0 ? void 0 : _classPrivateFieldLoo5.approve(result));
123
+ (0, _classPrivateFieldLooseBase2.default)(this, _updateSessions)[_updateSessions]();
124
+ }
125
+ async rejectSession(id) {
126
+ var _classPrivateFieldLoo6;
127
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
128
+ await ((_classPrivateFieldLoo6 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo6 === void 0 ? void 0 : _classPrivateFieldLoo6.reject({
129
+ id: id,
130
+ reason: (0, _utils2.getSdkError)('USER_REJECTED')
131
+ }));
132
+ }
133
+ async responseRequest(response) {
134
+ var _classPrivateFieldLoo7;
135
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
136
+ await ((_classPrivateFieldLoo7 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo7 === void 0 ? void 0 : _classPrivateFieldLoo7.respond(response));
137
+ }
138
+ async resetWallet(resetAll) {
139
+ var _classPrivateFieldLoo8, _classPrivateFieldLoo10, _classPrivateFieldLoo12;
140
+ (0, _classPrivateFieldLooseBase2.default)(this, _removeListener)[_removeListener]();
141
+
142
+ // Disconnect session
143
+ const sessions = ((_classPrivateFieldLoo8 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo8 === void 0 ? void 0 : _classPrivateFieldLoo8.session.values) || [];
144
+ for (const session of sessions) {
145
+ var _classPrivateFieldLoo9;
146
+ (_classPrivateFieldLoo9 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo9 === void 0 ? void 0 : _classPrivateFieldLoo9.disconnect({
147
+ topic: session.topic,
148
+ reason: (0, _utils2.getSdkError)('USER_DISCONNECTED')
149
+ }).catch(console.error);
150
+ }
151
+
152
+ // Disconnect pair
153
+ const pairs = ((_classPrivateFieldLoo10 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo10 === void 0 ? void 0 : _classPrivateFieldLoo10.pairing.values) || [];
154
+ for (const pair of pairs) {
155
+ var _classPrivateFieldLoo11;
156
+ (_classPrivateFieldLoo11 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo11 === void 0 ? void 0 : _classPrivateFieldLoo11.disconnect({
157
+ topic: pair.topic,
158
+ reason: (0, _utils2.getSdkError)('USER_DISCONNECTED')
159
+ }).catch(console.error);
160
+ }
161
+ const keys = (await ((_classPrivateFieldLoo12 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo12 === void 0 ? void 0 : _classPrivateFieldLoo12.core.storage.getKeys())) || [];
162
+ const deleteKeys = resetAll ? keys : keys.filter(key => key.startsWith('wc@'));
163
+ for (const key of deleteKeys) {
164
+ try {
165
+ var _classPrivateFieldLoo13;
166
+ await ((_classPrivateFieldLoo13 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo13 === void 0 ? void 0 : _classPrivateFieldLoo13.core.storage.removeItem(key));
167
+ } catch (e) {
168
+ console.error(e);
169
+ }
170
+ }
171
+ await (0, _classPrivateFieldLooseBase2.default)(this, _initClient)[_initClient]();
172
+ }
173
+ async disconnect(topic) {
174
+ var _classPrivateFieldLoo14;
175
+ await ((_classPrivateFieldLoo14 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo14 === void 0 ? void 0 : _classPrivateFieldLoo14.disconnect({
176
+ topic: topic,
177
+ reason: (0, _utils2.getSdkError)('USER_DISCONNECTED')
178
+ }));
179
+ (0, _classPrivateFieldLooseBase2.default)(this, _updateSessions)[_updateSessions]();
180
+ }
181
+ }
182
+ exports.default = WalletConnectService;
183
+ async function _initClient2() {
184
+ (0, _classPrivateFieldLooseBase2.default)(this, _removeListener)[_removeListener]();
185
+ (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client] = await _signClient.default.init((0, _classPrivateFieldLooseBase2.default)(this, _option)[_option]);
186
+ (0, _classPrivateFieldLooseBase2.default)(this, _updateSessions)[_updateSessions]();
187
+ (0, _classPrivateFieldLooseBase2.default)(this, _createListener)[_createListener]();
188
+ }
189
+ function _updateSessions2() {
190
+ this.sessionSubject.next(this.sessions);
191
+ }
192
+ function _onSessionProposal2(proposal) {
193
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
194
+ (0, _classPrivateFieldLooseBase2.default)(this, _requestService)[_requestService].addConnectWCRequest((0, _helpers.convertConnectRequest)(proposal));
195
+ }
196
+ function _onSessionRequest2(requestEvent) {
197
+ (0, _classPrivateFieldLooseBase2.default)(this, _checkClient)[_checkClient]();
198
+ const {
199
+ id,
200
+ params,
201
+ topic
202
+ } = requestEvent;
203
+ const {
204
+ chainId,
205
+ request
206
+ } = params;
207
+ const method = request.method;
208
+ try {
209
+ const requestSession = this.getSession(topic);
210
+ const namespaces = Object.keys(requestSession.namespaces);
211
+ const chains = Object.values(requestSession.namespaces).map(namespace => namespace.chains).flat();
212
+ const methods = Object.values(requestSession.namespaces).map(namespace => namespace.methods).flat();
213
+ const chainInfoMap = (0, _classPrivateFieldLooseBase2.default)(this, _koniState)[_koniState].getChainInfoMap();
214
+ const [requestNamespace] = chainId.split(':');
215
+ if (!namespaces.includes(requestNamespace)) {
216
+ throw Error((0, _utils2.getSdkError)('UNSUPPORTED_NAMESPACE_KEY').message);
217
+ }
218
+ if (!chains.includes(chainId)) {
219
+ throw Error((0, _utils2.getSdkError)('UNSUPPORTED_CHAINS').message + ' ' + chainId);
220
+ }
221
+ if (!(0, _helpers.isSupportWalletConnectChain)(chainId, chainInfoMap)) {
222
+ throw Error((0, _utils2.getSdkError)('UNSUPPORTED_CHAINS').message + ' ' + chainId);
223
+ }
224
+ if (!methods.includes(method)) {
225
+ throw Error((0, _utils2.getSdkError)('UNAUTHORIZED_METHOD').message + ' ' + method);
226
+ }
227
+ if (!_constants.WALLET_CONNECT_SUPPORTED_METHODS.includes(method)) {
228
+ throw Error((0, _utils2.getSdkError)('UNSUPPORTED_METHODS').message + ' ' + method);
229
+ }
230
+ switch (method) {
231
+ case _types.POLKADOT_SIGNING_METHODS.POLKADOT_SIGN_MESSAGE:
232
+ case _types.POLKADOT_SIGNING_METHODS.POLKADOT_SIGN_TRANSACTION:
233
+ (0, _classPrivateFieldLooseBase2.default)(this, _polkadotRequestHandler)[_polkadotRequestHandler].handleRequest(requestEvent);
234
+ break;
235
+ case _types.EIP155_SIGNING_METHODS.ETH_SEND_TRANSACTION:
236
+ case _types.EIP155_SIGNING_METHODS.PERSONAL_SIGN:
237
+ case _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA:
238
+ case _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V3:
239
+ case _types.EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V4:
240
+ case _types.EIP155_SIGNING_METHODS.ETH_SIGN:
241
+ (0, _classPrivateFieldLooseBase2.default)(this, _eip155RequestHandler)[_eip155RequestHandler].handleRequest(requestEvent);
242
+ break;
243
+ default:
244
+ throw Error((0, _utils2.getSdkError)('INVALID_METHOD').message + ' ' + method);
245
+ }
246
+ } catch (e) {
247
+ console.log(e);
248
+ this.responseRequest({
249
+ topic: topic,
250
+ response: (0, _utils.formatJsonRpcError)(id, e.message)
251
+ }).catch(console.error);
252
+ }
253
+ }
254
+ function _createListener2() {
255
+ var _classPrivateFieldLoo15, _classPrivateFieldLoo16, _classPrivateFieldLoo17, _classPrivateFieldLoo18, _classPrivateFieldLoo19, _classPrivateFieldLoo20;
256
+ (_classPrivateFieldLoo15 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo15 === void 0 ? void 0 : _classPrivateFieldLoo15.on('session_proposal', (0, _classPrivateFieldLooseBase2.default)(this, _onSessionProposal)[_onSessionProposal].bind(this));
257
+ (_classPrivateFieldLoo16 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo16 === void 0 ? void 0 : _classPrivateFieldLoo16.on('session_request', (0, _classPrivateFieldLooseBase2.default)(this, _onSessionRequest)[_onSessionRequest].bind(this));
258
+ (_classPrivateFieldLoo17 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo17 === void 0 ? void 0 : _classPrivateFieldLoo17.on('session_ping', data => console.log('ping', data));
259
+ (_classPrivateFieldLoo18 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo18 === void 0 ? void 0 : _classPrivateFieldLoo18.on('session_event', data => console.log('event', data));
260
+ (_classPrivateFieldLoo19 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo19 === void 0 ? void 0 : _classPrivateFieldLoo19.on('session_update', data => console.log('update', data));
261
+ (_classPrivateFieldLoo20 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo20 === void 0 ? void 0 : _classPrivateFieldLoo20.on('session_delete', (0, _classPrivateFieldLooseBase2.default)(this, _updateSessions)[_updateSessions].bind(this));
262
+ }
263
+ function _removeListener2() {
264
+ _constants.ALL_WALLET_CONNECT_EVENT.forEach(event => {
265
+ var _classPrivateFieldLoo21;
266
+ (_classPrivateFieldLoo21 = (0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) === null || _classPrivateFieldLoo21 === void 0 ? void 0 : _classPrivateFieldLoo21.removeAllListeners(event);
267
+ });
268
+ }
269
+ function _checkClient2() {
270
+ if (!(0, _classPrivateFieldLooseBase2.default)(this, _client)[_client]) {
271
+ throw new Error((0, _utils2.getInternalError)('NOT_INITIALIZED').message);
272
+ }
273
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.POLKADOT_SIGNING_METHODS = exports.EIP155_SIGNING_METHODS = void 0;
7
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
8
+ // SPDX-License-Identifier: Apache-2.0
9
+ let EIP155_SIGNING_METHODS;
10
+ exports.EIP155_SIGNING_METHODS = EIP155_SIGNING_METHODS;
11
+ (function (EIP155_SIGNING_METHODS) {
12
+ EIP155_SIGNING_METHODS["PERSONAL_SIGN"] = "personal_sign";
13
+ EIP155_SIGNING_METHODS["ETH_SIGN"] = "eth_sign";
14
+ EIP155_SIGNING_METHODS["ETH_SIGN_TRANSACTION"] = "eth_signTransaction";
15
+ EIP155_SIGNING_METHODS["ETH_SIGN_TYPED_DATA"] = "eth_signTypedData";
16
+ EIP155_SIGNING_METHODS["ETH_SIGN_TYPED_DATA_V1"] = "eth_signTypedData_v1";
17
+ EIP155_SIGNING_METHODS["ETH_SIGN_TYPED_DATA_V3"] = "eth_signTypedData_v3";
18
+ EIP155_SIGNING_METHODS["ETH_SIGN_TYPED_DATA_V4"] = "eth_signTypedData_v4";
19
+ EIP155_SIGNING_METHODS["ETH_SEND_RAW_TRANSACTION"] = "eth_sendRawTransaction";
20
+ EIP155_SIGNING_METHODS["ETH_SEND_TRANSACTION"] = "eth_sendTransaction";
21
+ })(EIP155_SIGNING_METHODS || (exports.EIP155_SIGNING_METHODS = EIP155_SIGNING_METHODS = {}));
22
+ let POLKADOT_SIGNING_METHODS;
23
+ exports.POLKADOT_SIGNING_METHODS = POLKADOT_SIGNING_METHODS;
24
+ (function (POLKADOT_SIGNING_METHODS) {
25
+ POLKADOT_SIGNING_METHODS["POLKADOT_SIGN_TRANSACTION"] = "polkadot_signTransaction";
26
+ POLKADOT_SIGNING_METHODS["POLKADOT_SIGN_MESSAGE"] = "polkadot_signMessage";
27
+ })(POLKADOT_SIGNING_METHODS || (exports.POLKADOT_SIGNING_METHODS = POLKADOT_SIGNING_METHODS = {}));