@subwallet/extension-base 1.3.21-0 → 1.3.23-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 (223) hide show
  1. package/background/KoniTypes.d.ts +75 -2
  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/signing.js +6 -2
  6. package/cjs/core/logic-validation/recipientAddress.js +9 -1
  7. package/cjs/core/logic-validation/transfer.js +35 -29
  8. package/cjs/core/types.js +1 -0
  9. package/cjs/core/utils.js +12 -1
  10. package/cjs/defaults.js +1 -1
  11. package/cjs/koni/api/dotsama/crowdloan.js +1 -1
  12. package/cjs/koni/api/nft/index.js +9 -16
  13. package/cjs/koni/api/staking/index.js +3 -4
  14. package/cjs/koni/background/handlers/Extension.js +234 -96
  15. package/cjs/koni/background/handlers/State.js +15 -0
  16. package/cjs/packageInfo.js +1 -1
  17. package/cjs/services/balance-service/helpers/subscribe/cardano/consts.js +11 -0
  18. package/cjs/services/balance-service/helpers/subscribe/cardano/index.js +63 -0
  19. package/cjs/services/balance-service/helpers/subscribe/cardano/types.js +1 -0
  20. package/cjs/services/balance-service/helpers/subscribe/cardano/utils.js +74 -0
  21. package/cjs/services/balance-service/helpers/subscribe/index.js +21 -7
  22. package/cjs/services/balance-service/helpers/subscribe/ton/utils.js +2 -2
  23. package/cjs/services/balance-service/index.js +4 -2
  24. package/cjs/services/balance-service/transfer/cardano-transfer.js +122 -0
  25. package/cjs/services/balance-service/transfer/token.js +4 -4
  26. package/cjs/services/chain-service/constants.js +8 -3
  27. package/cjs/services/chain-service/handler/CardanoApi.js +176 -0
  28. package/cjs/services/chain-service/handler/CardanoChainHandler.js +83 -0
  29. package/cjs/services/chain-service/handler/SubstrateChainHandler.js +3 -2
  30. package/cjs/services/chain-service/handler/TonApi.js +2 -5
  31. package/cjs/services/chain-service/index.js +38 -7
  32. package/cjs/services/chain-service/utils/index.js +40 -11
  33. package/cjs/services/chain-service/utils/patch.js +1 -1
  34. package/cjs/services/earning-service/constants/chains.js +2 -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/handlers/native-staking/mythos.js +337 -0
  38. package/cjs/services/earning-service/service.js +10 -12
  39. package/cjs/services/earning-service/utils/index.js +2 -0
  40. package/cjs/services/fee-service/service.js +19 -8
  41. package/cjs/services/history-service/index.js +4 -6
  42. package/cjs/services/inapp-notification-service/index.js +12 -4
  43. package/cjs/services/keyring-service/context/account-context.js +17 -2
  44. package/cjs/services/keyring-service/context/handlers/Derive.js +10 -7
  45. package/cjs/services/keyring-service/context/handlers/Migration.js +268 -0
  46. package/cjs/services/keyring-service/context/handlers/Mnemonic.js +2 -2
  47. package/cjs/services/keyring-service/context/handlers/Secret.js +1 -1
  48. package/cjs/services/keyring-service/utils.js +18 -0
  49. package/cjs/services/migration-service/scripts/databases/ClearMetadataDatabase.js +3 -23
  50. package/cjs/services/migration-service/scripts/databases/ClearMetadataForChains.js +40 -0
  51. package/cjs/services/migration-service/scripts/databases/ClearMetadataForMythos.js +15 -0
  52. package/cjs/services/migration-service/scripts/index.js +6 -2
  53. package/cjs/services/request-service/handler/CardanoRequestHandler.js +172 -0
  54. package/cjs/services/request-service/handler/EvmRequestHandler.js +1 -1
  55. package/cjs/services/request-service/index.js +20 -2
  56. package/cjs/services/setting-service/constants.js +10 -1
  57. package/cjs/services/storage-service/DatabaseService.js +6 -0
  58. package/cjs/services/storage-service/db-stores/InappNotification.js +6 -0
  59. package/cjs/services/storage-service/db-stores/Metadata.js +3 -0
  60. package/cjs/services/storage-service/db-stores/Migration.js +6 -1
  61. package/cjs/services/swap-service/handler/asset-hub/handler.js +0 -59
  62. package/cjs/services/swap-service/handler/chainflip-handler.js +33 -281
  63. package/cjs/services/swap-service/handler/hydradx-handler.js +23 -190
  64. package/cjs/services/swap-service/handler/simpleswap-handler.js +1 -222
  65. package/cjs/services/swap-service/handler/uniswap-handler.js +331 -0
  66. package/cjs/services/swap-service/index.js +31 -22
  67. package/cjs/services/swap-service/utils.js +21 -38
  68. package/cjs/services/transaction-service/helpers/index.js +6 -1
  69. package/cjs/services/transaction-service/index.js +278 -21
  70. package/cjs/services/transaction-service/utils.js +5 -1
  71. package/cjs/types/account/info/keyring.js +12 -1
  72. package/cjs/types/fee/cardano.js +1 -0
  73. package/cjs/types/swap/index.js +7 -2
  74. package/cjs/utils/account/analyze.js +2 -1
  75. package/cjs/utils/account/common.js +29 -20
  76. package/cjs/utils/account/derive/info/solo.js +9 -4
  77. package/cjs/utils/account/derive/validate.js +36 -2
  78. package/cjs/utils/account/transform.js +38 -13
  79. package/cjs/utils/fee/transfer.js +40 -7
  80. package/cjs/utils/index.js +2 -2
  81. package/cjs/utils/staticData/index.js +7 -2
  82. package/constants/environment.d.ts +1 -0
  83. package/constants/environment.js +2 -1
  84. package/constants/signing.js +6 -2
  85. package/core/logic-validation/recipientAddress.js +11 -3
  86. package/core/logic-validation/transfer.js +9 -3
  87. package/core/substrate/xcm-parser.d.ts +1 -1
  88. package/core/types.d.ts +1 -0
  89. package/core/types.js +1 -0
  90. package/core/utils.d.ts +1 -0
  91. package/core/utils.js +13 -3
  92. package/defaults.d.ts +1 -1
  93. package/defaults.js +1 -1
  94. package/koni/api/dotsama/crowdloan.js +3 -3
  95. package/koni/api/nft/index.js +10 -16
  96. package/koni/api/nft/story_odyssey_nft/index.d.ts +1 -1
  97. package/koni/api/staking/index.js +4 -5
  98. package/koni/background/handlers/Extension.d.ts +9 -0
  99. package/koni/background/handlers/Extension.js +144 -8
  100. package/koni/background/handlers/State.d.ts +5 -1
  101. package/koni/background/handlers/State.js +16 -1
  102. package/package.json +102 -25
  103. package/packageInfo.js +1 -1
  104. package/services/balance-service/helpers/subscribe/cardano/consts.d.ts +1 -0
  105. package/services/balance-service/helpers/subscribe/cardano/consts.js +4 -0
  106. package/services/balance-service/helpers/subscribe/cardano/index.d.ts +2 -0
  107. package/services/balance-service/helpers/subscribe/cardano/index.js +57 -0
  108. package/services/balance-service/helpers/subscribe/cardano/types.d.ts +34 -0
  109. package/services/balance-service/helpers/subscribe/cardano/types.js +1 -0
  110. package/services/balance-service/helpers/subscribe/cardano/utils.d.ts +15 -0
  111. package/services/balance-service/helpers/subscribe/cardano/utils.js +62 -0
  112. package/services/balance-service/helpers/subscribe/index.d.ts +2 -2
  113. package/services/balance-service/helpers/subscribe/index.js +23 -9
  114. package/services/balance-service/helpers/subscribe/ton/utils.d.ts +1 -1
  115. package/services/balance-service/helpers/subscribe/ton/utils.js +1 -1
  116. package/services/balance-service/index.js +4 -2
  117. package/services/balance-service/transfer/cardano-transfer.d.ts +24 -0
  118. package/services/balance-service/transfer/cardano-transfer.js +114 -0
  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/constants.js +8 -3
  122. package/services/chain-service/handler/CardanoApi.d.ts +38 -0
  123. package/services/chain-service/handler/CardanoApi.js +167 -0
  124. package/services/chain-service/handler/CardanoChainHandler.d.ts +17 -0
  125. package/services/chain-service/handler/CardanoChainHandler.js +75 -0
  126. package/services/chain-service/handler/SubstrateChainHandler.js +3 -2
  127. package/services/chain-service/handler/TonApi.js +3 -6
  128. package/services/chain-service/handler/types.d.ts +1 -0
  129. package/services/chain-service/index.d.ts +4 -1
  130. package/services/chain-service/index.js +38 -7
  131. package/services/chain-service/types.d.ts +9 -1
  132. package/services/chain-service/utils/index.d.ts +4 -0
  133. package/services/chain-service/utils/index.js +32 -11
  134. package/services/chain-service/utils/patch.js +1 -1
  135. package/services/earning-service/constants/chains.d.ts +1 -0
  136. package/services/earning-service/constants/chains.js +2 -1
  137. package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +1 -1
  138. package/services/earning-service/handlers/liquid-staking/bifrost.js +1 -1
  139. package/services/earning-service/handlers/native-staking/mythos.d.ts +35 -0
  140. package/services/earning-service/handlers/native-staking/mythos.js +329 -0
  141. package/services/earning-service/service.js +12 -14
  142. package/services/earning-service/utils/index.js +2 -0
  143. package/services/fee-service/service.js +19 -8
  144. package/services/history-service/index.js +6 -8
  145. package/services/inapp-notification-service/index.d.ts +3 -4
  146. package/services/inapp-notification-service/index.js +14 -6
  147. package/services/keyring-service/context/account-context.d.ts +6 -2
  148. package/services/keyring-service/context/account-context.js +17 -2
  149. package/services/keyring-service/context/handlers/Derive.d.ts +1 -1
  150. package/services/keyring-service/context/handlers/Derive.js +10 -8
  151. package/services/keyring-service/context/handlers/Migration.d.ts +17 -0
  152. package/services/keyring-service/context/handlers/Migration.js +258 -0
  153. package/services/keyring-service/context/handlers/Mnemonic.js +2 -2
  154. package/services/keyring-service/context/handlers/Secret.js +2 -2
  155. package/services/keyring-service/utils.d.ts +2 -0
  156. package/services/keyring-service/utils.js +11 -0
  157. package/services/migration-service/scripts/databases/ClearMetadataDatabase.d.ts +3 -3
  158. package/services/migration-service/scripts/databases/ClearMetadataDatabase.js +3 -23
  159. package/services/migration-service/scripts/databases/ClearMetadataForChains.d.ts +5 -0
  160. package/services/migration-service/scripts/databases/ClearMetadataForChains.js +32 -0
  161. package/services/migration-service/scripts/databases/ClearMetadataForMythos.d.ts +4 -0
  162. package/services/migration-service/scripts/databases/ClearMetadataForMythos.js +7 -0
  163. package/services/migration-service/scripts/index.d.ts +1 -0
  164. package/services/migration-service/scripts/index.js +4 -1
  165. package/services/request-service/handler/CardanoRequestHandler.d.ts +16 -0
  166. package/services/request-service/handler/CardanoRequestHandler.js +163 -0
  167. package/services/request-service/handler/EvmRequestHandler.js +1 -1
  168. package/services/request-service/index.d.ts +6 -3
  169. package/services/request-service/index.js +19 -5
  170. package/services/setting-service/constants.d.ts +3 -0
  171. package/services/setting-service/constants.js +6 -0
  172. package/services/storage-service/DatabaseService.d.ts +2 -0
  173. package/services/storage-service/DatabaseService.js +6 -0
  174. package/services/storage-service/db-stores/InappNotification.d.ts +1 -0
  175. package/services/storage-service/db-stores/InappNotification.js +6 -0
  176. package/services/storage-service/db-stores/Metadata.d.ts +1 -0
  177. package/services/storage-service/db-stores/Metadata.js +3 -0
  178. package/services/storage-service/db-stores/Migration.d.ts +1 -0
  179. package/services/storage-service/db-stores/Migration.js +6 -1
  180. package/services/swap-service/handler/asset-hub/handler.d.ts +1 -4
  181. package/services/swap-service/handler/asset-hub/handler.js +2 -61
  182. package/services/swap-service/handler/base-handler.d.ts +1 -4
  183. package/services/swap-service/handler/chainflip-handler.d.ts +2 -9
  184. package/services/swap-service/handler/chainflip-handler.js +31 -280
  185. package/services/swap-service/handler/hydradx-handler.d.ts +1 -6
  186. package/services/swap-service/handler/hydradx-handler.js +13 -180
  187. package/services/swap-service/handler/simpleswap-handler.d.ts +1 -4
  188. package/services/swap-service/handler/simpleswap-handler.js +5 -226
  189. package/services/swap-service/handler/uniswap-handler.d.ts +41 -0
  190. package/services/swap-service/handler/uniswap-handler.js +323 -0
  191. package/services/swap-service/index.js +30 -22
  192. package/services/swap-service/utils.d.ts +1 -5
  193. package/services/swap-service/utils.js +7 -21
  194. package/services/transaction-service/helpers/index.d.ts +2 -0
  195. package/services/transaction-service/helpers/index.js +4 -0
  196. package/services/transaction-service/index.d.ts +8 -2
  197. package/services/transaction-service/index.js +263 -10
  198. package/services/transaction-service/types.d.ts +7 -0
  199. package/services/transaction-service/utils.js +7 -2
  200. package/types/account/info/keyring.d.ts +4 -1
  201. package/types/account/info/keyring.js +9 -0
  202. package/types/account/info/proxy.d.ts +2 -0
  203. package/types/balance/index.d.ts +4 -1
  204. package/types/fee/base.d.ts +1 -1
  205. package/types/fee/cardano.d.ts +18 -0
  206. package/types/fee/cardano.js +1 -0
  207. package/types/fee/subscription.d.ts +4 -3
  208. package/types/swap/index.d.ts +11 -3
  209. package/types/swap/index.js +7 -2
  210. package/utils/account/analyze.js +2 -1
  211. package/utils/account/common.d.ts +11 -6
  212. package/utils/account/common.js +28 -19
  213. package/utils/account/derive/info/solo.js +10 -5
  214. package/utils/account/derive/validate.d.ts +1 -0
  215. package/utils/account/derive/validate.js +34 -1
  216. package/utils/account/transform.d.ts +2 -1
  217. package/utils/account/transform.js +37 -13
  218. package/utils/fee/transfer.d.ts +2 -1
  219. package/utils/fee/transfer.js +44 -11
  220. package/utils/index.js +4 -4
  221. package/utils/staticData/index.d.ts +4 -1
  222. package/utils/staticData/index.js +5 -1
  223. package/utils/staticData/oldChainPrefix.json +1 -0
