@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.
- package/background/KoniTypes.d.ts +94 -68
- package/background/KoniTypes.js +16 -13
- package/background/errors/TransactionError.js +9 -0
- package/cjs/background/KoniTypes.js +17 -16
- package/cjs/background/errors/TransactionError.js +9 -0
- package/cjs/constants/index.js +9 -3
- package/cjs/koni/api/nft/config.js +33 -23
- package/cjs/koni/api/nft/index.js +14 -0
- package/cjs/koni/api/nft/nft.js +1 -22
- package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
- package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
- package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
- package/cjs/koni/api/staking/bonding/amplitude.js +17 -15
- package/cjs/koni/api/staking/bonding/astar.js +11 -10
- package/cjs/koni/api/staking/bonding/index.js +4 -1
- package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
- package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
- package/cjs/koni/api/staking/bonding/utils.js +104 -86
- package/cjs/koni/api/staking/index.js +6 -5
- package/cjs/koni/api/staking/paraChain.js +6 -5
- package/cjs/koni/api/staking/relayChain.js +3 -2
- package/cjs/koni/api/yield/helper/utils.js +46 -0
- package/cjs/koni/background/cron.js +2 -0
- package/cjs/koni/background/handlers/Extension.js +347 -69
- package/cjs/koni/background/handlers/State.js +51 -3
- package/cjs/koni/background/handlers/index.js +4 -2
- package/cjs/koni/background/subscription.js +88 -18
- package/cjs/services/campaign-service/index.js +9 -6
- package/cjs/services/chain-service/constants.js +2 -16
- package/cjs/services/chain-service/utils.js +7 -1
- package/cjs/services/earning-service/constants/chains.js +29 -0
- package/cjs/services/earning-service/constants/index.js +27 -0
- package/cjs/services/earning-service/constants/step.js +18 -0
- package/cjs/services/earning-service/handlers/base.js +230 -0
- package/cjs/services/earning-service/handlers/index.js +60 -0
- package/cjs/services/earning-service/handlers/lending/base.js +20 -0
- package/cjs/services/earning-service/handlers/lending/index.js +13 -0
- package/cjs/services/earning-service/handlers/lending/interlay.js +176 -0
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +206 -0
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +43 -0
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +267 -0
- package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +190 -0
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +382 -0
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +380 -0
- package/cjs/services/earning-service/handlers/native-staking/astar.js +454 -0
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +137 -0
- package/cjs/services/earning-service/handlers/native-staking/base.js +119 -0
- package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +381 -0
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +540 -0
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +528 -0
- package/cjs/services/earning-service/handlers/special.js +412 -0
- package/cjs/services/earning-service/service.js +351 -0
- package/cjs/services/earning-service/utils/index.js +128 -0
- package/cjs/services/event-service/index.js +4 -0
- package/cjs/services/keyring-service/index.js +14 -2
- package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
- package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
- package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
- package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
- package/cjs/services/migration-service/scripts/index.js +7 -1
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
- package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
- package/cjs/services/mint-campaign-service/constants.js +11 -0
- package/cjs/services/mint-campaign-service/index.js +18 -0
- package/cjs/services/notification-service/NotificationService.js +1 -1
- package/cjs/services/storage-service/DatabaseService.js +51 -0
- package/cjs/services/storage-service/databases/index.js +4 -0
- package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
- package/cjs/services/storage-service/db-stores/YieldPositionStore.js +65 -0
- package/cjs/services/transaction-service/event-parser/index.js +58 -0
- package/cjs/services/transaction-service/helpers/index.js +3 -1
- package/cjs/services/transaction-service/index.js +185 -74
- package/cjs/services/transaction-service/utils.js +1 -0
- package/cjs/types/campaigns/index.js +16 -0
- package/cjs/types/campaigns/unlock-dot.js +1 -0
- package/cjs/types/index.js +44 -0
- package/cjs/types/ordinal.js +1 -0
- package/cjs/types/transaction.js +1 -0
- package/cjs/types/yield/actions/index.js +27 -0
- package/cjs/types/yield/actions/join/index.js +38 -0
- package/cjs/types/yield/actions/join/step.js +47 -0
- package/cjs/types/yield/actions/join/submit.js +1 -0
- package/cjs/types/yield/actions/join/validate.js +16 -0
- package/cjs/types/yield/actions/others.js +1 -0
- package/cjs/types/yield/index.js +27 -0
- package/cjs/types/yield/info/account/index.js +49 -0
- package/cjs/types/yield/info/account/info.js +1 -0
- package/cjs/types/yield/info/account/reward.js +1 -0
- package/cjs/types/yield/info/account/target.js +32 -0
- package/cjs/types/yield/info/account/unstake.js +27 -0
- package/cjs/types/yield/info/base.js +41 -0
- package/cjs/types/yield/info/chain/index.js +27 -0
- package/cjs/types/yield/info/chain/info.js +1 -0
- package/cjs/types/yield/info/chain/target.js +1 -0
- package/cjs/types/yield/info/index.js +49 -0
- package/cjs/types/yield/info/pallet.js +15 -0
- package/cjs/utils/fetchStaticData.js +2 -1
- package/cjs/utils/index.js +89 -1
- package/cjs/utils/object.js +12 -0
- package/cjs/utils/yield/index.js +3 -0
- package/constants/index.d.ts +2 -0
- package/constants/index.js +2 -0
- package/koni/api/nft/config.js +33 -23
- package/koni/api/nft/index.js +15 -1
- package/koni/api/nft/nft.js +2 -23
- package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
- package/koni/api/nft/ordinal_nft/constants.js +12 -0
- package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
- package/koni/api/nft/ordinal_nft/index.js +114 -0
- package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
- package/koni/api/nft/ordinal_nft/utils.js +33 -0
- package/koni/api/staking/bonding/amplitude.js +11 -9
- package/koni/api/staking/bonding/astar.js +9 -8
- package/koni/api/staking/bonding/index.d.ts +1 -1
- package/koni/api/staking/bonding/index.js +5 -1
- package/koni/api/staking/bonding/paraChain.js +12 -10
- package/koni/api/staking/bonding/relayChain.d.ts +2 -2
- package/koni/api/staking/bonding/relayChain.js +33 -30
- package/koni/api/staking/bonding/utils.d.ts +15 -38
- package/koni/api/staking/bonding/utils.js +85 -69
- package/koni/api/staking/index.js +2 -1
- package/koni/api/staking/paraChain.js +7 -6
- package/koni/api/staking/relayChain.js +4 -3
- package/koni/api/yield/helper/utils.d.ts +10 -0
- package/koni/api/yield/helper/utils.js +32 -0
- package/koni/background/cron.js +2 -0
- package/koni/background/handlers/Extension.d.ts +16 -1
- package/koni/background/handlers/Extension.js +306 -30
- package/koni/background/handlers/State.d.ts +18 -2
- package/koni/background/handlers/State.js +50 -3
- package/koni/background/handlers/index.js +4 -2
- package/koni/background/subscription.d.ts +5 -1
- package/koni/background/subscription.js +90 -20
- package/package.json +316 -3
- package/services/campaign-service/index.js +9 -6
- package/services/chain-service/constants.d.ts +0 -11
- package/services/chain-service/constants.js +1 -14
- package/services/chain-service/utils.d.ts +1 -0
- package/services/chain-service/utils.js +5 -1
- package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
- package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
- package/services/earning-service/constants/chains.d.ts +14 -0
- package/services/earning-service/constants/chains.js +21 -0
- package/services/earning-service/constants/index.d.ts +2 -0
- package/services/earning-service/constants/index.js +5 -0
- package/services/earning-service/constants/step.d.ts +3 -0
- package/services/earning-service/constants/step.js +10 -0
- package/services/earning-service/handlers/base.d.ts +108 -0
- package/services/earning-service/handlers/base.js +224 -0
- package/services/earning-service/handlers/index.d.ts +5 -0
- package/services/earning-service/handlers/index.js +8 -0
- package/services/earning-service/handlers/lending/base.d.ts +6 -0
- package/services/earning-service/handlers/lending/base.js +12 -0
- package/services/earning-service/handlers/lending/index.d.ts +1 -0
- package/services/earning-service/handlers/lending/index.js +4 -0
- package/services/earning-service/handlers/lending/interlay.d.ts +22 -0
- package/services/earning-service/handlers/lending/interlay.js +168 -0
- package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
- package/services/earning-service/handlers/liquid-staking/acala.js +198 -0
- package/services/earning-service/handlers/liquid-staking/base.d.ts +9 -0
- package/services/earning-service/handlers/liquid-staking/base.js +35 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +44 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.js +256 -0
- package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
- package/services/earning-service/handlers/liquid-staking/index.js +7 -0
- package/services/earning-service/handlers/liquid-staking/parallel.d.ts +27 -0
- package/services/earning-service/handlers/liquid-staking/parallel.js +182 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +36 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +372 -0
- package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
- package/services/earning-service/handlers/native-staking/amplitude.js +371 -0
- package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
- package/services/earning-service/handlers/native-staking/astar.js +444 -0
- package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
- package/services/earning-service/handlers/native-staking/base-para.js +129 -0
- package/services/earning-service/handlers/native-staking/base.d.ts +20 -0
- package/services/earning-service/handlers/native-staking/base.js +110 -0
- package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
- package/services/earning-service/handlers/native-staking/index.js +7 -0
- package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
- package/services/earning-service/handlers/native-staking/para-chain.js +373 -0
- package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
- package/services/earning-service/handlers/native-staking/relay-chain.js +531 -0
- package/services/earning-service/handlers/nomination-pool/index.d.ts +33 -0
- package/services/earning-service/handlers/nomination-pool/index.js +518 -0
- package/services/earning-service/handlers/special.d.ts +59 -0
- package/services/earning-service/handlers/special.js +404 -0
- package/services/earning-service/service.d.ts +40 -0
- package/services/earning-service/service.js +343 -0
- package/services/earning-service/utils/index.d.ts +18 -0
- package/services/earning-service/utils/index.js +112 -0
- package/services/event-service/index.d.ts +1 -0
- package/services/event-service/index.js +4 -0
- package/services/event-service/types.d.ts +8 -0
- package/services/keyring-service/index.d.ts +2 -1
- package/services/keyring-service/index.js +14 -2
- package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
- package/services/migration-service/scripts/DeleteEarningData.js +13 -0
- package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
- package/services/migration-service/scripts/EnableEarningChains.js +13 -0
- package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
- package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
- package/services/migration-service/scripts/index.js +7 -1
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
- package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
- package/services/mint-campaign-service/campaigns/index.js +4 -0
- package/services/mint-campaign-service/constants.d.ts +1 -0
- package/services/mint-campaign-service/constants.js +4 -0
- package/services/mint-campaign-service/index.d.ts +7 -0
- package/services/mint-campaign-service/index.js +11 -0
- package/services/notification-service/NotificationService.js +1 -1
- package/services/storage-service/DatabaseService.d.ts +18 -1
- package/services/storage-service/DatabaseService.js +51 -0
- package/services/storage-service/databases/index.d.ts +3 -1
- package/services/storage-service/databases/index.js +4 -0
- package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
- package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
- package/services/storage-service/db-stores/YieldPositionStore.d.ts +9 -0
- package/services/storage-service/db-stores/YieldPositionStore.js +57 -0
- package/services/subscan-service/index.d.ts +2 -2
- package/services/transaction-service/event-parser/index.d.ts +3 -1
- package/services/transaction-service/event-parser/index.js +57 -1
- package/services/transaction-service/helpers/index.js +3 -1
- package/services/transaction-service/index.d.ts +4 -15
- package/services/transaction-service/index.js +183 -72
- package/services/transaction-service/types.d.ts +2 -0
- package/services/transaction-service/utils.js +1 -0
- package/types/campaigns/index.d.ts +1 -0
- package/types/campaigns/index.js +4 -0
- package/types/campaigns/unlock-dot.d.ts +71 -0
- package/types/campaigns/unlock-dot.js +1 -0
- package/types/index.d.ts +5 -0
- package/types/index.js +5 -1
- package/types/ordinal.d.ts +69 -0
- package/types/ordinal.js +1 -0
- package/types/transaction.d.ts +3 -0
- package/types/transaction.js +1 -0
- package/types/yield/actions/index.d.ts +2 -0
- package/types/yield/actions/index.js +5 -0
- package/types/yield/actions/join/index.d.ts +3 -0
- package/types/yield/actions/join/index.js +6 -0
- package/types/yield/actions/join/step.d.ts +94 -0
- package/types/yield/actions/join/step.js +46 -0
- package/types/yield/actions/join/submit.d.ts +53 -0
- package/types/yield/actions/join/submit.js +1 -0
- package/types/yield/actions/join/validate.d.ts +18 -0
- package/types/yield/actions/join/validate.js +10 -0
- package/types/yield/actions/others.d.ts +63 -0
- package/types/yield/actions/others.js +1 -0
- package/types/yield/index.d.ts +2 -0
- package/types/yield/index.js +5 -0
- package/types/yield/info/account/index.d.ts +4 -0
- package/types/yield/info/account/index.js +7 -0
- package/types/yield/info/account/info.d.ts +101 -0
- package/types/yield/info/account/info.js +1 -0
- package/types/yield/info/account/reward.d.ts +30 -0
- package/types/yield/info/account/reward.js +1 -0
- package/types/yield/info/account/target.d.ts +43 -0
- package/types/yield/info/account/target.js +27 -0
- package/types/yield/info/account/unstake.d.ts +31 -0
- package/types/yield/info/account/unstake.js +22 -0
- package/types/yield/info/base.d.ts +45 -0
- package/types/yield/info/base.js +36 -0
- package/types/yield/info/chain/index.d.ts +2 -0
- package/types/yield/info/chain/index.js +5 -0
- package/types/yield/info/chain/info.d.ts +217 -0
- package/types/yield/info/chain/info.js +1 -0
- package/types/yield/info/chain/target.d.ts +37 -0
- package/types/yield/info/chain/target.js +1 -0
- package/types/yield/info/index.d.ts +4 -0
- package/types/yield/info/index.js +7 -0
- package/types/yield/info/pallet.d.ts +143 -0
- package/types/yield/info/pallet.js +9 -0
- package/utils/fetchStaticData.js +2 -1
- package/utils/index.d.ts +5 -0
- package/utils/index.js +53 -1
- package/utils/object.d.ts +1 -0
- package/utils/object.js +6 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @enum {string}
|
|
3
|
+
* @description The status of un-staked request.
|
|
4
|
+
* */
|
|
5
|
+
export declare enum UnstakingStatus {
|
|
6
|
+
/** Can withdraw unstaked value */
|
|
7
|
+
CLAIMABLE = "CLAIMABLE",
|
|
8
|
+
/** Waiting to unlock unstake value */
|
|
9
|
+
UNLOCKING = "UNLOCKING"
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @interface UnstakingInfo
|
|
13
|
+
* @description Info of un-stake request
|
|
14
|
+
* @prop {string} chain - Slug of chain
|
|
15
|
+
* @prop {UnstakingStatus} status - Status of request
|
|
16
|
+
* @prop {string} claimable - Amount to be withdrawn
|
|
17
|
+
* @prop {number} [waitingTime] - Time remains to wait (in hours)
|
|
18
|
+
* @prop {string} [validatorAddress] - Address of validator
|
|
19
|
+
* */
|
|
20
|
+
export interface UnstakingInfo {
|
|
21
|
+
/** Slug of chain */
|
|
22
|
+
chain: string;
|
|
23
|
+
/** Status of request */
|
|
24
|
+
status: UnstakingStatus;
|
|
25
|
+
/** Amount to be withdrawn */
|
|
26
|
+
claimable: string;
|
|
27
|
+
/** Time remains to wait (in hours) */
|
|
28
|
+
waitingTime?: number;
|
|
29
|
+
/** Address of validator */
|
|
30
|
+
validatorAddress?: string;
|
|
31
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @enum {string}
|
|
6
|
+
* @description The status of un-staked request.
|
|
7
|
+
* */
|
|
8
|
+
export let UnstakingStatus;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @interface UnstakingInfo
|
|
12
|
+
* @description Info of un-stake request
|
|
13
|
+
* @prop {string} chain - Slug of chain
|
|
14
|
+
* @prop {UnstakingStatus} status - Status of request
|
|
15
|
+
* @prop {string} claimable - Amount to be withdrawn
|
|
16
|
+
* @prop {number} [waitingTime] - Time remains to wait (in hours)
|
|
17
|
+
* @prop {string} [validatorAddress] - Address of validator
|
|
18
|
+
* */
|
|
19
|
+
(function (UnstakingStatus) {
|
|
20
|
+
UnstakingStatus["CLAIMABLE"] = "CLAIMABLE";
|
|
21
|
+
UnstakingStatus["UNLOCKING"] = "UNLOCKING";
|
|
22
|
+
})(UnstakingStatus || (UnstakingStatus = {}));
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @enum {string}
|
|
3
|
+
* @description The types of yield pool.
|
|
4
|
+
* */
|
|
5
|
+
export declare enum YieldPoolType {
|
|
6
|
+
/** Liquid staking */
|
|
7
|
+
LIQUID_STAKING = "LIQUID_STAKING",
|
|
8
|
+
/** Lending */
|
|
9
|
+
LENDING = "LENDING",
|
|
10
|
+
/** Single farming */
|
|
11
|
+
SINGLE_FARMING = "SINGLE_FARMING",
|
|
12
|
+
/** Pool staking */
|
|
13
|
+
NOMINATION_POOL = "NOMINATION_POOL",
|
|
14
|
+
/** Native staking */
|
|
15
|
+
NATIVE_STAKING = "NATIVE_STAKING",
|
|
16
|
+
/** Parachain staking */
|
|
17
|
+
PARACHAIN_STAKING = "PARACHAIN_STAKING"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @enum {number}
|
|
21
|
+
* @description Time to calculate profit
|
|
22
|
+
* */
|
|
23
|
+
export declare enum YieldCompoundingPeriod {
|
|
24
|
+
DAILY = 1,
|
|
25
|
+
WEEKLY = 7,
|
|
26
|
+
MONTHLY = 30,
|
|
27
|
+
YEARLY = 365
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @interface BasePoolInfo
|
|
31
|
+
* @prop {string} slug - Pool's slug
|
|
32
|
+
* @prop {string} chain - Pool's chain
|
|
33
|
+
* @prop {string} type - Pool's type
|
|
34
|
+
* @prop {string} group - Pool's group (by token)
|
|
35
|
+
* */
|
|
36
|
+
export interface BasePoolInfo {
|
|
37
|
+
/** Pool's slug */
|
|
38
|
+
slug: string;
|
|
39
|
+
/** Pool's chain */
|
|
40
|
+
chain: string;
|
|
41
|
+
/** Pool's type */
|
|
42
|
+
type: YieldPoolType;
|
|
43
|
+
/** Pool's group (by token) */
|
|
44
|
+
group: string;
|
|
45
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @enum {string}
|
|
6
|
+
* @description The types of yield pool.
|
|
7
|
+
* */
|
|
8
|
+
export let YieldPoolType;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @enum {number}
|
|
12
|
+
* @description Time to calculate profit
|
|
13
|
+
* */
|
|
14
|
+
(function (YieldPoolType) {
|
|
15
|
+
YieldPoolType["LIQUID_STAKING"] = "LIQUID_STAKING";
|
|
16
|
+
YieldPoolType["LENDING"] = "LENDING";
|
|
17
|
+
YieldPoolType["SINGLE_FARMING"] = "SINGLE_FARMING";
|
|
18
|
+
YieldPoolType["NOMINATION_POOL"] = "NOMINATION_POOL";
|
|
19
|
+
YieldPoolType["NATIVE_STAKING"] = "NATIVE_STAKING";
|
|
20
|
+
YieldPoolType["PARACHAIN_STAKING"] = "PARACHAIN_STAKING";
|
|
21
|
+
})(YieldPoolType || (YieldPoolType = {}));
|
|
22
|
+
export let YieldCompoundingPeriod;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @interface BasePoolInfo
|
|
26
|
+
* @prop {string} slug - Pool's slug
|
|
27
|
+
* @prop {string} chain - Pool's chain
|
|
28
|
+
* @prop {string} type - Pool's type
|
|
29
|
+
* @prop {string} group - Pool's group (by token)
|
|
30
|
+
* */
|
|
31
|
+
(function (YieldCompoundingPeriod) {
|
|
32
|
+
YieldCompoundingPeriod[YieldCompoundingPeriod["DAILY"] = 1] = "DAILY";
|
|
33
|
+
YieldCompoundingPeriod[YieldCompoundingPeriod["WEEKLY"] = 7] = "WEEKLY";
|
|
34
|
+
YieldCompoundingPeriod[YieldCompoundingPeriod["MONTHLY"] = 30] = "MONTHLY";
|
|
35
|
+
YieldCompoundingPeriod[YieldCompoundingPeriod["YEARLY"] = 365] = "YEARLY";
|
|
36
|
+
})(YieldCompoundingPeriod || (YieldCompoundingPeriod = {}));
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { BasePoolInfo, YieldPoolType } from '../base';
|
|
2
|
+
/**
|
|
3
|
+
* @interface YieldAssetEarningStats
|
|
4
|
+
* @prop {string} slug - Token's slug
|
|
5
|
+
* @prop {number} [apr] - Token's apr
|
|
6
|
+
* @prop {number} [apy] - Token's apy
|
|
7
|
+
* @prop {number} [exchangeRate] - Token's exchangeRate
|
|
8
|
+
* */
|
|
9
|
+
export interface YieldAssetEarningStats {
|
|
10
|
+
/** Token's slug */
|
|
11
|
+
slug: string;
|
|
12
|
+
/** Token's apr */
|
|
13
|
+
apr?: number;
|
|
14
|
+
/** Token's apy */
|
|
15
|
+
apy?: number;
|
|
16
|
+
/**
|
|
17
|
+
* @description Token's exchangeRate
|
|
18
|
+
* @example input token amount = reward token amount * exchange rate
|
|
19
|
+
* */
|
|
20
|
+
exchangeRate?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @interface BaseYieldPoolMetadata
|
|
24
|
+
* @prop {string} description - Pool's description
|
|
25
|
+
* @prop {string} name - Pool's name
|
|
26
|
+
* @prop {string} shortName - Pool's short name
|
|
27
|
+
* @prop {string} logo - Pool's logo
|
|
28
|
+
* @prop {boolean} isAvailable - Is the pool available?
|
|
29
|
+
* @prop {string} inputAsset - Input token (slug)
|
|
30
|
+
* @prop {boolean} allowCancelUnstaking - Allow canceling un-stake
|
|
31
|
+
* @prop {string} maintainAsset - Asset to maintain account's pool
|
|
32
|
+
* @prop {string} maintainBalance - Balance to maintain account's pool
|
|
33
|
+
* */
|
|
34
|
+
export interface BaseYieldPoolMetadata {
|
|
35
|
+
/** Pool's description */
|
|
36
|
+
description: string;
|
|
37
|
+
/** Pool's name */
|
|
38
|
+
name: string;
|
|
39
|
+
/** Pool's short name */
|
|
40
|
+
shortName: string;
|
|
41
|
+
/** Pool's logo */
|
|
42
|
+
logo: string;
|
|
43
|
+
/** Input token (slug) */
|
|
44
|
+
inputAsset: string;
|
|
45
|
+
/** Is the pool available? */
|
|
46
|
+
isAvailable: boolean;
|
|
47
|
+
/** Allow to cancel un-stake */
|
|
48
|
+
allowCancelUnstaking: boolean;
|
|
49
|
+
/** Asset to maintain account's pool */
|
|
50
|
+
maintainAsset: string;
|
|
51
|
+
/** Balance to maintain account's pool */
|
|
52
|
+
maintainBalance: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @interface NormalYieldPoolMetadata
|
|
56
|
+
* @extends BaseYieldPoolMetadata
|
|
57
|
+
* */
|
|
58
|
+
export declare type NormalYieldPoolMetadata = BaseYieldPoolMetadata;
|
|
59
|
+
/**
|
|
60
|
+
* @interface SpecialYieldPoolMetadata
|
|
61
|
+
* @extends BaseYieldPoolMetadata
|
|
62
|
+
* @prop {string[]} derivativeAssets - Array of derivative tokens (slug)
|
|
63
|
+
* @prop {string[]} rewardAssets - Array of reward tokens (slug)
|
|
64
|
+
* @prop {string[]} feeAssets - Array of fee tokens (slug)
|
|
65
|
+
* @prop {string} [altInputAssets] - Alt input token (slug) - optional
|
|
66
|
+
* */
|
|
67
|
+
export interface SpecialYieldPoolMetadata extends BaseYieldPoolMetadata {
|
|
68
|
+
/** Array of derivative tokens (slug) */
|
|
69
|
+
derivativeAssets: string[];
|
|
70
|
+
/** Array of reward tokens (slug) */
|
|
71
|
+
rewardAssets: string[];
|
|
72
|
+
/** Alt input token (slug) - optional */
|
|
73
|
+
altInputAssets?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Array of fee tokens (slug)
|
|
76
|
+
* <p>
|
|
77
|
+
* If the pool has more than one token, the mint step can use input token for fee instead native token
|
|
78
|
+
* </p>
|
|
79
|
+
* */
|
|
80
|
+
feeAssets: string[];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @description Required data
|
|
84
|
+
* */
|
|
85
|
+
export declare type YieldPoolMetadata = NormalYieldPoolMetadata | SpecialYieldPoolMetadata;
|
|
86
|
+
/**
|
|
87
|
+
* @interface BaseYieldPoolStatistic
|
|
88
|
+
* @description Statistic data of pool
|
|
89
|
+
* @prop {YieldAssetEarningStats[]} assetEarning - Info for asset earning
|
|
90
|
+
* @prop {number} maxCandidatePerFarmer - Max candidates per farmer
|
|
91
|
+
* @prop {number} maxWithdrawalRequestPerFarmer - Max withdrawal request per farmer
|
|
92
|
+
* @prop {string} minJoinPool - Min amount to join pool
|
|
93
|
+
* @prop {number} [farmerCount] - Total farmer
|
|
94
|
+
* @prop {string} [tvl] - Total value staked in pool
|
|
95
|
+
* @prop {number} [totalApy] - Total apy of earning assets
|
|
96
|
+
* @prop {number} [totalApr] - Total apr of earning assets
|
|
97
|
+
* */
|
|
98
|
+
export interface BaseYieldPoolStatistic {
|
|
99
|
+
/** Info for asset earning */
|
|
100
|
+
assetEarning: YieldAssetEarningStats[];
|
|
101
|
+
/** Max candidate per farmer */
|
|
102
|
+
maxCandidatePerFarmer: number;
|
|
103
|
+
/** Max withdrawal request per farmer */
|
|
104
|
+
maxWithdrawalRequestPerFarmer: number;
|
|
105
|
+
/** Min amount to join pool */
|
|
106
|
+
minJoinPool: string;
|
|
107
|
+
/** Total farmer */
|
|
108
|
+
farmerCount?: number;
|
|
109
|
+
/** Total value staked in pool */
|
|
110
|
+
tvl?: string;
|
|
111
|
+
/** Total apy of earning assets */
|
|
112
|
+
totalApy?: number;
|
|
113
|
+
/** Total apr of earning assets */
|
|
114
|
+
totalApr?: number;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* @interface NormalYieldPoolStatistic
|
|
118
|
+
* @extends BaseYieldPoolStatistic
|
|
119
|
+
* @prop {number} era - Current era of network
|
|
120
|
+
* @prop {number} unstakingPeriod - Time to wait withdraw un-stake, in hour
|
|
121
|
+
* @prop {number} [inflation] - Inflation rate
|
|
122
|
+
* */
|
|
123
|
+
export interface NormalYieldPoolStatistic extends BaseYieldPoolStatistic {
|
|
124
|
+
/** Current era of network */
|
|
125
|
+
era: number;
|
|
126
|
+
/** Time to wait withdraw un-stake, in hour */
|
|
127
|
+
unstakingPeriod: number;
|
|
128
|
+
/** Inflation rate */
|
|
129
|
+
inflation?: number;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* @interface SpecialYieldPoolStatistic
|
|
133
|
+
* @extends BaseYieldPoolStatistic
|
|
134
|
+
* @prop {string} minWithdrawal - Min amount for withdrawal request
|
|
135
|
+
* @prop {number} [unstakingPeriod] - Time to wait withdraw un-stake, in hour
|
|
136
|
+
* */
|
|
137
|
+
export interface SpecialYieldPoolStatistic extends BaseYieldPoolStatistic {
|
|
138
|
+
/** Min amount for withdrawal request */
|
|
139
|
+
minWithdrawal: string;
|
|
140
|
+
/** Time to wait withdraw un-stake, in hour */
|
|
141
|
+
unstakingPeriod?: number;
|
|
142
|
+
}
|
|
143
|
+
export declare type YieldPoolStatistic = NormalYieldPoolStatistic | SpecialYieldPoolStatistic;
|
|
144
|
+
/**
|
|
145
|
+
* @interface AbstractYieldPoolInfo
|
|
146
|
+
* @extends BasePoolInfo
|
|
147
|
+
* @prop {string} description - Pool's description
|
|
148
|
+
* @prop {string} name - Pool's name
|
|
149
|
+
* @prop {string} shortName - Pool's short name
|
|
150
|
+
* @prop {string} logo - Pool's logo
|
|
151
|
+
* @prop {YieldPoolStatistic} [statistic] - Pool's metadata
|
|
152
|
+
* */
|
|
153
|
+
export interface AbstractYieldPoolInfo extends BasePoolInfo {
|
|
154
|
+
metadata: YieldPoolMetadata;
|
|
155
|
+
/** Pool's metadata */
|
|
156
|
+
statistic?: YieldPoolStatistic;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* @interface SpecialYieldPoolInfo
|
|
160
|
+
* @extends AbstractYieldPoolInfo
|
|
161
|
+
* @prop {SpecialYieldPoolStatistic} [statistic] - Pool's metadata
|
|
162
|
+
* */
|
|
163
|
+
export interface SpecialYieldPoolInfo extends AbstractYieldPoolInfo {
|
|
164
|
+
type: YieldPoolType.LIQUID_STAKING | YieldPoolType.LENDING;
|
|
165
|
+
metadata: SpecialYieldPoolMetadata;
|
|
166
|
+
statistic?: SpecialYieldPoolStatistic;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* @interface LiquidYieldPoolInfo
|
|
170
|
+
* @extends SpecialYieldPoolInfo
|
|
171
|
+
* @prop {YieldPoolType.LIQUID_STAKING} type - Pool's type
|
|
172
|
+
* */
|
|
173
|
+
export interface LiquidYieldPoolInfo extends SpecialYieldPoolInfo {
|
|
174
|
+
type: YieldPoolType.LIQUID_STAKING;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* @interface LendingYieldPoolInfo
|
|
178
|
+
* @extends SpecialYieldPoolInfo
|
|
179
|
+
* @prop {YieldPoolType.LENDING} type - Pool's type
|
|
180
|
+
* */
|
|
181
|
+
export interface LendingYieldPoolInfo extends SpecialYieldPoolInfo {
|
|
182
|
+
type: YieldPoolType.LENDING;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* @interface NominationYieldPoolInfo
|
|
186
|
+
* @extends AbstractYieldPoolInfo
|
|
187
|
+
* @prop {YieldPoolType.NOMINATION_POOL} type - Pool's type
|
|
188
|
+
* @prop {NormalYieldPoolStatistic} [statistic] - Pool's metadata
|
|
189
|
+
* */
|
|
190
|
+
export interface NominationYieldPoolInfo extends AbstractYieldPoolInfo {
|
|
191
|
+
type: YieldPoolType.NOMINATION_POOL;
|
|
192
|
+
metadata: NormalYieldPoolMetadata;
|
|
193
|
+
statistic?: NormalYieldPoolStatistic;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* @interface NativeYieldPoolInfo
|
|
197
|
+
* @extends AbstractYieldPoolInfo
|
|
198
|
+
* @prop {YieldPoolType.NATIVE_STAKING} type - Pool's type
|
|
199
|
+
* @prop {NormalYieldPoolStatistic} [statistic] - Pool's metadata
|
|
200
|
+
* */
|
|
201
|
+
export interface NativeYieldPoolInfo extends AbstractYieldPoolInfo {
|
|
202
|
+
type: YieldPoolType.NATIVE_STAKING;
|
|
203
|
+
metadata: NormalYieldPoolMetadata;
|
|
204
|
+
statistic?: NormalYieldPoolStatistic;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Info of yield pool
|
|
208
|
+
* */
|
|
209
|
+
export declare type YieldPoolInfo = NativeYieldPoolInfo | NominationYieldPoolInfo | LiquidYieldPoolInfo | LendingYieldPoolInfo;
|
|
210
|
+
/**
|
|
211
|
+
* @interface YieldAssetExpectedEarning
|
|
212
|
+
* Pool expected return
|
|
213
|
+
* */
|
|
214
|
+
export interface YieldAssetExpectedEarning {
|
|
215
|
+
apy?: number;
|
|
216
|
+
rewardInToken?: number;
|
|
217
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { PalletNominationPoolsBondedPoolInner } from '../pallet';
|
|
2
|
+
export interface NominationPoolInfo extends Pick<PalletNominationPoolsBondedPoolInner, 'roles' | 'memberCounter' | 'state'> {
|
|
3
|
+
id: number;
|
|
4
|
+
address: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
bondedAmount: string;
|
|
7
|
+
isProfitable: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface ValidatorInfo {
|
|
10
|
+
address: string;
|
|
11
|
+
chain: string;
|
|
12
|
+
totalStake: string;
|
|
13
|
+
ownStake: string;
|
|
14
|
+
otherStake: string;
|
|
15
|
+
minBond: string;
|
|
16
|
+
nominatorCount: number;
|
|
17
|
+
commission: number;
|
|
18
|
+
expectedReturn?: number;
|
|
19
|
+
blocked: boolean;
|
|
20
|
+
identity?: string;
|
|
21
|
+
isVerified: boolean;
|
|
22
|
+
icon?: string;
|
|
23
|
+
isCrowded: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare type YieldPoolTarget = NominationPoolInfo | ValidatorInfo;
|
|
26
|
+
export interface RequestGetYieldPoolTargets {
|
|
27
|
+
slug: string;
|
|
28
|
+
}
|
|
29
|
+
export interface ResponseGetYieldPoolTargets {
|
|
30
|
+
slug: string;
|
|
31
|
+
targets: YieldPoolTarget[];
|
|
32
|
+
}
|
|
33
|
+
export interface CollatorExtraInfo {
|
|
34
|
+
active: boolean;
|
|
35
|
+
identity?: string;
|
|
36
|
+
isVerified: boolean;
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/// <reference types="bn.js" />
|
|
2
|
+
import { BN } from '@polkadot/util';
|
|
3
|
+
export interface PalletNominationPoolsPoolMember {
|
|
4
|
+
poolId: number;
|
|
5
|
+
points: number;
|
|
6
|
+
lasRecordedRewardCounter: number;
|
|
7
|
+
unbondingEras: Record<string, number>;
|
|
8
|
+
}
|
|
9
|
+
export interface PalletStakingExposureItem {
|
|
10
|
+
who: string;
|
|
11
|
+
value: number;
|
|
12
|
+
}
|
|
13
|
+
export interface PalletStakingExposure {
|
|
14
|
+
total: number;
|
|
15
|
+
own: number;
|
|
16
|
+
others: PalletStakingExposureItem[];
|
|
17
|
+
}
|
|
18
|
+
export interface PalletDappsStakingDappInfo {
|
|
19
|
+
address: string;
|
|
20
|
+
name: string;
|
|
21
|
+
gitHubUrl: string;
|
|
22
|
+
tags: string[];
|
|
23
|
+
url: string;
|
|
24
|
+
imagesUrl: string[];
|
|
25
|
+
}
|
|
26
|
+
export interface PalletDappsStakingUnlockingChunk {
|
|
27
|
+
amount: number;
|
|
28
|
+
unlockEra: number;
|
|
29
|
+
}
|
|
30
|
+
export interface PalletDappsStakingAccountLedger {
|
|
31
|
+
locked: number;
|
|
32
|
+
unbondingInfo: {
|
|
33
|
+
unlockingChunks: PalletDappsStakingUnlockingChunk[];
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface BlockHeader {
|
|
37
|
+
parentHash: string;
|
|
38
|
+
number: number;
|
|
39
|
+
stateRoot: string;
|
|
40
|
+
extrinsicsRoot: string;
|
|
41
|
+
}
|
|
42
|
+
export interface ParachainStakingStakeOption {
|
|
43
|
+
owner: string;
|
|
44
|
+
amount: number;
|
|
45
|
+
}
|
|
46
|
+
export interface ParachainStakingCandidateMetadata {
|
|
47
|
+
bond: string;
|
|
48
|
+
delegationCount: number;
|
|
49
|
+
totalCounted: string;
|
|
50
|
+
lowestTopDelegationAmount: string;
|
|
51
|
+
status: any | 'Active';
|
|
52
|
+
}
|
|
53
|
+
export declare enum PalletParachainStakingRequestType {
|
|
54
|
+
REVOKE = "revoke",
|
|
55
|
+
DECREASE = "decrease",
|
|
56
|
+
BOND_LESS = "bondLess"
|
|
57
|
+
}
|
|
58
|
+
export interface PalletParachainStakingDelegationRequestsScheduledRequest {
|
|
59
|
+
delegator: string;
|
|
60
|
+
whenExecutable: number;
|
|
61
|
+
action: Record<PalletParachainStakingRequestType, number>;
|
|
62
|
+
}
|
|
63
|
+
export interface PalletParachainStakingDelegationInfo {
|
|
64
|
+
owner: string;
|
|
65
|
+
amount: number;
|
|
66
|
+
}
|
|
67
|
+
export interface PalletParachainStakingDelegator {
|
|
68
|
+
id: string;
|
|
69
|
+
delegations: PalletParachainStakingDelegationInfo[];
|
|
70
|
+
total: number;
|
|
71
|
+
lessTotal: number;
|
|
72
|
+
status: number;
|
|
73
|
+
}
|
|
74
|
+
export interface PalletIdentityRegistration {
|
|
75
|
+
judgements: any[];
|
|
76
|
+
deposit: number;
|
|
77
|
+
info: {
|
|
78
|
+
display: {
|
|
79
|
+
Raw: string;
|
|
80
|
+
};
|
|
81
|
+
web: {
|
|
82
|
+
Raw: string;
|
|
83
|
+
};
|
|
84
|
+
twitter: {
|
|
85
|
+
Raw: string;
|
|
86
|
+
};
|
|
87
|
+
riot: {
|
|
88
|
+
Raw: string;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export declare type PalletIdentitySuper = [string, {
|
|
93
|
+
Raw: string;
|
|
94
|
+
}];
|
|
95
|
+
export interface Unlocking {
|
|
96
|
+
remainingEras: BN;
|
|
97
|
+
value: BN;
|
|
98
|
+
}
|
|
99
|
+
export interface TernoaStakingRewardsStakingRewardsData {
|
|
100
|
+
sessionEraPayout: string;
|
|
101
|
+
sessionExtraRewardPayout: string;
|
|
102
|
+
}
|
|
103
|
+
export interface ValidatorExtraInfo {
|
|
104
|
+
commission: string;
|
|
105
|
+
blocked: false;
|
|
106
|
+
identity?: string;
|
|
107
|
+
isVerified: boolean;
|
|
108
|
+
}
|
|
109
|
+
export interface PalletNominationPoolsBondedPoolInner {
|
|
110
|
+
points: number;
|
|
111
|
+
state: 'Open' | 'Destroying' | 'Locked';
|
|
112
|
+
memberCounter: number;
|
|
113
|
+
roles: {
|
|
114
|
+
depositor: string;
|
|
115
|
+
root: string;
|
|
116
|
+
nominator: string;
|
|
117
|
+
bouncer: string;
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
export interface PalletStakingNominations {
|
|
121
|
+
targets: string[];
|
|
122
|
+
submittedIn: number;
|
|
123
|
+
suppressed: boolean;
|
|
124
|
+
}
|
|
125
|
+
export interface UnlockingChunk {
|
|
126
|
+
value: number;
|
|
127
|
+
era: number;
|
|
128
|
+
}
|
|
129
|
+
export interface PalletStakingStakingLedger {
|
|
130
|
+
stash: string;
|
|
131
|
+
total: number;
|
|
132
|
+
active: number;
|
|
133
|
+
unlocking: UnlockingChunk[];
|
|
134
|
+
claimedRewards: number[];
|
|
135
|
+
}
|
|
136
|
+
export interface RuntimeDispatchInfo {
|
|
137
|
+
weight: {
|
|
138
|
+
refTime: number;
|
|
139
|
+
proofSize: number;
|
|
140
|
+
};
|
|
141
|
+
class: string;
|
|
142
|
+
partialFee: number;
|
|
143
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export let PalletParachainStakingRequestType;
|
|
5
|
+
(function (PalletParachainStakingRequestType) {
|
|
6
|
+
PalletParachainStakingRequestType["REVOKE"] = "revoke";
|
|
7
|
+
PalletParachainStakingRequestType["DECREASE"] = "decrease";
|
|
8
|
+
PalletParachainStakingRequestType["BOND_LESS"] = "bondLess";
|
|
9
|
+
})(PalletParachainStakingRequestType || (PalletParachainStakingRequestType = {}));
|
package/utils/fetchStaticData.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import axios from 'axios';
|
|
5
|
+
const PRODUCTION_BRANCHES = ['master', 'webapp', 'webapp-dev'];
|
|
5
6
|
const branchName = process.env.BRANCH_NAME || 'koni-dev';
|
|
6
|
-
const fetchTarget = branchName
|
|
7
|
+
const fetchTarget = PRODUCTION_BRANCHES.indexOf(branchName) > -1 ? 'list.json' : 'preview.json';
|
|
7
8
|
export async function fetchStaticData(slug, targetFile) {
|
|
8
9
|
const fetchFile = targetFile || fetchTarget;
|
|
9
10
|
const rs = await axios.get(`https://static-data.subwallet.app/${slug}/${fetchFile}`);
|
package/utils/index.d.ts
CHANGED
|
@@ -39,10 +39,15 @@ export declare function isSameAddress(address1: string, address2: string): boole
|
|
|
39
39
|
export declare function getDomainFromUrl(url: string): string;
|
|
40
40
|
export declare function waitTimeout(ms: number): Promise<void>;
|
|
41
41
|
export declare const stripUrl: (url: string) => string;
|
|
42
|
+
export declare const baseParseIPFSUrl: (input: string) => string | undefined;
|
|
43
|
+
export declare const swParseIPFSUrl: (input: string) => string | undefined;
|
|
42
44
|
export declare function wait(milliseconds: number): Promise<void>;
|
|
43
45
|
export * from './account';
|
|
44
46
|
export * from './array';
|
|
45
47
|
export * from './environment';
|
|
48
|
+
export * from './number';
|
|
46
49
|
export * from './lazy';
|
|
50
|
+
export * from './promise';
|
|
47
51
|
export * from './registry';
|
|
48
52
|
export * from './translate';
|
|
53
|
+
export * from './object';
|
package/utils/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import { CrowdloanParaState, MobileOS } from '@subwallet/extension-base/background/KoniTypes';
|
|
5
5
|
import { ALL_ACCOUNT_KEY } from '@subwallet/extension-base/constants';
|
|
6
|
+
import { getRandomIpfsGateway, SUBWALLET_IPFS } from '@subwallet/extension-base/koni/api/nft/config';
|
|
6
7
|
import { getOS } from '@subwallet/extension-base/utils/environment';
|
|
7
8
|
import { t } from 'i18next';
|
|
8
9
|
import { assert, BN, hexToU8a, isHex } from '@polkadot/util';
|
|
@@ -287,6 +288,54 @@ export const stripUrl = url => {
|
|
|
287
288
|
const parts = url.split('/');
|
|
288
289
|
return parts[2];
|
|
289
290
|
};
|
|
291
|
+
export const baseParseIPFSUrl = input => {
|
|
292
|
+
if (!input || input.length === 0) {
|
|
293
|
+
return undefined;
|
|
294
|
+
}
|
|
295
|
+
if (isUrl(input)) {
|
|
296
|
+
return input;
|
|
297
|
+
}
|
|
298
|
+
if (isUrl(input) || input.includes('https://') || input.includes('http')) {
|
|
299
|
+
return input;
|
|
300
|
+
}
|
|
301
|
+
if (input.startsWith('/ipfs/')) {
|
|
302
|
+
return getRandomIpfsGateway() + input.split('/ipfs/')[1];
|
|
303
|
+
}
|
|
304
|
+
if (!input.includes('ipfs://') && !input.includes('ipfs://ipfs/')) {
|
|
305
|
+
// just the IPFS hash
|
|
306
|
+
return getRandomIpfsGateway() + input;
|
|
307
|
+
}
|
|
308
|
+
if (input.includes('ipfs://') && !input.includes('ipfs://ipfs/')) {
|
|
309
|
+
// starts with ipfs://
|
|
310
|
+
return getRandomIpfsGateway() + input.split('ipfs://')[1];
|
|
311
|
+
}
|
|
312
|
+
return getRandomIpfsGateway() + input.split('ipfs://ipfs/')[1]; // starts with ipfs://ipfs/
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
export const swParseIPFSUrl = input => {
|
|
316
|
+
if (!input || input.length === 0) {
|
|
317
|
+
return undefined;
|
|
318
|
+
}
|
|
319
|
+
if (isUrl(input)) {
|
|
320
|
+
return input;
|
|
321
|
+
}
|
|
322
|
+
if (isUrl(input) || input.includes('https://') || input.includes('http')) {
|
|
323
|
+
return input;
|
|
324
|
+
}
|
|
325
|
+
if (input.startsWith('/ipfs/')) {
|
|
326
|
+
return SUBWALLET_IPFS + input.split('/ipfs/')[1];
|
|
327
|
+
}
|
|
328
|
+
if (!input.includes('ipfs://') && !input.includes('ipfs://ipfs/')) {
|
|
329
|
+
// just the IPFS hash
|
|
330
|
+
return SUBWALLET_IPFS + input;
|
|
331
|
+
}
|
|
332
|
+
if (input.includes('ipfs://') && !input.includes('ipfs://ipfs/')) {
|
|
333
|
+
// starts with ipfs://
|
|
334
|
+
return SUBWALLET_IPFS + input.split('ipfs://')[1];
|
|
335
|
+
}
|
|
336
|
+
return SUBWALLET_IPFS + input.split('ipfs://ipfs/')[1]; // starts with ipfs://ipfs/
|
|
337
|
+
};
|
|
338
|
+
|
|
290
339
|
export function wait(milliseconds) {
|
|
291
340
|
return new Promise(resolve => {
|
|
292
341
|
setTimeout(() => {
|
|
@@ -297,6 +346,9 @@ export function wait(milliseconds) {
|
|
|
297
346
|
export * from "./account.js";
|
|
298
347
|
export * from "./array.js";
|
|
299
348
|
export * from "./environment.js";
|
|
349
|
+
export * from "./number.js";
|
|
300
350
|
export * from "./lazy.js";
|
|
351
|
+
export * from "./promise.js";
|
|
301
352
|
export * from "./registry.js";
|
|
302
|
-
export * from "./translate.js";
|
|
353
|
+
export * from "./translate.js";
|
|
354
|
+
export * from "./object.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isEmptyObject(input: Record<any, any>): boolean;
|