@subwallet/extension-base 1.1.29-0 → 1.1.29-beta.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 (289) hide show
  1. package/background/KoniTypes.d.ts +94 -68
  2. package/background/KoniTypes.js +16 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +17 -16
  5. package/cjs/background/errors/TransactionError.js +9 -0
  6. package/cjs/constants/index.js +9 -3
  7. package/cjs/koni/api/nft/config.js +33 -23
  8. package/cjs/koni/api/nft/index.js +14 -0
  9. package/cjs/koni/api/nft/nft.js +1 -22
  10. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  11. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  12. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  13. package/cjs/koni/api/staking/bonding/amplitude.js +17 -15
  14. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  15. package/cjs/koni/api/staking/bonding/index.js +4 -1
  16. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  17. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  18. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  19. package/cjs/koni/api/staking/index.js +6 -5
  20. package/cjs/koni/api/staking/paraChain.js +6 -5
  21. package/cjs/koni/api/staking/relayChain.js +3 -2
  22. package/cjs/koni/api/yield/helper/utils.js +46 -0
  23. package/cjs/koni/background/cron.js +2 -0
  24. package/cjs/koni/background/handlers/Extension.js +347 -69
  25. package/cjs/koni/background/handlers/State.js +51 -3
  26. package/cjs/koni/background/handlers/index.js +4 -2
  27. package/cjs/koni/background/subscription.js +88 -18
  28. package/cjs/services/campaign-service/index.js +9 -6
  29. package/cjs/services/chain-service/constants.js +2 -16
  30. package/cjs/services/chain-service/utils.js +7 -1
  31. package/cjs/services/earning-service/constants/chains.js +29 -0
  32. package/cjs/services/earning-service/constants/index.js +27 -0
  33. package/cjs/services/earning-service/constants/step.js +18 -0
  34. package/cjs/services/earning-service/handlers/base.js +230 -0
  35. package/cjs/services/earning-service/handlers/index.js +60 -0
  36. package/cjs/services/earning-service/handlers/lending/base.js +20 -0
  37. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  38. package/cjs/services/earning-service/handlers/lending/interlay.js +176 -0
  39. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +206 -0
  40. package/cjs/services/earning-service/handlers/liquid-staking/base.js +43 -0
  41. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +267 -0
  42. package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +190 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +382 -0
  45. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +380 -0
  46. package/cjs/services/earning-service/handlers/native-staking/astar.js +454 -0
  47. package/cjs/services/earning-service/handlers/native-staking/base-para.js +137 -0
  48. package/cjs/services/earning-service/handlers/native-staking/base.js +119 -0
  49. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  50. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +381 -0
  51. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +540 -0
  52. package/cjs/services/earning-service/handlers/nomination-pool/index.js +528 -0
  53. package/cjs/services/earning-service/handlers/special.js +412 -0
  54. package/cjs/services/earning-service/service.js +351 -0
  55. package/cjs/services/earning-service/utils/index.js +128 -0
  56. package/cjs/services/event-service/index.js +4 -0
  57. package/cjs/services/keyring-service/index.js +14 -2
  58. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  59. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  60. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  61. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  62. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  63. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  64. package/cjs/services/migration-service/scripts/index.js +7 -1
  65. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  66. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  67. package/cjs/services/mint-campaign-service/constants.js +11 -0
  68. package/cjs/services/mint-campaign-service/index.js +18 -0
  69. package/cjs/services/notification-service/NotificationService.js +1 -1
  70. package/cjs/services/storage-service/DatabaseService.js +51 -0
  71. package/cjs/services/storage-service/databases/index.js +4 -0
  72. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  73. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  74. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +65 -0
  75. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  76. package/cjs/services/transaction-service/helpers/index.js +3 -1
  77. package/cjs/services/transaction-service/index.js +185 -74
  78. package/cjs/services/transaction-service/utils.js +1 -0
  79. package/cjs/types/campaigns/index.js +16 -0
  80. package/cjs/types/campaigns/unlock-dot.js +1 -0
  81. package/cjs/types/index.js +44 -0
  82. package/cjs/types/ordinal.js +1 -0
  83. package/cjs/types/transaction.js +1 -0
  84. package/cjs/types/yield/actions/index.js +27 -0
  85. package/cjs/types/yield/actions/join/index.js +38 -0
  86. package/cjs/types/yield/actions/join/step.js +47 -0
  87. package/cjs/types/yield/actions/join/submit.js +1 -0
  88. package/cjs/types/yield/actions/join/validate.js +16 -0
  89. package/cjs/types/yield/actions/others.js +1 -0
  90. package/cjs/types/yield/index.js +27 -0
  91. package/cjs/types/yield/info/account/index.js +49 -0
  92. package/cjs/types/yield/info/account/info.js +1 -0
  93. package/cjs/types/yield/info/account/reward.js +1 -0
  94. package/cjs/types/yield/info/account/target.js +32 -0
  95. package/cjs/types/yield/info/account/unstake.js +27 -0
  96. package/cjs/types/yield/info/base.js +41 -0
  97. package/cjs/types/yield/info/chain/index.js +27 -0
  98. package/cjs/types/yield/info/chain/info.js +1 -0
  99. package/cjs/types/yield/info/chain/target.js +1 -0
  100. package/cjs/types/yield/info/index.js +49 -0
  101. package/cjs/types/yield/info/pallet.js +15 -0
  102. package/cjs/utils/fetchStaticData.js +2 -1
  103. package/cjs/utils/index.js +89 -1
  104. package/cjs/utils/object.js +12 -0
  105. package/cjs/utils/yield/index.js +3 -0
  106. package/constants/index.d.ts +2 -0
  107. package/constants/index.js +2 -0
  108. package/koni/api/nft/config.js +33 -23
  109. package/koni/api/nft/index.js +15 -1
  110. package/koni/api/nft/nft.js +2 -23
  111. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  112. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  113. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  114. package/koni/api/nft/ordinal_nft/index.js +114 -0
  115. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  116. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  117. package/koni/api/staking/bonding/amplitude.js +11 -9
  118. package/koni/api/staking/bonding/astar.js +9 -8
  119. package/koni/api/staking/bonding/index.d.ts +1 -1
  120. package/koni/api/staking/bonding/index.js +5 -1
  121. package/koni/api/staking/bonding/paraChain.js +12 -10
  122. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  123. package/koni/api/staking/bonding/relayChain.js +33 -30
  124. package/koni/api/staking/bonding/utils.d.ts +15 -38
  125. package/koni/api/staking/bonding/utils.js +85 -69
  126. package/koni/api/staking/index.js +2 -1
  127. package/koni/api/staking/paraChain.js +7 -6
  128. package/koni/api/staking/relayChain.js +4 -3
  129. package/koni/api/yield/helper/utils.d.ts +10 -0
  130. package/koni/api/yield/helper/utils.js +32 -0
  131. package/koni/background/cron.js +2 -0
  132. package/koni/background/handlers/Extension.d.ts +16 -1
  133. package/koni/background/handlers/Extension.js +306 -30
  134. package/koni/background/handlers/State.d.ts +18 -2
  135. package/koni/background/handlers/State.js +50 -3
  136. package/koni/background/handlers/index.js +4 -2
  137. package/koni/background/subscription.d.ts +5 -1
  138. package/koni/background/subscription.js +90 -20
  139. package/package.json +316 -3
  140. package/services/campaign-service/index.js +9 -6
  141. package/services/chain-service/constants.d.ts +0 -11
  142. package/services/chain-service/constants.js +1 -14
  143. package/services/chain-service/utils.d.ts +1 -0
  144. package/services/chain-service/utils.js +5 -1
  145. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  146. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  147. package/services/earning-service/constants/chains.d.ts +14 -0
  148. package/services/earning-service/constants/chains.js +21 -0
  149. package/services/earning-service/constants/index.d.ts +2 -0
  150. package/services/earning-service/constants/index.js +5 -0
  151. package/services/earning-service/constants/step.d.ts +3 -0
  152. package/services/earning-service/constants/step.js +10 -0
  153. package/services/earning-service/handlers/base.d.ts +108 -0
  154. package/services/earning-service/handlers/base.js +224 -0
  155. package/services/earning-service/handlers/index.d.ts +5 -0
  156. package/services/earning-service/handlers/index.js +8 -0
  157. package/services/earning-service/handlers/lending/base.d.ts +6 -0
  158. package/services/earning-service/handlers/lending/base.js +12 -0
  159. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  160. package/services/earning-service/handlers/lending/index.js +4 -0
  161. package/services/earning-service/handlers/lending/interlay.d.ts +22 -0
  162. package/services/earning-service/handlers/lending/interlay.js +168 -0
  163. package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
  164. package/services/earning-service/handlers/liquid-staking/acala.js +198 -0
  165. package/services/earning-service/handlers/liquid-staking/base.d.ts +9 -0
  166. package/services/earning-service/handlers/liquid-staking/base.js +35 -0
  167. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +44 -0
  168. package/services/earning-service/handlers/liquid-staking/bifrost.js +256 -0
  169. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  170. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  171. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +27 -0
  172. package/services/earning-service/handlers/liquid-staking/parallel.js +182 -0
  173. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +36 -0
  174. package/services/earning-service/handlers/liquid-staking/stella-swap.js +372 -0
  175. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  176. package/services/earning-service/handlers/native-staking/amplitude.js +371 -0
  177. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  178. package/services/earning-service/handlers/native-staking/astar.js +444 -0
  179. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  180. package/services/earning-service/handlers/native-staking/base-para.js +129 -0
  181. package/services/earning-service/handlers/native-staking/base.d.ts +20 -0
  182. package/services/earning-service/handlers/native-staking/base.js +110 -0
  183. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  184. package/services/earning-service/handlers/native-staking/index.js +7 -0
  185. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  186. package/services/earning-service/handlers/native-staking/para-chain.js +373 -0
  187. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  188. package/services/earning-service/handlers/native-staking/relay-chain.js +531 -0
  189. package/services/earning-service/handlers/nomination-pool/index.d.ts +33 -0
  190. package/services/earning-service/handlers/nomination-pool/index.js +518 -0
  191. package/services/earning-service/handlers/special.d.ts +59 -0
  192. package/services/earning-service/handlers/special.js +404 -0
  193. package/services/earning-service/service.d.ts +40 -0
  194. package/services/earning-service/service.js +343 -0
  195. package/services/earning-service/utils/index.d.ts +18 -0
  196. package/services/earning-service/utils/index.js +112 -0
  197. package/services/event-service/index.d.ts +1 -0
  198. package/services/event-service/index.js +4 -0
  199. package/services/event-service/types.d.ts +8 -0
  200. package/services/keyring-service/index.d.ts +2 -1
  201. package/services/keyring-service/index.js +14 -2
  202. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  203. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  204. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  205. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  206. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  207. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  208. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  209. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  210. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  211. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  212. package/services/migration-service/scripts/index.js +7 -1
  213. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  214. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  215. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  216. package/services/mint-campaign-service/campaigns/index.js +4 -0
  217. package/services/mint-campaign-service/constants.d.ts +1 -0
  218. package/services/mint-campaign-service/constants.js +4 -0
  219. package/services/mint-campaign-service/index.d.ts +7 -0
  220. package/services/mint-campaign-service/index.js +11 -0
  221. package/services/notification-service/NotificationService.js +1 -1
  222. package/services/storage-service/DatabaseService.d.ts +18 -1
  223. package/services/storage-service/DatabaseService.js +51 -0
  224. package/services/storage-service/databases/index.d.ts +3 -1
  225. package/services/storage-service/databases/index.js +4 -0
  226. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  227. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  228. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  229. package/services/storage-service/db-stores/YieldPositionStore.d.ts +9 -0
  230. package/services/storage-service/db-stores/YieldPositionStore.js +57 -0
  231. package/services/subscan-service/index.d.ts +2 -2
  232. package/services/transaction-service/event-parser/index.d.ts +3 -1
  233. package/services/transaction-service/event-parser/index.js +57 -1
  234. package/services/transaction-service/helpers/index.js +3 -1
  235. package/services/transaction-service/index.d.ts +4 -15
  236. package/services/transaction-service/index.js +183 -72
  237. package/services/transaction-service/types.d.ts +2 -0
  238. package/services/transaction-service/utils.js +1 -0
  239. package/types/campaigns/index.d.ts +1 -0
  240. package/types/campaigns/index.js +4 -0
  241. package/types/campaigns/unlock-dot.d.ts +71 -0
  242. package/types/campaigns/unlock-dot.js +1 -0
  243. package/types/index.d.ts +5 -0
  244. package/types/index.js +5 -1
  245. package/types/ordinal.d.ts +69 -0
  246. package/types/ordinal.js +1 -0
  247. package/types/transaction.d.ts +3 -0
  248. package/types/transaction.js +1 -0
  249. package/types/yield/actions/index.d.ts +2 -0
  250. package/types/yield/actions/index.js +5 -0
  251. package/types/yield/actions/join/index.d.ts +3 -0
  252. package/types/yield/actions/join/index.js +6 -0
  253. package/types/yield/actions/join/step.d.ts +94 -0
  254. package/types/yield/actions/join/step.js +46 -0
  255. package/types/yield/actions/join/submit.d.ts +53 -0
  256. package/types/yield/actions/join/submit.js +1 -0
  257. package/types/yield/actions/join/validate.d.ts +18 -0
  258. package/types/yield/actions/join/validate.js +10 -0
  259. package/types/yield/actions/others.d.ts +63 -0
  260. package/types/yield/actions/others.js +1 -0
  261. package/types/yield/index.d.ts +2 -0
  262. package/types/yield/index.js +5 -0
  263. package/types/yield/info/account/index.d.ts +4 -0
  264. package/types/yield/info/account/index.js +7 -0
  265. package/types/yield/info/account/info.d.ts +101 -0
  266. package/types/yield/info/account/info.js +1 -0
  267. package/types/yield/info/account/reward.d.ts +30 -0
  268. package/types/yield/info/account/reward.js +1 -0
  269. package/types/yield/info/account/target.d.ts +43 -0
  270. package/types/yield/info/account/target.js +27 -0
  271. package/types/yield/info/account/unstake.d.ts +31 -0
  272. package/types/yield/info/account/unstake.js +22 -0
  273. package/types/yield/info/base.d.ts +45 -0
  274. package/types/yield/info/base.js +36 -0
  275. package/types/yield/info/chain/index.d.ts +2 -0
  276. package/types/yield/info/chain/index.js +5 -0
  277. package/types/yield/info/chain/info.d.ts +217 -0
  278. package/types/yield/info/chain/info.js +1 -0
  279. package/types/yield/info/chain/target.d.ts +37 -0
  280. package/types/yield/info/chain/target.js +1 -0
  281. package/types/yield/info/index.d.ts +4 -0
  282. package/types/yield/info/index.js +7 -0
  283. package/types/yield/info/pallet.d.ts +143 -0
  284. package/types/yield/info/pallet.js +9 -0
  285. package/utils/fetchStaticData.js +2 -1
  286. package/utils/index.d.ts +5 -0
  287. package/utils/index.js +53 -1
  288. package/utils/object.d.ts +1 -0
  289. package/utils/object.js +6 -0
