@subwallet/extension-base 1.3.70-2 → 1.3.72-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 +13 -2
- package/background/KoniTypes.js +68 -9
- package/cjs/background/KoniTypes.js +68 -9
- package/cjs/constants/blocked-actions.js +3 -0
- package/cjs/core/logic-validation/recipientAddress.js +1 -1
- package/cjs/core/logic-validation/swap.js +0 -3
- package/cjs/core/logic-validation/transfer.js +33 -10
- package/cjs/core/substrate/system-pallet.js +0 -2
- package/cjs/core/types.js +1 -0
- package/cjs/koni/api/nft/wasm_nft/index.js +0 -1
- package/cjs/koni/api/staking/bonding/astar.js +0 -2
- package/cjs/koni/api/staking/bonding/paraChain.js +0 -3
- package/cjs/koni/api/staking/bonding/relayChain.js +2 -4
- package/cjs/koni/api/staking/bonding/utils.js +0 -4
- package/cjs/koni/background/cron.js +0 -1
- package/cjs/koni/background/handlers/Extension.js +235 -166
- package/cjs/koni/background/handlers/State.js +56 -52
- package/cjs/koni/background/handlers/Tabs.js +39 -34
- package/cjs/packageInfo.js +1 -1
- package/cjs/page/index.js +7 -0
- package/cjs/page/substrate/PostMessageProvider.js +3 -0
- package/cjs/services/balance-service/helpers/subscribe/cardano/utils.js +0 -1
- package/cjs/services/balance-service/helpers/subscribe/substrate/gear.js +0 -2
- package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +48 -5
- package/cjs/services/balance-service/helpers/subscribe/ton/utils.js +0 -3
- package/cjs/services/balance-service/index.js +103 -7
- package/cjs/services/balance-service/transfer/bitcoin-transfer.js +0 -1
- package/cjs/services/balance-service/transfer/cardano-transfer.js +1 -2
- package/cjs/services/balance-service/transfer/smart-contract.js +0 -1
- package/cjs/services/balance-service/transfer/token.js +13 -37
- package/cjs/services/balance-service/transfer/ton-transfer.js +0 -1
- package/cjs/services/balance-service/transfer/xcm/index.js +3 -8
- package/cjs/services/balance-service/transfer/xcm/snowBridge.js +0 -1
- package/cjs/services/balance-service/transfer/xcm/utils.js +1 -1
- package/cjs/services/chain-service/constants.js +6 -5
- package/cjs/services/chain-service/handler/CardanoApi.js +3 -1
- package/cjs/services/chain-service/handler/SubstrateApi.js +0 -2
- package/cjs/services/chain-service/handler/light-client/index.js +1 -2
- package/cjs/services/chain-service/health-check/index.js +0 -1
- package/cjs/services/chain-service/health-check/utils/new-utils/chain-asset-validate.js +0 -1
- package/cjs/services/chain-service/index.js +19 -26
- package/cjs/services/chain-service/utils/index.js +21 -25
- package/cjs/services/chain-service/utils/patch.js +1 -1
- package/cjs/services/earning-service/handlers/base.js +32 -0
- package/cjs/services/earning-service/handlers/lending/base.js +0 -2
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -1
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -2
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -2
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -1
- package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -2
- package/cjs/services/earning-service/handlers/native-staking/dtao.js +43 -2
- package/cjs/services/earning-service/handlers/native-staking/energy.js +0 -1
- package/cjs/services/earning-service/handlers/native-staking/mythos.js +0 -2
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -2
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +8 -9
- package/cjs/services/earning-service/handlers/special.js +7 -0
- package/cjs/services/history-service/subsquid-multi-chain-history.js +0 -1
- package/cjs/services/keyring-service/context/handlers/Derive.js +1 -1
- package/cjs/services/keyring-service/context/handlers/Migration.js +11 -9
- package/cjs/services/keyring-service/context/handlers/Mnemonic.js +18 -13
- package/cjs/services/keyring-service/context/state.js +21 -3
- package/cjs/services/keyring-service/utils.js +12 -2
- package/cjs/services/migration-service/index.js +1 -2
- package/cjs/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251223.js +55 -0
- package/cjs/services/migration-service/scripts/databases/MigrateAssetSetting20251223.js +41 -0
- package/cjs/services/migration-service/scripts/index.js +17 -13
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -1
- package/cjs/services/nft-service/index.js +5 -0
- package/cjs/services/open-gov/handler.js +0 -2
- package/cjs/services/open-gov/interface.js +4 -1
- package/cjs/services/request-service/handler/BitcoinRequestHandler.js +1 -2
- package/cjs/services/request-service/handler/CardanoRequestHandler.js +0 -1
- package/cjs/services/request-service/handler/EvmRequestHandler.js +0 -1
- package/cjs/services/request-service/handler/TonRequestHandler.js +0 -1
- package/cjs/services/request-service/helper/index.js +1 -2
- package/cjs/services/storage-service/DatabaseService.js +0 -2
- package/cjs/services/storage-service/databases/index.js +2 -0
- package/cjs/services/substrate-proxy-service/constant.js +26 -0
- package/cjs/services/substrate-proxy-service/index.js +170 -0
- package/cjs/services/swap-service/handler/asset-hub/handler.js +0 -1
- package/cjs/services/swap-service/handler/asset-hub/router.js +0 -1
- package/cjs/services/swap-service/handler/chainflip-handler.js +1 -4
- package/cjs/services/swap-service/handler/hydradx-handler.js +0 -1
- package/cjs/services/swap-service/handler/kyber-handler.js +0 -1
- package/cjs/services/swap-service/handler/optimex-handler.js +1 -2
- package/cjs/services/swap-service/handler/simpleswap-handler.js +1 -3
- package/cjs/services/swap-service/handler/uniswap-handler.js +0 -3
- package/cjs/services/transaction-service/event-parser/index.js +6 -6
- package/cjs/services/transaction-service/index.js +105 -37
- package/cjs/services/transaction-service/utils.js +8 -5
- package/cjs/services/wallet-connect-service/index.js +21 -18
- package/cjs/services/wallet-connect-service/types.js +1 -1
- package/cjs/types/account/info/keyring.js +9 -1
- package/cjs/types/balance/index.js +5 -1
- package/cjs/types/index.js +11 -0
- package/cjs/types/substrateProxyAccount/actions/index.js +1 -0
- package/cjs/types/substrateProxyAccount/index.js +16 -0
- package/cjs/types/swap/index.js +2 -1
- package/cjs/types/transaction/process.js +2 -0
- package/cjs/types/yield/actions/join/step.js +17 -1
- package/cjs/utils/account/common.js +0 -26
- package/cjs/utils/account/derive/info/solo.js +7 -4
- package/cjs/utils/account/derive/validate.js +1 -1
- package/cjs/utils/account/transform.js +10 -5
- package/cjs/utils/auth.js +1 -1
- package/cjs/utils/bitcoin/utxo-management.js +0 -1
- package/cjs/utils/environment.js +2 -1
- package/cjs/utils/fee/transfer.js +5 -4
- package/cjs/utils/index.js +1 -2
- package/constants/blocked-actions.js +3 -0
- package/core/logic-validation/recipientAddress.js +1 -1
- package/core/logic-validation/swap.js +0 -3
- package/core/logic-validation/transfer.d.ts +3 -3
- package/core/logic-validation/transfer.js +34 -11
- package/core/substrate/system-pallet.js +0 -2
- package/core/types.d.ts +2 -1
- package/core/types.js +1 -0
- package/koni/api/nft/wasm_nft/index.js +0 -1
- package/koni/api/staking/bonding/astar.js +0 -2
- package/koni/api/staking/bonding/paraChain.js +0 -3
- package/koni/api/staking/bonding/relayChain.js +2 -4
- package/koni/api/staking/bonding/utils.js +0 -4
- package/koni/background/cron.js +0 -1
- package/koni/background/handlers/Extension.d.ts +3 -0
- package/koni/background/handlers/Extension.js +89 -19
- package/koni/background/handlers/State.d.ts +2 -0
- package/koni/background/handlers/State.js +43 -38
- package/koni/background/handlers/Tabs.js +9 -3
- package/package.json +50 -21
- package/packageInfo.js +1 -1
- package/page/substrate/PostMessageProvider.js +3 -0
- package/services/balance-service/helpers/subscribe/cardano/utils.js +0 -1
- package/services/balance-service/helpers/subscribe/substrate/gear.js +0 -2
- package/services/balance-service/helpers/subscribe/substrate/index.js +47 -4
- package/services/balance-service/helpers/subscribe/ton/utils.js +0 -3
- package/services/balance-service/index.d.ts +8 -0
- package/services/balance-service/index.js +105 -9
- package/services/balance-service/transfer/bitcoin-transfer.js +0 -1
- package/services/balance-service/transfer/smart-contract.js +0 -1
- package/services/balance-service/transfer/token.d.ts +0 -4
- package/services/balance-service/transfer/token.js +12 -35
- package/services/balance-service/transfer/ton-transfer.js +0 -1
- package/services/balance-service/transfer/xcm/index.js +3 -8
- package/services/balance-service/transfer/xcm/snowBridge.js +0 -1
- package/services/balance-service/transfer/xcm/utils.d.ts +0 -2
- package/services/balance-service/transfer/xcm/utils.js +1 -1
- package/services/chain-service/constants.d.ts +1 -1
- package/services/chain-service/constants.js +4 -4
- package/services/chain-service/handler/CardanoApi.js +3 -1
- package/services/chain-service/handler/SubstrateApi.js +0 -2
- package/services/chain-service/health-check/index.js +0 -1
- package/services/chain-service/health-check/utils/new-utils/chain-asset-validate.js +0 -1
- package/services/chain-service/index.d.ts +0 -1
- package/services/chain-service/index.js +16 -23
- package/services/chain-service/utils/index.js +22 -26
- package/services/chain-service/utils/patch.d.ts +1 -1
- package/services/chain-service/utils/patch.js +1 -1
- package/services/earning-service/handlers/base.js +32 -0
- package/services/earning-service/handlers/lending/base.js +0 -2
- package/services/earning-service/handlers/liquid-staking/acala.js +0 -1
- package/services/earning-service/handlers/liquid-staking/base.js +0 -2
- package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -2
- package/services/earning-service/handlers/liquid-staking/parallel.js +0 -1
- package/services/earning-service/handlers/native-staking/astar.js +0 -2
- package/services/earning-service/handlers/native-staking/dtao.js +43 -0
- package/services/earning-service/handlers/native-staking/energy.js +0 -1
- package/services/earning-service/handlers/native-staking/mythos.js +0 -2
- package/services/earning-service/handlers/native-staking/para-chain.js +0 -2
- package/services/earning-service/handlers/native-staking/relay-chain.js +8 -9
- package/services/earning-service/handlers/special.js +7 -0
- package/services/history-service/subsquid-multi-chain-history.js +0 -1
- package/services/keyring-service/context/handlers/Derive.js +2 -2
- package/services/keyring-service/context/handlers/Migration.js +3 -1
- package/services/keyring-service/context/handlers/Mnemonic.d.ts +1 -1
- package/services/keyring-service/context/handlers/Mnemonic.js +16 -10
- package/services/keyring-service/context/state.d.ts +3 -0
- package/services/keyring-service/context/state.js +21 -3
- package/services/keyring-service/utils.d.ts +1 -0
- package/services/keyring-service/utils.js +9 -0
- package/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251223.d.ts +4 -0
- package/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251223.js +46 -0
- package/services/migration-service/scripts/databases/MigrateAssetSetting20251223.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateAssetSetting20251223.js +33 -0
- package/services/migration-service/scripts/index.js +8 -4
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -1
- package/services/nft-service/index.js +6 -0
- package/services/open-gov/handler.js +0 -2
- package/services/open-gov/interface.d.ts +4 -3
- package/services/open-gov/interface.js +4 -1
- package/services/request-service/handler/CardanoRequestHandler.js +0 -1
- package/services/request-service/handler/EvmRequestHandler.js +0 -1
- package/services/request-service/handler/TonRequestHandler.js +0 -1
- package/services/setting-service/constants.js +0 -1
- package/services/storage-service/DatabaseService.js +0 -2
- package/services/storage-service/databases/index.js +3 -0
- package/services/substrate-proxy-service/constant.d.ts +3 -0
- package/services/substrate-proxy-service/constant.js +19 -0
- package/services/substrate-proxy-service/index.d.ts +13 -0
- package/services/substrate-proxy-service/index.js +159 -0
- package/services/swap-service/handler/asset-hub/handler.js +0 -1
- package/services/swap-service/handler/asset-hub/router.js +0 -1
- package/services/swap-service/handler/chainflip-handler.js +0 -2
- package/services/swap-service/handler/hydradx-handler.js +0 -1
- package/services/swap-service/handler/kyber-handler.js +0 -1
- package/services/swap-service/handler/simpleswap-handler.js +0 -1
- package/services/swap-service/handler/uniswap-handler.js +0 -3
- package/services/transaction-service/event-parser/index.js +6 -6
- package/services/transaction-service/index.js +79 -11
- package/services/transaction-service/types.d.ts +2 -2
- package/services/transaction-service/utils.js +8 -5
- package/services/wallet-connect-service/index.js +21 -18
- package/services/wallet-connect-service/types.js +1 -1
- package/types/account/action/add/mnemonic.d.ts +3 -2
- package/types/account/info/keyring.js +9 -1
- package/types/balance/index.js +5 -1
- package/types/balance/transfer.d.ts +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.js +1 -0
- package/types/substrateProxyAccount/actions/index.d.ts +17 -0
- package/types/substrateProxyAccount/actions/index.js +1 -0
- package/types/substrateProxyAccount/index.d.ts +23 -0
- package/types/substrateProxyAccount/index.js +8 -0
- package/types/swap/index.js +2 -1
- package/types/transaction/process.js +3 -1
- package/types/transaction/request.d.ts +1 -0
- package/types/yield/actions/join/step.js +17 -1
- package/types/yield/actions/join/submit.d.ts +1 -1
- package/utils/account/common.d.ts +0 -3
- package/utils/account/common.js +0 -24
- package/utils/account/derive/info/solo.js +8 -5
- package/utils/account/derive/validate.d.ts +2 -2
- package/utils/account/derive/validate.js +1 -1
- package/utils/account/transform.js +10 -5
- package/utils/auth.js +2 -2
- package/utils/bitcoin/utxo-management.js +0 -1
- package/utils/fee/transfer.js +4 -2
- package/utils/index.js +2 -5
|
@@ -35,6 +35,7 @@ import { SignerResult } from '@polkadot/types/types/extrinsic';
|
|
|
35
35
|
import { HexString } from '@polkadot/util/types';
|
|
36
36
|
import { EarningImpactResult } from '../services/earning-service/handlers/native-staking/dtao';
|
|
37
37
|
import { GovVoteRequest, GovVotingInfo, RemoveVoteRequest, UnlockVoteRequest } from '../services/open-gov/interface';
|
|
38
|
+
import { RequestAddSubstrateProxyAccount, RequestGetSubstrateProxyAccountGroup, RequestRemoveSubstrateProxyAccount, SubstrateProxyAccountGroup } from '../types/substrateProxyAccount';
|
|
38
39
|
import { TransactionWarning } from './warnings/TransactionWarning';
|
|
39
40
|
export declare enum RuntimeEnvironment {
|
|
40
41
|
Web = "Web",
|
|
@@ -450,8 +451,10 @@ export declare enum ExtrinsicType {
|
|
|
450
451
|
CLAIM_BRIDGE = "claim.claim_bridge",
|
|
451
452
|
GOV_VOTE = "gov.vote",
|
|
452
453
|
GOV_UNVOTE = "gov.unvote",
|
|
453
|
-
GOV_UNLOCK_VOTE = "gov.
|
|
454
|
+
GOV_UNLOCK_VOTE = "gov.unlock_vote",
|
|
454
455
|
EVM_EXECUTE = "evm.execute",
|
|
456
|
+
ADD_SUBSTRATE_PROXY_ACCOUNT = "substrateProxyAccount.add",
|
|
457
|
+
REMOVE_SUBSTRATE_PROXY_ACCOUNT = "substrateProxyAccount.remove",
|
|
455
458
|
UNKNOWN = "unknown"
|
|
456
459
|
}
|
|
457
460
|
export interface ExtrinsicDataTypeMap {
|
|
@@ -494,9 +497,12 @@ export interface ExtrinsicDataTypeMap {
|
|
|
494
497
|
[ExtrinsicType.CLAIM_BRIDGE]: RequestClaimBridge;
|
|
495
498
|
[ExtrinsicType.EVM_EXECUTE]: TransactionConfig;
|
|
496
499
|
[ExtrinsicType.CROWDLOAN]: any;
|
|
500
|
+
[ExtrinsicType.SWAP]: SwapTxData;
|
|
497
501
|
[ExtrinsicType.GOV_VOTE]: GovVoteRequest;
|
|
498
502
|
[ExtrinsicType.GOV_UNVOTE]: RemoveVoteRequest;
|
|
499
503
|
[ExtrinsicType.GOV_UNLOCK_VOTE]: UnlockVoteRequest;
|
|
504
|
+
[ExtrinsicType.ADD_SUBSTRATE_PROXY_ACCOUNT]: RequestAddSubstrateProxyAccount;
|
|
505
|
+
[ExtrinsicType.REMOVE_SUBSTRATE_PROXY_ACCOUNT]: RequestRemoveSubstrateProxyAccount;
|
|
500
506
|
[ExtrinsicType.SWAP]: SwapTxData;
|
|
501
507
|
[ExtrinsicType.UNKNOWN]: any;
|
|
502
508
|
}
|
|
@@ -607,6 +613,7 @@ export interface TransactionHistoryItem<ET extends ExtrinsicType = ExtrinsicType
|
|
|
607
613
|
addressPrefix?: number;
|
|
608
614
|
processId?: string;
|
|
609
615
|
apiTxIndex?: number;
|
|
616
|
+
substrateProxyAddresses?: string[];
|
|
610
617
|
}
|
|
611
618
|
export interface SWWarning {
|
|
612
619
|
errorType: string;
|
|
@@ -766,7 +773,7 @@ export declare type TxResultType = {
|
|
|
766
773
|
fee?: string;
|
|
767
774
|
feeSymbol?: string;
|
|
768
775
|
};
|
|
769
|
-
export interface NftTransactionRequest {
|
|
776
|
+
export interface NftTransactionRequest extends BaseRequestSign {
|
|
770
777
|
networkKey: string;
|
|
771
778
|
senderAddress: string;
|
|
772
779
|
recipientAddress: string;
|
|
@@ -834,6 +841,7 @@ export interface SubstrateNftSubmitTransaction extends BaseRequestSign {
|
|
|
834
841
|
senderAddress: string;
|
|
835
842
|
nftItemName?: string;
|
|
836
843
|
recipientAddress: string;
|
|
844
|
+
nftItem: NftItem;
|
|
837
845
|
}
|
|
838
846
|
export declare type RequestSubstrateNftSubmitTransaction = InternalRequestSign<SubstrateNftSubmitTransaction>;
|
|
839
847
|
export interface RequestAccountMeta {
|
|
@@ -2095,6 +2103,9 @@ export interface KoniRequestSignatures {
|
|
|
2095
2103
|
'pri(openGov.unvote)': [RemoveVoteRequest, SWTransactionResponse];
|
|
2096
2104
|
'pri(openGov.subscribeGovLockedInfo)': [null, GovVotingInfo[], GovVotingInfo[]];
|
|
2097
2105
|
'pri(openGov.unlockVote)': [UnlockVoteRequest, SWTransactionResponse];
|
|
2106
|
+
'pri(substrateProxyAccount.getGroupInfo)': [RequestGetSubstrateProxyAccountGroup, SubstrateProxyAccountGroup];
|
|
2107
|
+
'pri(substrateProxyAccount.add)': [RequestAddSubstrateProxyAccount, SWTransactionResponse];
|
|
2108
|
+
'pri(substrateProxyAccount.remove)': [RequestRemoveSubstrateProxyAccount, SWTransactionResponse];
|
|
2098
2109
|
}
|
|
2099
2110
|
export interface ApplicationMetadataType {
|
|
2100
2111
|
version: string;
|
package/background/KoniTypes.js
CHANGED
|
@@ -10,7 +10,16 @@ export let RuntimeEnvironment;
|
|
|
10
10
|
RuntimeEnvironment["WebWorker"] = "Web Worker";
|
|
11
11
|
RuntimeEnvironment["ServiceWorker"] = "Service Worker";
|
|
12
12
|
RuntimeEnvironment["Unknown"] = "Unknown";
|
|
13
|
-
})(RuntimeEnvironment || (RuntimeEnvironment = {}));
|
|
13
|
+
})(RuntimeEnvironment || (RuntimeEnvironment = {})); /// Request Auth
|
|
14
|
+
/// Manage Auth
|
|
15
|
+
// Get Auth
|
|
16
|
+
// Auth All site
|
|
17
|
+
// Manage site auth (all allowed/unAllowed)
|
|
18
|
+
// Manage single auth with single account
|
|
19
|
+
// Manage single site with multi account
|
|
20
|
+
// Manage site block
|
|
21
|
+
// Forget site auth
|
|
22
|
+
// Switch current network auth
|
|
14
23
|
/// Staking subscribe
|
|
15
24
|
|
|
16
25
|
export let StakingType;
|
|
@@ -108,8 +117,10 @@ export let ExtrinsicType;
|
|
|
108
117
|
ExtrinsicType["CLAIM_BRIDGE"] = "claim.claim_bridge";
|
|
109
118
|
ExtrinsicType["GOV_VOTE"] = "gov.vote";
|
|
110
119
|
ExtrinsicType["GOV_UNVOTE"] = "gov.unvote";
|
|
111
|
-
ExtrinsicType["GOV_UNLOCK_VOTE"] = "gov.
|
|
120
|
+
ExtrinsicType["GOV_UNLOCK_VOTE"] = "gov.unlock_vote";
|
|
112
121
|
ExtrinsicType["EVM_EXECUTE"] = "evm.execute";
|
|
122
|
+
ExtrinsicType["ADD_SUBSTRATE_PROXY_ACCOUNT"] = "substrateProxyAccount.add";
|
|
123
|
+
ExtrinsicType["REMOVE_SUBSTRATE_PROXY_ACCOUNT"] = "substrateProxyAccount.remove";
|
|
113
124
|
ExtrinsicType["UNKNOWN"] = "unknown";
|
|
114
125
|
})(ExtrinsicType || (ExtrinsicType = {}));
|
|
115
126
|
export let ExtrinsicStatus;
|
|
@@ -122,7 +133,13 @@ export let ExtrinsicStatus;
|
|
|
122
133
|
ExtrinsicStatus["CANCELLED"] = "cancelled";
|
|
123
134
|
ExtrinsicStatus["TIMEOUT"] = "timeout";
|
|
124
135
|
ExtrinsicStatus["UNKNOWN"] = "unknown";
|
|
125
|
-
})(ExtrinsicStatus || (ExtrinsicStatus = {}));
|
|
136
|
+
})(ExtrinsicStatus || (ExtrinsicStatus = {})); // export type TransactionAdditionalInfo<T extends ExtrinsicType> = T extends ExtrinsicType.TRANSFER_XCM
|
|
137
|
+
// ? XCMTransactionAdditionalInfo
|
|
138
|
+
// : T extends ExtrinsicType.SEND_NFT
|
|
139
|
+
// ? NFTTransactionAdditionalInfo
|
|
140
|
+
// : T extends ExtrinsicType.MINT_VDOT
|
|
141
|
+
// ? Pick<SubmitBifrostLiquidStaking, 'rewardTokenSlug' | 'estimatedAmountReceived'>
|
|
142
|
+
// : undefined;
|
|
126
143
|
export let BalanceErrorType;
|
|
127
144
|
(function (BalanceErrorType) {
|
|
128
145
|
BalanceErrorType["NETWORK_ERROR"] = "NETWORK_ERROR";
|
|
@@ -149,7 +166,11 @@ export let AccountExternalErrorCode;
|
|
|
149
166
|
AccountExternalErrorCode["INVALID_ADDRESS"] = "invalidToAccount";
|
|
150
167
|
AccountExternalErrorCode["KEYRING_ERROR"] = "keyringError";
|
|
151
168
|
AccountExternalErrorCode["UNKNOWN_ERROR"] = "unknownError";
|
|
152
|
-
})(AccountExternalErrorCode || (AccountExternalErrorCode = {}));
|
|
169
|
+
})(AccountExternalErrorCode || (AccountExternalErrorCode = {})); // Attach QR-signer account
|
|
170
|
+
// Attach Ledger account
|
|
171
|
+
// Restore account with public and secret key
|
|
172
|
+
// Subscribe Address Book
|
|
173
|
+
// Inject account
|
|
153
174
|
/// Sign Transaction
|
|
154
175
|
|
|
155
176
|
/// Sign External Request
|
|
@@ -164,7 +185,9 @@ export let ExternalRequestPromiseStatus;
|
|
|
164
185
|
ExternalRequestPromiseStatus[ExternalRequestPromiseStatus["REJECTED"] = 1] = "REJECTED";
|
|
165
186
|
ExternalRequestPromiseStatus[ExternalRequestPromiseStatus["FAILED"] = 2] = "FAILED";
|
|
166
187
|
ExternalRequestPromiseStatus[ExternalRequestPromiseStatus["COMPLETED"] = 3] = "COMPLETED";
|
|
167
|
-
})(ExternalRequestPromiseStatus || (ExternalRequestPromiseStatus = {}));
|
|
188
|
+
})(ExternalRequestPromiseStatus || (ExternalRequestPromiseStatus = {})); // Reject
|
|
189
|
+
// Resolve
|
|
190
|
+
///
|
|
168
191
|
export let ThemeNames;
|
|
169
192
|
(function (ThemeNames) {
|
|
170
193
|
ThemeNames["LIGHT"] = "light";
|
|
@@ -220,29 +243,65 @@ export let CardanoProviderErrorType;
|
|
|
220
243
|
CardanoProviderErrorType["SUBMIT_TRANSACTION_REFUSED"] = "SUBMIT_TRANSACTION_REFUSED";
|
|
221
244
|
CardanoProviderErrorType["SUBMIT_TRANSACTION_FAILURE"] = "SUBMIT_TRANSACTION_FAILURE";
|
|
222
245
|
CardanoProviderErrorType["SIGN_TRANSACTION_DECLINED"] = "SIGN_TRANSACTION_DECLINED";
|
|
223
|
-
})(CardanoProviderErrorType || (CardanoProviderErrorType = {}));
|
|
246
|
+
})(CardanoProviderErrorType || (CardanoProviderErrorType = {})); // TODO: add account info + dataToSign
|
|
247
|
+
// Design to use only one confirmation
|
|
248
|
+
/// Evm transaction
|
|
249
|
+
/// Evm Contract Input
|
|
250
|
+
/// Ledger
|
|
224
251
|
export let POLKADOT_LEDGER_SCHEME;
|
|
225
252
|
(function (POLKADOT_LEDGER_SCHEME) {
|
|
226
253
|
POLKADOT_LEDGER_SCHEME["ED25519"] = "ed25519";
|
|
227
254
|
POLKADOT_LEDGER_SCHEME["ECDSA"] = "ecdsa";
|
|
228
|
-
})(POLKADOT_LEDGER_SCHEME || (POLKADOT_LEDGER_SCHEME = {}));
|
|
255
|
+
})(POLKADOT_LEDGER_SCHEME || (POLKADOT_LEDGER_SCHEME = {})); /// Qr Sign
|
|
256
|
+
// Parse Substrate
|
|
257
|
+
// Parse Evm
|
|
258
|
+
// Check lock
|
|
259
|
+
// Sign
|
|
260
|
+
/// Transfer
|
|
261
|
+
/// Stake
|
|
262
|
+
// Staking & Bonding
|
|
263
|
+
// Migrated
|
|
264
|
+
// Migrated
|
|
265
|
+
// UnBonding
|
|
266
|
+
// Claim
|
|
267
|
+
// Compound
|
|
268
|
+
/// Keyring state
|
|
269
|
+
// Change master password
|
|
270
|
+
// Migrate password
|
|
271
|
+
// Unlock
|
|
272
|
+
// Export mnemonic
|
|
273
|
+
// Reset wallet
|
|
274
|
+
/// Signing
|
|
275
|
+
// Mobile update
|
|
229
276
|
export let NotificationType;
|
|
230
277
|
(function (NotificationType) {
|
|
231
278
|
NotificationType["INFO"] = "info";
|
|
232
279
|
NotificationType["SUCCESS"] = "success";
|
|
233
280
|
NotificationType["WARNING"] = "warning";
|
|
234
281
|
NotificationType["ERROR"] = "error";
|
|
235
|
-
})(NotificationType || (NotificationType = {}));
|
|
282
|
+
})(NotificationType || (NotificationType = {})); // Phishing detect
|
|
283
|
+
// Psp token
|
|
284
|
+
// Popular tokens
|
|
285
|
+
// Sufficient chains
|
|
286
|
+
/// WalletConnect
|
|
287
|
+
// Connect
|
|
288
|
+
// Not support
|
|
289
|
+
/// Manta
|
|
236
290
|
export let MantaPayEnableMessage;
|
|
237
291
|
(function (MantaPayEnableMessage) {
|
|
238
292
|
MantaPayEnableMessage["WRONG_PASSWORD"] = "WRONG_PASSWORD";
|
|
239
293
|
MantaPayEnableMessage["CHAIN_DISCONNECTED"] = "CHAIN_DISCONNECTED";
|
|
240
294
|
MantaPayEnableMessage["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
241
295
|
MantaPayEnableMessage["SUCCESS"] = "SUCCESS";
|
|
242
|
-
})(MantaPayEnableMessage || (MantaPayEnableMessage = {}));
|
|
296
|
+
})(MantaPayEnableMessage || (MantaPayEnableMessage = {})); /// Metadata
|
|
297
|
+
/* Campaign */
|
|
243
298
|
export let CampaignDataType;
|
|
244
299
|
(function (CampaignDataType) {
|
|
245
300
|
CampaignDataType["NOTIFICATION"] = "notification";
|
|
246
301
|
CampaignDataType["BANNER"] = "banner";
|
|
247
302
|
})(CampaignDataType || (CampaignDataType = {}));
|
|
303
|
+
/* Campaign */
|
|
304
|
+
/* Migrate Unified Account */
|
|
305
|
+
/* Core types */
|
|
306
|
+
// Use stringify to communicate, pure boolean value will error with case 'false' value
|
|
248
307
|
export const MobileOS = ['iOS', 'Android'];
|
|
@@ -16,7 +16,16 @@ exports.RuntimeEnvironment = RuntimeEnvironment;
|
|
|
16
16
|
RuntimeEnvironment["WebWorker"] = "Web Worker";
|
|
17
17
|
RuntimeEnvironment["ServiceWorker"] = "Service Worker";
|
|
18
18
|
RuntimeEnvironment["Unknown"] = "Unknown";
|
|
19
|
-
})(RuntimeEnvironment || (exports.RuntimeEnvironment = RuntimeEnvironment = {}));
|
|
19
|
+
})(RuntimeEnvironment || (exports.RuntimeEnvironment = RuntimeEnvironment = {})); /// Request Auth
|
|
20
|
+
/// Manage Auth
|
|
21
|
+
// Get Auth
|
|
22
|
+
// Auth All site
|
|
23
|
+
// Manage site auth (all allowed/unAllowed)
|
|
24
|
+
// Manage single auth with single account
|
|
25
|
+
// Manage single site with multi account
|
|
26
|
+
// Manage site block
|
|
27
|
+
// Forget site auth
|
|
28
|
+
// Switch current network auth
|
|
20
29
|
/// Staking subscribe
|
|
21
30
|
let StakingType;
|
|
22
31
|
exports.StakingType = StakingType;
|
|
@@ -123,8 +132,10 @@ exports.ExtrinsicType = ExtrinsicType;
|
|
|
123
132
|
ExtrinsicType["CLAIM_BRIDGE"] = "claim.claim_bridge";
|
|
124
133
|
ExtrinsicType["GOV_VOTE"] = "gov.vote";
|
|
125
134
|
ExtrinsicType["GOV_UNVOTE"] = "gov.unvote";
|
|
126
|
-
ExtrinsicType["GOV_UNLOCK_VOTE"] = "gov.
|
|
135
|
+
ExtrinsicType["GOV_UNLOCK_VOTE"] = "gov.unlock_vote";
|
|
127
136
|
ExtrinsicType["EVM_EXECUTE"] = "evm.execute";
|
|
137
|
+
ExtrinsicType["ADD_SUBSTRATE_PROXY_ACCOUNT"] = "substrateProxyAccount.add";
|
|
138
|
+
ExtrinsicType["REMOVE_SUBSTRATE_PROXY_ACCOUNT"] = "substrateProxyAccount.remove";
|
|
128
139
|
ExtrinsicType["UNKNOWN"] = "unknown";
|
|
129
140
|
})(ExtrinsicType || (exports.ExtrinsicType = ExtrinsicType = {}));
|
|
130
141
|
let ExtrinsicStatus;
|
|
@@ -138,7 +149,13 @@ exports.ExtrinsicStatus = ExtrinsicStatus;
|
|
|
138
149
|
ExtrinsicStatus["CANCELLED"] = "cancelled";
|
|
139
150
|
ExtrinsicStatus["TIMEOUT"] = "timeout";
|
|
140
151
|
ExtrinsicStatus["UNKNOWN"] = "unknown";
|
|
141
|
-
})(ExtrinsicStatus || (exports.ExtrinsicStatus = ExtrinsicStatus = {}));
|
|
152
|
+
})(ExtrinsicStatus || (exports.ExtrinsicStatus = ExtrinsicStatus = {})); // export type TransactionAdditionalInfo<T extends ExtrinsicType> = T extends ExtrinsicType.TRANSFER_XCM
|
|
153
|
+
// ? XCMTransactionAdditionalInfo
|
|
154
|
+
// : T extends ExtrinsicType.SEND_NFT
|
|
155
|
+
// ? NFTTransactionAdditionalInfo
|
|
156
|
+
// : T extends ExtrinsicType.MINT_VDOT
|
|
157
|
+
// ? Pick<SubmitBifrostLiquidStaking, 'rewardTokenSlug' | 'estimatedAmountReceived'>
|
|
158
|
+
// : undefined;
|
|
142
159
|
let BalanceErrorType;
|
|
143
160
|
exports.BalanceErrorType = BalanceErrorType;
|
|
144
161
|
(function (BalanceErrorType) {
|
|
@@ -164,7 +181,11 @@ exports.AccountExternalErrorCode = AccountExternalErrorCode;
|
|
|
164
181
|
AccountExternalErrorCode["INVALID_ADDRESS"] = "invalidToAccount";
|
|
165
182
|
AccountExternalErrorCode["KEYRING_ERROR"] = "keyringError";
|
|
166
183
|
AccountExternalErrorCode["UNKNOWN_ERROR"] = "unknownError";
|
|
167
|
-
})(AccountExternalErrorCode || (exports.AccountExternalErrorCode = AccountExternalErrorCode = {}));
|
|
184
|
+
})(AccountExternalErrorCode || (exports.AccountExternalErrorCode = AccountExternalErrorCode = {})); // Attach QR-signer account
|
|
185
|
+
// Attach Ledger account
|
|
186
|
+
// Restore account with public and secret key
|
|
187
|
+
// Subscribe Address Book
|
|
188
|
+
// Inject account
|
|
168
189
|
/// Sign Transaction
|
|
169
190
|
/// Sign External Request
|
|
170
191
|
// Status
|
|
@@ -175,7 +196,9 @@ exports.ExternalRequestPromiseStatus = ExternalRequestPromiseStatus;
|
|
|
175
196
|
ExternalRequestPromiseStatus[ExternalRequestPromiseStatus["REJECTED"] = 1] = "REJECTED";
|
|
176
197
|
ExternalRequestPromiseStatus[ExternalRequestPromiseStatus["FAILED"] = 2] = "FAILED";
|
|
177
198
|
ExternalRequestPromiseStatus[ExternalRequestPromiseStatus["COMPLETED"] = 3] = "COMPLETED";
|
|
178
|
-
})(ExternalRequestPromiseStatus || (exports.ExternalRequestPromiseStatus = ExternalRequestPromiseStatus = {}));
|
|
199
|
+
})(ExternalRequestPromiseStatus || (exports.ExternalRequestPromiseStatus = ExternalRequestPromiseStatus = {})); // Reject
|
|
200
|
+
// Resolve
|
|
201
|
+
///
|
|
179
202
|
let ThemeNames;
|
|
180
203
|
exports.ThemeNames = ThemeNames;
|
|
181
204
|
(function (ThemeNames) {
|
|
@@ -236,13 +259,37 @@ exports.CardanoProviderErrorType = CardanoProviderErrorType;
|
|
|
236
259
|
CardanoProviderErrorType["SUBMIT_TRANSACTION_REFUSED"] = "SUBMIT_TRANSACTION_REFUSED";
|
|
237
260
|
CardanoProviderErrorType["SUBMIT_TRANSACTION_FAILURE"] = "SUBMIT_TRANSACTION_FAILURE";
|
|
238
261
|
CardanoProviderErrorType["SIGN_TRANSACTION_DECLINED"] = "SIGN_TRANSACTION_DECLINED";
|
|
239
|
-
})(CardanoProviderErrorType || (exports.CardanoProviderErrorType = CardanoProviderErrorType = {}));
|
|
262
|
+
})(CardanoProviderErrorType || (exports.CardanoProviderErrorType = CardanoProviderErrorType = {})); // TODO: add account info + dataToSign
|
|
263
|
+
// Design to use only one confirmation
|
|
264
|
+
/// Evm transaction
|
|
265
|
+
/// Evm Contract Input
|
|
266
|
+
/// Ledger
|
|
240
267
|
let POLKADOT_LEDGER_SCHEME;
|
|
241
268
|
exports.POLKADOT_LEDGER_SCHEME = POLKADOT_LEDGER_SCHEME;
|
|
242
269
|
(function (POLKADOT_LEDGER_SCHEME) {
|
|
243
270
|
POLKADOT_LEDGER_SCHEME["ED25519"] = "ed25519";
|
|
244
271
|
POLKADOT_LEDGER_SCHEME["ECDSA"] = "ecdsa";
|
|
245
|
-
})(POLKADOT_LEDGER_SCHEME || (exports.POLKADOT_LEDGER_SCHEME = POLKADOT_LEDGER_SCHEME = {}));
|
|
272
|
+
})(POLKADOT_LEDGER_SCHEME || (exports.POLKADOT_LEDGER_SCHEME = POLKADOT_LEDGER_SCHEME = {})); /// Qr Sign
|
|
273
|
+
// Parse Substrate
|
|
274
|
+
// Parse Evm
|
|
275
|
+
// Check lock
|
|
276
|
+
// Sign
|
|
277
|
+
/// Transfer
|
|
278
|
+
/// Stake
|
|
279
|
+
// Staking & Bonding
|
|
280
|
+
// Migrated
|
|
281
|
+
// Migrated
|
|
282
|
+
// UnBonding
|
|
283
|
+
// Claim
|
|
284
|
+
// Compound
|
|
285
|
+
/// Keyring state
|
|
286
|
+
// Change master password
|
|
287
|
+
// Migrate password
|
|
288
|
+
// Unlock
|
|
289
|
+
// Export mnemonic
|
|
290
|
+
// Reset wallet
|
|
291
|
+
/// Signing
|
|
292
|
+
// Mobile update
|
|
246
293
|
let NotificationType;
|
|
247
294
|
exports.NotificationType = NotificationType;
|
|
248
295
|
(function (NotificationType) {
|
|
@@ -250,7 +297,14 @@ exports.NotificationType = NotificationType;
|
|
|
250
297
|
NotificationType["SUCCESS"] = "success";
|
|
251
298
|
NotificationType["WARNING"] = "warning";
|
|
252
299
|
NotificationType["ERROR"] = "error";
|
|
253
|
-
})(NotificationType || (exports.NotificationType = NotificationType = {}));
|
|
300
|
+
})(NotificationType || (exports.NotificationType = NotificationType = {})); // Phishing detect
|
|
301
|
+
// Psp token
|
|
302
|
+
// Popular tokens
|
|
303
|
+
// Sufficient chains
|
|
304
|
+
/// WalletConnect
|
|
305
|
+
// Connect
|
|
306
|
+
// Not support
|
|
307
|
+
/// Manta
|
|
254
308
|
let MantaPayEnableMessage;
|
|
255
309
|
exports.MantaPayEnableMessage = MantaPayEnableMessage;
|
|
256
310
|
(function (MantaPayEnableMessage) {
|
|
@@ -258,12 +312,17 @@ exports.MantaPayEnableMessage = MantaPayEnableMessage;
|
|
|
258
312
|
MantaPayEnableMessage["CHAIN_DISCONNECTED"] = "CHAIN_DISCONNECTED";
|
|
259
313
|
MantaPayEnableMessage["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
260
314
|
MantaPayEnableMessage["SUCCESS"] = "SUCCESS";
|
|
261
|
-
})(MantaPayEnableMessage || (exports.MantaPayEnableMessage = MantaPayEnableMessage = {}));
|
|
315
|
+
})(MantaPayEnableMessage || (exports.MantaPayEnableMessage = MantaPayEnableMessage = {})); /// Metadata
|
|
316
|
+
/* Campaign */
|
|
262
317
|
let CampaignDataType;
|
|
263
318
|
exports.CampaignDataType = CampaignDataType;
|
|
264
319
|
(function (CampaignDataType) {
|
|
265
320
|
CampaignDataType["NOTIFICATION"] = "notification";
|
|
266
321
|
CampaignDataType["BANNER"] = "banner";
|
|
267
322
|
})(CampaignDataType || (exports.CampaignDataType = CampaignDataType = {}));
|
|
323
|
+
/* Campaign */
|
|
324
|
+
/* Migrate Unified Account */
|
|
325
|
+
/* Core types */
|
|
326
|
+
// Use stringify to communicate, pure boolean value will error with case 'false' value
|
|
268
327
|
const MobileOS = ['iOS', 'Android'];
|
|
269
328
|
exports.MobileOS = MobileOS;
|
|
@@ -20,6 +20,9 @@ exports.APP_VER = APP_VER;
|
|
|
20
20
|
const PRODUCTION_BRANCHES = ['master', 'webapp', 'webapp-dev'];
|
|
21
21
|
const branchName = process.env.BRANCH_NAME || 'koni-dev';
|
|
22
22
|
const targetFolder = PRODUCTION_BRANCHES.indexOf(branchName) > -1 ? 'list' : 'preview';
|
|
23
|
+
|
|
24
|
+
// todo: check if can check exactly App Environment, Browser Type, OS Type
|
|
25
|
+
|
|
23
26
|
async function fetchBlockedConfigObjects() {
|
|
24
27
|
const targetFile = `${targetFolder}/envConfig.json`;
|
|
25
28
|
return await (0, _utils.fetchStaticData)('blocked-actions', targetFile);
|
|
@@ -23,7 +23,7 @@ function getConditions(validateRecipientParams) {
|
|
|
23
23
|
toAddress
|
|
24
24
|
} = validateRecipientParams;
|
|
25
25
|
const conditions = [];
|
|
26
|
-
const isSendAction = [_types.ActionType.SEND_FUND, _types.ActionType.SEND_NFT].includes(actionType);
|
|
26
|
+
const isSendAction = [_types.ActionType.SEND_FUND, _types.ActionType.SEND_NFT, _types.ActionType.MANAGE_SUBSTRATE_PROXY_ACCOUNT].includes(actionType);
|
|
27
27
|
conditions.push(_types.ValidationCondition.IS_NOT_NULL);
|
|
28
28
|
conditions.push(_types.ValidationCondition.IS_ADDRESS);
|
|
29
29
|
conditions.push(_types.ValidationCondition.IS_VALID_ADDRESS_FOR_ECOSYSTEM);
|
|
@@ -50,7 +50,6 @@ function _validateBalanceToSwapOnAssetHub(fromToken, feeToken, feeTokenChainInfo
|
|
|
50
50
|
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_NOT_ENOUGH_BALANCE, `Insufficient balance. You need more than ${parsedMinSwapValue} ${fromToken.symbol} to start swapping. Deposit ${fromToken.symbol} and try again.`); // todo: min swap or amount?
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
|
|
54
53
|
if (new _bignumber.default(swapAmount).gte(fromTokenBalance)) {
|
|
55
54
|
const parsedMaxBalanceSwap = (0, _utils2.formatNumber)(fromTokenBalance, (0, _utils._getAssetDecimals)(fromToken));
|
|
56
55
|
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_EXCEED_ALLOWANCE, `Amount too high. Lower your amount ${bnFromTokenBalance.gt(0) ? `below ${parsedMaxBalanceSwap} ${fromToken.symbol}` : ''} and try again`);
|
|
@@ -78,7 +77,6 @@ function _validateBalanceToSwap(fromToken, feeToken, feeTokenChainInfo, feeAmoun
|
|
|
78
77
|
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_NOT_ENOUGH_BALANCE, `Insufficient balance. You need more than ${parsedMinSwapValue} ${fromToken.symbol} to start swapping. Deposit ${fromToken.symbol} and try again.`); // todo: min swap or amount?
|
|
79
78
|
}
|
|
80
79
|
}
|
|
81
|
-
|
|
82
80
|
if (new _bignumber.default(swapAmount).gte(fromTokenBalance)) {
|
|
83
81
|
const parsedMaxBalanceSwap = (0, _utils2.formatNumber)(fromTokenBalance, (0, _utils._getAssetDecimals)(fromToken));
|
|
84
82
|
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_EXCEED_ALLOWANCE, `Amount too high. Lower your amount ${bnFromTokenBalance.gt(0) ? `below ${parsedMaxBalanceSwap} ${fromToken.symbol}` : ''} and try again`);
|
|
@@ -222,7 +220,6 @@ function _validateBalanceToSwapV2(request) {
|
|
|
222
220
|
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_NOT_ENOUGH_BALANCE, `Insufficient balance. You need more than ${parsedMinSwapValue} ${fromToken.symbol} to start swapping. Deposit ${fromToken.symbol} and try again.`); // todo: min swap or amount?
|
|
223
221
|
}
|
|
224
222
|
}
|
|
225
|
-
|
|
226
223
|
return undefined;
|
|
227
224
|
}
|
|
228
225
|
function _validateSwapRecipientV2(destChainInfo, recipient) {
|
|
@@ -326,7 +326,7 @@ function checkSupportForTransaction(validationResponse, transaction) {
|
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
|
-
async function estimateFeeForTransaction(validationResponse, transaction, chainInfo, evmApi, substrateApi, priceMap, feeInfo, nativeTokenInfo, nonNativeTokenPayFeeInfo, isTransferLocalTokenAndPayThatTokenAsFee) {
|
|
329
|
+
async function estimateFeeForTransaction(validationResponse, transaction, chainInfo, evmApi, substrateApi, priceMap, feeInfo, nativeTokenInfo, nonNativeTokenPayFeeInfo, isTransferLocalTokenAndPayThatTokenAsFee, signerSubstrateProxyAddress) {
|
|
330
330
|
const estimateFee = {
|
|
331
331
|
symbol: '',
|
|
332
332
|
decimals: 0,
|
|
@@ -347,8 +347,14 @@ async function estimateFeeForTransaction(validationResponse, transaction, chainI
|
|
|
347
347
|
if (transaction) {
|
|
348
348
|
try {
|
|
349
349
|
if ((0, _helpers.isSubstrateTransaction)(transaction)) {
|
|
350
|
-
|
|
351
|
-
|
|
350
|
+
if (signerSubstrateProxyAddress && !(0, _utils5.isSameAddress)(signerSubstrateProxyAddress, address)) {
|
|
351
|
+
await substrateApi.isReady;
|
|
352
|
+
const estimateExtrinsic = substrateApi.api.tx.proxy.proxy(address, null, transaction);
|
|
353
|
+
estimateFee.value = (await estimateExtrinsic.paymentInfo(signerSubstrateProxyAddress)).partialFee.toString();
|
|
354
|
+
} else {
|
|
355
|
+
var _validationResponse$x;
|
|
356
|
+
estimateFee.value = (_validationResponse$x = validationResponse.xcmFeeDryRun) !== null && _validationResponse$x !== void 0 ? _validationResponse$x : (await transaction.paymentInfo(validationResponse.address)).partialFee.toString();
|
|
357
|
+
}
|
|
352
358
|
} else if ((0, _helpers.isTonTransaction)(transaction)) {
|
|
353
359
|
estimateFee.value = transaction.estimateFee; // todo: might need to update logic estimate fee inside for future actions excluding normal transfer Ton and Jetton
|
|
354
360
|
} else if ((0, _helpers.isCardanoTransaction)(transaction)) {
|
|
@@ -415,14 +421,13 @@ async function estimateFeeForTransaction(validationResponse, transaction, chainI
|
|
|
415
421
|
}
|
|
416
422
|
return estimateFee;
|
|
417
423
|
}
|
|
418
|
-
function checkSigningAccountForTransaction(validationResponse, chainInfoMap) {
|
|
424
|
+
function checkSigningAccountForTransaction(validationResponse, chainInfoMap, signer) {
|
|
419
425
|
const {
|
|
420
|
-
address,
|
|
421
426
|
chain,
|
|
422
427
|
chainType,
|
|
423
428
|
extrinsicType
|
|
424
429
|
} = validationResponse;
|
|
425
|
-
const pair = _uiKeyring.keyring.getPair(
|
|
430
|
+
const pair = _uiKeyring.keyring.getPair(signer);
|
|
426
431
|
if (!pair) {
|
|
427
432
|
validationResponse.errors.push(new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR, (0, _i18next.t)('bg.TRANSACTION.core.validation.transfer.unableToFindAccount')));
|
|
428
433
|
} else {
|
|
@@ -442,7 +447,7 @@ function checkSigningAccountForTransaction(validationResponse, chainInfoMap) {
|
|
|
442
447
|
}
|
|
443
448
|
}
|
|
444
449
|
}
|
|
445
|
-
function checkBalanceWithTransactionFee(validationResponse, transactionInput, nativeTokenInfo, nativeTokenAvailable) {
|
|
450
|
+
function checkBalanceWithTransactionFee(validationResponse, transactionInput, nativeTokenInfo, nativeTokenAvailable, substrateProxyAccountNativeTokenAvailable) {
|
|
446
451
|
if (!validationResponse.estimateFee) {
|
|
447
452
|
// todo: estimateFee should be must-have, need to refactor interface
|
|
448
453
|
return;
|
|
@@ -451,6 +456,7 @@ function checkBalanceWithTransactionFee(validationResponse, transactionInput, na
|
|
|
451
456
|
edAsWarning,
|
|
452
457
|
extrinsicType,
|
|
453
458
|
isTransferAll,
|
|
459
|
+
signerSubstrateProxyAddress,
|
|
454
460
|
skipFeeValidation,
|
|
455
461
|
tokenPayFeeSlug
|
|
456
462
|
} = transactionInput;
|
|
@@ -461,12 +467,29 @@ function checkBalanceWithTransactionFee(validationResponse, transactionInput, na
|
|
|
461
467
|
const bnFee = new _bignumber.default(validationResponse.estimateFee.value);
|
|
462
468
|
const bnNativeTokenAvailable = new _bignumber.default(nativeTokenAvailable.value);
|
|
463
469
|
const bnNativeTokenTransferAmount = new _bignumber.default(validationResponse.transferNativeAmount || '0');
|
|
464
|
-
if (!bnNativeTokenAvailable.gt(0)) {
|
|
470
|
+
if (!bnNativeTokenAvailable.gt(0) && !substrateProxyAccountNativeTokenAvailable) {
|
|
465
471
|
validationResponse.errors.push(new _TransactionError.TransactionError(_types.BasicTxErrorType.NOT_ENOUGH_BALANCE));
|
|
466
472
|
}
|
|
467
473
|
const isChainNotSupportTransferAll = [..._constants2._TRANSFER_CHAIN_GROUP.acala, ..._constants2._TRANSFER_CHAIN_GROUP.genshiro, ..._constants2._TRANSFER_CHAIN_GROUP.bitcountry, ..._constants2._TRANSFER_CHAIN_GROUP.statemine].includes(nativeTokenInfo.originChain);
|
|
468
|
-
if (
|
|
469
|
-
|
|
474
|
+
if (!substrateProxyAccountNativeTokenAvailable) {
|
|
475
|
+
if (bnNativeTokenTransferAmount.plus(bnFee).gt(bnNativeTokenAvailable) && (!isTransferAll || isChainNotSupportTransferAll)) {
|
|
476
|
+
validationResponse.errors.push(new _TransactionError.TransactionError(_types.BasicTxErrorType.NOT_ENOUGH_BALANCE)); // todo: should be generalized and reused in all features
|
|
477
|
+
}
|
|
478
|
+
} else {
|
|
479
|
+
const bnSubstrateProxyAccountNativeTokenAvailable = new _bignumber.default(substrateProxyAccountNativeTokenAvailable.value);
|
|
480
|
+
if (bnNativeTokenTransferAmount.gt(bnNativeTokenAvailable) && (!isTransferAll || isChainNotSupportTransferAll) || bnFee.gt(bnSubstrateProxyAccountNativeTokenAvailable)) {
|
|
481
|
+
if (signerSubstrateProxyAddress) {
|
|
482
|
+
const account = (0, _utils5.getAccountJsonByAddress)(signerSubstrateProxyAddress);
|
|
483
|
+
const accountName = account === null || account === void 0 ? void 0 : account.name;
|
|
484
|
+
validationResponse.errors.push(new _TransactionError.TransactionError(_types.BasicTxErrorType.NOT_ENOUGH_BALANCE, (0, _i18next.t)('bg.TRANSACTION.core.validation.transfer.proxyAccountNotEnoughBalance', {
|
|
485
|
+
replace: {
|
|
486
|
+
accountName: accountName || signerSubstrateProxyAddress
|
|
487
|
+
}
|
|
488
|
+
})));
|
|
489
|
+
} else {
|
|
490
|
+
validationResponse.errors.push(new _TransactionError.TransactionError(_types.BasicTxErrorType.NOT_ENOUGH_BALANCE));
|
|
491
|
+
}
|
|
492
|
+
}
|
|
470
493
|
}
|
|
471
494
|
|
|
472
495
|
// todo: only system.pallet has metadata, we should add for other pallets and mechanisms as well
|
|
@@ -29,7 +29,6 @@ function _getSystemPalletTransferable(accountInfo, existentialDeposit, extrinsic
|
|
|
29
29
|
function _canAccountBeReaped(accountInfo) {
|
|
30
30
|
return accountInfo.consumers === 0; // might need to check refCount
|
|
31
31
|
}
|
|
32
|
-
|
|
33
32
|
function _isAccountActive(accountInfo) {
|
|
34
33
|
return !(accountInfo.consumers === 0 && accountInfo.providers === 0 && accountInfo.sufficients === 0);
|
|
35
34
|
}
|
|
@@ -57,7 +56,6 @@ function _getAppliedExistentialDeposit(accountInfo, existentialDeposit, strictMo
|
|
|
57
56
|
}
|
|
58
57
|
return _canAccountBeReaped(accountInfo) ? BigInt(0) : bnExistentialDeposit; // account for ED here will go better with max transfer logic
|
|
59
58
|
}
|
|
60
|
-
|
|
61
59
|
function _getSystemPalletTransferableV2(accountInfo, existentialDeposit, strictMode) {
|
|
62
60
|
const bnLocked = BigInt(accountInfo.data.frozen) - BigInt(accountInfo.data.reserved); // locked can go below 0 but this shouldn't matter
|
|
63
61
|
const bnAppliedExistentialDeposit = _getAppliedExistentialDeposit(accountInfo, existentialDeposit, strictMode);
|
package/cjs/core/types.js
CHANGED
|
@@ -25,4 +25,5 @@ exports.ActionType = ActionType;
|
|
|
25
25
|
ActionType["SEND_FUND"] = "SEND_FUND";
|
|
26
26
|
ActionType["SEND_NFT"] = "SEND_NFT";
|
|
27
27
|
ActionType["SWAP"] = "SWAP";
|
|
28
|
+
ActionType["MANAGE_SUBSTRATE_PROXY_ACCOUNT"] = "MANAGE_SUBSTRATE_PROXY_ACCOUNT";
|
|
28
29
|
})(ActionType || (exports.ActionType = ActionType = {}));
|
|
@@ -129,7 +129,6 @@ async function subscribeAstarNominatorMetadata(chainInfo, address, substrateApi,
|
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
-
|
|
133
132
|
const unlockingChunks = ledger.unbondingInfo.unlockingChunks;
|
|
134
133
|
if (unlockingChunks.length > 0) {
|
|
135
134
|
for (const unlockingChunk of unlockingChunks) {
|
|
@@ -215,7 +214,6 @@ async function getAstarNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
215
214
|
}
|
|
216
215
|
}
|
|
217
216
|
}
|
|
218
|
-
|
|
219
217
|
const unlockingChunks = ledger.unbondingInfo.unlockingChunks;
|
|
220
218
|
if (unlockingChunks.length > 0) {
|
|
221
219
|
for (const unlockingChunk of unlockingChunks) {
|
|
@@ -150,7 +150,6 @@ async function getParaChainStakingMetadata(chain, substrateApi) {
|
|
|
150
150
|
if (unvestedAllocation) {
|
|
151
151
|
totalIssuance.add(unvestedAllocation); // for Turing network, read more at https://hackmd.io/@sbAqOuXkRvyiZPOB3Ryn6Q/Sypr3ZJh5
|
|
152
152
|
}
|
|
153
|
-
|
|
154
153
|
const inflationConfig = _inflation.toHuman();
|
|
155
154
|
const inflation = (0, _utils.getParaCurrentInflation)((0, _utils4.parseRawNumber)(totalStake.toString()), inflationConfig);
|
|
156
155
|
const unstakingPeriod = parseInt(unstakingDelay) * _constants._STAKING_ERA_LENGTH_MAP[chain];
|
|
@@ -203,7 +202,6 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
|
|
|
203
202
|
}
|
|
204
203
|
}
|
|
205
204
|
}
|
|
206
|
-
|
|
207
205
|
const bnStake = new _util.BN(delegation.amount);
|
|
208
206
|
const bnUnstakeBalance = unstakingMap[delegation.owner] ? new _util.BN(unstakingMap[delegation.owner].claimable) : _util.BN_ZERO;
|
|
209
207
|
const bnActiveStake = bnStake.sub(bnUnstakeBalance);
|
|
@@ -297,7 +295,6 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
297
295
|
}
|
|
298
296
|
}
|
|
299
297
|
}
|
|
300
|
-
|
|
301
298
|
const bnStake = new _util.BN(delegation.amount);
|
|
302
299
|
const bnUnstakeBalance = unstakingMap[delegation.owner] ? new _util.BN(unstakingMap[delegation.owner].claimable) : _util.BN_ZERO;
|
|
303
300
|
const bnActiveStake = bnStake.sub(bnUnstakeBalance);
|
|
@@ -246,7 +246,6 @@ async function subscribeRelayChainNominatorMetadata(chainInfo, address, substrat
|
|
|
246
246
|
});
|
|
247
247
|
}));
|
|
248
248
|
}
|
|
249
|
-
|
|
250
249
|
let stakingStatus = _types.EarningStatus.NOT_EARNING;
|
|
251
250
|
const bnActiveStake = new _util.BN(activeStake);
|
|
252
251
|
let waitingNominationCount = 0;
|
|
@@ -298,13 +297,13 @@ async function subscribeRelayChainNominatorMetadata(chainInfo, address, substrat
|
|
|
298
297
|
* Deprecated
|
|
299
298
|
* */
|
|
300
299
|
async function getRelayChainNominatorMetadata(chainInfo, address, substrateApi) {
|
|
301
|
-
var _chainApi$api$
|
|
300
|
+
var _chainApi$api$query0, _chainApi$api$query0$, _chainApi$api$query1, _chainApi$api$query1$, _chainApi$api$query10, _chainApi$api$query11, _chainApi$api$query12, _chainApi$api$query13, _chainApi$api$query14, _chainApi$api$query15, _chainApi$api$query16, _chainApi$api$query17, _chainApi$api$query18, _chainApi$api$query19;
|
|
302
301
|
if ((0, _utilCrypto.isEthereumAddress)(address)) {
|
|
303
302
|
return;
|
|
304
303
|
}
|
|
305
304
|
const chain = chainInfo.slug;
|
|
306
305
|
const chainApi = await substrateApi.isReady;
|
|
307
|
-
const [_ledger, _nominations, _currentEra, _bonded, _minimumActiveStake, _minNominatorBond] = await Promise.all([(_chainApi$api$
|
|
306
|
+
const [_ledger, _nominations, _currentEra, _bonded, _minimumActiveStake, _minNominatorBond] = await Promise.all([(_chainApi$api$query0 = chainApi.api.query) === null || _chainApi$api$query0 === void 0 ? void 0 : (_chainApi$api$query0$ = _chainApi$api$query0.staking) === null || _chainApi$api$query0$ === void 0 ? void 0 : _chainApi$api$query0$.ledger(address), (_chainApi$api$query1 = chainApi.api.query) === null || _chainApi$api$query1 === void 0 ? void 0 : (_chainApi$api$query1$ = _chainApi$api$query1.staking) === null || _chainApi$api$query1$ === void 0 ? void 0 : _chainApi$api$query1$.nominators(address), (_chainApi$api$query10 = chainApi.api.query) === null || _chainApi$api$query10 === void 0 ? void 0 : (_chainApi$api$query11 = _chainApi$api$query10.staking) === null || _chainApi$api$query11 === void 0 ? void 0 : _chainApi$api$query11.currentEra(), (_chainApi$api$query12 = chainApi.api.query) === null || _chainApi$api$query12 === void 0 ? void 0 : (_chainApi$api$query13 = _chainApi$api$query12.staking) === null || _chainApi$api$query13 === void 0 ? void 0 : _chainApi$api$query13.bonded(address), ((_chainApi$api$query14 = chainApi.api.query) === null || _chainApi$api$query14 === void 0 ? void 0 : (_chainApi$api$query15 = _chainApi$api$query14.staking) === null || _chainApi$api$query15 === void 0 ? void 0 : _chainApi$api$query15.minimumActiveStake) && ((_chainApi$api$query16 = chainApi.api.query) === null || _chainApi$api$query16 === void 0 ? void 0 : (_chainApi$api$query17 = _chainApi$api$query16.staking) === null || _chainApi$api$query17 === void 0 ? void 0 : _chainApi$api$query17.minimumActiveStake()), (_chainApi$api$query18 = chainApi.api.query) === null || _chainApi$api$query18 === void 0 ? void 0 : (_chainApi$api$query19 = _chainApi$api$query18.staking) === null || _chainApi$api$query19 === void 0 ? void 0 : _chainApi$api$query19.minNominatorBond()]);
|
|
308
307
|
const minActiveStake = (_minimumActiveStake === null || _minimumActiveStake === void 0 ? void 0 : _minimumActiveStake.toString()) || '0';
|
|
309
308
|
const minNominatorBond = _minNominatorBond.toString();
|
|
310
309
|
const bnMinActiveStake = new _util.BN(minActiveStake);
|
|
@@ -359,7 +358,6 @@ async function getRelayChainNominatorMetadata(chainInfo, address, substrateApi)
|
|
|
359
358
|
});
|
|
360
359
|
}));
|
|
361
360
|
}
|
|
362
|
-
|
|
363
361
|
let stakingStatus = _types.EarningStatus.NOT_EARNING;
|
|
364
362
|
const bnActiveStake = new _util.BN(activeStake);
|
|
365
363
|
let waitingNominationCount = 0;
|
|
@@ -112,7 +112,6 @@ function calculateChainStakedReturn(inflation, totalEraStake, totalIssuance, net
|
|
|
112
112
|
if (_constants2._STAKING_CHAIN_GROUP.aleph.includes(networkKey)) {
|
|
113
113
|
stakedReturn *= 0.9; // 10% goes to treasury
|
|
114
114
|
}
|
|
115
|
-
|
|
116
115
|
return stakedReturn;
|
|
117
116
|
}
|
|
118
117
|
async function calculateChainStakedReturnV2(chainInfo, totalIssuance, erasPerDay, lastTotalStaked, validatorEraReward, inflation, isCompound) {
|
|
@@ -179,11 +178,9 @@ function calculateValidatorStakedReturn(chainStakedReturn, totalValidatorStake,
|
|
|
179
178
|
const stakedReturn = (adjusted > Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : adjusted) / 100;
|
|
180
179
|
return stakedReturn * (100 - commission) / 100; // Deduct commission
|
|
181
180
|
}
|
|
182
|
-
|
|
183
181
|
function getCommission(commissionString) {
|
|
184
182
|
return parseFloat(commissionString.split('%')[0]); // Example: 12%
|
|
185
183
|
}
|
|
186
|
-
|
|
187
184
|
function getParaCurrentInflation(totalStaked, inflationConfig) {
|
|
188
185
|
// read more at https://hackmd.io/@sbAqOuXkRvyiZPOB3Ryn6Q/Sypr3ZJh5
|
|
189
186
|
const expectMin = (0, _utils2.parseRawNumber)(inflationConfig.expect.min);
|
|
@@ -307,7 +304,6 @@ function getYieldAvailableActionsByPosition(yieldPosition, yieldPoolInfo, unclai
|
|
|
307
304
|
result.push(YieldAction.START_EARNING);
|
|
308
305
|
result.push(YieldAction.WITHDRAW_EARNING); // TODO
|
|
309
306
|
}
|
|
310
|
-
|
|
311
307
|
return result;
|
|
312
308
|
}
|
|
313
309
|
let StakingAction;
|