@subwallet/extension-base 1.1.35-0 → 1.1.35-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/background/KoniTypes.d.ts +111 -69
  2. package/background/KoniTypes.js +19 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +20 -16
  5. package/cjs/background/errors/TransactionError.js +9 -0
  6. package/cjs/constants/index.js +19 -4
  7. package/cjs/koni/api/dotsama/balance.js +464 -0
  8. package/cjs/koni/api/nft/config.js +33 -23
  9. package/cjs/koni/api/nft/index.js +14 -0
  10. package/cjs/koni/api/nft/nft.js +1 -22
  11. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  12. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  13. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  14. package/cjs/koni/api/staking/bonding/amplitude.js +19 -16
  15. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  16. package/cjs/koni/api/staking/bonding/index.js +4 -1
  17. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  18. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  19. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  20. package/cjs/koni/api/staking/index.js +6 -5
  21. package/cjs/koni/api/staking/paraChain.js +6 -5
  22. package/cjs/koni/api/staking/relayChain.js +3 -2
  23. package/cjs/koni/api/yield/helper/utils.js +46 -0
  24. package/cjs/koni/background/cron.js +3 -21
  25. package/cjs/koni/background/handlers/Extension.js +368 -69
  26. package/cjs/koni/background/handlers/State.js +18 -12
  27. package/cjs/koni/background/handlers/index.js +4 -2
  28. package/cjs/koni/background/subscription.js +7 -104
  29. package/cjs/services/campaign-service/index.js +9 -6
  30. package/cjs/services/chain-service/constants.js +1 -16
  31. package/cjs/services/chain-service/index.js +6 -2
  32. package/cjs/services/chain-service/utils.js +7 -1
  33. package/cjs/services/earning-service/constants/chains.js +30 -0
  34. package/cjs/services/earning-service/constants/index.js +27 -0
  35. package/cjs/services/earning-service/constants/step.js +18 -0
  36. package/cjs/services/earning-service/handlers/base.js +262 -0
  37. package/cjs/services/earning-service/handlers/index.js +60 -0
  38. package/cjs/services/earning-service/handlers/lending/base.js +81 -0
  39. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  40. package/cjs/services/earning-service/handlers/lending/interlay.js +192 -0
  41. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +240 -0
  42. package/cjs/services/earning-service/handlers/liquid-staking/base.js +97 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +140 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +298 -0
  45. package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
  46. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +227 -0
  47. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +404 -0
  48. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +434 -0
  49. package/cjs/services/earning-service/handlers/native-staking/astar.js +466 -0
  50. package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
  51. package/cjs/services/earning-service/handlers/native-staking/base.js +161 -0
  52. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  53. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +390 -0
  54. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +567 -0
  55. package/cjs/services/earning-service/handlers/nomination-pool/index.js +566 -0
  56. package/cjs/services/earning-service/handlers/special.js +493 -0
  57. package/cjs/services/earning-service/service.js +733 -0
  58. package/cjs/services/earning-service/utils/index.js +128 -0
  59. package/cjs/services/event-service/index.js +5 -0
  60. package/cjs/services/keyring-service/index.js +14 -2
  61. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  62. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  63. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
  64. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  65. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
  66. package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
  67. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  68. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  69. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  70. package/cjs/services/migration-service/scripts/index.js +6 -1
  71. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  72. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  73. package/cjs/services/mint-campaign-service/constants.js +11 -0
  74. package/cjs/services/mint-campaign-service/index.js +18 -0
  75. package/cjs/services/notification-service/NotificationService.js +3 -2
  76. package/cjs/services/request-service/handler/PopupHandler.js +2 -3
  77. package/cjs/services/storage-service/DatabaseService.js +63 -0
  78. package/cjs/services/storage-service/databases/index.js +4 -0
  79. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  80. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  81. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +71 -0
  82. package/cjs/services/storage-service/index.js +241 -0
  83. package/cjs/services/subscan-service/index.js +16 -0
  84. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  85. package/cjs/services/transaction-service/helpers/index.js +3 -1
  86. package/cjs/services/transaction-service/index.js +249 -75
  87. package/cjs/services/transaction-service/utils.js +1 -0
  88. package/cjs/types/campaigns/index.js +16 -0
  89. package/cjs/types/campaigns/unlock-dot.js +1 -0
  90. package/cjs/types/index.js +44 -0
  91. package/cjs/types/ordinal.js +1 -0
  92. package/cjs/types/transaction.js +1 -0
  93. package/cjs/types/yield/actions/index.js +27 -0
  94. package/cjs/types/yield/actions/join/index.js +38 -0
  95. package/cjs/types/yield/actions/join/step.js +47 -0
  96. package/cjs/types/yield/actions/join/submit.js +1 -0
  97. package/cjs/types/yield/actions/join/validate.js +16 -0
  98. package/cjs/types/yield/actions/others.js +1 -0
  99. package/cjs/types/yield/index.js +27 -0
  100. package/cjs/types/yield/info/account/index.js +49 -0
  101. package/cjs/types/yield/info/account/info.js +1 -0
  102. package/cjs/types/yield/info/account/reward.js +1 -0
  103. package/cjs/types/yield/info/account/target.js +32 -0
  104. package/cjs/types/yield/info/account/unstake.js +27 -0
  105. package/cjs/types/yield/info/base.js +41 -0
  106. package/cjs/types/yield/info/chain/index.js +27 -0
  107. package/cjs/types/yield/info/chain/info.js +1 -0
  108. package/cjs/types/yield/info/chain/target.js +1 -0
  109. package/cjs/types/yield/info/index.js +49 -0
  110. package/cjs/types/yield/info/pallet.js +15 -0
  111. package/cjs/types.js +1 -0
  112. package/cjs/utils/address.js +34 -0
  113. package/cjs/utils/environment.js +23 -28
  114. package/cjs/utils/fetchStaticCache.js +22 -0
  115. package/cjs/utils/fetchStaticData.js +2 -1
  116. package/cjs/utils/index.js +94 -10
  117. package/cjs/utils/keyring.js +57 -0
  118. package/cjs/utils/mv3.js +21 -0
  119. package/cjs/utils/number.js +6 -2
  120. package/cjs/utils/object.js +12 -0
  121. package/constants/index.d.ts +6 -1
  122. package/constants/index.js +6 -1
  123. package/koni/api/nft/config.js +33 -23
  124. package/koni/api/nft/index.js +15 -1
  125. package/koni/api/nft/nft.js +2 -23
  126. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  127. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  128. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  129. package/koni/api/nft/ordinal_nft/index.js +114 -0
  130. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  131. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  132. package/koni/api/staking/bonding/amplitude.js +13 -10
  133. package/koni/api/staking/bonding/astar.js +9 -8
  134. package/koni/api/staking/bonding/index.d.ts +1 -1
  135. package/koni/api/staking/bonding/index.js +5 -1
  136. package/koni/api/staking/bonding/paraChain.js +12 -10
  137. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  138. package/koni/api/staking/bonding/relayChain.js +33 -30
  139. package/koni/api/staking/bonding/utils.d.ts +15 -38
  140. package/koni/api/staking/bonding/utils.js +85 -69
  141. package/koni/api/staking/index.js +2 -1
  142. package/koni/api/staking/paraChain.js +7 -6
  143. package/koni/api/staking/relayChain.js +4 -3
  144. package/koni/api/yield/helper/utils.d.ts +10 -0
  145. package/koni/api/yield/helper/utils.js +32 -0
  146. package/koni/background/cron.d.ts +0 -4
  147. package/koni/background/cron.js +4 -22
  148. package/koni/background/handlers/Extension.d.ts +17 -1
  149. package/koni/background/handlers/Extension.js +327 -30
  150. package/koni/background/handlers/State.d.ts +6 -1
  151. package/koni/background/handlers/State.js +17 -12
  152. package/koni/background/handlers/index.js +4 -2
  153. package/koni/background/subscription.d.ts +1 -6
  154. package/koni/background/subscription.js +8 -104
  155. package/package.json +326 -3
  156. package/services/campaign-service/index.js +9 -6
  157. package/services/chain-service/constants.d.ts +0 -12
  158. package/services/chain-service/constants.js +0 -14
  159. package/services/chain-service/index.js +6 -2
  160. package/services/chain-service/utils.d.ts +1 -0
  161. package/services/chain-service/utils.js +5 -1
  162. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  163. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  164. package/services/earning-service/constants/chains.d.ts +15 -0
  165. package/services/earning-service/constants/chains.js +22 -0
  166. package/services/earning-service/constants/index.d.ts +2 -0
  167. package/services/earning-service/constants/index.js +5 -0
  168. package/services/earning-service/constants/step.d.ts +3 -0
  169. package/services/earning-service/constants/step.js +10 -0
  170. package/services/earning-service/handlers/base.d.ts +113 -0
  171. package/services/earning-service/handlers/base.js +256 -0
  172. package/services/earning-service/handlers/index.d.ts +5 -0
  173. package/services/earning-service/handlers/index.js +8 -0
  174. package/services/earning-service/handlers/lending/base.d.ts +8 -0
  175. package/services/earning-service/handlers/lending/base.js +73 -0
  176. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  177. package/services/earning-service/handlers/lending/index.js +4 -0
  178. package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
  179. package/services/earning-service/handlers/lending/interlay.js +184 -0
  180. package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
  181. package/services/earning-service/handlers/liquid-staking/acala.js +232 -0
  182. package/services/earning-service/handlers/liquid-staking/base.d.ts +11 -0
  183. package/services/earning-service/handlers/liquid-staking/base.js +89 -0
  184. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
  185. package/services/earning-service/handlers/liquid-staking/bifrost.js +287 -0
  186. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  187. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  188. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
  189. package/services/earning-service/handlers/liquid-staking/parallel.js +219 -0
  190. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  191. package/services/earning-service/handlers/liquid-staking/stella-swap.js +394 -0
  192. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  193. package/services/earning-service/handlers/native-staking/amplitude.js +425 -0
  194. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  195. package/services/earning-service/handlers/native-staking/astar.js +456 -0
  196. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  197. package/services/earning-service/handlers/native-staking/base-para.js +138 -0
  198. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  199. package/services/earning-service/handlers/native-staking/base.js +152 -0
  200. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  201. package/services/earning-service/handlers/native-staking/index.js +7 -0
  202. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  203. package/services/earning-service/handlers/native-staking/para-chain.js +382 -0
  204. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  205. package/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
  206. package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
  207. package/services/earning-service/handlers/nomination-pool/index.js +556 -0
  208. package/services/earning-service/handlers/special.d.ts +64 -0
  209. package/services/earning-service/handlers/special.js +485 -0
  210. package/services/earning-service/service.d.ts +94 -0
  211. package/services/earning-service/service.js +722 -0
  212. package/services/earning-service/utils/index.d.ts +18 -0
  213. package/services/earning-service/utils/index.js +112 -0
  214. package/services/event-service/index.d.ts +2 -0
  215. package/services/event-service/index.js +5 -0
  216. package/services/event-service/types.d.ts +9 -0
  217. package/services/keyring-service/index.d.ts +2 -1
  218. package/services/keyring-service/index.js +14 -2
  219. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  220. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  221. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  222. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  223. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  224. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  225. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  226. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  227. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  228. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  229. package/services/migration-service/scripts/index.js +6 -1
  230. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  231. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  232. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  233. package/services/mint-campaign-service/campaigns/index.js +4 -0
  234. package/services/mint-campaign-service/constants.d.ts +1 -0
  235. package/services/mint-campaign-service/constants.js +4 -0
  236. package/services/mint-campaign-service/index.d.ts +7 -0
  237. package/services/mint-campaign-service/index.js +11 -0
  238. package/services/notification-service/NotificationService.js +3 -2
  239. package/services/request-service/handler/PopupHandler.js +3 -4
  240. package/services/storage-service/DatabaseService.d.ts +22 -1
  241. package/services/storage-service/DatabaseService.js +63 -0
  242. package/services/storage-service/databases/index.d.ts +3 -1
  243. package/services/storage-service/databases/index.js +4 -0
  244. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  245. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  246. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  247. package/services/storage-service/db-stores/YieldPositionStore.d.ts +11 -0
  248. package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
  249. package/services/subscan-service/index.d.ts +3 -2
  250. package/services/subscan-service/index.js +15 -0
  251. package/services/subscan-service/types.d.ts +20 -0
  252. package/services/transaction-service/event-parser/index.d.ts +3 -1
  253. package/services/transaction-service/event-parser/index.js +57 -1
  254. package/services/transaction-service/helpers/index.js +3 -1
  255. package/services/transaction-service/index.d.ts +6 -13
  256. package/services/transaction-service/index.js +247 -73
  257. package/services/transaction-service/types.d.ts +2 -0
  258. package/services/transaction-service/utils.js +1 -0
  259. package/types/campaigns/index.d.ts +1 -0
  260. package/types/campaigns/index.js +4 -0
  261. package/types/campaigns/unlock-dot.d.ts +71 -0
  262. package/types/campaigns/unlock-dot.js +1 -0
  263. package/types/index.d.ts +5 -0
  264. package/types/index.js +5 -1
  265. package/types/ordinal.d.ts +69 -0
  266. package/types/ordinal.js +1 -0
  267. package/types/transaction.d.ts +3 -0
  268. package/types/transaction.js +1 -0
  269. package/types/yield/actions/index.d.ts +2 -0
  270. package/types/yield/actions/index.js +5 -0
  271. package/types/yield/actions/join/index.d.ts +3 -0
  272. package/types/yield/actions/join/index.js +6 -0
  273. package/types/yield/actions/join/step.d.ts +95 -0
  274. package/types/yield/actions/join/step.js +46 -0
  275. package/types/yield/actions/join/submit.d.ts +58 -0
  276. package/types/yield/actions/join/submit.js +1 -0
  277. package/types/yield/actions/join/validate.d.ts +18 -0
  278. package/types/yield/actions/join/validate.js +10 -0
  279. package/types/yield/actions/others.d.ts +85 -0
  280. package/types/yield/actions/others.js +1 -0
  281. package/types/yield/index.d.ts +2 -0
  282. package/types/yield/index.js +5 -0
  283. package/types/yield/info/account/index.d.ts +4 -0
  284. package/types/yield/info/account/index.js +7 -0
  285. package/types/yield/info/account/info.d.ts +92 -0
  286. package/types/yield/info/account/info.js +1 -0
  287. package/types/yield/info/account/reward.d.ts +47 -0
  288. package/types/yield/info/account/reward.js +1 -0
  289. package/types/yield/info/account/target.d.ts +43 -0
  290. package/types/yield/info/account/target.js +27 -0
  291. package/types/yield/info/account/unstake.d.ts +31 -0
  292. package/types/yield/info/account/unstake.js +22 -0
  293. package/types/yield/info/base.d.ts +45 -0
  294. package/types/yield/info/base.js +36 -0
  295. package/types/yield/info/chain/index.d.ts +2 -0
  296. package/types/yield/info/chain/index.js +5 -0
  297. package/types/yield/info/chain/info.d.ts +252 -0
  298. package/types/yield/info/chain/info.js +1 -0
  299. package/types/yield/info/chain/target.d.ts +37 -0
  300. package/types/yield/info/chain/target.js +1 -0
  301. package/types/yield/info/index.d.ts +4 -0
  302. package/types/yield/info/index.js +7 -0
  303. package/types/yield/info/pallet.d.ts +143 -0
  304. package/types/yield/info/pallet.js +9 -0
  305. package/utils/environment.d.ts +9 -2
  306. package/utils/environment.js +14 -26
  307. package/utils/fetchStaticCache.d.ts +1 -0
  308. package/utils/fetchStaticCache.js +14 -0
  309. package/utils/fetchStaticData.js +2 -1
  310. package/utils/index.d.ts +5 -1
  311. package/utils/index.js +53 -3
  312. package/utils/mv3.d.ts +2 -0
  313. package/utils/mv3.js +13 -0
  314. package/utils/number.d.ts +2 -1
  315. package/utils/number.js +2 -1
  316. package/utils/object.d.ts +1 -0
  317. package/utils/object.js +6 -0
