@subwallet/extension-base 1.1.33-beta.0 → 1.1.34-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 +69 -111
- package/background/KoniTypes.js +13 -19
- package/background/errors/TransactionError.js +0 -9
- package/cjs/background/KoniTypes.js +16 -20
- package/cjs/background/errors/TransactionError.js +0 -9
- package/cjs/constants/index.js +4 -19
- package/cjs/koni/api/nft/config.js +23 -33
- package/cjs/koni/api/nft/index.js +0 -14
- package/cjs/koni/api/nft/nft.js +22 -1
- package/cjs/koni/api/staking/bonding/amplitude.js +16 -19
- package/cjs/koni/api/staking/bonding/astar.js +10 -11
- package/cjs/koni/api/staking/bonding/index.js +1 -4
- package/cjs/koni/api/staking/bonding/paraChain.js +23 -25
- package/cjs/koni/api/staking/bonding/relayChain.js +45 -48
- package/cjs/koni/api/staking/bonding/utils.js +86 -104
- package/cjs/koni/api/staking/index.js +5 -6
- package/cjs/koni/api/staking/paraChain.js +17 -10
- package/cjs/koni/api/staking/relayChain.js +2 -3
- package/cjs/koni/background/cron.js +21 -3
- package/cjs/koni/background/handlers/Extension.js +69 -368
- package/cjs/koni/background/handlers/State.js +12 -18
- package/cjs/koni/background/handlers/index.js +2 -4
- package/cjs/koni/background/subscription.js +104 -7
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +1 -3
- package/cjs/services/campaign-service/index.js +6 -9
- package/cjs/services/chain-service/constants.js +19 -2
- package/cjs/services/chain-service/handler/SubstrateApi.js +10 -5
- package/cjs/services/chain-service/index.js +101 -40
- package/cjs/services/chain-service/utils.js +69 -7
- package/cjs/services/event-service/index.js +0 -5
- package/cjs/services/keyring-service/index.js +2 -14
- 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/index.js +1 -6
- package/cjs/services/notification-service/NotificationService.js +1 -1
- package/cjs/services/storage-service/DatabaseService.js +0 -63
- package/cjs/services/storage-service/databases/index.js +0 -4
- package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/cjs/services/subscan-service/index.js +0 -16
- package/cjs/services/transaction-service/event-parser/index.js +0 -58
- package/cjs/services/transaction-service/helpers/index.js +1 -3
- package/cjs/services/transaction-service/index.js +75 -249
- package/cjs/services/transaction-service/utils.js +0 -1
- package/cjs/types/index.js +0 -44
- package/cjs/utils/fetchStaticData.js +1 -2
- package/cjs/utils/index.js +1 -89
- package/cjs/utils/number.js +2 -6
- package/constants/index.d.ts +1 -6
- package/constants/index.js +1 -6
- package/koni/api/nft/config.js +23 -33
- package/koni/api/nft/index.js +1 -15
- package/koni/api/nft/nft.js +23 -2
- package/koni/api/staking/bonding/amplitude.js +10 -13
- package/koni/api/staking/bonding/astar.js +8 -9
- package/koni/api/staking/bonding/index.d.ts +1 -1
- package/koni/api/staking/bonding/index.js +1 -5
- package/koni/api/staking/bonding/paraChain.js +10 -12
- package/koni/api/staking/bonding/relayChain.d.ts +2 -2
- package/koni/api/staking/bonding/relayChain.js +30 -33
- package/koni/api/staking/bonding/utils.d.ts +38 -15
- package/koni/api/staking/bonding/utils.js +69 -85
- package/koni/api/staking/index.js +1 -2
- package/koni/api/staking/paraChain.js +18 -11
- package/koni/api/staking/relayChain.js +3 -4
- package/koni/background/cron.d.ts +4 -0
- package/koni/background/cron.js +22 -4
- package/koni/background/handlers/Extension.d.ts +1 -17
- package/koni/background/handlers/Extension.js +30 -327
- package/koni/background/handlers/State.d.ts +1 -6
- package/koni/background/handlers/State.js +12 -17
- package/koni/background/handlers/index.js +2 -4
- package/koni/background/subscription.d.ts +6 -1
- package/koni/background/subscription.js +104 -8
- package/package.json +7 -320
- package/packageInfo.js +1 -1
- package/services/balance-service/helpers/subscribe/substrate/index.js +2 -4
- package/services/campaign-service/index.js +6 -9
- package/services/chain-service/constants.d.ts +13 -0
- package/services/chain-service/constants.js +15 -0
- package/services/chain-service/handler/SubstrateApi.js +10 -5
- package/services/chain-service/index.d.ts +9 -1
- package/services/chain-service/index.js +97 -37
- package/services/chain-service/utils.d.ts +10 -2
- package/services/chain-service/utils.js +67 -6
- package/services/event-service/index.d.ts +0 -2
- package/services/event-service/index.js +0 -5
- package/services/event-service/types.d.ts +0 -9
- package/services/keyring-service/index.d.ts +1 -2
- package/services/keyring-service/index.js +2 -14
- package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/services/migration-service/scripts/index.js +1 -6
- package/services/notification-service/NotificationService.js +1 -1
- package/services/storage-service/DatabaseService.d.ts +1 -22
- package/services/storage-service/DatabaseService.js +0 -63
- package/services/storage-service/databases/index.d.ts +1 -3
- package/services/storage-service/databases/index.js +0 -4
- package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/services/subscan-service/index.d.ts +2 -3
- package/services/subscan-service/index.js +0 -15
- package/services/subscan-service/types.d.ts +0 -20
- package/services/transaction-service/event-parser/index.d.ts +1 -3
- package/services/transaction-service/event-parser/index.js +1 -57
- package/services/transaction-service/helpers/index.js +1 -3
- package/services/transaction-service/index.d.ts +13 -6
- package/services/transaction-service/index.js +73 -247
- package/services/transaction-service/types.d.ts +0 -2
- package/services/transaction-service/utils.js +0 -1
- package/types/index.d.ts +0 -5
- package/types/index.js +1 -5
- package/utils/fetchStaticData.js +1 -2
- package/utils/index.d.ts +0 -5
- package/utils/index.js +0 -52
- package/utils/number.d.ts +1 -2
- package/utils/number.js +1 -2
- package/cjs/koni/api/dotsama/balance.js +0 -464
- package/cjs/koni/api/nft/ordinal_nft/constants.js +0 -21
- package/cjs/koni/api/nft/ordinal_nft/index.js +0 -121
- package/cjs/koni/api/nft/ordinal_nft/utils.js +0 -41
- package/cjs/koni/api/yield/helper/utils.js +0 -46
- package/cjs/services/earning-service/constants/chains.js +0 -30
- package/cjs/services/earning-service/constants/index.js +0 -27
- package/cjs/services/earning-service/constants/step.js +0 -18
- package/cjs/services/earning-service/handlers/base.js +0 -262
- package/cjs/services/earning-service/handlers/index.js +0 -60
- package/cjs/services/earning-service/handlers/lending/base.js +0 -81
- package/cjs/services/earning-service/handlers/lending/index.js +0 -13
- package/cjs/services/earning-service/handlers/lending/interlay.js +0 -192
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -240
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -97
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -298
- package/cjs/services/earning-service/handlers/liquid-staking/index.js +0 -34
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -227
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -404
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +0 -434
- package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -466
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +0 -146
- package/cjs/services/earning-service/handlers/native-staking/base.js +0 -161
- package/cjs/services/earning-service/handlers/native-staking/index.js +0 -34
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -390
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +0 -567
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +0 -566
- package/cjs/services/earning-service/handlers/special.js +0 -493
- package/cjs/services/earning-service/service.js +0 -740
- package/cjs/services/earning-service/utils/index.js +0 -128
- package/cjs/services/migration-service/scripts/DeleteEarningData.js +0 -21
- package/cjs/services/migration-service/scripts/EnableEarningChains.js +0 -21
- package/cjs/services/migration-service/scripts/MigrateEthProvider.js +0 -17
- package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +0 -17
- package/cjs/services/migration-service/scripts/MigrateProvider.js +0 -29
- package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -21
- package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -21
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -149
- package/cjs/services/mint-campaign-service/campaigns/index.js +0 -13
- package/cjs/services/mint-campaign-service/constants.js +0 -11
- package/cjs/services/mint-campaign-service/index.js +0 -18
- package/cjs/services/storage-service/db-stores/YieldPoolStore.js +0 -36
- package/cjs/services/storage-service/db-stores/YieldPositionStore.js +0 -71
- package/cjs/services/storage-service/index.js +0 -241
- package/cjs/types/campaigns/index.js +0 -16
- package/cjs/types/campaigns/unlock-dot.js +0 -1
- package/cjs/types/ordinal.js +0 -1
- package/cjs/types/transaction.js +0 -1
- package/cjs/types/yield/actions/index.js +0 -27
- package/cjs/types/yield/actions/join/index.js +0 -38
- package/cjs/types/yield/actions/join/step.js +0 -47
- package/cjs/types/yield/actions/join/submit.js +0 -1
- package/cjs/types/yield/actions/join/validate.js +0 -16
- package/cjs/types/yield/actions/others.js +0 -1
- package/cjs/types/yield/index.js +0 -27
- package/cjs/types/yield/info/account/index.js +0 -49
- package/cjs/types/yield/info/account/info.js +0 -1
- package/cjs/types/yield/info/account/reward.js +0 -1
- package/cjs/types/yield/info/account/target.js +0 -32
- package/cjs/types/yield/info/account/unstake.js +0 -27
- package/cjs/types/yield/info/base.js +0 -41
- package/cjs/types/yield/info/chain/index.js +0 -27
- package/cjs/types/yield/info/chain/info.js +0 -1
- package/cjs/types/yield/info/chain/target.js +0 -1
- package/cjs/types/yield/info/index.js +0 -49
- package/cjs/types/yield/info/pallet.js +0 -15
- package/cjs/types.js +0 -1
- package/cjs/utils/address.js +0 -34
- package/cjs/utils/keyring.js +0 -57
- package/cjs/utils/object.js +0 -12
- package/koni/api/nft/ordinal_nft/constants.d.ts +0 -9
- package/koni/api/nft/ordinal_nft/constants.js +0 -12
- package/koni/api/nft/ordinal_nft/index.d.ts +0 -8
- package/koni/api/nft/ordinal_nft/index.js +0 -114
- package/koni/api/nft/ordinal_nft/utils.d.ts +0 -2
- package/koni/api/nft/ordinal_nft/utils.js +0 -33
- package/koni/api/yield/helper/utils.d.ts +0 -10
- package/koni/api/yield/helper/utils.js +0 -32
- package/services/earning-service/constants/abis/compound_finance_v2_abi.json +0 -1235
- package/services/earning-service/constants/abis/st_liquid_token_abi.json +0 -1355
- package/services/earning-service/constants/chains.d.ts +0 -15
- package/services/earning-service/constants/chains.js +0 -22
- package/services/earning-service/constants/index.d.ts +0 -2
- package/services/earning-service/constants/index.js +0 -5
- package/services/earning-service/constants/step.d.ts +0 -3
- package/services/earning-service/constants/step.js +0 -10
- package/services/earning-service/handlers/base.d.ts +0 -113
- package/services/earning-service/handlers/base.js +0 -256
- package/services/earning-service/handlers/index.d.ts +0 -5
- package/services/earning-service/handlers/index.js +0 -8
- package/services/earning-service/handlers/lending/base.d.ts +0 -8
- package/services/earning-service/handlers/lending/base.js +0 -73
- package/services/earning-service/handlers/lending/index.d.ts +0 -1
- package/services/earning-service/handlers/lending/index.js +0 -4
- package/services/earning-service/handlers/lending/interlay.d.ts +0 -24
- package/services/earning-service/handlers/lending/interlay.js +0 -184
- package/services/earning-service/handlers/liquid-staking/acala.d.ts +0 -27
- package/services/earning-service/handlers/liquid-staking/acala.js +0 -232
- package/services/earning-service/handlers/liquid-staking/base.d.ts +0 -11
- package/services/earning-service/handlers/liquid-staking/base.js +0 -89
- package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +0 -46
- package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -287
- package/services/earning-service/handlers/liquid-staking/index.d.ts +0 -4
- package/services/earning-service/handlers/liquid-staking/index.js +0 -7
- package/services/earning-service/handlers/liquid-staking/parallel.d.ts +0 -26
- package/services/earning-service/handlers/liquid-staking/parallel.js +0 -219
- package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +0 -34
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -394
- package/services/earning-service/handlers/native-staking/amplitude.d.ts +0 -22
- package/services/earning-service/handlers/native-staking/amplitude.js +0 -425
- package/services/earning-service/handlers/native-staking/astar.d.ts +0 -19
- package/services/earning-service/handlers/native-staking/astar.js +0 -456
- package/services/earning-service/handlers/native-staking/base-para.d.ts +0 -11
- package/services/earning-service/handlers/native-staking/base-para.js +0 -138
- package/services/earning-service/handlers/native-staking/base.d.ts +0 -21
- package/services/earning-service/handlers/native-staking/base.js +0 -152
- package/services/earning-service/handlers/native-staking/index.d.ts +0 -4
- package/services/earning-service/handlers/native-staking/index.js +0 -7
- package/services/earning-service/handlers/native-staking/para-chain.d.ts +0 -15
- package/services/earning-service/handlers/native-staking/para-chain.js +0 -382
- package/services/earning-service/handlers/native-staking/relay-chain.d.ts +0 -21
- package/services/earning-service/handlers/native-staking/relay-chain.js +0 -558
- package/services/earning-service/handlers/nomination-pool/index.d.ts +0 -36
- package/services/earning-service/handlers/nomination-pool/index.js +0 -556
- package/services/earning-service/handlers/special.d.ts +0 -64
- package/services/earning-service/handlers/special.js +0 -485
- package/services/earning-service/service.d.ts +0 -94
- package/services/earning-service/service.js +0 -729
- package/services/earning-service/utils/index.d.ts +0 -18
- package/services/earning-service/utils/index.js +0 -112
- package/services/migration-service/scripts/DeleteEarningData.d.ts +0 -4
- package/services/migration-service/scripts/DeleteEarningData.js +0 -13
- package/services/migration-service/scripts/EnableEarningChains.d.ts +0 -4
- package/services/migration-service/scripts/EnableEarningChains.js +0 -13
- package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +0 -4
- package/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -13
- package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +0 -4
- package/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -13
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +0 -13
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -139
- package/services/mint-campaign-service/campaigns/index.d.ts +0 -1
- package/services/mint-campaign-service/campaigns/index.js +0 -4
- package/services/mint-campaign-service/constants.d.ts +0 -1
- package/services/mint-campaign-service/constants.js +0 -4
- package/services/mint-campaign-service/index.d.ts +0 -7
- package/services/mint-campaign-service/index.js +0 -11
- package/services/storage-service/db-stores/YieldPoolStore.d.ts +0 -10
- package/services/storage-service/db-stores/YieldPoolStore.js +0 -28
- package/services/storage-service/db-stores/YieldPositionStore.d.ts +0 -11
- package/services/storage-service/db-stores/YieldPositionStore.js +0 -63
- package/types/campaigns/index.d.ts +0 -1
- package/types/campaigns/index.js +0 -4
- package/types/campaigns/unlock-dot.d.ts +0 -71
- package/types/campaigns/unlock-dot.js +0 -1
- package/types/ordinal.d.ts +0 -69
- package/types/ordinal.js +0 -1
- package/types/transaction.d.ts +0 -3
- package/types/transaction.js +0 -1
- package/types/yield/actions/index.d.ts +0 -2
- package/types/yield/actions/index.js +0 -5
- package/types/yield/actions/join/index.d.ts +0 -3
- package/types/yield/actions/join/index.js +0 -6
- package/types/yield/actions/join/step.d.ts +0 -95
- package/types/yield/actions/join/step.js +0 -46
- package/types/yield/actions/join/submit.d.ts +0 -58
- package/types/yield/actions/join/submit.js +0 -1
- package/types/yield/actions/join/validate.d.ts +0 -18
- package/types/yield/actions/join/validate.js +0 -10
- package/types/yield/actions/others.d.ts +0 -85
- package/types/yield/actions/others.js +0 -1
- package/types/yield/index.d.ts +0 -2
- package/types/yield/index.js +0 -5
- package/types/yield/info/account/index.d.ts +0 -4
- package/types/yield/info/account/index.js +0 -7
- package/types/yield/info/account/info.d.ts +0 -92
- package/types/yield/info/account/info.js +0 -1
- package/types/yield/info/account/reward.d.ts +0 -47
- package/types/yield/info/account/reward.js +0 -1
- package/types/yield/info/account/target.d.ts +0 -43
- package/types/yield/info/account/target.js +0 -27
- package/types/yield/info/account/unstake.d.ts +0 -31
- package/types/yield/info/account/unstake.js +0 -22
- package/types/yield/info/base.d.ts +0 -45
- package/types/yield/info/base.js +0 -36
- package/types/yield/info/chain/index.d.ts +0 -2
- package/types/yield/info/chain/index.js +0 -5
- package/types/yield/info/chain/info.d.ts +0 -252
- package/types/yield/info/chain/info.js +0 -1
- package/types/yield/info/chain/target.d.ts +0 -37
- package/types/yield/info/chain/target.js +0 -1
- package/types/yield/info/index.d.ts +0 -4
- package/types/yield/info/index.js +0 -7
- package/types/yield/info/pallet.d.ts +0 -143
- package/types/yield/info/pallet.js +0 -9
- package/utils/object.d.ts +0 -1
- package/utils/object.js +0 -6
|
@@ -33,12 +33,8 @@ exports.BIT_COUNTRY_IPFS_SERVER = BIT_COUNTRY_IPFS_SERVER;
|
|
|
33
33
|
const BIT_COUNTRY_LAND_ESTATE_METADATA_API = 'https://pioneer-api.bit.country/metadata/landTokenUriPioneer';
|
|
34
34
|
exports.BIT_COUNTRY_LAND_ESTATE_METADATA_API = BIT_COUNTRY_LAND_ESTATE_METADATA_API;
|
|
35
35
|
const BIT_COUNTRY_THUMBNAIL_RESOLVER = 'https://res.cloudinary.com/ddftctzph/image/upload/c_scale,q_100,w_250/production-ipfs/asset/';
|
|
36
|
-
|
|
37
|
-
// XOrigin
|
|
38
36
|
exports.BIT_COUNTRY_THUMBNAIL_RESOLVER = BIT_COUNTRY_THUMBNAIL_RESOLVER;
|
|
39
37
|
const CF_IPFS_GATEWAY = 'https://cf-ipfs.com/ipfs/';
|
|
40
|
-
|
|
41
|
-
// XOrigin
|
|
42
38
|
exports.CF_IPFS_GATEWAY = CF_IPFS_GATEWAY;
|
|
43
39
|
const PINATA_IPFS_GATEWAY = 'https://gateway.pinata.cloud/ipfs/';
|
|
44
40
|
exports.PINATA_IPFS_GATEWAY = PINATA_IPFS_GATEWAY;
|
|
@@ -51,22 +47,14 @@ const VARA_SCAN_ENDPOINT = 'https://nft-explorer.vara-network.io/graphql';
|
|
|
51
47
|
// GATEWAY
|
|
52
48
|
exports.VARA_SCAN_ENDPOINT = VARA_SCAN_ENDPOINT;
|
|
53
49
|
const UNIQUE_IPFS_GATEWAY = 'https://ipfs.unique.network/ipfs/';
|
|
54
|
-
|
|
55
|
-
// XOrigin
|
|
56
50
|
exports.UNIQUE_IPFS_GATEWAY = UNIQUE_IPFS_GATEWAY;
|
|
57
51
|
const NFT_STORAGE_GATEWAY = 'https://nftstorage.link/ipfs/';
|
|
58
52
|
exports.NFT_STORAGE_GATEWAY = NFT_STORAGE_GATEWAY;
|
|
59
53
|
const IPFS_W3S_LINK = 'https://w3s.link/ipfs/';
|
|
60
|
-
|
|
61
|
-
// XOrigin
|
|
62
54
|
exports.IPFS_W3S_LINK = IPFS_W3S_LINK;
|
|
63
55
|
const GATEWAY_IPFS_IO = 'https://gateway.ipfs.io/ipfs/';
|
|
64
|
-
|
|
65
|
-
// XOrigin
|
|
66
56
|
exports.GATEWAY_IPFS_IO = GATEWAY_IPFS_IO;
|
|
67
57
|
const IPFS_IO = 'https://ipfs.io/ipfs/';
|
|
68
|
-
|
|
69
|
-
// XOrigin
|
|
70
58
|
exports.IPFS_IO = IPFS_IO;
|
|
71
59
|
const DWEB_LINK = 'https://dweb.link/ipfs/';
|
|
72
60
|
exports.DWEB_LINK = DWEB_LINK;
|
|
@@ -134,8 +122,26 @@ exports.SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = SUPPORTED_TRANSFER_SUBSTRATE_C
|
|
|
134
122
|
SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME["pioneer"] = "pioneer";
|
|
135
123
|
})(SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME || (exports.SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = SUPPORTED_TRANSFER_SUBSTRATE_CHAIN_NAME = {}));
|
|
136
124
|
const RANDOM_IPFS_GATEWAY_SETTING = [{
|
|
125
|
+
provider: CF_IPFS_GATEWAY,
|
|
126
|
+
weight: 4
|
|
127
|
+
}, {
|
|
137
128
|
provider: CLOUDFLARE_PINATA_SERVER,
|
|
138
129
|
weight: 10
|
|
130
|
+
}, {
|
|
131
|
+
provider: PINATA_IPFS_GATEWAY,
|
|
132
|
+
weight: 1 // Rate limit too low
|
|
133
|
+
}, {
|
|
134
|
+
provider: DWEB_LINK,
|
|
135
|
+
weight: 5
|
|
136
|
+
}, {
|
|
137
|
+
provider: GATEWAY_IPFS_IO,
|
|
138
|
+
weight: 5
|
|
139
|
+
}, {
|
|
140
|
+
provider: IPFS_IO,
|
|
141
|
+
weight: 5
|
|
142
|
+
}, {
|
|
143
|
+
provider: NFT_STORAGE_GATEWAY,
|
|
144
|
+
weight: 50
|
|
139
145
|
}];
|
|
140
146
|
if (isFirefox) {
|
|
141
147
|
RANDOM_IPFS_GATEWAY_SETTING.push({
|
|
@@ -143,34 +149,18 @@ if (isFirefox) {
|
|
|
143
149
|
weight: 5000
|
|
144
150
|
});
|
|
145
151
|
}
|
|
146
|
-
if (!_utils.RuntimeInfo.protocol ||
|
|
152
|
+
if (!_utils.RuntimeInfo.protocol || _utils.RuntimeInfo.protocol && !_utils.RuntimeInfo.protocol.startsWith('http')) {
|
|
147
153
|
RANDOM_IPFS_GATEWAY_SETTING.push({
|
|
148
154
|
provider: IPFS_FLEEK,
|
|
149
155
|
weight: 4
|
|
150
|
-
}
|
|
156
|
+
});
|
|
157
|
+
RANDOM_IPFS_GATEWAY_SETTING.push({
|
|
151
158
|
provider: IPFS_GATEWAY_4EVERLAND,
|
|
152
159
|
weight: 2
|
|
153
|
-
}
|
|
160
|
+
});
|
|
161
|
+
RANDOM_IPFS_GATEWAY_SETTING.push({
|
|
154
162
|
provider: IPFS_W3S_LINK,
|
|
155
163
|
weight: 1
|
|
156
|
-
}, {
|
|
157
|
-
provider: CF_IPFS_GATEWAY,
|
|
158
|
-
weight: 4
|
|
159
|
-
}, {
|
|
160
|
-
provider: PINATA_IPFS_GATEWAY,
|
|
161
|
-
weight: 1 // Rate limit too low
|
|
162
|
-
}, {
|
|
163
|
-
provider: NFT_STORAGE_GATEWAY,
|
|
164
|
-
weight: 50
|
|
165
|
-
}, {
|
|
166
|
-
provider: GATEWAY_IPFS_IO,
|
|
167
|
-
weight: 5
|
|
168
|
-
}, {
|
|
169
|
-
provider: DWEB_LINK,
|
|
170
|
-
weight: 5
|
|
171
|
-
}, {
|
|
172
|
-
provider: IPFS_IO,
|
|
173
|
-
weight: 5
|
|
174
164
|
});
|
|
175
165
|
}
|
|
176
166
|
const RANDOM_IPFS_GATEWAY_TOTAL_WEIGHT = RANDOM_IPFS_GATEWAY_SETTING.reduce((value, item) => value + item.weight, 0);
|
|
@@ -9,7 +9,6 @@ var _acala_nft = require("@subwallet/extension-base/koni/api/nft/acala_nft");
|
|
|
9
9
|
var _bit = require("@subwallet/extension-base/koni/api/nft/bit.country");
|
|
10
10
|
var _evm_nft = require("@subwallet/extension-base/koni/api/nft/evm_nft");
|
|
11
11
|
var _karura_nft = require("@subwallet/extension-base/koni/api/nft/karura_nft");
|
|
12
|
-
var _ordinal_nft = _interopRequireDefault(require("@subwallet/extension-base/koni/api/nft/ordinal_nft"));
|
|
13
12
|
var _rmrk_nft = require("@subwallet/extension-base/koni/api/nft/rmrk_nft");
|
|
14
13
|
var _statemine_nft = _interopRequireDefault(require("@subwallet/extension-base/koni/api/nft/statemine_nft"));
|
|
15
14
|
var _unique_nft = _interopRequireDefault(require("@subwallet/extension-base/koni/api/nft/unique_nft"));
|
|
@@ -51,9 +50,6 @@ function createWeb3NftApi(chain, evmApi, addresses) {
|
|
|
51
50
|
const [, evmAddresses] = (0, _utils2.categoryAddresses)(addresses);
|
|
52
51
|
return new _evm_nft.EvmNftApi(evmApi, evmAddresses, chain);
|
|
53
52
|
}
|
|
54
|
-
const createOrdinalApi = (chain, subscanChain, addresses) => {
|
|
55
|
-
return new _ordinal_nft.default(addresses, chain, subscanChain);
|
|
56
|
-
};
|
|
57
53
|
class NftHandler {
|
|
58
54
|
// General settings
|
|
59
55
|
chainInfoMap = {};
|
|
@@ -134,16 +130,6 @@ class NftHandler {
|
|
|
134
130
|
}
|
|
135
131
|
}
|
|
136
132
|
}
|
|
137
|
-
if ((0, _utils._isSupportOrdinal)(chain)) {
|
|
138
|
-
var _chainInfo$extraInfo;
|
|
139
|
-
const subscanChain = (_chainInfo$extraInfo = chainInfo.extraInfo) === null || _chainInfo$extraInfo === void 0 ? void 0 : _chainInfo$extraInfo.subscanSlug;
|
|
140
|
-
if (subscanChain) {
|
|
141
|
-
const handler = createOrdinalApi(chain, subscanChain, substrateAddresses);
|
|
142
|
-
if (handler && !this.handlers.includes(handler)) {
|
|
143
|
-
this.handlers.push(handler);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
133
|
});
|
|
148
134
|
this.needSetupApi = false;
|
|
149
135
|
}
|
package/cjs/koni/api/nft/nft.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BaseNftApi = void 0;
|
|
7
|
+
var _config = require("@subwallet/extension-base/koni/api/nft/config");
|
|
7
8
|
var _utils = require("@subwallet/extension-base/utils");
|
|
8
9
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
9
10
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -70,7 +71,27 @@ class BaseNftApi {
|
|
|
70
71
|
return tokenId;
|
|
71
72
|
}
|
|
72
73
|
parseUrl(input) {
|
|
73
|
-
|
|
74
|
+
if (!input || input.length === 0) {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
if ((0, _utils.isUrl)(input)) {
|
|
78
|
+
return input;
|
|
79
|
+
}
|
|
80
|
+
if ((0, _utils.isUrl)(input) || input.includes('https://') || input.includes('http')) {
|
|
81
|
+
return input;
|
|
82
|
+
}
|
|
83
|
+
if (input.startsWith('/ipfs/')) {
|
|
84
|
+
return (0, _config.getRandomIpfsGateway)() + input.split('/ipfs/')[1];
|
|
85
|
+
}
|
|
86
|
+
if (!input.includes('ipfs://') && !input.includes('ipfs://ipfs/')) {
|
|
87
|
+
// just the IPFS hash
|
|
88
|
+
return (0, _config.getRandomIpfsGateway)() + input;
|
|
89
|
+
}
|
|
90
|
+
if (input.includes('ipfs://') && !input.includes('ipfs://ipfs/')) {
|
|
91
|
+
// starts with ipfs://
|
|
92
|
+
return (0, _config.getRandomIpfsGateway)() + input.split('ipfs://')[1];
|
|
93
|
+
}
|
|
94
|
+
return (0, _config.getRandomIpfsGateway)() + input.split('ipfs://ipfs/')[1]; // starts with ipfs://ipfs/
|
|
74
95
|
}
|
|
75
96
|
|
|
76
97
|
// Subclass implements this function to parse data into prop result
|
|
@@ -15,10 +15,7 @@ exports.subscribeAmplitudeStakingMetadata = subscribeAmplitudeStakingMetadata;
|
|
|
15
15
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
16
16
|
var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
|
|
17
17
|
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
18
|
-
var
|
|
19
|
-
var _utils2 = require("@subwallet/extension-base/services/earning-service/utils");
|
|
20
|
-
var _types = require("@subwallet/extension-base/types");
|
|
21
|
-
var _utils3 = require("@subwallet/extension-base/utils");
|
|
18
|
+
var _utils2 = require("@subwallet/extension-base/utils");
|
|
22
19
|
var _util = require("@polkadot/util");
|
|
23
20
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
24
21
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
@@ -27,7 +24,7 @@ var _utilCrypto = require("@polkadot/util-crypto");
|
|
|
27
24
|
function subscribeAmplitudeStakingMetadata(chain, substrateApi, callback) {
|
|
28
25
|
return substrateApi.api.query.parachainStaking.round(_round => {
|
|
29
26
|
const roundObj = _round.toHuman();
|
|
30
|
-
const round = (0,
|
|
27
|
+
const round = (0, _utils2.parseRawNumber)(roundObj.current);
|
|
31
28
|
const maxDelegations = substrateApi.api.consts.parachainStaking.maxDelegationsPerRound.toString();
|
|
32
29
|
const minDelegatorStake = substrateApi.api.consts.parachainStaking.minDelegatorStake.toString();
|
|
33
30
|
const unstakingDelay = substrateApi.api.consts.parachainStaking.stakeDuration.toString();
|
|
@@ -51,7 +48,7 @@ function subscribeAmplitudeStakingMetadata(chain, substrateApi, callback) {
|
|
|
51
48
|
async function getAmplitudeStakingMetadata(chain, substrateApi) {
|
|
52
49
|
const chainApi = await substrateApi.isReady;
|
|
53
50
|
const _round = (await chainApi.api.query.parachainStaking.round()).toHuman();
|
|
54
|
-
const round = (0,
|
|
51
|
+
const round = (0, _utils2.parseRawNumber)(_round.current);
|
|
55
52
|
const maxDelegations = chainApi.api.consts.parachainStaking.maxDelegationsPerRound.toString();
|
|
56
53
|
const minDelegatorStake = chainApi.api.consts.parachainStaking.minDelegatorStake.toString();
|
|
57
54
|
const unstakingDelay = chainApi.api.consts.parachainStaking.stakeDuration.toString();
|
|
@@ -79,16 +76,16 @@ async function subscribeAmplitudeNominatorMetadata(chainInfo, address, substrate
|
|
|
79
76
|
let activeStake = '0';
|
|
80
77
|
if (delegatorState) {
|
|
81
78
|
// delegatorState can be null while unstaking all
|
|
82
|
-
const identityPromises = delegatorState.map(delegate => (0,
|
|
79
|
+
const identityPromises = delegatorState.map(delegate => (0, _utils.parseIdentity)(substrateApi, delegate.owner));
|
|
83
80
|
const identities = await Promise.all(identityPromises);
|
|
84
81
|
for (let i = 0; i < delegatorState.length; i++) {
|
|
85
82
|
const delegate = delegatorState[i];
|
|
86
83
|
const [identity] = identities[i];
|
|
87
84
|
activeStake = delegate.amount.toString();
|
|
88
85
|
const bnActiveStake = new _util.BN(activeStake);
|
|
89
|
-
let delegationStatus =
|
|
86
|
+
let delegationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
|
|
90
87
|
if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegatorStake))) {
|
|
91
|
-
delegationStatus =
|
|
88
|
+
delegationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
|
|
92
89
|
}
|
|
93
90
|
nominationList.push({
|
|
94
91
|
status: delegationStatus,
|
|
@@ -114,7 +111,7 @@ async function subscribeAmplitudeNominatorMetadata(chainInfo, address, substrate
|
|
|
114
111
|
const waitingTime = remainingBlock * blockDuration;
|
|
115
112
|
unstakingList.push({
|
|
116
113
|
chain: chainInfo.slug,
|
|
117
|
-
status: isClaimable ?
|
|
114
|
+
status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
|
|
118
115
|
claimable: unstakingAmount.toString(),
|
|
119
116
|
waitingTime,
|
|
120
117
|
validatorAddress: undefined
|
|
@@ -122,7 +119,7 @@ async function subscribeAmplitudeNominatorMetadata(chainInfo, address, substrate
|
|
|
122
119
|
}
|
|
123
120
|
}
|
|
124
121
|
}
|
|
125
|
-
const stakingStatus = (0, _utils.
|
|
122
|
+
const stakingStatus = (0, _utils.getStakingStatusByNominations)(new _util.BN(activeStake), nominationList);
|
|
126
123
|
return {
|
|
127
124
|
chain: chainInfo.slug,
|
|
128
125
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
@@ -154,7 +151,7 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
154
151
|
chain: chainInfo.slug,
|
|
155
152
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
156
153
|
address,
|
|
157
|
-
status:
|
|
154
|
+
status: _KoniTypes.StakingStatus.NOT_STAKING,
|
|
158
155
|
activeStake: '0',
|
|
159
156
|
nominations: [],
|
|
160
157
|
unstakings: []
|
|
@@ -163,12 +160,12 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
163
160
|
let activeStake = '0';
|
|
164
161
|
if (delegatorState) {
|
|
165
162
|
// delegatorState can be null while unstaking all
|
|
166
|
-
const [identity] = await (0,
|
|
163
|
+
const [identity] = await (0, _utils.parseIdentity)(substrateApi, delegatorState.owner);
|
|
167
164
|
activeStake = delegatorState.amount.toString();
|
|
168
165
|
const bnActiveStake = new _util.BN(activeStake);
|
|
169
|
-
let delegationStatus =
|
|
166
|
+
let delegationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
|
|
170
167
|
if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegatorStake))) {
|
|
171
|
-
delegationStatus =
|
|
168
|
+
delegationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
|
|
172
169
|
}
|
|
173
170
|
nominationList.push({
|
|
174
171
|
status: delegationStatus,
|
|
@@ -195,7 +192,7 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
195
192
|
const waitingTime = remainingBlock * blockDuration;
|
|
196
193
|
unstakingList.push({
|
|
197
194
|
chain,
|
|
198
|
-
status: isClaimable ?
|
|
195
|
+
status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
|
|
199
196
|
claimable: nearestUnstakingAmount.toString(),
|
|
200
197
|
waitingTime,
|
|
201
198
|
validatorAddress: (delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.owner) || undefined
|
|
@@ -204,7 +201,7 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
204
201
|
if (nominationList.length === 0 && unstakingList.length === 0) {
|
|
205
202
|
return;
|
|
206
203
|
}
|
|
207
|
-
const stakingStatus = (0, _utils.
|
|
204
|
+
const stakingStatus = (0, _utils.getStakingStatusByNominations)(new _util.BN(activeStake), nominationList);
|
|
208
205
|
return {
|
|
209
206
|
chain,
|
|
210
207
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
@@ -219,7 +216,7 @@ async function getAmplitudeCollatorsInfo(chain, substrateApi) {
|
|
|
219
216
|
const chainApi = await substrateApi.isReady;
|
|
220
217
|
|
|
221
218
|
// Noted: Krest do not have reward
|
|
222
|
-
if (
|
|
219
|
+
if (_constants._STAKING_CHAIN_GROUP.krest_network.includes(chain)) {
|
|
223
220
|
const _allCollators = await chainApi.api.query.parachainStaking.candidatePool.entries();
|
|
224
221
|
const maxDelegatorsPerCollator = chainApi.api.consts.parachainStaking.maxDelegatorsPerCollator.toString();
|
|
225
222
|
const allCollators = [];
|
|
@@ -282,7 +279,7 @@ async function getAmplitudeBondingExtrinsic(substrateApi, amount, selectedValida
|
|
|
282
279
|
const {
|
|
283
280
|
bondedValidators
|
|
284
281
|
} = (0, _utils.getBondedValidators)(nominatorMetadata.nominations);
|
|
285
|
-
if (!bondedValidators.includes((0,
|
|
282
|
+
if (!bondedValidators.includes((0, _utils2.reformatAddress)(selectedValidatorInfo.address, 0))) {
|
|
286
283
|
return chainApi.api.tx.parachainStaking.joinDelegators(selectedValidatorInfo.address, binaryAmount);
|
|
287
284
|
} else {
|
|
288
285
|
const _params = chainApi.api.tx.parachainStaking.delegatorStakeMore.toJSON();
|
|
@@ -17,7 +17,6 @@ exports.subscribeAstarStakingMetadata = subscribeAstarStakingMetadata;
|
|
|
17
17
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
18
18
|
var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
|
|
19
19
|
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
20
|
-
var _types = require("@subwallet/extension-base/types");
|
|
21
20
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
22
21
|
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
23
22
|
var _util = require("@polkadot/util");
|
|
@@ -116,7 +115,7 @@ async function subscribeAstarNominatorMetadata(chainInfo, address, substrateApi,
|
|
|
116
115
|
const currentStake = stakeList.slice(-1)[0].staked.toString() || '0';
|
|
117
116
|
const bnCurrentStake = new _util.BN(currentStake);
|
|
118
117
|
if (bnCurrentStake.gt(_util.BN_ZERO)) {
|
|
119
|
-
const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ?
|
|
118
|
+
const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ? _KoniTypes.StakingStatus.EARNING_REWARD : _KoniTypes.StakingStatus.NOT_EARNING;
|
|
120
119
|
bnTotalActiveStake = bnTotalActiveStake.add(bnCurrentStake);
|
|
121
120
|
const dappInfo = dAppInfoMap[dappAddress];
|
|
122
121
|
nominationList.push({
|
|
@@ -140,7 +139,7 @@ async function subscribeAstarNominatorMetadata(chainInfo, address, substrateApi,
|
|
|
140
139
|
const waitingTime = remainingEra * _constants._STAKING_ERA_LENGTH_MAP[chainInfo.slug];
|
|
141
140
|
unstakingList.push({
|
|
142
141
|
chain: chainInfo.slug,
|
|
143
|
-
status: isClaimable ?
|
|
142
|
+
status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
|
|
144
143
|
claimable: unlockingChunk.amount.toString(),
|
|
145
144
|
waitingTime
|
|
146
145
|
});
|
|
@@ -151,13 +150,13 @@ async function subscribeAstarNominatorMetadata(chainInfo, address, substrateApi,
|
|
|
151
150
|
chain: chainInfo.slug,
|
|
152
151
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
153
152
|
address,
|
|
154
|
-
status:
|
|
153
|
+
status: _KoniTypes.StakingStatus.NOT_STAKING,
|
|
155
154
|
activeStake: '0',
|
|
156
155
|
nominations: [],
|
|
157
156
|
unstakings: []
|
|
158
157
|
};
|
|
159
158
|
}
|
|
160
|
-
const stakingStatus = (0, _utils.
|
|
159
|
+
const stakingStatus = (0, _utils.getStakingStatusByNominations)(bnTotalActiveStake, nominationList);
|
|
161
160
|
return {
|
|
162
161
|
chain: chainInfo.slug,
|
|
163
162
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
@@ -202,7 +201,7 @@ async function getAstarNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
202
201
|
const currentStake = stakeList.slice(-1)[0].staked.toString() || '0';
|
|
203
202
|
const bnCurrentStake = new _util.BN(currentStake);
|
|
204
203
|
if (bnCurrentStake.gt(_util.BN_ZERO)) {
|
|
205
|
-
const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ?
|
|
204
|
+
const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ? _KoniTypes.StakingStatus.EARNING_REWARD : _KoniTypes.StakingStatus.NOT_EARNING;
|
|
206
205
|
bnTotalActiveStake = bnTotalActiveStake.add(bnCurrentStake);
|
|
207
206
|
const dappInfo = dAppInfoMap[dappAddress];
|
|
208
207
|
nominationList.push({
|
|
@@ -226,7 +225,7 @@ async function getAstarNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
226
225
|
const waitingTime = remainingEra * _constants._STAKING_ERA_LENGTH_MAP[chain];
|
|
227
226
|
unstakingList.push({
|
|
228
227
|
chain,
|
|
229
|
-
status: isClaimable ?
|
|
228
|
+
status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
|
|
230
229
|
claimable: unlockingChunk.amount.toString(),
|
|
231
230
|
waitingTime
|
|
232
231
|
});
|
|
@@ -237,13 +236,13 @@ async function getAstarNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
237
236
|
chain: chainInfo.slug,
|
|
238
237
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
239
238
|
address,
|
|
240
|
-
status:
|
|
239
|
+
status: _KoniTypes.StakingStatus.NOT_STAKING,
|
|
241
240
|
activeStake: '0',
|
|
242
241
|
nominations: [],
|
|
243
242
|
unstakings: []
|
|
244
243
|
};
|
|
245
244
|
}
|
|
246
|
-
const stakingStatus = (0, _utils.
|
|
245
|
+
const stakingStatus = (0, _utils.getStakingStatusByNominations)(bnTotalActiveStake, nominationList);
|
|
247
246
|
return {
|
|
248
247
|
chain,
|
|
249
248
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
@@ -370,13 +369,13 @@ async function getAstarClaimRewardExtrinsic(substrateApi, address) {
|
|
|
370
369
|
function getAstarWithdrawable(nominatorMetadata) {
|
|
371
370
|
const unstakingInfo = {
|
|
372
371
|
chain: nominatorMetadata.chain,
|
|
373
|
-
status:
|
|
372
|
+
status: _KoniTypes.UnstakingStatus.CLAIMABLE,
|
|
374
373
|
claimable: '0',
|
|
375
374
|
waitingTime: 0
|
|
376
375
|
};
|
|
377
376
|
let bnWithdrawable = _util.BN_ZERO;
|
|
378
377
|
for (const unstaking of nominatorMetadata.unstakings) {
|
|
379
|
-
if (unstaking.status ===
|
|
378
|
+
if (unstaking.status === _KoniTypes.UnstakingStatus.CLAIMABLE) {
|
|
380
379
|
bnWithdrawable = bnWithdrawable.add(new _util.BN(unstaking.claimable));
|
|
381
380
|
}
|
|
382
381
|
}
|
|
@@ -20,16 +20,13 @@ var _amplitude = require("@subwallet/extension-base/koni/api/staking/bonding/amp
|
|
|
20
20
|
var _astar = require("@subwallet/extension-base/koni/api/staking/bonding/astar");
|
|
21
21
|
var _paraChain = require("@subwallet/extension-base/koni/api/staking/bonding/paraChain");
|
|
22
22
|
var _relayChain = require("@subwallet/extension-base/koni/api/staking/bonding/relayChain");
|
|
23
|
-
var _constants = require("@subwallet/extension-base/services/
|
|
23
|
+
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
24
24
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
25
25
|
// SPDX-License-Identifier: Apache-2.0
|
|
26
26
|
|
|
27
27
|
// all addresses must be converted to its chain format
|
|
28
28
|
|
|
29
29
|
function validateUnbondingCondition(nominatorMetadata, amount, chain, chainStakingMetadata, selectedValidator) {
|
|
30
|
-
if (nominatorMetadata.type === _KoniTypes.StakingType.LIQUID_STAKING) {
|
|
31
|
-
return [];
|
|
32
|
-
}
|
|
33
30
|
if (_constants._STAKING_CHAIN_GROUP.relay.includes(chain)) {
|
|
34
31
|
return (0, _relayChain.validateRelayUnbondingCondition)(amount, chainStakingMetadata, nominatorMetadata);
|
|
35
32
|
}
|
|
@@ -21,9 +21,7 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
|
21
21
|
var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
|
|
22
22
|
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
23
23
|
var _utils2 = require("@subwallet/extension-base/services/chain-service/utils");
|
|
24
|
-
var _utils3 = require("@subwallet/extension-base/
|
|
25
|
-
var _types = require("@subwallet/extension-base/types");
|
|
26
|
-
var _utils4 = require("@subwallet/extension-base/utils");
|
|
24
|
+
var _utils3 = require("@subwallet/extension-base/utils");
|
|
27
25
|
var _util = require("@polkadot/util");
|
|
28
26
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
29
27
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
@@ -33,7 +31,7 @@ function validateParaChainUnbondingCondition(amount, nominatorMetadata, chainSta
|
|
|
33
31
|
const errors = [];
|
|
34
32
|
let targetNomination;
|
|
35
33
|
for (const nomination of nominatorMetadata.nominations) {
|
|
36
|
-
if ((0,
|
|
34
|
+
if ((0, _utils3.isSameAddress)(nomination.validatorAddress, selectedCollator)) {
|
|
37
35
|
targetNomination = nomination;
|
|
38
36
|
break;
|
|
39
37
|
}
|
|
@@ -66,7 +64,7 @@ function validateParaChainBondingCondition(chainInfo, amount, selectedCollators,
|
|
|
66
64
|
const minStakeErrorMessage = (0, _utils.getMinStakeErrorMessage)(chainInfo, bnMinStake);
|
|
67
65
|
const maxValidatorErrorMessage = (0, _utils.getMaxValidatorErrorMessage)(chainInfo, chainStakingMetadata.maxValidatorPerNominator);
|
|
68
66
|
const existUnstakeErrorMessage = (0, _utils.getExistUnstakeErrorMessage)(chainInfo.slug, nominatorMetadata === null || nominatorMetadata === void 0 ? void 0 : nominatorMetadata.type, true);
|
|
69
|
-
if (!nominatorMetadata || nominatorMetadata.status ===
|
|
67
|
+
if (!nominatorMetadata || nominatorMetadata.status === _KoniTypes.StakingStatus.NOT_STAKING) {
|
|
70
68
|
if (!bnTotalStake.gte(bnMinStake)) {
|
|
71
69
|
errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
|
|
72
70
|
}
|
|
@@ -75,7 +73,7 @@ function validateParaChainBondingCondition(chainInfo, amount, selectedCollators,
|
|
|
75
73
|
const {
|
|
76
74
|
bondedValidators
|
|
77
75
|
} = (0, _utils.getBondedValidators)(nominatorMetadata.nominations);
|
|
78
|
-
const parsedSelectedCollatorAddress = (0,
|
|
76
|
+
const parsedSelectedCollatorAddress = (0, _utils3.reformatAddress)(selectedCollator.address, 0);
|
|
79
77
|
if (!bondedValidators.includes(parsedSelectedCollatorAddress)) {
|
|
80
78
|
// new delegation
|
|
81
79
|
if (!bnTotalStake.gte(bnMinStake)) {
|
|
@@ -89,7 +87,7 @@ function validateParaChainBondingCondition(chainInfo, amount, selectedCollators,
|
|
|
89
87
|
let currentDelegationAmount = '0';
|
|
90
88
|
let hasUnstaking = false;
|
|
91
89
|
for (const delegation of nominatorMetadata.nominations) {
|
|
92
|
-
if ((0,
|
|
90
|
+
if ((0, _utils3.reformatAddress)(delegation.validatorAddress, 0) === parsedSelectedCollatorAddress) {
|
|
93
91
|
currentDelegationAmount = delegation.activeStake;
|
|
94
92
|
hasUnstaking = !!delegation.hasUnstaking && delegation.hasUnstaking;
|
|
95
93
|
break;
|
|
@@ -109,7 +107,7 @@ function subscribeParaChainStakingMetadata(chain, substrateApi, callback) {
|
|
|
109
107
|
return substrateApi.api.query.parachainStaking.round(_round => {
|
|
110
108
|
var _substrateApi$api$con, _substrateApi$api$con2, _substrateApi$api$con3, _substrateApi$api$con4, _substrateApi$api$con5, _substrateApi$api$con6;
|
|
111
109
|
const roundObj = _round.toHuman();
|
|
112
|
-
const round = (0,
|
|
110
|
+
const round = (0, _utils3.parseRawNumber)(roundObj.current);
|
|
113
111
|
const maxDelegations = (_substrateApi$api$con = substrateApi.api.consts) === null || _substrateApi$api$con === void 0 ? void 0 : (_substrateApi$api$con2 = _substrateApi$api$con.parachainStaking) === null || _substrateApi$api$con2 === void 0 ? void 0 : (_substrateApi$api$con3 = _substrateApi$api$con2.maxDelegationsPerDelegator) === null || _substrateApi$api$con3 === void 0 ? void 0 : _substrateApi$api$con3.toString();
|
|
114
112
|
const unstakingDelay = substrateApi.api.consts.parachainStaking.delegationBondLessDelay.toString();
|
|
115
113
|
const unstakingPeriod = parseInt(unstakingDelay) * (_constants._STAKING_ERA_LENGTH_MAP[chain] || _constants._STAKING_ERA_LENGTH_MAP.default);
|
|
@@ -131,7 +129,7 @@ async function getParaChainStakingMetadata(chain, substrateApi) {
|
|
|
131
129
|
var _chainApi$api$consts$, _chainApi$api$consts$2;
|
|
132
130
|
const chainApi = await substrateApi.isReady;
|
|
133
131
|
const _round = (await chainApi.api.query.parachainStaking.round()).toHuman();
|
|
134
|
-
const round = (0,
|
|
132
|
+
const round = (0, _utils3.parseRawNumber)(_round.current);
|
|
135
133
|
const maxDelegations = chainApi.api.consts.parachainStaking.maxDelegationsPerDelegator.toString();
|
|
136
134
|
const unstakingDelay = chainApi.api.consts.parachainStaking.delegationBondLessDelay.toString();
|
|
137
135
|
const minDelegatorStake = (_chainApi$api$consts$ = chainApi.api.consts.parachainStaking) === null || _chainApi$api$consts$ === void 0 ? void 0 : (_chainApi$api$consts$2 = _chainApi$api$consts$.minDelegatorStk) === null || _chainApi$api$consts$2 === void 0 ? void 0 : _chainApi$api$consts$2.toString();
|
|
@@ -152,7 +150,7 @@ async function getParaChainStakingMetadata(chain, substrateApi) {
|
|
|
152
150
|
}
|
|
153
151
|
|
|
154
152
|
const inflationConfig = _inflation.toHuman();
|
|
155
|
-
const inflation = (0, _utils.getParaCurrentInflation)((0,
|
|
153
|
+
const inflation = (0, _utils.getParaCurrentInflation)((0, _utils3.parseRawNumber)(totalStake.toString()), inflationConfig);
|
|
156
154
|
const unstakingPeriod = parseInt(unstakingDelay) * _constants._STAKING_ERA_LENGTH_MAP[chain];
|
|
157
155
|
return {
|
|
158
156
|
chain,
|
|
@@ -175,17 +173,17 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
|
|
|
175
173
|
const roundInfo = _roundInfo.toPrimitive();
|
|
176
174
|
const currentRound = roundInfo.current;
|
|
177
175
|
await Promise.all(delegatorState.delegations.map(async delegation => {
|
|
178
|
-
const [_delegationScheduledRequests, [identity], _collatorInfo] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0,
|
|
176
|
+
const [_delegationScheduledRequests, [identity], _collatorInfo] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils.parseIdentity)(substrateApi, delegation.owner), substrateApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
|
|
179
177
|
const collatorInfo = _collatorInfo.toPrimitive();
|
|
180
178
|
const minDelegation = collatorInfo === null || collatorInfo === void 0 ? void 0 : collatorInfo.lowestTopDelegationAmount.toString();
|
|
181
179
|
const delegationScheduledRequests = _delegationScheduledRequests.toPrimitive();
|
|
182
180
|
let hasUnstaking = false;
|
|
183
|
-
let delegationStatus =
|
|
181
|
+
let delegationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
|
|
184
182
|
|
|
185
183
|
// parse unstaking info
|
|
186
184
|
if (delegationScheduledRequests) {
|
|
187
185
|
for (const scheduledRequest of delegationScheduledRequests) {
|
|
188
|
-
if ((0,
|
|
186
|
+
if ((0, _utils3.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils3.reformatAddress)(address, 0)) {
|
|
189
187
|
// add network prefix
|
|
190
188
|
const isClaimable = scheduledRequest.whenExecutable - currentRound < 0;
|
|
191
189
|
const remainingEra = scheduledRequest.whenExecutable - currentRound;
|
|
@@ -193,7 +191,7 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
|
|
|
193
191
|
const claimable = Object.values(scheduledRequest.action)[0];
|
|
194
192
|
unstakingMap[delegation.owner] = {
|
|
195
193
|
chain: chainInfo.slug,
|
|
196
|
-
status: isClaimable ?
|
|
194
|
+
status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
|
|
197
195
|
validatorAddress: delegation.owner,
|
|
198
196
|
claimable: claimable.toString(),
|
|
199
197
|
waitingTime
|
|
@@ -208,7 +206,7 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
|
|
|
208
206
|
const bnUnstakeBalance = unstakingMap[delegation.owner] ? new _util.BN(unstakingMap[delegation.owner].claimable) : _util.BN_ZERO;
|
|
209
207
|
const bnActiveStake = bnStake.sub(bnUnstakeBalance);
|
|
210
208
|
if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegation))) {
|
|
211
|
-
delegationStatus =
|
|
209
|
+
delegationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
|
|
212
210
|
}
|
|
213
211
|
bnTotalActiveStake = bnTotalActiveStake.add(bnActiveStake);
|
|
214
212
|
nominationList.push({
|
|
@@ -229,7 +227,7 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
|
|
|
229
227
|
// nomination.validatorMinStake = collatorInfo.lowestTopDelegationAmount.toString();
|
|
230
228
|
// }));
|
|
231
229
|
|
|
232
|
-
const stakingStatus = (0, _utils.
|
|
230
|
+
const stakingStatus = (0, _utils.getStakingStatusByNominations)(bnTotalActiveStake, nominationList);
|
|
233
231
|
return {
|
|
234
232
|
chain: chainInfo.slug,
|
|
235
233
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
@@ -259,7 +257,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
259
257
|
chain: chainInfo.slug,
|
|
260
258
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
261
259
|
address,
|
|
262
|
-
status:
|
|
260
|
+
status: _KoniTypes.StakingStatus.NOT_STAKING,
|
|
263
261
|
activeStake: '0',
|
|
264
262
|
nominations: [],
|
|
265
263
|
unstakings: []
|
|
@@ -267,19 +265,19 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
267
265
|
}
|
|
268
266
|
let bnTotalActiveStake = _util.BN_ZERO;
|
|
269
267
|
await Promise.all(delegatorState.delegations.map(async delegation => {
|
|
270
|
-
const [_delegationScheduledRequests, [identity], _roundInfo, _collatorInfo] = await Promise.all([chainApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0,
|
|
268
|
+
const [_delegationScheduledRequests, [identity], _roundInfo, _collatorInfo] = await Promise.all([chainApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils.parseIdentity)(substrateApi, delegation.owner), chainApi.api.query.parachainStaking.round(), chainApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
|
|
271
269
|
const rawCollatorInfo = _collatorInfo.toHuman();
|
|
272
270
|
const minDelegation = (rawCollatorInfo === null || rawCollatorInfo === void 0 ? void 0 : rawCollatorInfo.lowestTopDelegationAmount).replaceAll(',', '');
|
|
273
271
|
const roundInfo = _roundInfo.toPrimitive();
|
|
274
272
|
const delegationScheduledRequests = _delegationScheduledRequests.toPrimitive();
|
|
275
273
|
const currentRound = roundInfo.current;
|
|
276
274
|
let hasUnstaking = false;
|
|
277
|
-
let delegationStatus =
|
|
275
|
+
let delegationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
|
|
278
276
|
|
|
279
277
|
// parse unstaking info
|
|
280
278
|
if (delegationScheduledRequests) {
|
|
281
279
|
for (const scheduledRequest of delegationScheduledRequests) {
|
|
282
|
-
if ((0,
|
|
280
|
+
if ((0, _utils3.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils3.reformatAddress)(address, 0)) {
|
|
283
281
|
// add network prefix
|
|
284
282
|
const isClaimable = scheduledRequest.whenExecutable - currentRound < 0;
|
|
285
283
|
const remainingEra = scheduledRequest.whenExecutable - (currentRound + 1);
|
|
@@ -287,7 +285,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
287
285
|
const claimable = Object.values(scheduledRequest.action)[0];
|
|
288
286
|
unstakingMap[delegation.owner] = {
|
|
289
287
|
chain,
|
|
290
|
-
status: isClaimable ?
|
|
288
|
+
status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
|
|
291
289
|
validatorAddress: delegation.owner,
|
|
292
290
|
claimable: claimable.toString(),
|
|
293
291
|
waitingTime: waitingTime
|
|
@@ -302,7 +300,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
302
300
|
const bnUnstakeBalance = unstakingMap[delegation.owner] ? new _util.BN(unstakingMap[delegation.owner].claimable) : _util.BN_ZERO;
|
|
303
301
|
const bnActiveStake = bnStake.sub(bnUnstakeBalance);
|
|
304
302
|
if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegation))) {
|
|
305
|
-
delegationStatus =
|
|
303
|
+
delegationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
|
|
306
304
|
}
|
|
307
305
|
bnTotalActiveStake = bnTotalActiveStake.add(bnActiveStake);
|
|
308
306
|
nominationList.push({
|
|
@@ -319,7 +317,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
319
317
|
const collatorInfo = _collatorInfo.toPrimitive();
|
|
320
318
|
nomination.validatorMinStake = collatorInfo.lowestTopDelegationAmount.toString();
|
|
321
319
|
}));
|
|
322
|
-
const stakingStatus = (0, _utils.
|
|
320
|
+
const stakingStatus = (0, _utils.getStakingStatusByNominations)(bnTotalActiveStake, nominationList);
|
|
323
321
|
return {
|
|
324
322
|
chain,
|
|
325
323
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
@@ -362,7 +360,7 @@ async function getParachainCollatorsInfo(chain, substrateApi) {
|
|
|
362
360
|
}
|
|
363
361
|
const extraInfoMap = {};
|
|
364
362
|
await Promise.all(allCollators.map(async collator => {
|
|
365
|
-
const [_info, [identity, isReasonable]] = await Promise.all([apiProps.api.query.parachainStaking.candidateInfo(collator.address), (0,
|
|
363
|
+
const [_info, [identity, isReasonable]] = await Promise.all([apiProps.api.query.parachainStaking.candidateInfo(collator.address), (0, _utils.parseIdentity)(apiProps, collator.address)]);
|
|
366
364
|
const rawInfo = _info.toHuman();
|
|
367
365
|
const active = (rawInfo === null || rawInfo === void 0 ? void 0 : rawInfo.status) === 'Active';
|
|
368
366
|
extraInfoMap[collator.address] = {
|
|
@@ -390,7 +388,7 @@ async function getParaBondingExtrinsic(chainInfo, substrateApi, amount, selected
|
|
|
390
388
|
bondedValidators,
|
|
391
389
|
nominationCount
|
|
392
390
|
} = (0, _utils.getBondedValidators)(nominatorMetadata.nominations);
|
|
393
|
-
const parsedSelectedCollatorAddress = (0,
|
|
391
|
+
const parsedSelectedCollatorAddress = (0, _utils3.reformatAddress)(selectedCollatorInfo.address, 0);
|
|
394
392
|
if (!bondedValidators.includes(parsedSelectedCollatorAddress)) {
|
|
395
393
|
return apiPromise.api.tx.parachainStaking.delegate(selectedCollatorInfo.address, binaryAmount, new _util.BN(selectedCollatorInfo.nominatorCount), nominationCount);
|
|
396
394
|
} else {
|