@subwallet/extension-base 1.3.22-0 → 1.3.24-0

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 (210) hide show
  1. package/background/KoniTypes.d.ts +77 -4
  2. package/background/KoniTypes.js +2 -0
  3. package/cjs/background/KoniTypes.js +2 -0
  4. package/cjs/constants/environment.js +4 -2
  5. package/cjs/constants/index.js +21 -4
  6. package/cjs/constants/signing.js +6 -2
  7. package/cjs/core/logic-validation/recipientAddress.js +9 -1
  8. package/cjs/core/logic-validation/transfer.js +57 -36
  9. package/cjs/core/types.js +1 -0
  10. package/cjs/core/utils.js +12 -1
  11. package/cjs/defaults.js +1 -1
  12. package/cjs/koni/api/dotsama/crowdloan.js +1 -1
  13. package/cjs/koni/api/nft/index.js +9 -16
  14. package/cjs/koni/api/staking/index.js +3 -4
  15. package/cjs/koni/background/handlers/Extension.js +343 -185
  16. package/cjs/koni/background/handlers/State.js +17 -2
  17. package/cjs/koni/background/handlers/Tabs.js +1 -1
  18. package/cjs/packageInfo.js +1 -1
  19. package/cjs/services/balance-service/helpers/subscribe/cardano/consts.js +11 -0
  20. package/cjs/services/balance-service/helpers/subscribe/cardano/index.js +63 -0
  21. package/cjs/services/balance-service/helpers/subscribe/cardano/types.js +1 -0
  22. package/cjs/services/balance-service/helpers/subscribe/cardano/utils.js +74 -0
  23. package/cjs/services/balance-service/helpers/subscribe/index.js +21 -7
  24. package/cjs/services/balance-service/helpers/subscribe/ton/utils.js +2 -2
  25. package/cjs/services/balance-service/index.js +4 -2
  26. package/cjs/services/balance-service/transfer/cardano-transfer.js +122 -0
  27. package/cjs/services/balance-service/transfer/smart-contract.js +24 -3
  28. package/cjs/services/balance-service/transfer/token.js +4 -4
  29. package/cjs/services/chain-service/handler/CardanoApi.js +176 -0
  30. package/cjs/services/chain-service/handler/CardanoChainHandler.js +83 -0
  31. package/cjs/services/chain-service/handler/TonApi.js +2 -5
  32. package/cjs/services/chain-service/index.js +40 -7
  33. package/cjs/services/chain-service/utils/index.js +40 -11
  34. package/cjs/services/chain-service/utils/patch.js +1 -1
  35. package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +1 -1
  36. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +1 -1
  37. package/cjs/services/earning-service/service.js +6 -12
  38. package/cjs/services/fee-service/service.js +19 -8
  39. package/cjs/services/fee-service/utils/tokenPayFee.js +151 -0
  40. package/cjs/services/history-service/index.js +4 -6
  41. package/cjs/services/inapp-notification-service/index.js +12 -4
  42. package/cjs/services/keyring-service/context/account-context.js +17 -2
  43. package/cjs/services/keyring-service/context/handlers/Derive.js +10 -7
  44. package/cjs/services/keyring-service/context/handlers/Migration.js +268 -0
  45. package/cjs/services/keyring-service/context/handlers/Mnemonic.js +2 -2
  46. package/cjs/services/keyring-service/context/handlers/Secret.js +1 -1
  47. package/cjs/services/keyring-service/utils.js +18 -0
  48. package/cjs/services/request-service/handler/CardanoRequestHandler.js +172 -0
  49. package/cjs/services/request-service/handler/EvmRequestHandler.js +1 -1
  50. package/cjs/services/request-service/handler/MetadataRequestHandler.js +5 -13
  51. package/cjs/services/request-service/index.js +22 -4
  52. package/cjs/services/setting-service/constants.js +10 -1
  53. package/cjs/services/storage-service/DatabaseService.js +3 -0
  54. package/cjs/services/storage-service/db-stores/InappNotification.js +6 -0
  55. package/cjs/services/swap-service/handler/asset-hub/handler.js +0 -59
  56. package/cjs/services/swap-service/handler/chainflip-handler.js +33 -281
  57. package/cjs/services/swap-service/handler/hydradx-handler.js +23 -190
  58. package/cjs/services/swap-service/handler/simpleswap-handler.js +1 -222
  59. package/cjs/services/swap-service/handler/uniswap-handler.js +331 -0
  60. package/cjs/services/swap-service/index.js +31 -22
  61. package/cjs/services/swap-service/utils.js +21 -38
  62. package/cjs/services/transaction-service/helpers/index.js +6 -1
  63. package/cjs/services/transaction-service/index.js +286 -26
  64. package/cjs/services/transaction-service/utils.js +5 -1
  65. package/cjs/types/account/info/keyring.js +12 -1
  66. package/cjs/types/fee/cardano.js +1 -0
  67. package/cjs/types/swap/index.js +7 -2
  68. package/cjs/utils/account/analyze.js +2 -1
  69. package/cjs/utils/account/common.js +29 -20
  70. package/cjs/utils/account/derive/info/solo.js +9 -4
  71. package/cjs/utils/account/derive/validate.js +36 -2
  72. package/cjs/utils/account/transform.js +38 -13
  73. package/cjs/utils/fee/transfer.js +87 -21
  74. package/cjs/utils/index.js +2 -2
  75. package/cjs/utils/staticData/index.js +7 -2
  76. package/constants/environment.d.ts +1 -0
  77. package/constants/environment.js +2 -1
  78. package/constants/index.d.ts +6 -1
  79. package/constants/index.js +14 -1
  80. package/constants/signing.js +6 -2
  81. package/core/logic-validation/recipientAddress.js +11 -3
  82. package/core/logic-validation/transfer.d.ts +1 -1
  83. package/core/logic-validation/transfer.js +33 -12
  84. package/core/substrate/xcm-parser.d.ts +1 -1
  85. package/core/types.d.ts +1 -0
  86. package/core/types.js +1 -0
  87. package/core/utils.d.ts +1 -0
  88. package/core/utils.js +13 -3
  89. package/defaults.d.ts +1 -1
  90. package/defaults.js +1 -1
  91. package/koni/api/dotsama/crowdloan.js +3 -3
  92. package/koni/api/nft/index.js +10 -16
  93. package/koni/api/nft/story_odyssey_nft/index.d.ts +1 -1
  94. package/koni/api/staking/index.js +4 -5
  95. package/koni/background/handlers/Extension.d.ts +9 -0
  96. package/koni/background/handlers/Extension.js +225 -69
  97. package/koni/background/handlers/State.d.ts +6 -2
  98. package/koni/background/handlers/State.js +18 -3
  99. package/koni/background/handlers/Tabs.js +1 -1
  100. package/package.json +76 -9
  101. package/packageInfo.js +1 -1
  102. package/services/balance-service/helpers/subscribe/cardano/consts.d.ts +1 -0
  103. package/services/balance-service/helpers/subscribe/cardano/consts.js +4 -0
  104. package/services/balance-service/helpers/subscribe/cardano/index.d.ts +2 -0
  105. package/services/balance-service/helpers/subscribe/cardano/index.js +57 -0
  106. package/services/balance-service/helpers/subscribe/cardano/types.d.ts +34 -0
  107. package/services/balance-service/helpers/subscribe/cardano/types.js +1 -0
  108. package/services/balance-service/helpers/subscribe/cardano/utils.d.ts +15 -0
  109. package/services/balance-service/helpers/subscribe/cardano/utils.js +62 -0
  110. package/services/balance-service/helpers/subscribe/index.d.ts +2 -2
  111. package/services/balance-service/helpers/subscribe/index.js +23 -9
  112. package/services/balance-service/helpers/subscribe/ton/utils.d.ts +1 -1
  113. package/services/balance-service/helpers/subscribe/ton/utils.js +1 -1
  114. package/services/balance-service/index.js +4 -2
  115. package/services/balance-service/transfer/cardano-transfer.d.ts +24 -0
  116. package/services/balance-service/transfer/cardano-transfer.js +114 -0
  117. package/services/balance-service/transfer/smart-contract.d.ts +4 -2
  118. package/services/balance-service/transfer/smart-contract.js +24 -3
  119. package/services/balance-service/transfer/token.d.ts +1 -1
  120. package/services/balance-service/transfer/token.js +2 -2
  121. package/services/chain-service/handler/CardanoApi.d.ts +38 -0
  122. package/services/chain-service/handler/CardanoApi.js +167 -0
  123. package/services/chain-service/handler/CardanoChainHandler.d.ts +17 -0
  124. package/services/chain-service/handler/CardanoChainHandler.js +75 -0
  125. package/services/chain-service/handler/TonApi.js +3 -6
  126. package/services/chain-service/handler/types.d.ts +1 -0
  127. package/services/chain-service/index.d.ts +4 -1
  128. package/services/chain-service/index.js +41 -8
  129. package/services/chain-service/types.d.ts +9 -1
  130. package/services/chain-service/utils/index.d.ts +4 -0
  131. package/services/chain-service/utils/index.js +32 -11
  132. package/services/chain-service/utils/patch.js +1 -1
  133. package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +1 -1
  134. package/services/earning-service/handlers/liquid-staking/bifrost.js +1 -1
  135. package/services/earning-service/service.js +8 -14
  136. package/services/fee-service/interfaces.d.ts +25 -0
  137. package/services/fee-service/service.js +19 -8
  138. package/services/fee-service/utils/tokenPayFee.d.ts +8 -0
  139. package/services/fee-service/utils/tokenPayFee.js +141 -0
  140. package/services/history-service/index.js +6 -8
  141. package/services/inapp-notification-service/index.d.ts +3 -4
  142. package/services/inapp-notification-service/index.js +14 -6
  143. package/services/keyring-service/context/account-context.d.ts +6 -2
  144. package/services/keyring-service/context/account-context.js +17 -2
  145. package/services/keyring-service/context/handlers/Derive.d.ts +1 -1
  146. package/services/keyring-service/context/handlers/Derive.js +10 -8
  147. package/services/keyring-service/context/handlers/Migration.d.ts +17 -0
  148. package/services/keyring-service/context/handlers/Migration.js +258 -0
  149. package/services/keyring-service/context/handlers/Mnemonic.js +2 -2
  150. package/services/keyring-service/context/handlers/Secret.js +2 -2
  151. package/services/keyring-service/utils.d.ts +2 -0
  152. package/services/keyring-service/utils.js +11 -0
  153. package/services/request-service/handler/CardanoRequestHandler.d.ts +16 -0
  154. package/services/request-service/handler/CardanoRequestHandler.js +163 -0
  155. package/services/request-service/handler/EvmRequestHandler.js +1 -1
  156. package/services/request-service/handler/MetadataRequestHandler.d.ts +1 -1
  157. package/services/request-service/handler/MetadataRequestHandler.js +5 -13
  158. package/services/request-service/index.d.ts +7 -4
  159. package/services/request-service/index.js +21 -7
  160. package/services/setting-service/constants.d.ts +3 -0
  161. package/services/setting-service/constants.js +6 -0
  162. package/services/storage-service/DatabaseService.d.ts +1 -0
  163. package/services/storage-service/DatabaseService.js +3 -0
  164. package/services/storage-service/db-stores/InappNotification.d.ts +1 -0
  165. package/services/storage-service/db-stores/InappNotification.js +6 -0
  166. package/services/swap-service/handler/asset-hub/handler.d.ts +1 -4
  167. package/services/swap-service/handler/asset-hub/handler.js +2 -61
  168. package/services/swap-service/handler/base-handler.d.ts +1 -4
  169. package/services/swap-service/handler/chainflip-handler.d.ts +2 -9
  170. package/services/swap-service/handler/chainflip-handler.js +31 -280
  171. package/services/swap-service/handler/hydradx-handler.d.ts +1 -6
  172. package/services/swap-service/handler/hydradx-handler.js +13 -180
  173. package/services/swap-service/handler/simpleswap-handler.d.ts +1 -4
  174. package/services/swap-service/handler/simpleswap-handler.js +5 -226
  175. package/services/swap-service/handler/uniswap-handler.d.ts +41 -0
  176. package/services/swap-service/handler/uniswap-handler.js +323 -0
  177. package/services/swap-service/index.js +30 -22
  178. package/services/swap-service/utils.d.ts +1 -5
  179. package/services/swap-service/utils.js +7 -21
  180. package/services/transaction-service/helpers/index.d.ts +2 -0
  181. package/services/transaction-service/helpers/index.js +4 -0
  182. package/services/transaction-service/index.d.ts +8 -2
  183. package/services/transaction-service/index.js +273 -17
  184. package/services/transaction-service/types.d.ts +7 -0
  185. package/services/transaction-service/utils.js +7 -2
  186. package/types/account/info/keyring.d.ts +4 -1
  187. package/types/account/info/keyring.js +9 -0
  188. package/types/account/info/proxy.d.ts +2 -0
  189. package/types/balance/index.d.ts +4 -1
  190. package/types/fee/base.d.ts +1 -1
  191. package/types/fee/cardano.d.ts +18 -0
  192. package/types/fee/cardano.js +1 -0
  193. package/types/fee/option.d.ts +1 -1
  194. package/types/fee/subscription.d.ts +4 -3
  195. package/types/swap/index.d.ts +11 -3
  196. package/types/swap/index.js +7 -2
  197. package/utils/account/analyze.js +2 -1
  198. package/utils/account/common.d.ts +11 -6
  199. package/utils/account/common.js +28 -19
  200. package/utils/account/derive/info/solo.js +10 -5
  201. package/utils/account/derive/validate.d.ts +1 -0
  202. package/utils/account/derive/validate.js +34 -1
  203. package/utils/account/transform.d.ts +2 -1
  204. package/utils/account/transform.js +37 -13
  205. package/utils/fee/transfer.d.ts +3 -2
  206. package/utils/fee/transfer.js +90 -24
  207. package/utils/index.js +4 -4
  208. package/utils/staticData/index.d.ts +4 -1
  209. package/utils/staticData/index.js +5 -1
  210. package/utils/staticData/oldChainPrefix.json +1 -0
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _request = require("@subwallet/extension-base/utils/request");
8
+ var _uiKeyring = require("@subwallet/ui-keyring");
9
+ var _i18next = require("i18next");
10
+ var _rxjs = require("rxjs");
11
+ var _logger = require("@polkadot/util/logger");
12
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
13
+ // SPDX-License-Identifier: Apache-2.0
14
+
15
+ class CardanoRequestHandler {
16
+ #requestService;
17
+ #logger;
18
+ confirmationsQueueSubjectCardano = new _rxjs.BehaviorSubject({
19
+ cardanoSignatureRequest: {},
20
+ cardanoSendTransactionRequest: {},
21
+ cardanoWatchTransactionRequest: {}
22
+ });
23
+ confirmationsPromiseMap = {};
24
+ constructor(requestService) {
25
+ this.#requestService = requestService;
26
+ this.#logger = (0, _logger.logger)('CardanoRequestHandler');
27
+ }
28
+ get numCardanoRequests() {
29
+ let count = 0;
30
+ Object.values(this.confirmationsQueueSubjectCardano.getValue()).forEach(x => {
31
+ count += Object.keys(x).length;
32
+ });
33
+ return count;
34
+ }
35
+ getConfirmationsQueueSubjectCardano() {
36
+ return this.confirmationsQueueSubjectCardano;
37
+ }
38
+ async addConfirmationCardano(id, url, type, payload) {
39
+ let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
40
+ let validator = arguments.length > 5 ? arguments[5] : undefined;
41
+ const confirmations = this.confirmationsQueueSubjectCardano.getValue();
42
+ const confirmationType = confirmations[type];
43
+ const payloadJson = JSON.stringify({});
44
+ const isInternal = (0, _request.isInternalRequest)(url);
45
+ if (['cardanoSendTransactionRequest', 'cardanoSignatureRequest'].includes(type)) {
46
+ const isAlwaysRequired = await this.#requestService.settingService.isAlwaysRequired;
47
+ if (isAlwaysRequired) {
48
+ this.#requestService.keyringService.lock();
49
+ }
50
+ }
51
+
52
+ // Check duplicate request
53
+ const duplicated = Object.values(confirmationType).find(c => c.url === url && c.payloadJson === payloadJson);
54
+ if (duplicated) {
55
+ throw new Error('Cardano duplicate request'); // update this message.
56
+ }
57
+
58
+ confirmationType[id] = {
59
+ id,
60
+ url,
61
+ isInternal,
62
+ payload,
63
+ payloadJson,
64
+ ...options
65
+ };
66
+ const promise = new Promise((resolve, reject) => {
67
+ this.confirmationsPromiseMap[id] = {
68
+ validator: validator,
69
+ resolver: {
70
+ resolve: resolve,
71
+ reject: reject
72
+ }
73
+ };
74
+ });
75
+ this.confirmationsQueueSubjectCardano.next(confirmations);
76
+ if (!isInternal) {
77
+ this.#requestService.popupOpen();
78
+ }
79
+ this.#requestService.updateIconV2();
80
+ return promise;
81
+ }
82
+ async completeConfirmationCardano(request) {
83
+ const confirmations = this.confirmationsQueueSubjectCardano.getValue();
84
+ for (const ct in request) {
85
+ const type = ct;
86
+ const result = request[type];
87
+ const {
88
+ id
89
+ } = result;
90
+ const {
91
+ resolver,
92
+ validator
93
+ } = this.confirmationsPromiseMap[id];
94
+ const confirmation = confirmations[type][id];
95
+ if (!resolver || !confirmation) {
96
+ this.#logger.error((0, _i18next.t)('Unable to proceed. Please try again'), type, id);
97
+ throw new Error((0, _i18next.t)('Unable to proceed. Please try again'));
98
+ }
99
+
100
+ // Fill signature for some special type
101
+ await this.decorateResult(type, confirmation, result);
102
+
103
+ // Validate response from confirmation popup some info like password, response format....
104
+ const error = validator && validator(result);
105
+ if (error) {
106
+ resolver.reject(error);
107
+ }
108
+
109
+ // Delete confirmations from queue
110
+ delete this.confirmationsPromiseMap[id];
111
+ delete confirmations[type][id];
112
+ this.confirmationsQueueSubjectCardano.next(confirmations);
113
+
114
+ // Update icon, and close queue
115
+ this.#requestService.updateIconV2(this.#requestService.numAllRequests === 0);
116
+ resolver.resolve(result);
117
+ }
118
+
119
+ // TODO: Review later
120
+ return true;
121
+ }
122
+ async decorateResult(t, request, result) {
123
+ if (result.payload === '') {
124
+ if (t === 'cardanoSignatureRequest') {
125
+ // result.payload = await this.signMessage(request as ConfirmationDefinitions['evmSignatureRequest'][0]);
126
+ } else if (t === 'cardanoSendTransactionRequest') {
127
+ result.payload = this.signTransactionCardano(request);
128
+ }
129
+ if (t === 'cardanoSignatureRequest' || t === 'cardanoSendTransactionRequest') {
130
+ const isAlwaysRequired = await this.#requestService.settingService.isAlwaysRequired;
131
+ if (isAlwaysRequired) {
132
+ this.#requestService.keyringService.lock();
133
+ }
134
+ }
135
+ }
136
+ }
137
+ signTransactionCardano(confirmation) {
138
+ // alibaba
139
+ const transaction = confirmation.payload;
140
+ const {
141
+ cardanoPayload,
142
+ from
143
+ } = transaction;
144
+ const pair = _uiKeyring.keyring.getPair(from);
145
+ if (pair.isLocked) {
146
+ _uiKeyring.keyring.unlockPair(pair.address);
147
+ }
148
+ return pair.cardano.sign(cardanoPayload);
149
+ }
150
+ resetWallet() {
151
+ const confirmations = this.confirmationsQueueSubjectCardano.getValue();
152
+ for (const [type, requests] of Object.entries(confirmations)) {
153
+ for (const confirmation of Object.values(requests)) {
154
+ const {
155
+ id
156
+ } = confirmation;
157
+ const {
158
+ resolver
159
+ } = this.confirmationsPromiseMap[id];
160
+ if (!resolver || !confirmation) {
161
+ console.error('Not found confirmation', type, id);
162
+ } else {
163
+ resolver.reject(new Error('Reset wallet'));
164
+ }
165
+ delete this.confirmationsPromiseMap[id];
166
+ delete confirmations[type][id];
167
+ }
168
+ }
169
+ this.confirmationsQueueSubjectCardano.next(confirmations);
170
+ }
171
+ }
172
+ exports.default = CardanoRequestHandler;
@@ -88,7 +88,7 @@ class EvmRequestHandler {
88
88
  }