@@ -0,0 +1,71 @@
1
+ export interface UnlockDotAdditionalData {
2
+ slug: string;
3
+ network: string;
4
+ extrinsicHash?: string;
5
+ }
6
+ export interface UnlockDotCheckMintRequest {
7
+ address: string;
8
+ additionalData: UnlockDotAdditionalData;
9
+ category: string;
10
+ campaignId: number;
11
+ }
12
+ export interface UnlockDotCheckMintResponse {
13
+ requestId: number | null;
14
+ userId: number;
15
+ validUser: boolean;
16
+ validCampaign: boolean;
17
+ validCategory: boolean;
18
+ isWhiteList: boolean;
19
+ isOwner: boolean;
20
+ hasBalance: boolean;
21
+ notDuplicated: boolean;
22
+ inMintingTime: boolean;
23
+ }
24
+ export interface UnlockDotMintedData {
25
+ id: number;
26
+ campaignId: number;
27
+ collectionId: number;
28
+ userId: number;
29
+ address: string;
30
+ status: string;
31
+ extrinsicHash: string;
32
+ mintCategory: string;
33
+ mintDate: null;
34
+ rmrkNftId: string;
35
+ nftName: string;
36
+ nftImage: string;
37
+ recipient: string;
38
+ blockNumber: number;
39
+ additionalData: string;
40
+ }
41
+ export declare type UnlockDotTransactionNft = UnlockDotMintedData | undefined | Pick<UnlockDotMintedData, 'nftImage'>;
42
+ export interface UnlockDotFetchMintedRequest {
43
+ address: string;
44
+ }
45
+ export declare type UnlockDotFetchMintedResponse = UnlockDotMintedData[];
46
+ export interface UnlockDotMintSubmitRequest {
47
+ recipient: string;
48
+ requestId: number;
49
+ }
50
+ export declare type UnlockDotMintSubmitResponse = UnlockDotMintedData;
51
+ export interface UnlockDotCheckMintData {
52
+ address: string;
53
+ slug: string;
54
+ network: string;
55
+ extrinsicHash?: string;
56
+ }
57
+ export interface UnlockDotSubmitMintData {
58
+ transactionId: string;
59
+ address: string;
60
+ slug: string;
61
+ network: string;
62
+ extrinsicHash: string;
63
+ }
64
+ export interface RequestUnlockDotCheckCanMint {
65
+ address: string;
66
+ slug: string;
67
+ network: string;
68
+ }
69
+ export interface RequestUnlockDotSubscribeMintedData {
70
+ transactionId: string;
71
+ }
@@ -0,0 +1 @@
1
+ export {};
package/types/index.d.ts CHANGED
@@ -5,7 +5,12 @@ export interface Message extends MessageEvent {
5
5
  origin: string;
6
6
  response?: string;
7
7
  subscription?: string;
8
+ sender?: string;
8
9
  };