@@ -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);
@@ -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) => {
@@ -651,6 +654,9 @@ class DatabaseService {
651
654
  deleteProcessTransactionById(processId) {
652
655
  return this.stores.processTransactions.delete(processId);
653
656
  }
657
+ hasRunScript(key) {
658
+ return this.stores.migration.hasRunScript(key);
659
+ }
654
660
 
655
661
  // public setAssetRef (assetRef: Record<string, _AssetRef>) {
656
662
  // const assetRefList = Object.entries(assetRef).map(([slug, item]) => {
@@ -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();
@@ -22,5 +22,8 @@ class MetadataStore extends _BaseStoreWithChain.default {
22
22
  updateMetadataByGenesisHash(genesisHash, metadata) {
23
23
  return this.table.put(metadata, genesisHash);
24
24
  }
25
+ clearByChains(chains) {
26
+ return this.table.where('chain').anyOf(chains).delete();
27
+ }
25
28
  }
26
29
  exports.default = MetadataStore;
@@ -9,5 +9,10 @@ var _BaseStore = _interopRequireDefault(require("./BaseStore"));
9
9
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
10
10
  // SPDX-License-Identifier: Apache-2.0
11
11
 
12
- class MigrationStore extends _BaseStore.default {}
12
+ class MigrationStore extends _BaseStore.default {
13
+ async hasRunScript(key) {
14
+ const rs = await this.table.where('key').equals(key).first();
15
+ return !!rs;
16
+ }
17
+ }
13
18
  exports.default = MigrationStore;
@@ -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;
@@ -5,12 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ChainflipSwapHandler = exports.CHAINFLIP_BROKER_API = void 0;
8
- var _swap = require("@chainflip/sdk/swap");
9
8
  var _chainList = require("@subwallet/chain-list");
10
- var _SwapError = require("@subwallet/extension-base/background/errors/SwapError");
11
9
  var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
12
10
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
13
- var _swap2 = require("@subwallet/extension-base/core/logic-validation/swap");
14
11
  var _smartContract = require("@subwallet/extension-base/services/balance-service/transfer/smart-contract");
15
12
  var _token = require("@subwallet/extension-base/services/balance-service/transfer/token");
16
13
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
@@ -18,29 +15,17 @@ var _baseHandler = require("@subwallet/extension-base/services/swap-service/hand
18
15
  var _utils2 = require("@subwallet/extension-base/services/swap-service/utils");
19
16
  var _types = require("@subwallet/extension-base/types");
20
17
  var _serviceBase = require("@subwallet/extension-base/types/service-base");
21
- var _swap3 = require("@subwallet/extension-base/types/swap");
18
+ var _swap = require("@subwallet/extension-base/types/swap");
19
+ var _utils3 = require("@subwallet/extension-base/utils");
22
20
  var _getId = require("@subwallet/extension-base/utils/getId");
23
21
  var _bignumber = _interopRequireDefault(require("bignumber.js"));
24
22
  // Copyright 2019-2022 @subwallet/extension-base
25
23
  // SPDX-License-Identifier: Apache-2.0
26
- var ChainflipFeeType;
27
- (function (ChainflipFeeType) {
28
- ChainflipFeeType["INGRESS"] = "INGRESS";
29
- ChainflipFeeType["NETWORK"] = "NETWORK";
30
- ChainflipFeeType["EGRESS"] = "EGRESS";
31
- ChainflipFeeType["BOOST"] = "BOOST";
32
- ChainflipFeeType["BROKER"] = "BROKER";
33
- })(ChainflipFeeType || (ChainflipFeeType = {}));
24
+
34
25
  const INTERMEDIARY_MAINNET_ASSET_SLUG = _chainList.COMMON_ASSETS.USDC_ETHEREUM;
35
26
  const INTERMEDIARY_TESTNET_ASSET_SLUG = _chainList.COMMON_ASSETS.USDC_SEPOLIA;
36
27
  const CHAINFLIP_BROKER_API = process.env.CHAINFLIP_BROKER_API || '';
37
28
  exports.CHAINFLIP_BROKER_API = CHAINFLIP_BROKER_API;
38
- var CHAINFLIP_QUOTE_ERROR;
39
- (function (CHAINFLIP_QUOTE_ERROR) {
40
- CHAINFLIP_QUOTE_ERROR["InsufficientLiquidity"] = "InsufficientLiquidity";
41
- CHAINFLIP_QUOTE_ERROR["InsufficientEgress"] = "is lower than minimum egress amount";
42
- CHAINFLIP_QUOTE_ERROR["InsufficientIngress"] = "amount is lower than estimated ingress fee";
43
- })(CHAINFLIP_QUOTE_ERROR || (CHAINFLIP_QUOTE_ERROR = {}));
44
29
  class ChainflipSwapHandler {
45
30
  constructor(chainService, balanceService, feeService) {
46
31
  let isTestnet = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
@@ -49,13 +34,11 @@ class ChainflipSwapHandler {
49
34
  balanceService,
50
35
  feeService,
51
36
  providerName: isTestnet ? 'Chainflip Testnet' : 'Chainflip',
52
- providerSlug: isTestnet ? _swap3.SwapProviderId.CHAIN_FLIP_TESTNET : _swap3.SwapProviderId.CHAIN_FLIP_MAINNET
37
+ providerSlug: isTestnet ? _swap.SwapProviderId.CHAIN_FLIP_TESTNET : _swap.SwapProviderId.CHAIN_FLIP_MAINNET
53
38
  });
54
39
  this.isTestnet = isTestnet;
55
- this.providerSlug = isTestnet ? _swap3.SwapProviderId.CHAIN_FLIP_TESTNET : _swap3.SwapProviderId.CHAIN_FLIP_MAINNET;
56
-
57
- // @ts-ignore
58
- this.swapSdk = new _swap.SwapSDK((0, _utils2.getChainflipOptions)(isTestnet));
40
+ this.providerSlug = isTestnet ? _swap.SwapProviderId.CHAIN_FLIP_TESTNET : _swap.SwapProviderId.CHAIN_FLIP_MAINNET;
41
+ this.baseUrl = (0, _utils2.getChainflipSwap)(isTestnet);
59
42
  }
60
43
  get chainService() {
61
44
  return this.swapBaseHandler.chainService;
@@ -72,20 +55,6 @@ class ChainflipSwapHandler {
72
55
  get slug() {
73
56
  return this.swapBaseHandler.slug;
74
57
  }
75
- get assetMapping() {
76
- if (this.isTestnet) {
77
- return _utils2.CHAIN_FLIP_SUPPORTED_TESTNET_ASSET_MAPPING;
78
- } else {
79
- return _utils2.CHAIN_FLIP_SUPPORTED_MAINNET_ASSET_MAPPING;
80
- }
81
- }
82
- get chainMapping() {
83
- if (this.isTestnet) {
84
- return _utils2.CHAIN_FLIP_SUPPORTED_TESTNET_MAPPING;
85
- } else {
86
- return _utils2.CHAIN_FLIP_SUPPORTED_MAINNET_MAPPING;
87
- }
88
- }
89
58
  get intermediaryAssetSlug() {
90
59
  if (this.isTestnet) {
91
60
  return INTERMEDIARY_TESTNET_ASSET_SLUG;
@@ -93,224 +62,6 @@ class ChainflipSwapHandler {
93
62
  return INTERMEDIARY_MAINNET_ASSET_SLUG;
94
63
  }
95
64
  }
96
- async validateSwapRequest(request) {
97
- try {
98
- // todo: risk of matching wrong chain, asset can lead to loss of funds
99
-
100
- const fromAsset = this.chainService.getAssetBySlug(request.pair.from);
101
- const toAsset = this.chainService.getAssetBySlug(request.pair.to);
102
- const srcChain = fromAsset.originChain;
103
- const destChain = toAsset.originChain;
104
- const isSwapCrossChain = srcChain !== destChain;
105
- const srcChainInfo = this.chainService.getChainInfoByKey(srcChain);
106
- const srcChainId = this.chainMapping[srcChain];
107
- const destChainId = this.chainMapping[destChain];
108
- const fromAssetId = (0, _utils._getAssetSymbol)(fromAsset);
109
- const toAssetId = (0, _utils._getAssetSymbol)(toAsset);
110
- if (!srcChainId || !destChainId || !fromAssetId || !toAssetId) {
111
- return {
112
- error: _swap3.SwapErrorType.ASSET_NOT_SUPPORTED
113
- };
114
- }
115
- const [supportedDestChains, srcAssets, destAssets] = await Promise.all([this.swapSdk.getChains(srcChainId), this.swapSdk.getAssets(srcChainId), this.swapSdk.getAssets(destChainId)]);
116
- const supportedDestChainId = supportedDestChains.find(c => c.chain === destChainId);
117
- const srcAssetData = srcAssets.find(a => {
118
- if ((0, _utils._isSmartContractToken)(fromAsset)) {
119
- var _a$contractAddress;
120
- return (a === null || a === void 0 ? void 0 : (_a$contractAddress = a.contractAddress) === null || _a$contractAddress === void 0 ? void 0 : _a$contractAddress.toLowerCase()) === (0, _utils._getContractAddressOfToken)(fromAsset).toLowerCase() && a.asset === fromAssetId;
121
- }
122
- return a.asset === fromAssetId;
123
- });
124
- const destAssetData = destAssets.find(a => {
125
- if ((0, _utils._isSmartContractToken)(toAsset)) {
126
- var _a$contractAddress2;
127
- return (a === null || a === void 0 ? void 0 : (_a$contractAddress2 = a.contractAddress) === null || _a$contractAddress2 === void 0 ? void 0 : _a$contractAddress2.toLowerCase()) === (0, _utils._getContractAddressOfToken)(toAsset).toLowerCase() && a.asset === toAssetId;
128
- }
129
- return a.asset === toAssetId;
130
- });
131
- if (!destAssetData || !srcAssetData || isSwapCrossChain && !supportedDestChainId) {
132
- return {
133
- error: _swap3.SwapErrorType.UNKNOWN
134
- };
135
- }
136
- const bnAmount = new _bignumber.default(request.fromAmount);
137
- const bnMinSwap = new _bignumber.default(srcAssetData.minimumSwapAmount);
138
- if (srcAssetData.maximumSwapAmount) {
139
- const bnMaxProtocolSwap = new _bignumber.default(srcAssetData.maximumSwapAmount);
140
- if (bnMinSwap.gte(bnMaxProtocolSwap)) {
141
- return {
142
- error: _swap3.SwapErrorType.UNKNOWN
143
- };
144
- }
145
- if (bnAmount.gte(bnMaxProtocolSwap)) {
146
- return {
147
- error: _swap3.SwapErrorType.SWAP_EXCEED_ALLOWANCE,
148
- metadata: {
149
- minSwap: {
150
- value: srcAssetData.minimumSwapAmount,
151
- decimals: (0, _utils._getAssetDecimals)(fromAsset),
152
- symbol: fromAsset.symbol
153
- },
154
- maxSwap: {
155
- value: bnMaxProtocolSwap.toString(),
156
- decimals: (0, _utils._getAssetDecimals)(fromAsset),
157
- symbol: fromAsset.symbol
158
- },
159
- chain: srcChainInfo
160
- }
161
- };
162
- }
163
- }
164
- if (bnAmount.lt(bnMinSwap)) {
165
- // might miss case when minSwap is 0
166
- return {
167
- error: _swap3.SwapErrorType.NOT_MEET_MIN_SWAP,
168
- metadata: {
169
- minSwap: {
170
- value: srcAssetData.minimumSwapAmount,
171
- decimals: (0, _utils._getAssetDecimals)(fromAsset),
172
- symbol: fromAsset.symbol
173
- },
174
- maxSwap: {
175
- value: srcAssetData.maximumSwapAmount,
176
- decimals: (0, _utils._getAssetDecimals)(fromAsset),
177
- symbol: fromAsset.symbol
178
- },
179
- chain: srcChainInfo
180
- }
181
- };
182
- }
183
- return {
184
- metadata: {
185
- minSwap: {
186
- value: srcAssetData.minimumSwapAmount,
187
- decimals: (0, _utils._getAssetDecimals)(fromAsset),
188
- symbol: fromAsset.symbol
189
- },
190
- maxSwap: {
191
- value: srcAssetData.maximumSwapAmount,
192
- decimals: (0, _utils._getAssetDecimals)(fromAsset),
193
- symbol: fromAsset.symbol
194
- },
195
- chain: srcChainInfo
196
- }
197
- };
198
- } catch (e) {
199
- return {
200
- error: _swap3.SwapErrorType.UNKNOWN
201
- };
202
- }
203
- }
204
- parseSwapPath(fromAsset, toAsset) {
205
- if (toAsset.slug !== this.intermediaryAssetSlug && fromAsset.slug !== this.intermediaryAssetSlug) {
206
- // Chainflip always use USDC as intermediary
207
- return [fromAsset.slug, this.intermediaryAssetSlug, toAsset.slug]; // todo: generalize this
208
- }
209
-
210
- return [fromAsset.slug, toAsset.slug];
211
- }
212
- async getSwapQuote(request) {
213
- const fromAsset = this.chainService.getAssetBySlug(request.pair.from);
214
- const toAsset = this.chainService.getAssetBySlug(request.pair.to);
215
- const fromChain = this.chainService.getChainInfoByKey(fromAsset.originChain);
216
- const fromChainNativeTokenSlug = (0, _utils._getChainNativeTokenSlug)(fromChain);
217
- if (!fromAsset || !toAsset) {
218
- return new _SwapError.SwapError(_swap3.SwapErrorType.UNKNOWN);
219
- }
220
- const earlyValidation = await this.validateSwapRequest(request);
221
- const metadata = earlyValidation.metadata;
222
- if (earlyValidation.error) {
223
- return (0, _swap2._getChainflipEarlyValidationError)(earlyValidation.error, metadata);
224
- }
225
- const srcChainId = this.chainMapping[fromAsset.originChain];
226
- const destChainId = this.chainMapping[toAsset.originChain];
227
- const fromAssetId = (0, _utils._getAssetSymbol)(fromAsset);
228
- const toAssetId = (0, _utils._getAssetSymbol)(toAsset);
229
- try {
230
- var _metadata$maxSwap;
231
- const quoteResponse = await this.swapSdk.getQuote({
232
- srcChain: srcChainId,
233
- destChain: destChainId,
234
- srcAsset: fromAssetId,
235
- destAsset: toAssetId,
236
- amount: request.fromAmount
237
- });
238
- const feeComponent = [];
239
- quoteResponse.quote.includedFees.forEach(fee => {
240
- switch (fee.type) {
241
- case ChainflipFeeType.INGRESS:
242
- {
243
- feeComponent.push({
244
- tokenSlug: fromAsset.slug,
245
- amount: fee.amount,
246
- feeType: _swap3.SwapFeeType.NETWORK_FEE
247
- });
248
- break;
249
- }
250
-
251
- // eslint-disable-next-line no-fallthrough
252
- case ChainflipFeeType.EGRESS:
253
- {
254
- feeComponent.push({
255
- tokenSlug: toAsset.slug,
256
- amount: fee.amount,
257
- feeType: _swap3.SwapFeeType.NETWORK_FEE
258
- });
259
- break;
260
- }
261
- case ChainflipFeeType.NETWORK:
262
-
263
- // eslint-disable-next-line no-fallthrough
264
- case ChainflipFeeType.BOOST:
265
-
266
- // eslint-disable-next-line no-fallthrough
267
- case ChainflipFeeType.BROKER:
268
- {
269
- feeComponent.push({
270
- tokenSlug: this.intermediaryAssetSlug,
271
- amount: fee.amount,
272
- feeType: _swap3.SwapFeeType.PLATFORM_FEE
273
- });
274
- break;
275
- }
276
- }
277
- });
278
- const defaultFeeToken = (0, _utils._isNativeToken)(fromAsset) ? fromAsset.slug : fromChainNativeTokenSlug;
279
- return {
280
- pair: request.pair,
281
- fromAmount: request.fromAmount,
282
- toAmount: quoteResponse.quote.egressAmount.toString(),
283
- rate: (0, _utils2.calculateSwapRate)(request.fromAmount, quoteResponse.quote.egressAmount.toString(), fromAsset, toAsset),
284
- provider: this.providerInfo,
285
- aliveUntil: +Date.now() + (_utils2.SWAP_QUOTE_TIMEOUT_MAP[this.slug] || _utils2.SWAP_QUOTE_TIMEOUT_MAP.default),
286
- minSwap: metadata.minSwap.value,
287
- maxSwap: (_metadata$maxSwap = metadata.maxSwap) === null || _metadata$maxSwap === void 0 ? void 0 : _metadata$maxSwap.value,
288
- estimatedArrivalTime: quoteResponse.quote.estimatedDurationSeconds,
289
- // in seconds
290
- isLowLiquidity: quoteResponse.quote.lowLiquidityWarning,
291
- feeInfo: {
292
- feeComponent: feeComponent,
293
- defaultFeeToken,
294
- feeOptions: [defaultFeeToken]
295
- },
296
- route: {
297
- path: this.parseSwapPath(fromAsset, toAsset)
298
- }
299
- };
300
- } catch (e) {
301
- var _error$response;
302
- const error = e;
303
- const errorObj = error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data;
304
- if (errorObj && errorObj.error && errorObj.error.includes(CHAINFLIP_QUOTE_ERROR.InsufficientLiquidity)) {
305
- // todo: Chainflip will improve this
306
- return new _SwapError.SwapError(_swap3.SwapErrorType.NOT_ENOUGH_LIQUIDITY);
307
- }
308
- if (errorObj && errorObj.message && errorObj.message.includes(CHAINFLIP_QUOTE_ERROR.InsufficientLiquidity)) {
309
- return new _SwapError.SwapError(_swap3.SwapErrorType.NOT_ENOUGH_LIQUIDITY);
310
- }
311
- return new _SwapError.SwapError(_swap3.SwapErrorType.ERROR_FETCHING_QUOTE);
312
- }
313
- }
314
65
  async validateSwapProcess(params) {
315
66
  const amount = params.selectedQuote.fromAmount;
316
67
  const bnAmount = new _bignumber.default(amount);
@@ -349,48 +100,49 @@ class ChainflipSwapHandler {
349
100
  const fromAsset = this.chainService.getAssetBySlug(pair.from);
350
101
  const toAsset = this.chainService.getAssetBySlug(pair.to);
351
102
  const chainInfo = this.chainService.getChainInfoByKey(fromAsset.originChain);
103
+ const toChainInfo = this.chainService.getChainInfoByKey(fromAsset.originChain);
352
104
  const chainType = (0, _utils._isChainSubstrateCompatible)(chainInfo) ? _KoniTypes.ChainType.SUBSTRATE : _KoniTypes.ChainType.EVM;
353
- const receiver = recipient !== null && recipient !== void 0 ? recipient : address;
354
- const srcChainId = this.chainMapping[fromAsset.originChain];
355
- const destChainId = this.chainMapping[toAsset.originChain];
105
+ const receiver = (0, _utils3._reformatAddressWithChain)(recipient !== null && recipient !== void 0 ? recipient : address, toChainInfo);
356
106
  const fromAssetId = (0, _utils._getAssetSymbol)(fromAsset);
357
107
  const toAssetId = (0, _utils._getAssetSymbol)(toAsset);
358
108
  const minReceive = new _bignumber.default(quote.rate).times(1 - slippage).toString();
359
- const depositAddressResponse = await this.swapSdk.requestDepositAddress({
360
- srcChain: srcChainId,
361
- destChain: destChainId,
362
- srcAsset: fromAssetId,
363
- destAsset: toAssetId,
364
- destAddress: receiver,
365
- amount: quote.fromAmount,
366
- fillOrKillParams: {
367
- minPrice: minReceive,
368
- // minimum accepted price for swaps through the channel
369
- refundAddress: address,
370
- // address to which assets are refunded
371
- retryDurationBlocks: 100 // 100 blocks * 6 seconds = 10 minutes before deposits are refunded
372
- }
109
+ const depositParams = {
110
+ destinationAddress: receiver,
111
+ destinationAsset: toAssetId,
112
+ minimumPrice: minReceive,
113
+ // minimum accepted price for swaps through the channel
114
+ refundAddress: address,
115
+ // address to which assets are refunded
116
+ retryDurationInBlocks: '100',
117
+ // 100 blocks * 6 seconds = 10 minutes before deposits are refunded
118
+ sourceAsset: fromAssetId
119
+ };
120
+ const url = `${this.baseUrl}&${new URLSearchParams(depositParams).toString()}`;
121
+ const response = await fetch(url, {
122
+ method: 'GET'
373
123
  });
374
-
124
+ const data = await response.json();
125
+ const depositChannelId = `${data.issuedBlock}-${data.network}-${data.channelId}`;
126
+ const depositAddress = data.address;
375
127
  const txData = {
376
128
  address,
377
129
  provider: this.providerInfo,
378
130
  quote: params.quote,
379
131
  slippage: params.slippage,
380
132
  recipient,
381
- depositChannelId: depositAddressResponse.depositChannelId,
382
- depositAddress: depositAddressResponse.depositAddress,
133
+ depositChannelId: depositChannelId,
134
+ depositAddress: depositAddress,
383
135
  process: params.process
384
136
  };
385
137
  let extrinsic;
386
138
  if (chainType === _KoniTypes.ChainType.SUBSTRATE) {
387
139
  const chainApi = this.chainService.getSubstrateApi(chainInfo.slug);
388
140
  const substrateApi = await chainApi.isReady;
389
- const [submittableExtrinsic] = await (0, _token.createTransferExtrinsic)({
141
+ const [submittableExtrinsic] = await (0, _token.createSubstrateExtrinsic)({
390
142
  from: address,
391
143
  networkKey: chainInfo.slug,
392
144
  substrateApi,
393
- to: depositAddressResponse.depositAddress,
145
+ to: depositAddress,
394
146
  tokenInfo: fromAsset,
395
147
  transferAll: false,
396
148
  // always false, because we do not allow swapping all the balance
@@ -405,7 +157,7 @@ class ChainflipSwapHandler {
405
157
  chain: chainInfo.slug,
406
158
  evmApi: this.chainService.getEvmApi(chainInfo.slug),
407
159
  from: address,
408
- to: depositAddressResponse.depositAddress,
160
+ to: depositAddress,
409
161
  value: quote.fromAmount,
410
162
  feeInfo,
411
163
  transferAll: false
@@ -417,7 +169,7 @@ class ChainflipSwapHandler {
417
169
  chain: chainInfo.slug,
418
170
  evmApi: this.chainService.getEvmApi(chainInfo.slug),
419
171
  from: address,
420
- to: depositAddressResponse.depositAddress,
172
+ to: depositAddress,
421
173
  value: quote.fromAmount,
422
174
  feeInfo,
423
175
  transferAll: false
@@ -444,7 +196,7 @@ class ChainflipSwapHandler {
444
196
  switch (type) {
445
197
  case _serviceBase.CommonStepType.DEFAULT:
446
198
  return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
447
- case _swap3.SwapStepType.SWAP:
199
+ case _swap.SwapStepType.SWAP:
448
200
  return this.handleSubmitStep(params);
449
201
  default:
450
202
  return this.handleSubmitStep(params);
@@ -454,7 +206,7 @@ class ChainflipSwapHandler {
454
206
  if (params.selectedQuote) {
455
207
  const submitStep = {
456
208
  name: 'Swap',
457
- type: _swap3.SwapStepType.SWAP
209
+ type: _swap.SwapStepType.SWAP
458
210
  };
459
211
  return Promise.resolve([submitStep, params.selectedQuote.feeInfo]);
460
212
  }