89
89
  if (options.isPassConfirmation) {
90
90
  await this.completeConfirmation({
91
- evmSendTransactionRequest: {
91
+ [type]: {
92
92
  id,
93
93
  url,
94
94
  isApproved: true,
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _helper = require("@subwallet/extension-base/services/request-service/helper");
8
8
  var _stores = require("@subwallet/extension-base/stores");
9
- var _getId = require("@subwallet/extension-base/utils/getId");
10
9
  var _extensionChains = require("@subwallet/extension-chains");
11
10
  var _rxjs = require("rxjs");
12
11
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
@@ -52,6 +51,8 @@ class MetadataRequestHandler {
52
51
  this.metaSubject.next(this.allMetaRequests);
53
52
  this.#requestService.updateIconV2(shouldClose);
54
53
  }
54
+
55
+ // @ts-ignore
55
56
  metaComplete = (id, resolve, reject) => {
56
57
  const complete = () => {
57
58
  delete this.#metaRequests[id];
@@ -68,18 +69,9 @@ class MetadataRequestHandler {
68
69
  }
69
70
  };
70
71
  };
71
- injectMetadata(url, request) {
72
- return new Promise((resolve, reject) => {
73
- const id = (0, _getId.getId)();
74
- this.#metaRequests[id] = {
75
- ...this.metaComplete(id, resolve, reject),
76
- id,
77
- request,
78
- url
79
- };
80
- this.updateIconMeta();
81
- this.#requestService.popupOpen();
82
- });
72
+ injectMetadata(request) {
73
+ this.saveMetadata(request);
74
+ return true;
83
75
  }
84
76
  resetWallet() {
85
77
  for (const request of Object.values(this.#metaRequests)) {
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _CardanoRequestHandler = _interopRequireDefault(require("@subwallet/extension-base/services/request-service/handler/CardanoRequestHandler"));
8
9
  var _TonRequestHandler = _interopRequireDefault(require("./handler/TonRequestHandler"));
9
10
  var _handler = require("./handler");
10
11
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
@@ -19,6 +20,7 @@ class RequestService {
19
20
  #substrateRequestHandler;
20
21
  #evmRequestHandler;
21
22
  #tonRequestHandler;
23
+ #cardanoRequestHandler;
22
24
  #connectWCRequestHandler;
23
25
  #notSupportWCRequestHandler;
24
26
 
@@ -33,6 +35,7 @@ class RequestService {
33
35
  this.#substrateRequestHandler = new _handler.SubstrateRequestHandler(this);
34
36
  this.#evmRequestHandler = new _handler.EvmRequestHandler(this);
35
37
  this.#tonRequestHandler = new _TonRequestHandler.default(this);
38
+ this.#cardanoRequestHandler = new _CardanoRequestHandler.default(this);
36
39
  this.#connectWCRequestHandler = new _handler.ConnectWCRequestHandler(this);
37
40
  this.#notSupportWCRequestHandler = new _handler.NotSupportWCRequestHandler(this);
38
41
 
@@ -40,7 +43,7 @@ class RequestService {
40
43
  this.updateIconV2();
41
44
  }
42
45
  get numAllRequests() {
43
- return this.allSubstrateRequests.length + this.numEvmRequests + this.numTonRequests;
46
+ return this.allSubstrateRequests.length + this.numEvmRequests + this.numTonRequests + this.numCardanoRequests;
44
47
  }
45
48
  updateIconV2(shouldClose) {
46
49
  this.#popupHandler.updateIconV2(shouldClose);
@@ -84,8 +87,8 @@ class RequestService {
84
87
  get numMetaRequests() {
85
88
  return this.#metadataRequestHandler.numMetaRequests;
86
89
  }
87
- injectMetadata(url, request) {
88
- return this.#metadataRequestHandler.injectMetadata(url, request);
90
+ injectMetadata(request) {
91
+ return this.#metadataRequestHandler.injectMetadata(request);
89
92
  }
90
93
  getMetaRequest(id) {
91
94
  return this.#metadataRequestHandler.getMetaRequest(id);
@@ -150,12 +153,18 @@ class RequestService {
150
153
  get numTonRequests() {
151
154
  return this.#tonRequestHandler.numTonRequests;
152
155
  }
156
+ get numCardanoRequests() {
157
+ return this.#cardanoRequestHandler.numCardanoRequests;
158
+ }
153
159
  get confirmationsQueueSubject() {
154
160
  return this.#evmRequestHandler.getConfirmationsQueueSubject();
155
161
  }
156
162
  get confirmationsQueueSubjectTon() {
157
163
  return this.#tonRequestHandler.getConfirmationsQueueSubjectTon();
158
164
  }
165
+ get confirmationsQueueSubjectCardano() {
166
+ return this.#cardanoRequestHandler.getConfirmationsQueueSubjectCardano();
167
+ }
159
168
  getSignRequest(id) {
160
169
  return this.#substrateRequestHandler.getSignRequest(id);
161
170
  }
@@ -172,12 +181,20 @@ class RequestService {
172
181
  let validator = arguments.length > 5 ? arguments[5] : undefined;
173
182
  return this.#tonRequestHandler.addConfirmationTon(id, url, type, payload, options, validator);
174
183
  }
184
+ addConfirmationCardano(id, url, type, payload) {
185
+ let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
186
+ let validator = arguments.length > 5 ? arguments[5] : undefined;
187
+ return this.#cardanoRequestHandler.addConfirmationCardano(id, url, type, payload, options, validator);
188
+ }
175
189
  async completeConfirmation(request) {
176
190
  return await this.#evmRequestHandler.completeConfirmation(request);
177
191
  }
178
192
  async completeConfirmationTon(request) {
179
193
  return await this.#tonRequestHandler.completeConfirmationTon(request);
180
194
  }
195
+ async completeConfirmationCardano(request) {
196
+ return await this.#cardanoRequestHandler.completeConfirmationCardano(request);
197
+ }
181
198
  updateConfirmation(id, type, payload) {
182
199
  let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
183
200
  let validator = arguments.length > 4 ? arguments[4] : undefined;
@@ -220,13 +237,14 @@ class RequestService {
220
237
 
221
238
  // General methods
222
239
  get numRequests() {
223
- return this.numMetaRequests + this.numAuthRequests + this.numSubstrateRequests + this.numEvmRequests + this.numConnectWCRequests + this.numNotSupportWCRequests + this.numTonRequests;
240
+ return this.numMetaRequests + this.numAuthRequests + this.numSubstrateRequests + this.numEvmRequests + this.numConnectWCRequests + this.numNotSupportWCRequests + this.numTonRequests + this.numCardanoRequests;
224
241
  }
225
242
  resetWallet() {
226
243
  this.#authRequestHandler.resetWallet();
227
244
  this.#substrateRequestHandler.resetWallet();
228
245
  this.#evmRequestHandler.resetWallet();
229
246
  this.#tonRequestHandler.resetWallet();
247
+ this.#cardanoRequestHandler.resetWallet();
230
248
  this.#metadataRequestHandler.resetWallet();
231
249
  this.#connectWCRequestHandler.resetWallet();
232
250
  this.#notSupportWCRequestHandler.resetWallet();
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.DEFAULT_UNLOCK_TYPE = exports.DEFAULT_THEME = exports.DEFAULT_SHOW_ZERO_BALANCE = exports.DEFAULT_SHOW_BALANCE = exports.DEFAULT_SETTING = exports.DEFAULT_NOTIFICATION_TYPE = exports.DEFAULT_NOTIFICATION_SETUP = exports.DEFAULT_LANGUAGE = exports.DEFAULT_CURRENCY = exports.DEFAULT_CHAIN_PATROL_ENABLE = exports.DEFAULT_CAMERA_ENABLE = exports.DEFAULT_AUTO_LOCK_TIME = exports.DEFAULT_ALL_LOGO = exports.DEFAULT_ALLOW_ONE_SIGN = void 0;
6
+ exports.DEFAULT_UNLOCK_TYPE = exports.DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_PROGRESS = exports.DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_DONE = exports.DEFAULT_THEME = exports.DEFAULT_SHOW_ZERO_BALANCE = exports.DEFAULT_SHOW_BALANCE = exports.DEFAULT_SETTING = exports.DEFAULT_NOTIFICATION_TYPE = exports.DEFAULT_NOTIFICATION_SETUP = exports.DEFAULT_LANGUAGE = exports.DEFAULT_CURRENCY = exports.DEFAULT_CHAIN_PATROL_ENABLE = exports.DEFAULT_CAMERA_ENABLE = exports.DEFAULT_AUTO_LOCK_TIME = exports.DEFAULT_ALL_LOGO = exports.DEFAULT_ALLOW_ONE_SIGN = exports.DEFAULT_ACKNOWLEDGED_MIGRATION_STATUS = void 0;
7
7
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
8
8
  var _utils = require("@subwallet/extension-base/utils");
9
9
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
@@ -48,6 +48,12 @@ const DEFAULT_NOTIFICATION_SETUP = {
48
48
  }
49
49
  };
50
50
  exports.DEFAULT_NOTIFICATION_SETUP = DEFAULT_NOTIFICATION_SETUP;
51
+ const DEFAULT_ACKNOWLEDGED_MIGRATION_STATUS = false;
52
+ exports.DEFAULT_ACKNOWLEDGED_MIGRATION_STATUS = DEFAULT_ACKNOWLEDGED_MIGRATION_STATUS;
53
+ const DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_PROGRESS = false;
54
+ exports.DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_PROGRESS = DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_PROGRESS;
55
+ const DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_DONE = false;
56
+ exports.DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_DONE = DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_DONE;
51
57
  const DEFAULT_SETTING = {
52
58
  language: DEFAULT_LANGUAGE,
53
59
  currency: DEFAULT_CURRENCY,
@@ -61,6 +67,9 @@ const DEFAULT_SETTING = {
61
67
  timeAutoLock: DEFAULT_AUTO_LOCK_TIME,
62
68
  enableChainPatrol: DEFAULT_CHAIN_PATROL_ENABLE,
63
69
  notificationSetup: DEFAULT_NOTIFICATION_SETUP,
70
+ isAcknowledgedUnifiedAccountMigration: DEFAULT_ACKNOWLEDGED_MIGRATION_STATUS,
71
+ isUnifiedAccountMigrationInProgress: DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_PROGRESS,
72
+ isUnifiedAccountMigrationDone: DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_DONE,
64
73
  walletReference: '',
65
74
  allowOneSign: DEFAULT_ALLOW_ONE_SIGN
66
75
  };
@@ -607,6 +607,9 @@ class DatabaseService {
607
607
  removeAccountNotifications(proxyId) {
608
608
  return this.stores.inappNotification.removeAccountNotifications(proxyId);
609
609
  }
610
+ updateNotificationProxyId(proxyIds, newProxyId, newName) {
611
+ return this.stores.inappNotification.updateNotificationProxyId(proxyIds, newProxyId, newName);
612
+ }
610
613
  async exportDB() {
611
614
  const blob = await (0, _dexieExportImport.exportDB)(this._db, {
612
615
  filter: (table, value, key) => {
@@ -43,6 +43,12 @@ class InappNotificationStore extends _BaseStore.default {
43
43
  });
44
44
  return filteredTable.toArray();
45
45
  }
46
+ updateNotificationProxyId(proxyIds, newProxyId, newName) {
47
+ this.table.where('proxyId').anyOfIgnoreCase(proxyIds).modify(item => {
48
+ item.proxyId = newProxyId;
49
+ item.title = item.title.replace(/\[.*?\]/, `[${newName}]`);
50
+ }).catch(console.error);
51
+ }
46
52
  async cleanUpOldNotifications(overdueTime) {
47
53
  const currentTimestamp = Date.now();
48
54
  return this.table.filter(item => item.time <= currentTimestamp - overdueTime).delete();
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.AssetHubSwapHandler = void 0;
8
- var _SwapError = require("@subwallet/extension-base/background/errors/SwapError");
9
8
  var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
10
9
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
11
10
  var _constants = require("@subwallet/extension-base/constants");
@@ -23,7 +22,6 @@ var _router = require("./router");
23
22
  // Copyright 2019-2022 @subwallet/extension-base
24
23
  // SPDX-License-Identifier: Apache-2.0
25
24
 
26
- const PAH_LOW_LIQUIDITY_THRESHOLD = 0.15;
27
25
  class AssetHubSwapHandler {
28
26
  isReady = false;
29
27
  constructor(chainService, balanceService, feeService, chain) {
@@ -157,57 +155,6 @@ class AssetHubSwapHandler {
157
155
  generateOptimalProcess(params) {
158
156
  return this.swapBaseHandler.generateOptimalProcess(params, [this.getXcmStep.bind(this), this.getSubmitStep.bind(this)]);
159
157
  }
160
- async getSwapQuote(request) {
161
- const fromAsset = this.chainService.getAssetBySlug(request.pair.from);
162
- const toAsset = this.chainService.getAssetBySlug(request.pair.to);
163
- const fromChain = this.chainService.getChainInfoByKey(fromAsset.originChain);
164
- const fromChainNativeTokenSlug = (0, _utils._getChainNativeTokenSlug)(fromChain);
165
- if (!this.isReady || !this.router) {
166
- return new _SwapError.SwapError(_swap2.SwapErrorType.UNKNOWN);
167
- }
168
- const earlyValidation = await this.validateSwapRequest(request);
169
- if (earlyValidation.error) {
170
- const metadata = earlyValidation.metadata;
171
- return (0, _swap._getEarlyAssetHubValidationError)(earlyValidation.error, metadata);
172
- }
173
- try {
174
- const paths = this.router.buildPath(request.pair);
175
- const amountOut = earlyValidation.metadata.toAmount;
176
- const toAmount = new _bignumber.default(amountOut);
177
- const minReceive = toAmount.times(1 - request.slippage).integerValue(_bignumber.default.ROUND_DOWN);
178
- const extrinsic = await this.router.buildSwapExtrinsic(paths, request.address, request.fromAmount, minReceive.toString());
179
- const paymentInfo = await extrinsic.paymentInfo(request.address);
180
- const networkFee = {
181
- tokenSlug: fromChainNativeTokenSlug,
182
- amount: paymentInfo.partialFee.toString(),
183
- feeType: _swap2.SwapFeeType.NETWORK_FEE
184
- };
185
- const feeTokenOptions = [fromChainNativeTokenSlug];
186
- const selectedFeeToken = fromChainNativeTokenSlug;
187
- const priceImpactPct = earlyValidation.metadata.priceImpactPct || '0';
188
- return {
189
- pair: request.pair,
190
- fromAmount: request.fromAmount,
191
- toAmount: toAmount.toString(),
192
- rate: (0, _utils2.convertSwapRate)(earlyValidation.metadata.quoteRate, fromAsset, toAsset),
193
- provider: this.providerInfo,
194
- aliveUntil: +Date.now() + (_utils2.SWAP_QUOTE_TIMEOUT_MAP[this.slug] || _utils2.SWAP_QUOTE_TIMEOUT_MAP.default),
195
- feeInfo: {
196
- feeComponent: [networkFee],
197
- defaultFeeToken: fromChainNativeTokenSlug,
198
- feeOptions: feeTokenOptions,
199
- // TODO: enable fee options
200
- selectedFeeToken
201
- },
202
- isLowLiquidity: Math.abs(parseFloat(priceImpactPct)) >= PAH_LOW_LIQUIDITY_THRESHOLD,
203
- route: {
204
- path: paths.map(asset => asset.slug)
205
- }
206
- };
207
- } catch (e) {
208
- return new _SwapError.SwapError(_swap2.SwapErrorType.ERROR_FETCHING_QUOTE);
209
- }
210
- }
211
158
  async handleXcmStep(params) {
212
159
  const pair = params.quote.pair;
213
160
  const alternativeAssetSlug = (0, _utils2.getSwapAlternativeAsset)(pair);
@@ -369,11 +316,5 @@ class AssetHubSwapHandler {
369
316
  }
370
317
  return [];
371
318
  }
372
- validateSwapRequest(request) {
373
- if (!this.isReady || !this.router) {
374
- throw new _SwapError.SwapError(_swap2.SwapErrorType.ERROR_FETCHING_QUOTE);
375
- }
376
- return this.router.earlyValidateSwapValidation(request);
377
- }
378
319
  }
379
320
  exports.AssetHubSwapHandler = AssetHubSwapHandler;