@@ -0,0 +1,149 @@
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 _utils = require("@subwallet/extension-base/utils");
9
+ var _axios = _interopRequireDefault(require("axios"));
10
+ var _rxjs = require("rxjs");
11
+ var _constants = require("../constants");
12
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
13
+ // SPDX-License-Identifier: Apache-2.0
14
+
15
+ class UnlockDotCampaign {
16
+ #host = _constants.MINT_HOST;
17
+ #campaignId = 4;
18
+ #state;
19
+ #transactionNftSubject = new _rxjs.BehaviorSubject({});
20
+ #transactionNftState = {};
21
+ constructor(state) {
22
+ this.#state = state;
23
+ }
24
+ async mintNft(_ref) {
25
+ var _result;
26
+ let {
27
+ address,
28
+ extrinsicHash,
29
+ network,
30
+ slug,
31
+ transactionId
32
+ } = _ref;
33
+ this.#transactionNftState[transactionId] = undefined;
34
+ this.#transactionNftSubject.next(this.#transactionNftState);
35
+ const requestId = await this.checkMint({
36
+ address,
37
+ extrinsicHash,
38
+ network,
39
+ slug
40
+ });
41
+ let result;
42
+ if (requestId) {
43
+ result = await this.submitNft(address, requestId);
44
+ await this.#state.reloadNft();
45
+ // } else {
46
+ // result = await this.getMinted(address, slug);
47
+ }
48
+
49
+ this.#transactionNftState[transactionId] = (_result = result) !== null && _result !== void 0 ? _result : {
50
+ nftImage: ''
51
+ };
52
+ this.#transactionNftSubject.next(this.#transactionNftState);
53
+ }
54
+ async checkMint(_ref2) {
55
+ let {
56
+ address,
57
+ extrinsicHash,
58
+ network,
59
+ slug
60
+ } = _ref2;
61
+ const data = {
62
+ address,
63
+ campaignId: this.#campaignId,
64
+ category: slug,
65
+ additionalData: {
66
+ slug,
67
+ extrinsicHash,
68
+ network
69
+ }
70
+ };
71
+ const response = await _axios.default.request({
72
+ baseURL: this.#host,
73
+ url: '/api/mint/check',
74
+ method: 'POST',
75
+ data
76
+ });
77
+ const respData = response.data;
78
+ if (respData.inMintingTime && respData.hasBalance && respData.validCampaign && respData.validCategory && respData.validUser && respData.notDuplicated && respData.requestId && respData.requestId > 1) {
79
+ return respData.requestId;
80
+ }
81
+ return null;
82
+ }
83
+ async submitNft(address, id) {
84
+ const data = {
85
+ requestId: id,
86
+ recipient: address
87
+ };
88
+ const response = await _axios.default.request({
89
+ baseURL: this.#host,
90
+ url: '/api/mint/submit',
91
+ method: 'POST',
92
+ data
93
+ });
94
+ return response.data;
95
+ }
96
+
97
+ // @ts-ignore
98
+ async getMinted(address, slug) {
99
+ const params = {
100
+ address
101
+ };
102
+ const response = await _axios.default.request({
103
+ baseURL: this.#host,
104
+ url: '/api/mint/fetch',
105
+ method: 'GET',
106
+ params: params
107
+ });
108
+ const data = response.data;
109
+ for (const item of data) {
110
+ if ((0, _utils.isSameAddress)(item.address, address) && slug === item.mintCategory && item.status === 'success' && item.campaignId === this.#campaignId) {
111
+ return item;
112
+ }
113
+ }
114
+ return undefined;
115
+ }
116
+ async canMint(address, slug, network) {
117
+ const data = {
118
+ address,
119
+ campaignId: this.#campaignId,
120
+ category: slug,
121
+ additionalData: {
122
+ slug,
123
+ network
124
+ }
125
+ };
126
+ const response = await _axios.default.request({
127
+ baseURL: this.#host,
128
+ url: '/api/mint/check',
129
+ method: 'POST',
130
+ data
131
+ });
132
+ const respData = response.data;
133
+ if (respData.inMintingTime && respData.validCampaign && respData.validCategory && respData.validUser && respData.notDuplicated) {
134
+ return true;
135
+ }
136
+ return false;
137
+ }
138
+ subscribeMintedNft(transactionId, cb) {
139
+ return this.#transactionNftSubject.subscribe({
140
+ next: map => {
141
+ cb(map[transactionId]);
142
+ }
143
+ });
144
+ }
145
+ getMintedNft(transactionId) {
146
+ return this.#transactionNftSubject.value[transactionId];
147
+ }
148
+ }
149
+ exports.default = UnlockDotCampaign;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "UnlockDotCampaign", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _UnlockDotCampaign.default;
11
+ }
12
+ });
13
+ var _UnlockDotCampaign = _interopRequireDefault(require("./UnlockDotCampaign"));
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MINT_HOST = void 0;
7
+ // Copyright 2019-2022 @polkadot/extension-base authors & contributors
8
+ // SPDX-License-Identifier: Apache-2.0
9
+
10
+ const MINT_HOST = process.env.NFT_MINTING_HOST || '';
11
+ exports.MINT_HOST = MINT_HOST;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _campaigns = require("./campaigns");
8
+ // Copyright 2019-2022 @polkadot/extension-base authors & contributors
9
+ // SPDX-License-Identifier: Apache-2.0
10
+
11
+ class MintCampaignService {
12
+ #state;
13
+ constructor(state) {
14
+ this.#state = state;
15
+ this.unlockDotCampaign = new _campaigns.UnlockDotCampaign(this.#state);
16
+ }
17
+ }
18
+ exports.default = MintCampaignService;
@@ -39,7 +39,7 @@ class NotificationService {
39
39
  type: 'basic',
40
40
  title,
41
41
  message,
42
- iconUrl: './images/icon-128.png',
42
+ iconUrl: '/images/icon-128.png',
43
43
  priority: 2,
44
44
  isClickable: !!link || !!onClick,
45
45
  buttons
@@ -12,6 +12,8 @@ var _Campaign = _interopRequireDefault(require("@subwallet/extension-base/servic
12
12
  var _ChainStakingMetadata = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/ChainStakingMetadata"));
13
13
  var _MantaPay = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/MantaPay"));
14
14
  var _NominatorMetadata = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/NominatorMetadata"));
15
+ var _YieldPoolStore = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/YieldPoolStore"));
16
+ var _YieldPositionStore = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/YieldPositionStore"));
15
17
  var _utils = require("@subwallet/extension-base/utils");
16
18
  var _dexieExportImport = require("dexie-export-import");
17
19
  var _util = require("@polkadot/util");
@@ -42,6 +44,9 @@ class DatabaseService {
42
44
  metadata: new _dbStores.MetadataStore(this._db.metadata),
43
45
  chain: new _dbStores.ChainStore(this._db.chain),
44
46
  asset: new _dbStores.AssetStore(this._db.asset),
47
+ // yield
48
+ yieldPoolInfo: new _YieldPoolStore.default(this._db.yieldPoolInfo),
49
+ yieldPosition: new _YieldPositionStore.default(this._db.yieldPosition),
45
50
  // staking
46
51
  chainStakingMetadata: new _ChainStakingMetadata.default(this._db.chainStakingMetadata),
47
52
  nominatorMetadata: new _NominatorMetadata.default(this._db.nominatorMetadata),
@@ -281,6 +286,52 @@ class DatabaseService {
281
286
  return this.stores.mantaPay.getFirstConfig(chain);
282
287
  }
283
288
 
289
+ /* Earning */
290
+
291
+ async removeOldEarningData() {
292
+ await this.stores.yieldPoolInfo.clear();
293
+ await this.stores.yieldPosition.clear();
294
+ }
295
+ async updateYieldPoolStore(data) {
296
+ await this.stores.yieldPoolInfo.upsert(data);
297
+ }
298
+ async deleteYieldPoolInfo(slugs) {
299
+ await this.stores.yieldPoolInfo.bulkDelete(slugs);
300
+ }
301
+ async getYieldPools() {
302
+ return this.stores.yieldPoolInfo.getAll();
303
+ }
304
+ async getYieldPoolStakingInfo(chain, poolType) {
305
+ return this.stores.yieldPoolInfo.getByChainAndType(chain, poolType);
306
+ }
307
+ async getYieldPool(slug) {
308
+ return this.stores.yieldPoolInfo.getBySlug(slug);
309
+ }
310
+ async getYieldPositionByAddressAndSlug(address, slug) {
311
+ return this.stores.yieldPosition.getByAddressAndSlug(address, slug);
312
+ }
313
+ subscribeYieldPoolInfo(chains, callback) {
314
+ this.yieldInfoSubscription && this.yieldInfoSubscription.unsubscribe();
315
+ this.yieldInfoSubscription = this.stores.yieldPoolInfo.subscribeYieldPoolInfo(chains).subscribe({
316
+ next: data => callback && callback(data)
317
+ });
318
+ return this.yieldInfoSubscription;
319
+ }
320
+ async updateYieldPosition(data) {
321
+ await this.stores.yieldPosition.upsert(data);
322
+ }
323
+ async getYieldPositionByAddress(addresses) {
324
+ return this.stores.yieldPosition.getByAddress(addresses);
325
+ }
326
+ subscribeYieldPosition(addresses, callback) {
327
+ return this.stores.yieldPosition.subscribeYieldPositions(addresses).subscribe({
328
+ next: data => callback && callback(data)
329
+ });
330
+ }
331
+ async getYieldNominationPoolPosition(addresses, chains) {
332
+ return this.stores.yieldPosition.getByAddressAndChains(addresses, chains);
333
+ }
334
+
284
335
  /* Campaign */
285
336
 
286
337
  subscribeProcessingCampaign() {
@@ -40,6 +40,10 @@ class KoniDatabase extends _dexie.default {
40
40
  mantaPay: 'key, chain'
41
41
  });
42
42
  this.conditionalVersion(4, {
43
+ yieldPoolInfo: 'slug, chain, type',
44
+ yieldPosition: '[slug+chain+address], [address+slug], address, chain'
45
+ });
46
+ this.conditionalVersion(5, {
43
47
  campaign: 'slug'
44
48
  });
45
49
  }
@@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
9
8
  var _BaseStoreWithAddressAndChain = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/BaseStoreWithAddressAndChain"));
9
+ var _types = require("@subwallet/extension-base/types");
10
10
  var _dexie = require("dexie");
11
11
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
12
12
  // SPDX-License-Identifier: Apache-2.0
13
13
 
14
14
  class NominatorMetadataStore extends _BaseStoreWithAddressAndChain.default {
15
15
  async getAll() {
16
- return this.table.filter(item => item.status !== _KoniTypes.StakingStatus.NOT_STAKING).toArray();
16
+ return this.table.filter(item => item.status !== _types.EarningStatus.NOT_STAKING).toArray();
17
17
  }
18
18
  subscribeByAddresses(addresses) {
19
19
  return (0, _dexie.liveQuery)(() => this.getByAddress(addresses));
@@ -22,7 +22,7 @@ class NominatorMetadataStore extends _BaseStoreWithAddressAndChain.default {
22
22
  return (0, _dexie.liveQuery)(() => this.getAll());
23
23
  }
24
24
  getByAddress(addresses) {
25
- return this.table.where('address').anyOfIgnoreCase(addresses).and(item => item.status !== _KoniTypes.StakingStatus.NOT_STAKING).toArray();
25
+ return this.table.where('address').anyOfIgnoreCase(addresses).and(item => item.status !== _types.EarningStatus.NOT_STAKING).toArray();
26
26
  }
27
27
  async removeByAddress(address) {
28
28
  return this.table.where('address').anyOfIgnoreCase(address).delete();
@@ -0,0 +1,36 @@
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 _BaseStore = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/BaseStore"));
9
+ var _dexie = require("dexie");
10
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
11
+ // SPDX-License-Identifier: Apache-2.0
12
+
13
+ class YieldPoolStore extends _BaseStore.default {
14
+ async getAll() {
15
+ return this.table.toArray();
16
+ }
17
+ async getByChains(chains) {
18
+ if (chains.length === 0) {
19
+ return this.getAll();
20
+ }
21
+ return this.table.where('chain').anyOfIgnoreCase(chains).toArray();
22
+ }
23
+ async getByChainAndType(chain, poolType) {
24
+ return this.table.where('chain').equals(chain).and(item => item.type === poolType).first();
25
+ }
26
+ async bulkDelete(slugs) {
27
+ return this.table.bulkDelete(slugs);
28
+ }
29
+ async getBySlug(slug) {
30
+ return this.table.get(slug);
31
+ }
32
+ subscribeYieldPoolInfo(chains) {
33
+ return (0, _dexie.liveQuery)(() => this.getByChains(chains));
34
+ }
35
+ }
36
+ exports.default = YieldPoolStore;
@@ -0,0 +1,65 @@
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 _BaseStore = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/BaseStore"));
9
+ var _dexie = require("dexie");
10
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
11
+ // SPDX-License-Identifier: Apache-2.0
12
+
13
+ class YieldPositionStore extends _BaseStore.default {
14
+ async getAll() {
15
+ return this.table
16
+ // .filter((item) => {
17
+ // let isValidLiquidStaking = false;
18
+ //
19
+ // if (item.type === YieldPoolType.LIQUID_STAKING) {
20
+ // const nominatorMetadata = item.metadata as NominatorMetadata;
21
+ //
22
+ // if (nominatorMetadata.unstakings.length > 0) {
23
+ // console.log('true', item);
24
+ // isValidLiquidStaking = true;
25
+ // }
26
+ // }
27
+ //
28
+ // return parseInt(item.balance[0].activeBalance) > 0 || isValidLiquidStaking;
29
+ // })
30
+ .toArray();
31
+ }
32
+ async getByAddress(addresses) {
33
+ if (addresses.length === 0) {
34
+ return this.getAll();
35
+ }
36
+ return this.table.where('address').anyOfIgnoreCase(addresses)
37
+ // .filter((item) => {
38
+ // let isValidLiquidStaking = false;
39
+ //
40
+ // if (item.type === YieldPoolType.LIQUID_STAKING) {
41
+ // const nominatorMetadata = item.metadata as NominatorMetadata;
42
+ //
43
+ // if (nominatorMetadata && nominatorMetadata?.unstakings?.length > 0) {
44
+ // isValidLiquidStaking = true;
45
+ // }
46
+ // }
47
+ //
48
+ // return parseInt(item.balance[0].activeBalance) > 0 || isValidLiquidStaking;
49
+ // })
50
+ .toArray();
51
+ }
52
+ async getByAddressAndChains(addresses, chains) {
53
+ return this.table.where('address').anyOfIgnoreCase(addresses).filter(item => chains.includes(item.chain)).toArray();
54
+ }
55
+ getByAddressAndSlug(address, slug) {
56
+ return this.table.get({
57
+ address,
58
+ slug
59
+ });
60
+ }
61
+ subscribeYieldPositions(addresses) {
62
+ return (0, _dexie.liveQuery)(() => this.getByAddress(addresses));
63
+ }
64
+ }
65
+ exports.default = YieldPositionStore;
@@ -3,8 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.parseLiquidStakingEvents = parseLiquidStakingEvents;
7
+ exports.parseLiquidStakingFastUnstakeEvents = parseLiquidStakingFastUnstakeEvents;
6
8
  exports.parseTransferEventLogs = parseTransferEventLogs;
7
9
  exports.parseXcmEventLogs = parseXcmEventLogs;
10
+ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
8
11
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
9
12
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
10
13
  // SPDX-License-Identifier: Apache-2.0
@@ -72,4 +75,59 @@ function parseTransferEventLogs(historyItem, eventLogs, chain, sendingTokenInfo,
72
75
  }
73
76
  }
74
77
  }
78
+ }
79
+ function parseLiquidStakingEvents(historyItem, eventLogs, inputTokenInfo, chainInfo, feePaidWithInputAsset, extrinsicType) {
80
+ if (feePaidWithInputAsset) {
81
+ historyItem.fee = {
82
+ value: '0',
83
+ // TODO
84
+ symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
85
+ decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
86
+ };
87
+ } else {
88
+ for (let index = 0; index < eventLogs.length; index++) {
89
+ const record = eventLogs[index];
90
+ const {
91
+ decimals: nativeDecimals,
92
+ symbol: nativeSymbol
93
+ } = (0, _utils._getChainNativeTokenBasicInfo)(chainInfo);
94
+ const section = extrinsicType === _KoniTypes.ExtrinsicType.REDEEM_QDOT ? 'tokens' : 'balances';
95
+ const eventMethod = extrinsicType === _KoniTypes.ExtrinsicType.REDEEM_QDOT ? 'withdrawn' : 'withdraw';
96
+ if (record.event.section === section && record.event.method.toLowerCase() === eventMethod) {
97
+ var _record$event$data$9;
98
+ if ((_record$event$data$9 = record.event.data[2]) !== null && _record$event$data$9 !== void 0 && _record$event$data$9.toString()) {
99
+ var _record$event$data$10;
100
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
101
+ historyItem.fee = {
102
+ value: ((_record$event$data$10 = record.event.data[2]) === null || _record$event$data$10 === void 0 ? void 0 : _record$event$data$10.toString()) || '0',
103
+ symbol: nativeSymbol,
104
+ decimals: nativeDecimals
105
+ };
106
+ }
107
+ }
108
+ }
109
+ }
110
+ }
111
+ function parseLiquidStakingFastUnstakeEvents(historyItem, eventLogs, chainInfo, extrinsicType) {
112
+ for (let index = 0; index < eventLogs.length; index++) {
113
+ const record = eventLogs[index];
114
+ const {
115
+ decimals: nativeDecimals,
116
+ symbol: nativeSymbol
117
+ } = (0, _utils._getChainNativeTokenBasicInfo)(chainInfo);
118
+ const section = extrinsicType === _KoniTypes.ExtrinsicType.REDEEM_QDOT ? 'tokens' : 'balances';
119
+ const eventMethod = extrinsicType === _KoniTypes.ExtrinsicType.REDEEM_QDOT ? 'withdrawn' : 'withdraw';
120
+ if (record.event.section === section && record.event.method.toLowerCase() === eventMethod) {
121
+ var _record$event$data$11;
122
+ if ((_record$event$data$11 = record.event.data[2]) !== null && _record$event$data$11 !== void 0 && _record$event$data$11.toString()) {
123
+ var _record$event$data$12;
124
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
125
+ historyItem.fee = {
126
+ value: ((_record$event$data$12 = record.event.data[2]) === null || _record$event$data$12 === void 0 ? void 0 : _record$event$data$12.toString()) || '0',
127
+ symbol: nativeSymbol,
128
+ decimals: nativeDecimals
129
+ };
130
+ }
131
+ }
132
+ }
75
133
  }
@@ -40,7 +40,7 @@ const typeName = type => {
40
40
  case _KoniTypes.ExtrinsicType.STAKING_BOND:
41
41
  return 'Bond';
42
42
  case _KoniTypes.ExtrinsicType.STAKING_UNBOND:
43
- return 'Unbond';
43
+ return 'Unstake';
44
44
  case _KoniTypes.ExtrinsicType.STAKING_CLAIM_REWARD:
45
45
  return 'Claim reward';
46
46
  case _KoniTypes.ExtrinsicType.STAKING_WITHDRAW:
@@ -55,6 +55,8 @@ const typeName = type => {
55
55
  return 'Cancel compounding';
56
56
  case _KoniTypes.ExtrinsicType.STAKING_POOL_WITHDRAW:
57
57
  return 'Withdraw pool';
58
+ case _KoniTypes.ExtrinsicType.JOIN_YIELD_POOL:
59
+ return 'Start earning';
58
60
  case _KoniTypes.ExtrinsicType.UNKNOWN:
59
61
  default:
60
62
  return 'unknown';