9
10
  }
10
11
  export * from './balance';
11
12
  export * from './buy';
13
+ export * from './campaigns';
14
+ export * from './ordinal';
15
+ export * from './transaction';
16
+ export * from './yield';
package/types/index.js CHANGED
@@ -1,6 +1,10 @@
1
- // Copyright 2019-2022 @polkadot/extension authors & contributors
1
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  export * from "./balance.js";
5
5
  export * from "./buy.js";
6
+ export * from "./campaigns/index.js";
7
+ export * from "./ordinal.js";
8
+ export * from "./transaction.js";
9
+ export * from "./yield/index.js";
6
10
  export {};
@@ -0,0 +1,69 @@
1
+ export interface OrdinalItem {
2
+ chain: string;
3
+ address: string;
4
+ data: Record<string, any>;
5
+ }
6
+ export interface SubscanEventBaseItemData {
7
+ id: number;
8
+ block_timestamp: number;
9
+ extrinsic_index: string;
10
+ extrinsic_hash: string;
11
+ finalized: boolean;
12
+ event_index: string;
13
+ phase: number;
14
+ module_id: string;
15
+ event_id: string;
16
+ }
17
+ export interface SubscanEventListResponse {
18
+ code: number;
19
+ message: string;
20
+ generated_at: number;
21
+ data: {
22
+ count: number;
23
+ events: SubscanEventBaseItemData[];
24
+ };
25
+ }
26
+ export interface SubscanBatchChildParam {
27
+ name: string;
28
+ type: string;
29
+ value: string;
30
+ }
31
+ export interface SubscanBatchChild {
32
+ call_index: string;
33
+ call_module: string;
34
+ call_name: string;
35
+ params: SubscanBatchChildParam[];
36
+ }
37
+ export interface SubscanExtrinsicParamDetail {
38
+ name: string;
39
+ type: string;
40
+ type_name: string;
41
+ value: string | SubscanBatchChild[];
42
+ }
43
+ export interface SubscanExtrinsicParam {
44
+ extrinsic_index: string;
45
+ params: SubscanExtrinsicParamDetail[];
46
+ }
47
+ export interface SubscanExtrinsicParamResponse {
48
+ code: number;
49
+ message: string;
50
+ generated_at: number;
51
+ data: SubscanExtrinsicParam[];
52
+ }
53
+ export interface OrdinalRemarkData {
54
+ p: string;
55
+ op: string;
56
+ tick: string;
57
+ amt: string;
58
+ }
59
+ export interface OrdinalNftProperties {
60
+ P: {
61
+ value: string;
62
+ };
63
+ Op: {
64
+ value: string;
65
+ };
66
+ Tick: {
67
+ value: string;
68
+ };
69
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { TransactionConfig } from 'web3-core';
2
+ import { SubmittableExtrinsic } from '@polkadot/api/types';
3
+ export declare type TransactionData = SubmittableExtrinsic<'promise'> | TransactionConfig;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './join';
2
+ export * from './others';
@@ -0,0 +1,5 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from "./join/index.js";
5
+ export * from "./others.js";
@@ -0,0 +1,3 @@
1
+ export * from './step';
2
+ export * from './submit';
3
+ export * from './validate';
@@ -0,0 +1,6 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from "./step.js";
5
+ export * from "./submit.js";
6
+ export * from "./validate.js";
@@ -0,0 +1,95 @@
1
+ import { YieldPoolTarget } from '@subwallet/extension-base/types';
2
+ /**
3
+ * @interface RequestEarlyValidateYield
4
+ * @description Params to early validate join pool
5
+ * @prop {string} slug - Pool's slug
6
+ * @prop {string} address - Account's address
7
+ * */
8
+ export interface RequestEarlyValidateYield {
9
+ /** Pool's slug */
10
+ slug: string;
11
+ /** Account's address */
12
+ address: string;
13
+ }
14
+ /**
15
+ * @interface ResponseEarlyValidateYield
16
+ * @prop {boolean} passed - Passed validate
17
+ * */
18
+ export interface ResponseEarlyValidateYield {
19
+ passed: boolean;
20
+ errorMessage?: string;
21
+ }
22
+ /**
23
+ * @interface OptimalYieldPathParams
24
+ * @description Params to generate steps
25
+ * */
26
+ export interface OptimalYieldPathParams {
27
+ slug: string;
28
+ address: string;
29
+ amount: string;
30
+ targets?: YieldPoolTarget[];
31
+ }
32
+ /**
33
+ * @enum {string}
34
+ * @description Type of join yield step
35
+ * */
36
+ export declare enum YieldStepType {
37
+ DEFAULT = "DEFAULT",
38
+ XCM = "XCM",
39
+ NOMINATE = "NOMINATE",
40
+ JOIN_NOMINATION_POOL = "JOIN_NOMINATION_POOL",
41
+ MINT_VDOT = "MINT_VDOT",
42
+ MINT_LDOT = "MINT_LDOT",
43
+ MINT_QDOT = "MINT_QDOT",
44
+ MINT_SDOT = "MINT_SDOT",
45
+ MINT_STDOT = "MINT_STDOT",
46
+ TOKEN_APPROVAL = "TOKEN_APPROVAL"
47
+ }
48
+ /**
49
+ * @interface BaseYieldStepDetail
50
+ * @description Base info of a step
51
+ * @prop {string} name - Step's name
52
+ * @prop {YieldStepType} type - Step's type
53
+ * @prop {Record<string,unknown>} [metadata] - Metadata for generating extrinsic
54
+ * */
55
+ export interface BaseYieldStepDetail {
56
+ /** Step's name */
57
+ name: string;
58
+ /** Step's type */
59
+ type: YieldStepType;
60
+ /** Metadata for generating extrinsic */
61
+ metadata?: Record<string, unknown>;
62
+ }
63
+ /**
64
+ * @interface YieldStepDetail
65
+ * @extends BaseYieldStepDetail
66
+ * @description Detail of a step
67
+ * @prop {number} id - Step's id
68
+ * */
69
+ export interface YieldStepDetail extends BaseYieldStepDetail {
70
+ /** Step's id */
71
+ id: number;
72
+ }
73
+ /**
74
+ * @interface YieldTokenBaseInfo
75
+ * @prop {string} slug - Token's slug
76
+ * @prop {string} [amount] - Token's amount
77
+ * */
78
+ export interface YieldTokenBaseInfo {
79
+ /** Token's slug */
80
+ slug: string;
81
+ /** Token's amount */
82
+ amount?: string;
83
+ }
84
+ /** Base info and fee of a step */
85
+ export declare type YieldStepBaseInfo = [BaseYieldStepDetail, YieldTokenBaseInfo];
86
+ /**
87
+ * @interface OptimalYieldPath
88
+ * @description Result after generate steps
89
+ * */
90
+ export interface OptimalYieldPath {
91
+ totalFee: YieldTokenBaseInfo[];
92
+ steps: YieldStepDetail[];
93
+ connectionError?: string;
94
+ }
95
+ export declare type GenStepFunction = (params: OptimalYieldPathParams) => Promise<YieldStepBaseInfo | undefined>;
@@ -0,0 +1,46 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * @interface RequestEarlyValidateYield
6
+ * @description Params to early validate join pool
7
+ * @prop {string} slug - Pool's slug
8
+ * @prop {string} address - Account's address
9
+ * */
10
+
11
+ /**
12
+ * @interface ResponseEarlyValidateYield
13
+ * @prop {boolean} passed - Passed validate
14
+ * */
15
+
16
+ /**
17
+ * @interface OptimalYieldPathParams
18
+ * @description Params to generate steps
19
+ * */
20
+
21
+ /**
22
+ * @enum {string}
23
+ * @description Type of join yield step
24
+ * */
25
+
26
+ export let YieldStepType;
27
+
28
+ /**
29
+ * @interface BaseYieldStepDetail
30
+ * @description Base info of a step
31
+ * @prop {string} name - Step's name
32
+ * @prop {YieldStepType} type - Step's type
33
+ * @prop {Record<string,unknown>} [metadata] - Metadata for generating extrinsic
34
+ * */
35
+ (function (YieldStepType) {
36
+ YieldStepType["DEFAULT"] = "DEFAULT";
37
+ YieldStepType["XCM"] = "XCM";
38
+ YieldStepType["NOMINATE"] = "NOMINATE";
39
+ YieldStepType["JOIN_NOMINATION_POOL"] = "JOIN_NOMINATION_POOL";
40
+ YieldStepType["MINT_VDOT"] = "MINT_VDOT";
41
+ YieldStepType["MINT_LDOT"] = "MINT_LDOT";
42
+ YieldStepType["MINT_QDOT"] = "MINT_QDOT";
43
+ YieldStepType["MINT_SDOT"] = "MINT_SDOT";
44
+ YieldStepType["MINT_STDOT"] = "MINT_STDOT";
45
+ YieldStepType["TOKEN_APPROVAL"] = "TOKEN_APPROVAL";
46
+ })(YieldStepType || (YieldStepType = {}));
@@ -0,0 +1,58 @@
1
+ import { BaseRequestSign, ChainType, ExtrinsicType, InternalRequestSign } from '@subwallet/extension-base/background/KoniTypes';
2
+ import { TransactionData } from '../../../transaction';
3
+ import { NominationPoolInfo, ValidatorInfo, YieldPositionInfo } from '../../info';
4
+ import { OptimalYieldPath } from './step';
5
+ export interface HandleYieldStepData {
6
+ txChain: string;
7
+ extrinsicType: ExtrinsicType;
8
+ extrinsic: TransactionData;
9
+ chainType: ChainType;
10
+ txData: any;
11
+ transferNativeAmount: string;
12
+ }
13
+ export interface AbstractSubmitYieldJoinData {
14
+ slug: string;
15
+ amount: string;
16
+ address: string;
17
+ }
18
+ export interface SubmitJoinNativeStaking extends AbstractSubmitYieldJoinData {
19
+ selectedValidators: ValidatorInfo[];
20
+ }
21
+ export interface SubmitJoinNominationPool extends AbstractSubmitYieldJoinData {
22
+ selectedPool: NominationPoolInfo;
23
+ }
24
+ export interface SubmitYieldStepData extends AbstractSubmitYieldJoinData {
25
+ exchangeRate: number;
26
+ inputTokenSlug: string;
27
+ derivativeTokenSlug?: string;
28
+ rewardTokenSlug: string;
29
+ feeTokenSlug: string;
30
+ }
31
+ export declare type SubmitYieldJoinData = SubmitYieldStepData | SubmitJoinNativeStaking | SubmitJoinNominationPool;
32
+ export interface HandleYieldStepParams extends BaseRequestSign {
33
+ path: OptimalYieldPath;
34
+ data: SubmitYieldJoinData;
35
+ currentStep: number;
36
+ }
37
+ export interface TokenApproveData {
38
+ inputTokenSlug: string;
39
+ spenderTokenSlug: string;
40
+ }
41
+ export declare type RequestYieldStepSubmit = InternalRequestSign<HandleYieldStepParams>;
42
+ export interface StakePoolingBondingParams extends BaseRequestSign {
43
+ poolPosition?: YieldPositionInfo;
44
+ slug: string;
45
+ selectedPool: NominationPoolInfo;
46
+ amount: string;
47
+ address: string;
48
+ }
49
+ export declare type RequestStakePoolingBonding = InternalRequestSign<StakePoolingBondingParams>;
50
+ export interface BondingSubmitParams extends BaseRequestSign {
51
+ slug: string;
52
+ poolPosition?: YieldPositionInfo;
53
+ amount: string;
54
+ address: string;
55
+ selectedValidators: ValidatorInfo[];
56
+ lockPeriod?: number;
57
+ }
58
+ export declare type RequestBondingSubmit = InternalRequestSign<BondingSubmitParams>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { OptimalYieldPath, YieldStepDetail } from './step';
2
+ import { SubmitYieldJoinData } from './submit';
3
+ export declare enum YieldValidationStatus {
4
+ NOT_ENOUGH_FEE = "NOT_ENOUGH_FEE",
5
+ NOT_ENOUGH_BALANCE = "NOT_ENOUGH_BALANCE",
6
+ NOT_ENOUGH_MIN_JOIN_POOL = "NOT_ENOUGH_MIN_JOIN_POOL",
7
+ OK = "OK"
8
+ }
9
+ export interface YieldProcessValidation {
10
+ ok: boolean;
11
+ status: YieldValidationStatus;
12
+ failedStep?: YieldStepDetail;
13
+ message?: string;
14
+ }
15
+ export interface ValidateYieldProcessParams {
16
+ path: OptimalYieldPath;
17
+ data: SubmitYieldJoinData;
18
+ }
@@ -0,0 +1,10 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export let YieldValidationStatus;
5
+ (function (YieldValidationStatus) {
6
+ YieldValidationStatus["NOT_ENOUGH_FEE"] = "NOT_ENOUGH_FEE";
7
+ YieldValidationStatus["NOT_ENOUGH_BALANCE"] = "NOT_ENOUGH_BALANCE";
8
+ YieldValidationStatus["NOT_ENOUGH_MIN_JOIN_POOL"] = "NOT_ENOUGH_MIN_JOIN_POOL";
9
+ YieldValidationStatus["OK"] = "OK";
10
+ })(YieldValidationStatus || (YieldValidationStatus = {}));
@@ -0,0 +1,85 @@
1
+ import { BaseRequestSign, InternalRequestSign } from '@subwallet/extension-base/background/KoniTypes';
2
+ import { BasePoolInfo, UnstakingInfo, YieldPoolInfo } from '../info';
3
+ /**
4
+ * @interface YieldLeaveParams
5
+ * @description Request params to leave pool
6
+ * @prop {string} address - Request account
7
+ * @prop {string} amount - Amount token want to leave
8
+ * @prop {string} slug - Pool's slug
9
+ * @prop {string} [selectedTarget] - Pool target want to leave (nomination pool and native staking need)
10
+ * @prop {boolean} fastLeave - Fast leave pool (swap token)
11
+ * @prop {YieldPoolInfo} poolInfo - Pool's info - use for create history
12
+ * */
13
+ export interface YieldLeaveParams extends BaseRequestSign {
14
+ /** Request account */
15
+ address: string;
16
+ /** Amount token want to leave */
17
+ amount: string;
18
+ /** Pool's slug */
19
+ slug: string;
20
+ /** Pool target want to leave (nomination pool and native staking need) */
21
+ selectedTarget?: string;
22
+ /** Fast leave pool (swap token) */
23
+ fastLeave: boolean;
24
+ /** Pool's info - use for create history */
25
+ poolInfo: YieldPoolInfo;
26
+ }
27
+ export declare type RequestYieldLeave = InternalRequestSign<YieldLeaveParams>;
28
+ /**
29
+ * @interface RequestYieldWithdrawal
30
+ * @description Request params to withdraw
31
+ * @prop {string} address - Request account
32
+ * @prop {string} slug - Pool's slug
33
+ * @prop {UnstakingInfo} unstakingInfo - Info of unstaking request wants to withdraw
34
+ * */
35
+ export interface YieldWithdrawalParams extends BaseRequestSign {
36
+ /** Request account */
37
+ address: string;
38
+ /** Pool's slug */
39
+ slug: string;
40
+ /**
41
+ * <p>
42
+ * Info of unstaking request wants to withdraw
43
+ * </p>
44
+ * <p>
45
+ * Need to create amount on history
46
+ * </p>
47
+ * */
48
+ unstakingInfo: UnstakingInfo;
49
+ }
50
+ /**
51
+ * @interface LeavePoolAdditionalData
52
+ * @extends BasePoolInfo
53
+ * @description Additional data for history for unstake from liquid staking pool
54
+ * @prop {number} minAmountPercent - The rate will be min received from estimated
55
+ * @prop {number} exchangeRate - Rate convert amount to estimate received token
56
+ * @prop {string} symbol - Receiver token's symbol
57
+ * @prop {number} decimals - Receiver token's decimals
58
+ * @prop {boolean} isFast - Is fast unstake
59
+ * */
60
+ export interface LeavePoolAdditionalData extends BasePoolInfo {
61
+ /** The rate will be min received from estimated */
62
+ minAmountPercent: number;
63
+ /** Rate convert amount to estimate received token */
64
+ exchangeRate: number;
65
+ /** Receiver token's symbol */
66
+ symbol: string;
67
+ /** Receiver token's decimals */
68
+ decimals: number;
69
+ /** Is fast unstake */
70
+ isFast: boolean;
71
+ }
72
+ export declare type RequestYieldWithdrawal = InternalRequestSign<YieldWithdrawalParams>;
73
+ export interface StakeCancelWithdrawalParams extends BaseRequestSign {
74
+ address: string;
75
+ slug: string;
76
+ selectedUnstaking: UnstakingInfo;
77
+ }
78
+ export declare type RequestStakeCancelWithdrawal = InternalRequestSign<StakeCancelWithdrawalParams>;
79
+ export interface StakeClaimRewardParams extends BaseRequestSign {
80
+ address: string;
81
+ slug: string;
82
+ unclaimedReward?: string;
83
+ bondReward?: boolean;
84
+ }
85
+ export declare type RequestStakeClaimReward = InternalRequestSign<StakeClaimRewardParams>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './info';
2
+ export * from './actions';
@@ -0,0 +1,5 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from "./info/index.js";
5
+ export * from "./actions/index.js";
@@ -0,0 +1,4 @@
1
+ export * from './info';
2
+ export * from './reward';
3
+ export * from './target';
4
+ export * from './unstake';
@@ -0,0 +1,7 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from "./info.js";
5
+ export * from "./reward.js";
6
+ export * from "./target.js";
7
+ export * from "./unstake.js";
@@ -0,0 +1,92 @@
1
+ import { BasePoolInfo, YieldPoolType } from '../base';
2
+ import { EarningStatus, NominationInfo } from './target';
3
+ import { UnstakingInfo } from './unstake';
4
+ export interface YieldAssetBalance {
5
+ slug: string;
6
+ activeBalance: string;
7
+ exchangeRate?: number;
8
+ }
9
+ /**
10
+ * @interface BaseYieldPositionInfo
11
+ * @extends BasePoolInfo
12
+ * @prop {string} address - Account address
13
+ * */
14
+ export interface BaseYieldPositionInfo extends BasePoolInfo {
15
+ /** Account address */
16
+ address: string;
17
+ }
18
+ /**
19
+ * @interface AbstractYieldPositionInfo
20
+ * @prop {string} totalStake - Total stake of the account
21
+ * @prop {string} activeStake - Active stake of the account
22
+ * @prop {string} unstakeBalance - Unstaking balance of the account
23
+ * @prop {YieldAssetBalance[]} balance - List balance related with stake
24
+ * @prop {boolean} isBondedBefore - Is the account bonded in pool before?
25
+ * @prop {NominationInfo[]} nominations - List nominations account joined - use for nomination pool and native staking
26
+ * @prop {EarningStatus} status - Earning status of the account
27
+ * @prop {UnstakingInfo[]} unstakings - List unstake request of the account - use for nomination pool and native staking
28
+ * */
29
+ export interface AbstractYieldPositionInfo extends BaseYieldPositionInfo {
30
+ /** Token to show */
31
+ balanceToken: string;
32
+ /** Total stake of the account - input asset */
33
+ totalStake: string;
34
+ /** Active stake of the account - derivation/input asset */
35
+ activeStake: string;
36
+ /** Unstaking balance of the account - input asset */
37
+ unstakeBalance: string;
38
+ /** Is the account bonded in pool before? */
39
+ isBondedBefore: boolean;
40
+ /** List nominations account joined - use for nomination pool and native staking */
41
+ nominations: NominationInfo[];
42
+ /** Earning status of the account */
43
+ status: EarningStatus;
44
+ /** List unstake request of the account - use for nomination pool and native staking */
45
+ unstakings: UnstakingInfo[];
46
+ }
47
+ /**
48
+ * @interface SpecialYieldPositionInfo
49
+ * @extends AbstractYieldPositionInfo
50
+ * @prop {string} derivativeToken - Derivative token (slug)
51
+ * */
52
+ export interface SpecialYieldPositionInfo extends AbstractYieldPositionInfo {
53
+ type: YieldPoolType.LIQUID_STAKING | YieldPoolType.LENDING;
54
+ /** Derivative token (slug) */
55
+ derivativeToken: string;
56
+ }
57
+ /**
58
+ * @interface LiquidYieldPositionInfo
59
+ * @extends SpecialYieldPositionInfo
60
+ * @prop {YieldPoolType.LIQUID_STAKING} type - Pool's type
61
+ * */
62
+ export interface LiquidYieldPositionInfo extends SpecialYieldPositionInfo {
63
+ type: YieldPoolType.LIQUID_STAKING;
64
+ }
65
+ /**
66
+ * @interface LendingYieldPositionInfo
67
+ * @extends SpecialYieldPositionInfo
68
+ * @prop {YieldPoolType.LENDING} type - Pool's type
69
+ * */
70
+ export interface LendingYieldPositionInfo extends SpecialYieldPositionInfo {
71
+ type: YieldPoolType.LENDING;
72
+ }
73
+ /**
74
+ * @interface NominationYieldPositionInfo
75
+ * @extends AbstractYieldPositionInfo
76
+ * @prop {YieldPoolType.NOMINATION_POOL} type - Pool's type
77
+ * */
78
+ export interface NominationYieldPositionInfo extends AbstractYieldPositionInfo {
79
+ type: YieldPoolType.NOMINATION_POOL;
80
+ }
81
+ /**
82
+ * @interface NativeYieldPositionInfo
83
+ * @extends AbstractYieldPositionInfo
84
+ * @prop {YieldPoolType.NATIVE_STAKING} type - Pool's type
85
+ * */
86
+ export interface NativeYieldPositionInfo extends AbstractYieldPositionInfo {
87
+ type: YieldPoolType.NATIVE_STAKING;
88
+ }
89
+ /**
90
+ * Info of yield pool
91
+ * */
92
+ export declare type YieldPositionInfo = NativeYieldPositionInfo | NominationYieldPositionInfo | LiquidYieldPositionInfo | LendingYieldPositionInfo;
@@ -0,0 +1 @@
1
+ export {};