@subwallet/extension-base 1.2.3-0 → 1.2.4-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 +4 -153
- package/background/KoniTypes.js +0 -21
- package/cjs/background/KoniTypes.js +1 -22
- package/cjs/core/logic-validation/earning.js +47 -0
- package/cjs/core/logic-validation/swap.js +99 -0
- package/cjs/core/logic-validation/transfer.js +212 -0
- package/cjs/core/substrate/nominationpools-pallet.js +22 -0
- package/cjs/core/substrate/system-pallet.js +77 -0
- package/cjs/core/substrate/xcm-parser.js +190 -0
- package/cjs/koni/api/dotsama/transfer.js +58 -122
- package/cjs/koni/api/staking/bonding/utils.js +1 -1
- package/cjs/koni/api/xcm/index.js +30 -2
- package/cjs/koni/api/xcm/polkadotXcm.js +12 -20
- package/cjs/koni/api/xcm/utils.js +8 -126
- package/cjs/koni/api/xcm/xTokens.js +10 -8
- package/cjs/koni/api/xcm/xcmPallet.js +6 -6
- package/cjs/koni/background/handlers/Extension.js +223 -356
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/balance-service/helpers/group.js +4 -27
- package/cjs/services/balance-service/helpers/subscribe/index.js +2 -30
- package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +46 -82
- package/cjs/services/balance-service/index.js +11 -9
- package/cjs/services/chain-service/constants.js +2 -2
- package/cjs/services/chain-service/index.js +0 -1
- package/cjs/services/chain-service/utils/index.js +13 -2
- package/cjs/services/earning-service/handlers/base.js +1 -1
- package/cjs/services/earning-service/handlers/special.js +11 -12
- package/cjs/services/migration-service/scripts/MigrateTransactionHistoryBySymbol.js +2 -1
- package/cjs/services/migration-service/scripts/databases/MigrateAssetSetting.js +2 -1
- package/cjs/services/migration-service/scripts/index.js +2 -2
- package/cjs/services/swap-service/handler/base-handler.js +30 -44
- package/cjs/services/swap-service/handler/chainflip-handler.js +23 -21
- package/cjs/services/swap-service/handler/hydradx-handler.js +41 -39
- package/cjs/services/swap-service/index.js +6 -0
- package/cjs/services/swap-service/utils.js +8 -49
- package/cjs/services/transaction-service/index.js +66 -155
- package/core/logic-validation/earning.d.ts +10 -0
- package/core/logic-validation/earning.js +37 -0
- package/core/logic-validation/swap.d.ts +8 -0
- package/core/logic-validation/swap.js +89 -0
- package/core/logic-validation/transfer.d.ts +16 -0
- package/core/logic-validation/transfer.js +199 -0
- package/core/substrate/nominationpools-pallet.d.ts +10 -0
- package/core/substrate/nominationpools-pallet.js +13 -0
- package/core/substrate/system-pallet.d.ts +27 -0
- package/core/substrate/system-pallet.js +70 -0
- package/core/substrate/xcm-parser.d.ts +49 -0
- package/core/substrate/xcm-parser.js +181 -0
- package/koni/api/dotsama/transfer.d.ts +3 -4
- package/koni/api/dotsama/transfer.js +54 -118
- package/koni/api/staking/bonding/relayChain.d.ts +2 -1
- package/koni/api/staking/bonding/utils.js +1 -1
- package/koni/api/xcm/index.d.ts +2 -0
- package/koni/api/xcm/index.js +27 -1
- package/koni/api/xcm/polkadotXcm.js +14 -22
- package/koni/api/xcm/utils.d.ts +3 -48
- package/koni/api/xcm/utils.js +5 -114
- package/koni/api/xcm/xTokens.js +12 -10
- package/koni/api/xcm/xcmPallet.js +7 -7
- package/koni/background/handlers/Extension.d.ts +6 -8
- package/koni/background/handlers/Extension.js +117 -247
- package/package.json +39 -9
- package/packageInfo.js +1 -1
- package/services/balance-service/helpers/group.js +4 -27
- package/services/balance-service/helpers/subscribe/index.d.ts +2 -1
- package/services/balance-service/helpers/subscribe/index.js +2 -30
- package/services/balance-service/helpers/subscribe/substrate/index.d.ts +2 -1
- package/services/balance-service/helpers/subscribe/substrate/index.js +31 -66
- package/services/balance-service/index.d.ts +7 -6
- package/services/balance-service/index.js +12 -10
- package/services/chain-service/constants.js +2 -2
- package/services/chain-service/index.js +0 -1
- package/services/chain-service/utils/index.d.ts +4 -2
- package/services/chain-service/utils/index.js +9 -2
- package/services/earning-service/handlers/base.js +1 -1
- package/services/earning-service/handlers/nomination-pool/index.d.ts +2 -1
- package/services/earning-service/handlers/special.js +11 -12
- package/services/migration-service/scripts/MigrateTransactionHistoryBySymbol.js +2 -1
- package/services/migration-service/scripts/databases/MigrateAssetSetting.js +2 -1
- package/services/migration-service/scripts/index.js +2 -2
- package/services/swap-service/handler/base-handler.d.ts +3 -2
- package/services/swap-service/handler/base-handler.js +28 -42
- package/services/swap-service/handler/chainflip-handler.d.ts +2 -1
- package/services/swap-service/handler/chainflip-handler.js +4 -2
- package/services/swap-service/handler/hydradx-handler.d.ts +2 -1
- package/services/swap-service/handler/hydradx-handler.js +8 -6
- package/services/swap-service/index.js +7 -1
- package/services/swap-service/utils.d.ts +2 -4
- package/services/swap-service/utils.js +7 -47
- package/services/transaction-service/index.d.ts +1 -1
- package/services/transaction-service/index.js +30 -119
- package/services/transaction-service/types.d.ts +1 -0
- package/types/balance/index.d.ts +6 -10
- package/types/yield/info/pallet.d.ts +0 -6
|
@@ -86,10 +86,6 @@ export interface ResultResolver {
|
|
|
86
86
|
result: boolean;
|
|
87
87
|
accounts: string[];
|
|
88
88
|
}
|
|
89
|
-
export interface RejectResolver {
|
|
90
|
-
error: Error;
|
|
91
|
-
accounts: string[];
|
|
92
|
-
}
|
|
93
89
|
export declare enum StakingType {
|
|
94
90
|
NOMINATED = "nominated",
|
|
95
91
|
POOLED = "pooled",
|
|
@@ -106,16 +102,6 @@ export interface StakingRewardItem {
|
|
|
106
102
|
totalSlash?: string;
|
|
107
103
|
unclaimedReward?: string;
|
|
108
104
|
}
|
|
109
|
-
export interface UnlockingStakeInfo {
|
|
110
|
-
chain: string;
|
|
111
|
-
address: string;
|
|
112
|
-
type: StakingType;
|
|
113
|
-
nextWithdrawal: number;
|
|
114
|
-
redeemable: number;
|
|
115
|
-
nextWithdrawalAmount: number;
|
|
116
|
-
nextWithdrawalAction?: string;
|
|
117
|
-
validatorAddress?: string;
|
|
118
|
-
}
|
|
119
105
|
export interface StakingItem {
|
|
120
106
|
name: string;
|
|
121
107
|
chain: string;
|
|
@@ -275,10 +261,6 @@ export interface DonateInfo {
|
|
|
275
261
|
icon: string;
|
|
276
262
|
link: string;
|
|
277
263
|
}
|
|
278
|
-
export interface DropdownTransformOptionType {
|
|
279
|
-
label: string;
|
|
280
|
-
value: string;
|
|
281
|
-
}
|
|
282
264
|
export interface NetWorkMetadataDef extends MetadataDefBase {
|
|
283
265
|
networkKey: string;
|
|
284
266
|
groups: NetWorkGroup[];
|
|
@@ -487,6 +469,7 @@ export interface BasicTokenInfo {
|
|
|
487
469
|
}
|
|
488
470
|
export interface AmountData extends BasicTokenInfo {
|
|
489
471
|
value: string;
|
|
472
|
+
metadata?: unknown;
|
|
490
473
|
}
|
|
491
474
|
export interface FeeData extends AmountData {
|
|
492
475
|
tooHigh?: boolean;
|
|
@@ -600,16 +583,6 @@ export declare type TransactionErrorType = BasicTxErrorType | TransferTxErrorTyp
|
|
|
600
583
|
export declare enum BasicTxWarningCode {
|
|
601
584
|
NOT_ENOUGH_EXISTENTIAL_DEPOSIT = "notEnoughExistentialDeposit"
|
|
602
585
|
}
|
|
603
|
-
export declare type BasicTxError = {
|
|
604
|
-
errorType: TxErrorCode;
|
|
605
|
-
data?: object;
|
|
606
|
-
message: string;
|
|
607
|
-
};
|
|
608
|
-
export declare type BasicTxWarning = {
|
|
609
|
-
warningType: TransactionWarningType;
|
|
610
|
-
data?: object;
|
|
611
|
-
message: string;
|
|
612
|
-
};
|
|
613
586
|
export interface TransactionResponse {
|
|
614
587
|
extrinsicHash?: string;
|
|
615
588
|
txError?: boolean;
|
|
@@ -622,7 +595,6 @@ export interface NftTransactionResponse extends SWTransactionResponse {
|
|
|
622
595
|
isSendingSelf: boolean;
|
|
623
596
|
}
|
|
624
597
|
export declare type HandleBasicTx = (data: TransactionResponse) => void;
|
|
625
|
-
export declare type TxErrorCode = TransferTxErrorType | TransactionErrorType;
|
|
626
598
|
export declare enum BalanceErrorType {
|
|
627
599
|
NETWORK_ERROR = "NETWORK_ERROR",
|
|
628
600
|
TOKEN_ERROR = "TOKEN_ERROR",
|
|
@@ -814,11 +786,6 @@ export interface ExternalRequestPromise {
|
|
|
814
786
|
message?: string;
|
|
815
787
|
createdAt: number;
|
|
816
788
|
}
|
|
817
|
-
export interface PrepareExternalRequest {
|
|
818
|
-
id: string;
|
|
819
|
-
setState: (promise: ExternalRequestPromise) => void;
|
|
820
|
-
updateState: (promise: Partial<ExternalRequestPromise>) => void;
|
|
821
|
-
}
|
|
822
789
|
export interface RequestRejectExternalRequest {
|
|
823
790
|
id: string;
|
|
824
791
|
message?: string;
|
|
@@ -852,16 +819,6 @@ export declare enum ThemeNames {
|
|
|
852
819
|
DARK = "dark",
|
|
853
820
|
SUBSPACE = "subspace"
|
|
854
821
|
}
|
|
855
|
-
export declare enum NETWORK_ERROR {
|
|
856
|
-
INVALID_INFO_TYPE = "invalidInfoType",
|
|
857
|
-
INJECT_SCRIPT_DETECTED = "injectScriptDetected",
|
|
858
|
-
EXISTED_NETWORK = "existedNetwork",
|
|
859
|
-
EXISTED_PROVIDER = "existedProvider",
|
|
860
|
-
INVALID_PROVIDER = "invalidProvider",
|
|
861
|
-
NONE = "none",
|
|
862
|
-
CONNECTION_FAILURE = "connectionFailure",
|
|
863
|
-
PROVIDER_NOT_SAME_NETWORK = "providerNotSameNetwork"
|
|
864
|
-
}
|
|
865
822
|
export declare enum NETWORK_STATUS {
|
|
866
823
|
CONNECTED = "connected",
|
|
867
824
|
CONNECTING = "connecting",
|
|
@@ -889,13 +846,6 @@ export interface NftTransactionRequest {
|
|
|
889
846
|
export interface EvmNftTransaction extends ValidateTransactionResponse {
|
|
890
847
|
tx: Record<string, any> | null;
|
|
891
848
|
}
|
|
892
|
-
export interface EvmNftSubmitTransaction extends BaseRequestSign {
|
|
893
|
-
senderAddress: string;
|
|
894
|
-
recipientAddress: string;
|
|
895
|
-
networkKey: string;
|
|
896
|
-
estimateGas: string;
|
|
897
|
-
rawTransaction: Record<string, any>;
|
|
898
|
-
}
|
|
899
849
|
export interface ValidateNetworkResponse {
|
|
900
850
|
success: boolean;
|
|
901
851
|
error?: _CHAIN_VALIDATION_ERROR;
|
|
@@ -918,14 +868,11 @@ export interface ApiMap {
|
|
|
918
868
|
substrate: Record<string, _SubstrateApi>;
|
|
919
869
|
evm: Record<string, _EvmApi>;
|
|
920
870
|
}
|
|
921
|
-
export interface SupportTransferResponse {
|
|
922
|
-
supportTransfer: boolean;
|
|
923
|
-
supportTransferAll: boolean;
|
|
924
|
-
}
|
|
925
871
|
export interface RequestFreeBalance {
|
|
926
872
|
address: string;
|
|
927
873
|
networkKey: string;
|
|
928
874
|
token?: string;
|
|
875
|
+
extrinsicType?: ExtrinsicType;
|
|
929
876
|
}
|
|
930
877
|
export interface RequestMaxTransferable {
|
|
931
878
|
address: string;
|
|
@@ -934,17 +881,6 @@ export interface RequestMaxTransferable {
|
|
|
934
881
|
isXcmTransfer?: boolean;
|
|
935
882
|
destChain: string;
|
|
936
883
|
}
|
|
937
|
-
export interface RequestTransferCheckReferenceCount {
|
|
938
|
-
address: string;
|
|
939
|
-
networkKey: string;
|
|
940
|
-
}
|
|
941
|
-
export interface RequestTransferCheckSupporting {
|
|
942
|
-
networkKey: string;
|
|
943
|
-
tokenSlug: string;
|
|
944
|
-
}
|
|
945
|
-
export interface RequestTransferExistentialDeposit {
|
|
946
|
-
tokenSlug: string;
|
|
947
|
-
}
|
|
948
884
|
export interface RequestSaveRecentAccount {
|
|
949
885
|
accountId: string;
|
|
950
886
|
chain?: string;
|
|
@@ -961,7 +897,6 @@ export interface SubstrateNftSubmitTransaction extends BaseRequestSign {
|
|
|
961
897
|
recipientAddress: string;
|
|
962
898
|
}
|
|
963
899
|
export declare type RequestSubstrateNftSubmitTransaction = InternalRequestSign<SubstrateNftSubmitTransaction>;
|
|
964
|
-
export declare type RequestEvmNftSubmitTransaction = InternalRequestSign<EvmNftSubmitTransaction>;
|
|
965
900
|
export interface RequestAccountMeta {
|
|
966
901
|
address: string | Uint8Array;
|
|
967
902
|
}
|
|
@@ -1044,14 +979,6 @@ export interface ConfirmationResult<T> extends ConfirmationRequestBase {
|
|
|
1044
979
|
isApproved: boolean;
|
|
1045
980
|
payload?: T;
|
|
1046
981
|
}
|
|
1047
|
-
export interface EvmRequestExternal {
|
|
1048
|
-
hashPayload: string;
|
|
1049
|
-
canSign: boolean;
|
|
1050
|
-
}
|
|
1051
|
-
export interface EvmSendTransactionRequestExternal extends EvmSendTransactionRequest, EvmRequestExternal {
|
|
1052
|
-
}
|
|
1053
|
-
export interface EvmSignatureRequestExternal extends EvmSignatureRequest, EvmRequestExternal {
|
|
1054
|
-
}
|
|
1055
982
|
export interface AddNetworkRequestExternal {
|
|
1056
983
|
chainId: string;
|
|
1057
984
|
rpcUrls: string[];
|
|
@@ -1064,13 +991,6 @@ export interface AddNetworkRequestExternal {
|
|
|
1064
991
|
decimals: number;
|
|
1065
992
|
};
|
|
1066
993
|
}
|
|
1067
|
-
export interface AddNetworkExternalRequest {
|
|
1068
|
-
chainId: string;
|
|
1069
|
-
rpcUrl: string;
|
|
1070
|
-
chainName: string;
|
|
1071
|
-
blockExplorerUrl: string;
|
|
1072
|
-
requestId: string;
|
|
1073
|
-
}
|
|
1074
994
|
export interface AddTokenRequestExternal {
|
|
1075
995
|
slug?: string;
|
|
1076
996
|
contractAddress: string;
|
|
@@ -1098,11 +1018,6 @@ export declare type RequestConfirmationsSubscribe = null;
|
|
|
1098
1018
|
export declare type RequestConfirmationComplete = {
|
|
1099
1019
|
[CT in ConfirmationType]?: ConfirmationDefinitions[CT][1];
|
|
1100
1020
|
};
|
|
1101
|
-
export interface BasicTxInfo {
|
|
1102
|
-
fee: string;
|
|
1103
|
-
balanceError: boolean;
|
|
1104
|
-
rawFee?: number;
|
|
1105
|
-
}
|
|
1106
1021
|
export interface BondingOptionParams {
|
|
1107
1022
|
chain: string;
|
|
1108
1023
|
type: StakingType;
|
|
@@ -1144,10 +1059,6 @@ export interface LedgerNetwork {
|
|
|
1144
1059
|
isDevMode: boolean;
|
|
1145
1060
|
isEthereum: boolean;
|
|
1146
1061
|
}
|
|
1147
|
-
export interface TransakNetwork {
|
|
1148
|
-
networks: string[];
|
|
1149
|
-
tokens?: string[];
|
|
1150
|
-
}
|
|
1151
1062
|
export interface FormattedMethod {
|
|
1152
1063
|
args?: ArgInfo[];
|
|
1153
1064
|
methodName: string;
|
|
@@ -1331,36 +1242,6 @@ export interface StakePoolingUnbondingParams extends BaseRequestSign {
|
|
|
1331
1242
|
amount: string;
|
|
1332
1243
|
}
|
|
1333
1244
|
export declare type RequestStakePoolingUnbonding = InternalRequestSign<StakePoolingUnbondingParams>;
|
|
1334
|
-
export interface DelegationItem {
|
|
1335
|
-
owner: string;
|
|
1336
|
-
amount: string;
|
|
1337
|
-
identity?: string;
|
|
1338
|
-
minBond: string;
|
|
1339
|
-
hasScheduledRequest: boolean;
|
|
1340
|
-
icon?: string;
|
|
1341
|
-
}
|
|
1342
|
-
export interface StakeDelegationRequest {
|
|
1343
|
-
address: string;
|
|
1344
|
-
networkKey: string;
|
|
1345
|
-
}
|
|
1346
|
-
export interface CheckExistingTuringCompoundParams {
|
|
1347
|
-
address: string;
|
|
1348
|
-
collatorAddress: string;
|
|
1349
|
-
networkKey: string;
|
|
1350
|
-
}
|
|
1351
|
-
export interface ExistingTuringCompoundTask {
|
|
1352
|
-
exist: boolean;
|
|
1353
|
-
taskId: string;
|
|
1354
|
-
accountMinimum: number;
|
|
1355
|
-
frequency: number;
|
|
1356
|
-
}
|
|
1357
|
-
export interface TuringStakeCompoundResp {
|
|
1358
|
-
txInfo: BasicTxInfo;
|
|
1359
|
-
optimalFrequency: string;
|
|
1360
|
-
initTime: number;
|
|
1361
|
-
compoundFee: string;
|
|
1362
|
-
rawCompoundFee?: number;
|
|
1363
|
-
}
|
|
1364
1245
|
export interface TuringStakeCompoundParams extends BaseRequestSign {
|
|
1365
1246
|
address: string;
|
|
1366
1247
|
collatorAddress: string;
|
|
@@ -1375,35 +1256,6 @@ export interface TuringCancelStakeCompoundParams extends BaseRequestSign {
|
|
|
1375
1256
|
address: string;
|
|
1376
1257
|
}
|
|
1377
1258
|
export declare type RequestTuringCancelStakeCompound = InternalRequestSign<TuringCancelStakeCompoundParams>;
|
|
1378
|
-
export declare type RequestTransferExternal = InternalRequestSign<RequestCheckTransfer>;
|
|
1379
|
-
export declare type RequestCrossChainTransferExternal = InternalRequestSign<RequestCheckCrossChainTransfer>;
|
|
1380
|
-
export declare type RequestNftTransferExternalSubstrate = InternalRequestSign<SubstrateNftSubmitTransaction>;
|
|
1381
|
-
export declare type RequestNftTransferExternalEvm = InternalRequestSign<EvmNftSubmitTransaction>;
|
|
1382
|
-
export declare enum ChainEditStandard {
|
|
1383
|
-
EVM = "EVM",
|
|
1384
|
-
SUBSTRATE = "SUBSTRATE",
|
|
1385
|
-
UNKNOWN = "UNKNOWN",
|
|
1386
|
-
MIXED = "MIXED"
|
|
1387
|
-
}
|
|
1388
|
-
export declare type ChainEditInfo = {
|
|
1389
|
-
slug: string;
|
|
1390
|
-
currentProvider: string;
|
|
1391
|
-
providers: Record<string, string>;
|
|
1392
|
-
name: string;
|
|
1393
|
-
chainType: ChainEditStandard;
|
|
1394
|
-
blockExplorer?: string;
|
|
1395
|
-
crowdloanUrl?: string;
|
|
1396
|
-
priceId?: string;
|
|
1397
|
-
symbol: string;
|
|
1398
|
-
};
|
|
1399
|
-
export interface ChainSpecInfo {
|
|
1400
|
-
addressPrefix: number;
|
|
1401
|
-
genesisHash: string;
|
|
1402
|
-
paraId: number | null;
|
|
1403
|
-
evmChainId: number | null;
|
|
1404
|
-
existentialDeposit: string;
|
|
1405
|
-
decimals: number;
|
|
1406
|
-
}
|
|
1407
1259
|
export interface KeyringState {
|
|
1408
1260
|
isReady: boolean;
|
|
1409
1261
|
hasMasterPassword: boolean;
|
|
@@ -1669,6 +1521,8 @@ export interface ResponseSubscribeHistory {
|
|
|
1669
1521
|
id: string;
|
|
1670
1522
|
items: TransactionHistoryItem[];
|
|
1671
1523
|
}
|
|
1524
|
+
export declare type _Address = string;
|
|
1525
|
+
export declare type _BalanceMetadata = unknown;
|
|
1672
1526
|
export interface KoniRequestSignatures {
|
|
1673
1527
|
'pri(staking.submitTuringCancelCompound)': [RequestTuringCancelStakeCompound, SWTransactionResponse];
|
|
1674
1528
|
'pri(staking.submitTuringCompound)': [RequestTuringStakeCompound, SWTransactionResponse];
|
|
@@ -1807,9 +1661,6 @@ export interface KoniRequestSignatures {
|
|
|
1807
1661
|
'pri(yield.claimReward.submit)': [RequestStakeClaimReward, SWTransactionResponse];
|
|
1808
1662
|
'pri(transaction.history.getSubscription)': [null, TransactionHistoryItem[], TransactionHistoryItem[]];
|
|
1809
1663
|
'pri(transaction.history.subscribe)': [RequestSubscribeHistory, ResponseSubscribeHistory, TransactionHistoryItem[]];
|
|
1810
|
-
'pri(transfer.checkReferenceCount)': [RequestTransferCheckReferenceCount, boolean];
|
|
1811
|
-
'pri(transfer.checkSupporting)': [RequestTransferCheckSupporting, SupportTransferResponse];
|
|
1812
|
-
'pri(transfer.getExistentialDeposit)': [RequestTransferExistentialDeposit, string];
|
|
1813
1664
|
'pri(transfer.getMaxTransferable)': [RequestMaxTransferable, AmountData];
|
|
1814
1665
|
'pri(subscription.cancel)': [string, boolean];
|
|
1815
1666
|
'pri(freeBalance.get)': [RequestFreeBalance, AmountData];
|
package/background/KoniTypes.js
CHANGED
|
@@ -199,17 +199,6 @@ export let ThemeNames;
|
|
|
199
199
|
ThemeNames["DARK"] = "dark";
|
|
200
200
|
ThemeNames["SUBSPACE"] = "subspace";
|
|
201
201
|
})(ThemeNames || (ThemeNames = {}));
|
|
202
|
-
export let NETWORK_ERROR;
|
|
203
|
-
(function (NETWORK_ERROR) {
|
|
204
|
-
NETWORK_ERROR["INVALID_INFO_TYPE"] = "invalidInfoType";
|
|
205
|
-
NETWORK_ERROR["INJECT_SCRIPT_DETECTED"] = "injectScriptDetected";
|
|
206
|
-
NETWORK_ERROR["EXISTED_NETWORK"] = "existedNetwork";
|
|
207
|
-
NETWORK_ERROR["EXISTED_PROVIDER"] = "existedProvider";
|
|
208
|
-
NETWORK_ERROR["INVALID_PROVIDER"] = "invalidProvider";
|
|
209
|
-
NETWORK_ERROR["NONE"] = "none";
|
|
210
|
-
NETWORK_ERROR["CONNECTION_FAILURE"] = "connectionFailure";
|
|
211
|
-
NETWORK_ERROR["PROVIDER_NOT_SAME_NETWORK"] = "providerNotSameNetwork";
|
|
212
|
-
})(NETWORK_ERROR || (NETWORK_ERROR = {}));
|
|
213
202
|
export let NETWORK_STATUS;
|
|
214
203
|
|
|
215
204
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
@@ -229,16 +218,6 @@ export let EvmProviderErrorType;
|
|
|
229
218
|
EvmProviderErrorType["INVALID_PARAMS"] = "INVALID_PARAMS";
|
|
230
219
|
EvmProviderErrorType["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
231
220
|
})(EvmProviderErrorType || (EvmProviderErrorType = {}));
|
|
232
|
-
export let ChainEditStandard;
|
|
233
|
-
|
|
234
|
-
// ChainService
|
|
235
|
-
// for custom network
|
|
236
|
-
(function (ChainEditStandard) {
|
|
237
|
-
ChainEditStandard["EVM"] = "EVM";
|
|
238
|
-
ChainEditStandard["SUBSTRATE"] = "SUBSTRATE";
|
|
239
|
-
ChainEditStandard["UNKNOWN"] = "UNKNOWN";
|
|
240
|
-
ChainEditStandard["MIXED"] = "MIXED";
|
|
241
|
-
})(ChainEditStandard || (ChainEditStandard = {}));
|
|
242
221
|
export let NotificationType;
|
|
243
222
|
(function (NotificationType) {
|
|
244
223
|
NotificationType["INFO"] = "info";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WalletUnlockType = exports.TransferTxErrorType = exports.TransactionDirection = exports.ThemeNames = exports.StakingType = exports.StakingTxErrorType = exports.RuntimeEnvironment = exports.RMRK_VER = exports.ProviderErrorType = exports.NotificationType = exports.NETWORK_STATUS = exports.
|
|
6
|
+
exports.WalletUnlockType = exports.TransferTxErrorType = exports.TransactionDirection = exports.ThemeNames = exports.StakingType = exports.StakingTxErrorType = exports.RuntimeEnvironment = exports.RMRK_VER = exports.ProviderErrorType = exports.NotificationType = exports.NETWORK_STATUS = exports.MobileOS = exports.MantaPayEnableMessage = exports.ExtrinsicType = exports.ExtrinsicStatus = exports.ExternalRequestPromiseStatus = exports.EvmProviderErrorType = exports.CrowdloanParaState = exports.ContractType = exports.ChainType = exports.CampaignDataType = exports.BasicTxWarningCode = exports.BasicTxErrorType = exports.BalanceErrorType = exports.AssetHubNftType = exports.AccountExternalErrorCode = exports.APIItemState = void 0;
|
|
7
7
|
// Copyright 2019-2022 @polkadot/extension-koni authors & contributors
|
|
8
8
|
// SPDX-License-Identifier: Apache-2.0
|
|
9
9
|
let RuntimeEnvironment;
|
|
@@ -216,18 +216,6 @@ exports.ThemeNames = ThemeNames;
|
|
|
216
216
|
ThemeNames["DARK"] = "dark";
|
|
217
217
|
ThemeNames["SUBSPACE"] = "subspace";
|
|
218
218
|
})(ThemeNames || (exports.ThemeNames = ThemeNames = {}));
|
|
219
|
-
let NETWORK_ERROR;
|
|
220
|
-
exports.NETWORK_ERROR = NETWORK_ERROR;
|
|
221
|
-
(function (NETWORK_ERROR) {
|
|
222
|
-
NETWORK_ERROR["INVALID_INFO_TYPE"] = "invalidInfoType";
|
|
223
|
-
NETWORK_ERROR["INJECT_SCRIPT_DETECTED"] = "injectScriptDetected";
|
|
224
|
-
NETWORK_ERROR["EXISTED_NETWORK"] = "existedNetwork";
|
|
225
|
-
NETWORK_ERROR["EXISTED_PROVIDER"] = "existedProvider";
|
|
226
|
-
NETWORK_ERROR["INVALID_PROVIDER"] = "invalidProvider";
|
|
227
|
-
NETWORK_ERROR["NONE"] = "none";
|
|
228
|
-
NETWORK_ERROR["CONNECTION_FAILURE"] = "connectionFailure";
|
|
229
|
-
NETWORK_ERROR["PROVIDER_NOT_SAME_NETWORK"] = "providerNotSameNetwork";
|
|
230
|
-
})(NETWORK_ERROR || (exports.NETWORK_ERROR = NETWORK_ERROR = {}));
|
|
231
219
|
let NETWORK_STATUS; // eslint-disable-next-line @typescript-eslint/ban-types
|
|
232
220
|
exports.NETWORK_STATUS = NETWORK_STATUS;
|
|
233
221
|
(function (NETWORK_STATUS) {
|
|
@@ -247,15 +235,6 @@ exports.EvmProviderErrorType = EvmProviderErrorType;
|
|
|
247
235
|
EvmProviderErrorType["INVALID_PARAMS"] = "INVALID_PARAMS";
|
|
248
236
|
EvmProviderErrorType["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
249
237
|
})(EvmProviderErrorType || (exports.EvmProviderErrorType = EvmProviderErrorType = {}));
|
|
250
|
-
let ChainEditStandard; // ChainService
|
|
251
|
-
// for custom network
|
|
252
|
-
exports.ChainEditStandard = ChainEditStandard;
|
|
253
|
-
(function (ChainEditStandard) {
|
|
254
|
-
ChainEditStandard["EVM"] = "EVM";
|
|
255
|
-
ChainEditStandard["SUBSTRATE"] = "SUBSTRATE";
|
|
256
|
-
ChainEditStandard["UNKNOWN"] = "UNKNOWN";
|
|
257
|
-
ChainEditStandard["MIXED"] = "MIXED";
|
|
258
|
-
})(ChainEditStandard || (exports.ChainEditStandard = ChainEditStandard = {}));
|
|
259
238
|
let NotificationType;
|
|
260
239
|
exports.NotificationType = NotificationType;
|
|
261
240
|
(function (NotificationType) {
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.INSUFFICIENT_MESSAGES = void 0;
|
|
8
|
+
exports._handleDisplayForEarningError = _handleDisplayForEarningError;
|
|
9
|
+
exports._handleDisplayInsufficientEarningError = _handleDisplayInsufficientEarningError;
|
|
10
|
+
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
11
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
12
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
13
|
+
|
|
14
|
+
function _handleDisplayForEarningError(error) {
|
|
15
|
+
if (error.message.startsWith('UnknownError Connection to Indexed DataBase server lost') || error.message.startsWith('Provided address is invalid, the capitalization checksum test failed') || error.message.startsWith('connection not open on send()')) {
|
|
16
|
+
return {
|
|
17
|
+
title: 'Connection error',
|
|
18
|
+
message: 'Your selected network has lost connection. Update it by re-enabling it or changing network provider'
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
const INSUFFICIENT_MESSAGES = ['残高不足', 'Недостаточный баланс', 'Insufficient balance'];
|
|
24
|
+
exports.INSUFFICIENT_MESSAGES = INSUFFICIENT_MESSAGES;
|
|
25
|
+
function _handleDisplayInsufficientEarningError(error, isXCM, availableBalance, amount, minJoinPool) {
|
|
26
|
+
if (isXCM || !INSUFFICIENT_MESSAGES.some(v => error.message.includes(v))) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
const bnAvailableBalance = new _bignumber.default(availableBalance);
|
|
30
|
+
const bnAmount = new _bignumber.default(amount);
|
|
31
|
+
if (bnAvailableBalance.gt(0) && bnAmount.gte(bnAvailableBalance)) {
|
|
32
|
+
return {
|
|
33
|
+
title: 'Insufficient balance',
|
|
34
|
+
message: 'Insufficient balance. Amount must be smaller than available balance'
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (bnAvailableBalance.lte(minJoinPool)) {
|
|
38
|
+
return {
|
|
39
|
+
title: 'Insufficient balance',
|
|
40
|
+
message: 'You don\'t have enough {{symbol}} ({{chain}}) to stake, make sure your available balance is higher than {{minJoinPool}} {{symbol}}'
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
title: 'Insufficient balance',
|
|
45
|
+
message: 'You don\'t have enough {{symbol}} ({{chain}}) to pay gas fee. Lower your amount and try again'
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports._getChainflipEarlyValidationError = _getChainflipEarlyValidationError;
|
|
8
|
+
exports._getEarlyHydradxValidationError = _getEarlyHydradxValidationError;
|
|
9
|
+
exports._validateBalanceToSwap = _validateBalanceToSwap;
|
|
10
|
+
exports._validateSwapRecipient = _validateSwapRecipient;
|
|
11
|
+
var _SwapError = require("@subwallet/extension-base/background/errors/SwapError");
|
|
12
|
+
var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
|
|
13
|
+
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
14
|
+
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
15
|
+
var _swap = require("@subwallet/extension-base/types/swap");
|
|
16
|
+
var _utils2 = require("@subwallet/extension-base/utils");
|
|
17
|
+
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
18
|
+
var _utilCrypto = require("@polkadot/util-crypto");
|
|
19
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
20
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
21
|
+
|
|
22
|
+
function _validateBalanceToSwap(fromToken, feeToken, feeTokenChainInfo, feeAmount, fromTokenBalance, feeTokenBalance, swapAmount, isXcmOk, minSwap) {
|
|
23
|
+
if (new _bignumber.default(feeTokenBalance).lte(feeAmount)) {
|
|
24
|
+
return new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE, `You don't have enough ${feeToken.symbol} (${feeTokenChainInfo.name}) to pay transaction fee`);
|
|
25
|
+
}
|
|
26
|
+
if (fromToken.slug === feeToken.slug) {
|
|
27
|
+
if (new _bignumber.default(fromTokenBalance).lte(new _bignumber.default(feeAmount).plus(swapAmount))) {
|
|
28
|
+
return new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE, `Insufficient balance. Deposit ${fromToken.symbol} and try again.`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (isXcmOk) {
|
|
32
|
+
// assume that the swap is valid if XCM is in the process and it was successful
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
if (minSwap) {
|
|
36
|
+
if (new _bignumber.default(fromTokenBalance).lte(minSwap)) {
|
|
37
|
+
const parsedMinSwapValue = (0, _utils2.formatNumber)(minSwap, (0, _utils._getAssetDecimals)(fromToken));
|
|
38
|
+
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?
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (new _bignumber.default(swapAmount).gte(fromTokenBalance)) {
|
|
43
|
+
const parsedMaxBalanceSwap = (0, _utils2.formatNumber)(fromTokenBalance, (0, _utils._getAssetDecimals)(fromToken));
|
|
44
|
+
return new _TransactionError.TransactionError(_swap.SwapErrorType.SWAP_EXCEED_ALLOWANCE, `Amount too high. Lower your amount ${new _bignumber.default(fromTokenBalance).gt(0) ? `below ${parsedMaxBalanceSwap} ${fromToken.symbol}` : ''} and try again`);
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
function _validateSwapRecipient(destChainInfo, recipient) {
|
|
49
|
+
const isEvmAddress = (0, _utilCrypto.isEthereumAddress)(recipient);
|
|
50
|
+
const isEvmDestChain = (0, _utils._isChainEvmCompatible)(destChainInfo);
|
|
51
|
+
if (isEvmAddress && !isEvmDestChain || !isEvmAddress && isEvmDestChain) {
|
|
52
|
+
return new _TransactionError.TransactionError(_swap.SwapErrorType.INVALID_RECIPIENT);
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
function _getChainflipEarlyValidationError(error, metadata) {
|
|
57
|
+
// todo: support more providers
|
|
58
|
+
switch (error) {
|
|
59
|
+
case _swap.SwapErrorType.NOT_MEET_MIN_SWAP:
|
|
60
|
+
{
|
|
61
|
+
const parsedMinSwapValue = (0, _utils2.formatNumber)(metadata.minSwap.value, metadata.minSwap.decimals);
|
|
62
|
+
const message = `Amount too low. Increase your amount above ${parsedMinSwapValue} ${metadata.minSwap.symbol} and try again`;
|
|
63
|
+
return new _SwapError.SwapError(error, message);
|
|
64
|
+
}
|
|
65
|
+
case _swap.SwapErrorType.SWAP_EXCEED_ALLOWANCE:
|
|
66
|
+
{
|
|
67
|
+
if (metadata.maxSwap) {
|
|
68
|
+
const parsedMaxSwapValue = (0, _utils2.formatNumber)(metadata.maxSwap.value, metadata.maxSwap.decimals);
|
|
69
|
+
return new _SwapError.SwapError(error, `Amount too high. Lower your amount below ${parsedMaxSwapValue} ${metadata.maxSwap.symbol} and try again`);
|
|
70
|
+
} else {
|
|
71
|
+
return new _SwapError.SwapError(error, 'Amount too high. Lower your amount and try again');
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
case _swap.SwapErrorType.ASSET_NOT_SUPPORTED:
|
|
75
|
+
return new _SwapError.SwapError(error, 'This swap pair is not supported');
|
|
76
|
+
case _swap.SwapErrorType.UNKNOWN:
|
|
77
|
+
return new _SwapError.SwapError(error, `Undefined error. Check your Internet and ${metadata.chain.slug} connection or contact support`);
|
|
78
|
+
case _swap.SwapErrorType.ERROR_FETCHING_QUOTE:
|
|
79
|
+
return new _SwapError.SwapError(error, 'No swap quote found. Adjust your amount or try again later.');
|
|
80
|
+
default:
|
|
81
|
+
return new _SwapError.SwapError(error);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function _getEarlyHydradxValidationError(error, metadata) {
|
|
85
|
+
switch (error) {
|
|
86
|
+
case _swap.SwapErrorType.AMOUNT_CANNOT_BE_ZERO:
|
|
87
|
+
{
|
|
88
|
+
return new _SwapError.SwapError(error, 'Amount too low. Increase your amount above 0 and try again');
|
|
89
|
+
}
|
|
90
|
+
case _swap.SwapErrorType.ASSET_NOT_SUPPORTED:
|
|
91
|
+
return new _SwapError.SwapError(error, 'This swap pair is not supported');
|
|
92
|
+
case _swap.SwapErrorType.UNKNOWN:
|
|
93
|
+
return new _SwapError.SwapError(error, `Undefined error. Check your Internet and ${metadata.chain.slug} connection or contact support`);
|
|
94
|
+
case _swap.SwapErrorType.ERROR_FETCHING_QUOTE:
|
|
95
|
+
return new _SwapError.SwapError(error, 'No swap quote found. Adjust your amount or try again later.');
|
|
96
|
+
default:
|
|
97
|
+
return new _SwapError.SwapError(error);
|
|
98
|
+
}
|
|
99
|
+
}
|