@subwallet/extension-base 1.2.32-0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/background/KoniTypes.d.ts +78 -227
- package/background/KoniTypes.js +3 -40
- package/background/errors/SWError.d.ts +4 -7
- package/background/errors/SWError.js +4 -0
- package/background/errors/TransactionError.d.ts +2 -2
- package/background/errors/TransactionError.js +2 -4
- package/background/handlers/State.d.ts +0 -12
- package/background/types.d.ts +9 -134
- package/background/warnings/TransactionWarning.d.ts +1 -1
- package/background/warnings/TransactionWarning.js +5 -1
- package/cjs/background/KoniTypes.js +4 -44
- package/cjs/background/errors/SWError.js +4 -0
- package/cjs/background/errors/TransactionError.js +13 -15
- package/cjs/background/warnings/TransactionWarning.js +6 -2
- package/cjs/constants/environment.js +13 -0
- package/cjs/constants/index.js +40 -13
- package/cjs/constants/signing.js +23 -0
- package/cjs/constants/storage.js +4 -2
- package/cjs/core/consts.js +20 -0
- package/cjs/core/logic-validation/recipientAddress.js +106 -0
- package/cjs/core/logic-validation/request.js +11 -19
- package/cjs/core/logic-validation/swap.js +5 -5
- package/cjs/core/logic-validation/transfer.js +83 -42
- package/cjs/core/types.js +26 -0
- package/cjs/core/utils.js +113 -0
- package/cjs/koni/api/dotsama/crowdloan.js +1 -1
- package/cjs/koni/api/nft/index.js +14 -5
- package/cjs/koni/api/staking/bonding/paraChain.js +8 -8
- package/cjs/koni/api/staking/bonding/relayChain.js +9 -9
- package/cjs/koni/api/staking/index.js +4 -1
- package/cjs/koni/background/cron.js +7 -7
- package/cjs/koni/background/handlers/Extension.js +510 -1446
- package/cjs/koni/background/handlers/State.js +61 -238
- package/cjs/koni/background/handlers/Tabs.js +143 -107
- package/cjs/koni/background/subscription.js +5 -5
- package/cjs/packageInfo.js +1 -1
- package/cjs/page/Accounts.js +2 -5
- package/cjs/page/SubWalleEvmProvider.js +1 -1
- package/cjs/page/index.js +2 -1
- package/cjs/services/balance-service/BalanceMapImpl.js +48 -20
- package/cjs/services/balance-service/helpers/subscribe/index.js +27 -12
- package/cjs/services/balance-service/helpers/subscribe/ton/consts.js +40 -0
- package/cjs/services/balance-service/helpers/subscribe/ton/ton.js +120 -0
- package/cjs/services/balance-service/helpers/subscribe/ton/utils.js +181 -0
- package/cjs/services/balance-service/index.js +25 -13
- package/cjs/services/balance-service/transfer/token.js +41 -24
- package/cjs/services/balance-service/transfer/ton-transfer.js +136 -0
- package/cjs/services/buy-service/index.js +5 -1
- package/cjs/services/chain-service/constants.js +1 -1
- package/cjs/services/chain-service/handler/TonApi.js +213 -0
- package/cjs/services/chain-service/handler/TonChainHandler.js +81 -0
- package/cjs/services/chain-service/index.js +32 -8
- package/cjs/services/chain-service/utils/index.js +78 -22
- package/cjs/services/earning-service/constants/chains.js +3 -1
- package/cjs/services/earning-service/handlers/base.js +2 -1
- package/cjs/services/earning-service/handlers/lending/base.js +8 -9
- package/cjs/services/earning-service/handlers/lending/interlay.js +1 -1
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +9 -10
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +1 -1
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +1 -1
- package/cjs/services/earning-service/handlers/native-staking/astar.js +2 -2
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +13 -13
- package/cjs/services/earning-service/handlers/native-staking/base.js +2 -2
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +2 -2
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +15 -15
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +14 -14
- package/cjs/services/earning-service/handlers/special.js +10 -10
- package/cjs/services/earning-service/service.js +26 -17
- package/cjs/services/history-service/helpers/subscan-extrinsic-parser-helper.js +1 -1
- package/cjs/services/history-service/index.js +29 -11
- package/cjs/services/history-service/subscan-history.js +9 -21
- package/cjs/services/keyring-service/context/account-context.js +259 -0
- package/cjs/services/keyring-service/context/handlers/Base.js +20 -0
- package/cjs/services/keyring-service/context/handlers/Derive.js +377 -0
- package/cjs/services/keyring-service/context/handlers/Inject.js +75 -0
- package/cjs/services/keyring-service/context/handlers/Json.js +348 -0
- package/cjs/services/keyring-service/context/handlers/Ledger.js +165 -0
- package/cjs/services/keyring-service/context/handlers/Mnemonic.js +218 -0
- package/cjs/services/keyring-service/context/handlers/Modify.js +258 -0
- package/cjs/services/keyring-service/context/handlers/Secret.js +310 -0
- package/cjs/services/keyring-service/context/handlers/index.js +82 -0
- package/cjs/services/keyring-service/context/state.js +649 -0
- package/cjs/services/keyring-service/context/stores/AccountProxy.js +32 -0
- package/cjs/services/keyring-service/context/stores/Base.js +37 -0
- package/cjs/services/keyring-service/context/stores/CurrentAccount.js +28 -0
- package/cjs/services/keyring-service/context/stores/ModifyPair.js +19 -0
- package/cjs/services/keyring-service/context/stores/index.js +38 -0
- package/cjs/services/keyring-service/index.js +20 -164
- package/cjs/services/migration-service/scripts/index.js +6 -4
- package/cjs/services/migration-service/scripts/{MigrateLedgerAccountV2.js → keyring/MigrateLedgerAccountV2.js} +1 -1
- package/cjs/services/migration-service/scripts/keyring/MigratePairData.js +28 -0
- package/cjs/services/migration-service/scripts/{MigrateRemoveGenesisHash.js → keyring/MigrateRemoveGenesisHash.js} +1 -1
- package/cjs/services/request-service/constants.js +5 -3
- package/cjs/services/request-service/handler/AuthRequestHandler.js +104 -57
- package/cjs/services/request-service/handler/EvmRequestHandler.js +3 -4
- package/cjs/services/request-service/handler/SubstrateRequestHandler.js +5 -11
- package/cjs/services/request-service/handler/TonRequestHandler.js +175 -0
- package/cjs/services/request-service/index.js +24 -5
- package/cjs/services/swap-service/handler/asset-hub/handler.js +6 -5
- package/cjs/services/swap-service/handler/base-handler.js +8 -8
- package/cjs/services/swap-service/handler/chainflip-handler.js +5 -4
- package/cjs/services/swap-service/handler/hydradx-handler.js +4 -3
- package/cjs/services/swap-service/index.js +4 -4
- package/cjs/services/transaction-service/helpers/index.js +6 -1
- package/cjs/services/transaction-service/index.js +184 -84
- package/cjs/services/wallet-connect-service/handler/PolkadotRequestHandler.js +2 -10
- package/cjs/stores/AccountProxyStore.js +18 -0
- package/cjs/stores/ModifyPairStore.js +18 -0
- package/cjs/stores/index.js +23 -2
- package/cjs/types/account/action/add/index.js +38 -0
- package/cjs/types/account/action/add/json.js +1 -0
- package/cjs/types/account/action/add/mnemonic.js +1 -0
- package/cjs/types/account/action/add/secret.js +1 -0
- package/cjs/types/account/action/derive.js +1 -0
- package/cjs/types/account/action/edit.js +1 -0
- package/cjs/types/account/action/export.js +1 -0
- package/cjs/types/account/action/index.js +71 -0
- package/cjs/types/account/action/subscribe.js +16 -0
- package/cjs/types/account/action/validate.js +1 -0
- package/cjs/types/account/error/common.js +40 -0
- package/cjs/types/account/error/derive.js +55 -0
- package/cjs/types/account/error/index.js +27 -0
- package/cjs/types/account/index.js +38 -0
- package/cjs/types/account/info/current.js +1 -0
- package/cjs/types/account/info/index.js +38 -0
- package/cjs/types/account/info/keyring.js +90 -0
- package/cjs/types/account/info/proxy.js +49 -0
- package/cjs/types/error.js +1 -0
- package/cjs/types/index.js +44 -0
- package/cjs/types/transaction/data.js +1 -0
- package/cjs/types/transaction/error.js +53 -0
- package/cjs/types/transaction/index.js +49 -0
- package/cjs/types/transaction/request.js +1 -0
- package/cjs/types/transaction/warning.js +14 -0
- package/cjs/types/yield/actions/join/validate.js +1 -16
- package/cjs/utils/account/analyze.js +166 -0
- package/cjs/utils/account/common.js +121 -0
- package/cjs/utils/account/derive/index.js +27 -0
- package/cjs/utils/account/derive/info/index.js +27 -0
- package/cjs/utils/account/derive/info/solo.js +246 -0
- package/cjs/utils/account/derive/info/unified.js +112 -0
- package/cjs/utils/account/derive/validate.js +177 -0
- package/cjs/utils/account/index.js +49 -0
- package/cjs/utils/account/transform.js +566 -0
- package/cjs/utils/auth.js +46 -0
- package/cjs/utils/getId.js +8 -1
- package/cjs/utils/index.js +48 -62
- package/constants/environment.d.ts +1 -0
- package/constants/environment.js +6 -0
- package/constants/index.d.ts +5 -1
- package/constants/index.js +5 -2
- package/constants/signing.d.ts +4 -0
- package/constants/signing.js +15 -0
- package/constants/storage.d.ts +1 -0
- package/constants/storage.js +2 -1
- package/core/consts.d.ts +1 -0
- package/core/consts.js +13 -0
- package/core/logic-validation/recipientAddress.d.ts +2 -0
- package/core/logic-validation/recipientAddress.js +100 -0
- package/core/logic-validation/request.js +10 -18
- package/core/logic-validation/swap.js +1 -1
- package/core/logic-validation/transfer.d.ts +3 -2
- package/core/logic-validation/transfer.js +50 -10
- package/core/types.d.ts +26 -0
- package/core/types.js +19 -0
- package/core/utils.d.ts +10 -0
- package/core/utils.js +105 -0
- package/koni/api/dotsama/crowdloan.js +1 -1
- package/koni/api/nft/index.js +14 -5
- package/koni/api/staking/bonding/paraChain.js +2 -2
- package/koni/api/staking/bonding/relayChain.js +2 -2
- package/koni/api/staking/index.js +4 -1
- package/koni/background/cron.js +7 -7
- package/koni/background/handlers/Extension.d.ts +26 -35
- package/koni/background/handlers/Extension.js +337 -1242
- package/koni/background/handlers/State.d.ts +12 -19
- package/koni/background/handlers/State.js +57 -231
- package/koni/background/handlers/Tabs.d.ts +2 -3
- package/koni/background/handlers/Tabs.js +105 -61
- package/koni/background/subscription.js +5 -5
- package/package.json +352 -53
- package/packageInfo.js +1 -1
- package/page/Accounts.js +2 -5
- package/page/SubWalleEvmProvider.js +1 -1
- package/page/index.js +2 -1
- package/services/balance-service/BalanceMapImpl.d.ts +6 -4
- package/services/balance-service/BalanceMapImpl.js +44 -18
- package/services/balance-service/helpers/subscribe/index.d.ts +3 -4
- package/services/balance-service/helpers/subscribe/index.js +29 -14
- package/services/balance-service/helpers/subscribe/ton/consts.d.ts +18 -0
- package/services/balance-service/helpers/subscribe/ton/consts.js +28 -0
- package/services/balance-service/helpers/subscribe/ton/ton.d.ts +3 -0
- package/services/balance-service/helpers/subscribe/ton/ton.js +111 -0
- package/services/balance-service/helpers/subscribe/ton/types.d.ts +26 -0
- package/services/balance-service/helpers/subscribe/ton/utils.d.ts +32 -0
- package/services/balance-service/helpers/subscribe/ton/utils.js +159 -0
- package/services/balance-service/index.js +25 -13
- package/services/balance-service/transfer/token.d.ts +2 -2
- package/services/balance-service/transfer/token.js +18 -1
- package/services/balance-service/transfer/ton-transfer.d.ts +25 -0
- package/services/balance-service/transfer/ton-transfer.js +127 -0
- package/services/buy-service/index.js +5 -1
- package/services/buy-service/types.d.ts +2 -2
- package/services/chain-service/constants.js +1 -1
- package/services/chain-service/handler/TonApi.d.ts +52 -0
- package/services/chain-service/handler/TonApi.js +204 -0
- package/services/chain-service/handler/TonChainHandler.d.ts +17 -0
- package/services/chain-service/handler/TonChainHandler.js +73 -0
- package/services/chain-service/index.d.ts +5 -1
- package/services/chain-service/index.js +32 -8
- package/services/chain-service/types.d.ts +24 -0
- package/services/chain-service/utils/index.d.ts +10 -2
- package/services/chain-service/utils/index.js +59 -18
- package/services/earning-service/constants/chains.d.ts +1 -0
- package/services/earning-service/constants/chains.js +1 -0
- package/services/earning-service/handlers/base.js +3 -2
- package/services/earning-service/handlers/lending/base.js +1 -2
- package/services/earning-service/handlers/lending/interlay.js +2 -2
- package/services/earning-service/handlers/liquid-staking/base.js +1 -2
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +2 -2
- package/services/earning-service/handlers/native-staking/amplitude.js +2 -2
- package/services/earning-service/handlers/native-staking/astar.js +2 -2
- package/services/earning-service/handlers/native-staking/base-para.js +2 -2
- package/services/earning-service/handlers/native-staking/base.js +2 -2
- package/services/earning-service/handlers/native-staking/para-chain.js +2 -2
- package/services/earning-service/handlers/native-staking/relay-chain.js +2 -2
- package/services/earning-service/handlers/nomination-pool/index.js +2 -2
- package/services/earning-service/handlers/special.js +2 -2
- package/services/earning-service/service.js +18 -9
- package/services/event-service/types.d.ts +3 -1
- package/services/history-service/helpers/subscan-extrinsic-parser-helper.js +1 -1
- package/services/history-service/index.d.ts +4 -1
- package/services/history-service/index.js +29 -11
- package/services/history-service/subscan-history.js +8 -20
- package/services/keyring-service/context/account-context.d.ts +87 -0
- package/services/keyring-service/context/account-context.js +250 -0
- package/services/keyring-service/context/handlers/Base.d.ts +11 -0
- package/services/keyring-service/context/handlers/Base.js +13 -0
- package/services/keyring-service/context/handlers/Derive.d.ts +29 -0
- package/services/keyring-service/context/handlers/Derive.js +365 -0
- package/services/keyring-service/context/handlers/Inject.d.ts +11 -0
- package/services/keyring-service/context/handlers/Inject.js +69 -0
- package/services/keyring-service/context/handlers/Json.d.ts +18 -0
- package/services/keyring-service/context/handlers/Json.js +328 -0
- package/services/keyring-service/context/handlers/Ledger.d.ts +11 -0
- package/services/keyring-service/context/handlers/Ledger.js +158 -0
- package/services/keyring-service/context/handlers/Mnemonic.d.ts +15 -0
- package/services/keyring-service/context/handlers/Mnemonic.js +206 -0
- package/services/keyring-service/context/handlers/Modify.d.ts +16 -0
- package/services/keyring-service/context/handlers/Modify.js +250 -0
- package/services/keyring-service/context/handlers/Secret.d.ts +16 -0
- package/services/keyring-service/context/handlers/Secret.js +299 -0
- package/services/keyring-service/context/handlers/index.d.ts +7 -0
- package/services/keyring-service/context/handlers/index.js +10 -0
- package/services/keyring-service/context/state.d.ts +92 -0
- package/services/keyring-service/context/state.js +629 -0
- package/services/keyring-service/context/stores/AccountProxy.d.ts +13 -0
- package/services/keyring-service/context/stores/AccountProxy.js +25 -0
- package/services/keyring-service/context/stores/Base.d.ts +22 -0
- package/services/keyring-service/context/stores/Base.js +30 -0
- package/services/keyring-service/context/stores/CurrentAccount.d.ts +15 -0
- package/services/keyring-service/context/stores/CurrentAccount.js +21 -0
- package/services/keyring-service/context/stores/ModifyPair.d.ts +10 -0
- package/services/keyring-service/context/stores/ModifyPair.js +12 -0
- package/services/keyring-service/context/stores/index.d.ts +3 -0
- package/services/keyring-service/context/stores/index.js +6 -0
- package/services/keyring-service/index.d.ts +10 -22
- package/services/keyring-service/index.js +20 -161
- package/services/migration-service/scripts/index.js +6 -4
- package/services/migration-service/scripts/{MigrateLedgerAccountV2.d.ts → keyring/MigrateLedgerAccountV2.d.ts} +1 -1
- package/services/migration-service/scripts/{MigrateLedgerAccountV2.js → keyring/MigrateLedgerAccountV2.js} +1 -1
- package/services/migration-service/scripts/keyring/MigratePairData.d.ts +4 -0
- package/services/migration-service/scripts/keyring/MigratePairData.js +20 -0
- package/services/migration-service/scripts/{MigrateRemoveGenesisHash.js → keyring/MigrateRemoveGenesisHash.js} +1 -1
- package/services/request-service/constants.d.ts +1 -1
- package/services/request-service/constants.js +2 -1
- package/services/request-service/handler/AuthRequestHandler.d.ts +1 -0
- package/services/request-service/handler/AuthRequestHandler.js +93 -45
- package/services/request-service/handler/EvmRequestHandler.js +3 -4
- package/services/request-service/handler/SubstrateRequestHandler.d.ts +2 -2
- package/services/request-service/handler/SubstrateRequestHandler.js +5 -11
- package/services/request-service/handler/TonRequestHandler.d.ts +17 -0
- package/services/request-service/handler/TonRequestHandler.js +168 -0
- package/services/request-service/index.d.ts +8 -3
- package/services/request-service/index.js +23 -5
- package/services/request-service/types.d.ts +6 -3
- package/services/swap-service/handler/asset-hub/handler.d.ts +1 -1
- package/services/swap-service/handler/asset-hub/handler.js +2 -1
- package/services/swap-service/handler/base-handler.js +1 -1
- package/services/swap-service/handler/chainflip-handler.d.ts +1 -1
- package/services/swap-service/handler/chainflip-handler.js +4 -3
- package/services/swap-service/handler/hydradx-handler.d.ts +1 -1
- package/services/swap-service/handler/hydradx-handler.js +2 -1
- package/services/swap-service/index.js +1 -1
- package/services/transaction-service/helpers/index.d.ts +2 -0
- package/services/transaction-service/helpers/index.js +4 -0
- package/services/transaction-service/index.d.ts +1 -0
- package/services/transaction-service/index.js +114 -17
- package/services/transaction-service/types.d.ts +4 -2
- package/services/wallet-connect-service/handler/PolkadotRequestHandler.js +2 -10
- package/stores/AccountProxyStore.d.ts +5 -0
- package/stores/AccountProxyStore.js +10 -0
- package/stores/Authorize.d.ts +1 -1
- package/stores/CurrentAccountStore.d.ts +1 -1
- package/stores/ModifyPairStore.d.ts +5 -0
- package/stores/ModifyPairStore.js +10 -0
- package/stores/index.d.ts +4 -1
- package/stores/index.js +5 -2
- package/types/account/action/add/index.d.ts +3 -0
- package/types/account/action/add/index.js +6 -0
- package/types/account/action/add/json.d.ts +29 -0
- package/types/account/action/add/json.js +1 -0
- package/types/account/action/add/mnemonic.d.ts +77 -0
- package/types/account/action/add/mnemonic.js +1 -0
- package/types/account/action/add/secret.d.ts +55 -0
- package/types/account/action/add/secret.js +1 -0
- package/types/account/action/derive.d.ts +77 -0
- package/types/account/action/derive.js +1 -0
- package/types/account/action/edit.d.ts +31 -0
- package/types/account/action/edit.js +1 -0
- package/types/account/action/export.d.ts +15 -0
- package/types/account/action/export.js +1 -0
- package/types/account/action/index.d.ts +6 -0
- package/types/account/action/index.js +9 -0
- package/types/account/action/subscribe.d.ts +22 -0
- package/types/account/action/subscribe.js +10 -0
- package/types/account/action/validate.d.ts +17 -0
- package/types/account/action/validate.js +1 -0
- package/types/account/error/common.d.ts +10 -0
- package/types/account/error/common.js +33 -0
- package/types/account/error/derive.d.ts +13 -0
- package/types/account/error/derive.js +48 -0
- package/types/account/error/index.d.ts +2 -0
- package/types/account/error/index.js +5 -0
- package/types/account/index.d.ts +3 -0
- package/types/account/index.js +6 -0
- package/types/account/info/current.d.ts +10 -0
- package/types/account/info/current.js +1 -0
- package/types/account/info/index.d.ts +3 -0
- package/types/account/info/index.js +6 -0
- package/types/account/info/keyring.d.ts +161 -0
- package/types/account/info/keyring.js +88 -0
- package/types/account/info/proxy.d.ts +73 -0
- package/types/account/info/proxy.js +46 -0
- package/types/balance/index.d.ts +4 -1
- package/types/buy.d.ts +3 -1
- package/types/error.d.ts +8 -0
- package/types/error.js +1 -0
- package/types/index.d.ts +4 -0
- package/types/index.js +5 -1
- package/types/transaction/data.d.ts +17 -0
- package/types/transaction/data.js +1 -0
- package/types/transaction/error.d.ts +39 -0
- package/types/transaction/error.js +44 -0
- package/types/transaction/index.d.ts +4 -0
- package/types/transaction/index.js +7 -0
- package/types/transaction/request.d.ts +24 -0
- package/types/transaction/request.js +1 -0
- package/types/transaction/warning.d.ts +5 -0
- package/types/transaction/warning.js +8 -0
- package/types/yield/actions/join/submit.d.ts +2 -2
- package/types/yield/actions/join/validate.d.ts +1 -6
- package/types/yield/actions/join/validate.js +1 -10
- package/types/yield/actions/others.d.ts +1 -1
- package/utils/account/analyze.d.ts +4 -0
- package/utils/account/analyze.js +159 -0
- package/utils/account/common.d.ts +16 -0
- package/utils/account/common.js +104 -0
- package/utils/account/derive/index.d.ts +2 -0
- package/utils/account/derive/index.js +5 -0
- package/utils/account/derive/info/index.d.ts +2 -0
- package/utils/account/derive/info/index.js +5 -0
- package/utils/account/derive/info/solo.d.ts +11 -0
- package/utils/account/derive/info/solo.js +230 -0
- package/utils/account/derive/info/unified.d.ts +7 -0
- package/utils/account/derive/info/unified.js +102 -0
- package/utils/account/derive/validate.d.ts +8 -0
- package/utils/account/derive/validate.js +165 -0
- package/utils/account/index.d.ts +4 -0
- package/utils/account/index.js +7 -0
- package/utils/account/transform.d.ts +41 -0
- package/utils/account/transform.js +533 -0
- package/utils/auth.d.ts +2 -0
- package/utils/auth.js +39 -0
- package/utils/canDerive.d.ts +1 -1
- package/utils/eth/mergeTransactionAndSignature.d.ts +1 -1
- package/utils/getId.d.ts +1 -0
- package/utils/getId.js +3 -1
- package/utils/index.d.ts +12 -5
- package/utils/index.js +28 -47
- package/cjs/signers/substrates/KeyringSigner.js +0 -35
- package/cjs/signers/substrates/LedgerSigner.js +0 -44
- package/cjs/signers/substrates/QrSigner.js +0 -63
- package/cjs/signers/types.js +0 -15
- package/cjs/signers/web3/QrSigner.js +0 -67
- package/cjs/utils/account.js +0 -34
- package/signers/substrates/KeyringSigner.d.ts +0 -13
- package/signers/substrates/KeyringSigner.js +0 -27
- package/signers/substrates/LedgerSigner.d.ts +0 -13
- package/signers/substrates/LedgerSigner.js +0 -37
- package/signers/substrates/QrSigner.d.ts +0 -20
- package/signers/substrates/QrSigner.js +0 -55
- package/signers/types.d.ts +0 -34
- package/signers/types.js +0 -9
- package/signers/web3/QrSigner.d.ts +0 -18
- package/signers/web3/QrSigner.js +0 -59
- package/types/transaction.d.ts +0 -3
- package/utils/account.d.ts +0 -5
- package/utils/account.js +0 -24
- /package/cjs/{types/transaction.js → services/balance-service/helpers/subscribe/ton/types.js} +0 -0
- /package/cjs/services/migration-service/scripts/{MigrateLedgerAccount.js → keyring/MigrateLedgerAccount.js} +0 -0
- /package/{types/transaction.js → services/balance-service/helpers/subscribe/ton/types.js} +0 -0
- /package/services/migration-service/scripts/{MigrateLedgerAccount.d.ts → keyring/MigrateLedgerAccount.d.ts} +0 -0
- /package/services/migration-service/scripts/{MigrateLedgerAccount.js → keyring/MigrateLedgerAccount.js} +0 -0
- /package/services/migration-service/scripts/{MigrateRemoveGenesisHash.d.ts → keyring/MigrateRemoveGenesisHash.d.ts} +0 -0
|
@@ -39,10 +39,10 @@ class BaseParaNativeStakingPoolHandler extends _base.default {
|
|
|
39
39
|
const chainInfo = this.chainInfo;
|
|
40
40
|
const bnAmount = new _util.BN(amount);
|
|
41
41
|
if (bnAmount.lte(_util.BN_ZERO)) {
|
|
42
|
-
return [new _TransactionError.TransactionError(
|
|
42
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS, 'Amount must be greater than 0')];
|
|
43
43
|
}
|
|
44
44
|
if (!poolInfo || !poolInfo.statistic) {
|
|
45
|
-
return Promise.resolve([new _TransactionError.TransactionError(
|
|
45
|
+
return Promise.resolve([new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)]);
|
|
46
46
|
}
|
|
47
47
|
const errors = [];
|
|
48
48
|
const selectedCollator = selectedValidators[0];
|
|
@@ -56,7 +56,7 @@ class BaseParaNativeStakingPoolHandler extends _base.default {
|
|
|
56
56
|
const existUnstakeErrorMessage = (0, _utils.getExistUnstakeErrorMessage)(chainInfo.slug, _KoniTypes.StakingType.NOMINATED, true);
|
|
57
57
|
if (!poolPosition || poolPosition.status === _types.EarningStatus.NOT_STAKING) {
|
|
58
58
|
if (!bnTotalStake.gte(bnMinStake)) {
|
|
59
|
-
errors.push(new _TransactionError.TransactionError(
|
|
59
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
|
|
60
60
|
}
|
|
61
61
|
return errors;
|
|
62
62
|
}
|
|
@@ -67,11 +67,11 @@ class BaseParaNativeStakingPoolHandler extends _base.default {
|
|
|
67
67
|
if (!bondedValidators.includes(parsedSelectedCollatorAddress)) {
|
|
68
68
|
// new delegation
|
|
69
69
|
if (!bnTotalStake.gte(bnMinStake)) {
|
|
70
|
-
errors.push(new _TransactionError.TransactionError(
|
|
70
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
|
|
71
71
|
}
|
|
72
72
|
const delegationCount = poolPosition.nominations.length + 1;
|
|
73
73
|
if (delegationCount > maxValidator) {
|
|
74
|
-
errors.push(new _TransactionError.TransactionError(
|
|
74
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.EXCEED_MAX_NOMINATIONS, maxValidatorErrorMessage));
|
|
75
75
|
}
|
|
76
76
|
} else {
|
|
77
77
|
let currentDelegationAmount = '0';
|
|
@@ -85,10 +85,10 @@ class BaseParaNativeStakingPoolHandler extends _base.default {
|
|
|
85
85
|
}
|
|
86
86
|
bnTotalStake = bnTotalStake.add(new _util.BN(currentDelegationAmount));
|
|
87
87
|
if (!bnTotalStake.gte(bnMinStake)) {
|
|
88
|
-
errors.push(new _TransactionError.TransactionError(
|
|
88
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
|
|
89
89
|
}
|
|
90
90
|
if (hasUnstaking) {
|
|
91
|
-
errors.push(new _TransactionError.TransactionError(
|
|
91
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.EXIST_UNSTAKING_REQUEST, existUnstakeErrorMessage));
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
return errors;
|
|
@@ -106,14 +106,14 @@ class BaseParaNativeStakingPoolHandler extends _base.default {
|
|
|
106
106
|
const poolInfo = await this.getPoolInfo();
|
|
107
107
|
const poolPosition = await this.getPoolPosition(address);
|
|
108
108
|
if (!poolInfo || !poolInfo.statistic || !poolPosition || fastLeave || !selectedTarget) {
|
|
109
|
-
return [new _TransactionError.TransactionError(
|
|
109
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)];
|
|
110
110
|
}
|
|
111
111
|
if (fastLeave) {
|
|
112
|
-
return [new _TransactionError.TransactionError(
|
|
112
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS)];
|
|
113
113
|
}
|
|
114
114
|
const bnAmount = new _util.BN(amount);
|
|
115
115
|
if (bnAmount.lte(_util.BN_ZERO)) {
|
|
116
|
-
errors.push(new _TransactionError.TransactionError(
|
|
116
|
+
errors.push(new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS, (0, _i18next.t)('Amount must be greater than 0')));
|
|
117
117
|
}
|
|
118
118
|
let targetNomination;
|
|
119
119
|
for (const nomination of poolPosition.nominations) {
|
|
@@ -123,7 +123,7 @@ class BaseParaNativeStakingPoolHandler extends _base.default {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
if (!targetNomination) {
|
|
126
|
-
errors.push(new _TransactionError.TransactionError(
|
|
126
|
+
errors.push(new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR));
|
|
127
127
|
return errors;
|
|
128
128
|
}
|
|
129
129
|
const bnActiveStake = new _util.BN(targetNomination.activeStake);
|
|
@@ -133,10 +133,10 @@ class BaseParaNativeStakingPoolHandler extends _base.default {
|
|
|
133
133
|
const bnMinStake = _util.BN.max(bnCollatorMinStake, bnChainMinStake);
|
|
134
134
|
const existUnstakeErrorMessage = (0, _utils.getExistUnstakeErrorMessage)(this.chain, _KoniTypes.StakingType.NOMINATED);
|
|
135
135
|
if (targetNomination.hasUnstaking) {
|
|
136
|
-
errors.push(new _TransactionError.TransactionError(
|
|
136
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.EXIST_UNSTAKING_REQUEST, existUnstakeErrorMessage));
|
|
137
137
|
}
|
|
138
138
|
if (!(bnRemainingStake.isZero() || bnRemainingStake.gte(bnMinStake))) {
|
|
139
|
-
errors.push(new _TransactionError.TransactionError(
|
|
139
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.INVALID_ACTIVE_STAKE));
|
|
140
140
|
}
|
|
141
141
|
return errors;
|
|
142
142
|
}
|
|
@@ -145,7 +145,7 @@ class BaseNativeStakingPoolHandler extends _base.default {
|
|
|
145
145
|
/* Leave pool action */
|
|
146
146
|
|
|
147
147
|
async handleYieldRedeem(amount, address, selectedTarget) {
|
|
148
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
148
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
/* Leave pool action */
|
|
@@ -153,7 +153,7 @@ class BaseNativeStakingPoolHandler extends _base.default {
|
|
|
153
153
|
/* Other action */
|
|
154
154
|
|
|
155
155
|
async handleYieldClaimReward(address, bondReward) {
|
|
156
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
156
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
/* Other actions */
|
|
@@ -468,7 +468,7 @@ class ParaNativeStakingPoolHandler extends _basePara.default {
|
|
|
468
468
|
const binaryAmount = new _util.BN(amount);
|
|
469
469
|
const poolPosition = await this.getPoolPosition(address);
|
|
470
470
|
if (!selectedTarget || !poolPosition) {
|
|
471
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
471
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS));
|
|
472
472
|
}
|
|
473
473
|
const unstakeAll = (0, _utils.isUnstakeAll)(selectedTarget, poolPosition.nominations, amount);
|
|
474
474
|
let extrinsic;
|
|
@@ -494,7 +494,7 @@ class ParaNativeStakingPoolHandler extends _basePara.default {
|
|
|
494
494
|
async handleYieldWithdraw(address, unstakingInfo) {
|
|
495
495
|
const collatorAddress = unstakingInfo.validatorAddress;
|
|
496
496
|
if (!collatorAddress) {
|
|
497
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
497
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS));
|
|
498
498
|
}
|
|
499
499
|
const chainApi = await this.substrateApi.isReady;
|
|
500
500
|
return chainApi.api.tx.parachainStaking.executeDelegationRequest(address, collatorAddress);
|
|
@@ -298,7 +298,7 @@ class RelayNativeStakingPoolHandler extends _base.default {
|
|
|
298
298
|
const chainApi = await this.substrateApi.isReady;
|
|
299
299
|
const poolInfo = await this.getPoolInfo();
|
|
300
300
|
if (!poolInfo || !poolInfo.statistic) {
|
|
301
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
301
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR));
|
|
302
302
|
}
|
|
303
303
|
const [_era, _activeEraInfo] = await Promise.all([chainApi.api.query.staking.currentEra(), chainApi.api.query.staking.activeEra()]);
|
|
304
304
|
const currentEra = _era.toString();
|
|
@@ -471,14 +471,14 @@ class RelayNativeStakingPoolHandler extends _base.default {
|
|
|
471
471
|
const chainInfo = this.chainInfo;
|
|
472
472
|
const bnAmount = new _util.BN(amount);
|
|
473
473
|
if (bnAmount.lte(_util.BN_ZERO)) {
|
|
474
|
-
return Promise.resolve([new _TransactionError.TransactionError(
|
|
474
|
+
return Promise.resolve([new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS, 'Amount must be greater than 0')]);
|
|
475
475
|
}
|
|
476
476
|
if (!_poolInfo) {
|
|
477
|
-
return Promise.resolve([new _TransactionError.TransactionError(
|
|
477
|
+
return Promise.resolve([new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)]);
|
|
478
478
|
}
|
|
479
479
|
const poolInfo = _poolInfo;
|
|
480
480
|
if (!poolInfo.statistic) {
|
|
481
|
-
return Promise.resolve([new _TransactionError.TransactionError(
|
|
481
|
+
return Promise.resolve([new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)]);
|
|
482
482
|
}
|
|
483
483
|
const errors = [];
|
|
484
484
|
let bnTotalStake = new _util.BN(amount);
|
|
@@ -487,20 +487,20 @@ class RelayNativeStakingPoolHandler extends _base.default {
|
|
|
487
487
|
const maxValidatorErrorMessage = (0, _utils.getMaxValidatorErrorMessage)(chainInfo, poolInfo.statistic.maxCandidatePerFarmer);
|
|
488
488
|
if (!poolPosition || poolPosition.status === _types.EarningStatus.NOT_STAKING) {
|
|
489
489
|
if (!bnTotalStake.gte(bnMinStake)) {
|
|
490
|
-
errors.push(new _TransactionError.TransactionError(
|
|
490
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
|
|
491
491
|
}
|
|
492
492
|
if (selectedValidators.length > poolInfo.statistic.maxCandidatePerFarmer) {
|
|
493
|
-
errors.push(new _TransactionError.TransactionError(
|
|
493
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.EXCEED_MAX_NOMINATIONS, maxValidatorErrorMessage));
|
|
494
494
|
}
|
|
495
495
|
return errors;
|
|
496
496
|
}
|
|
497
497
|
const bnCurrentActiveStake = new _util.BN(poolPosition.activeStake);
|
|
498
498
|
bnTotalStake = bnTotalStake.add(bnCurrentActiveStake);
|
|
499
499
|
if (!bnTotalStake.gte(bnMinStake)) {
|
|
500
|
-
errors.push(new _TransactionError.TransactionError(
|
|
500
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
|
|
501
501
|
}
|
|
502
502
|
if (selectedValidators.length > poolInfo.statistic.maxCandidatePerFarmer) {
|
|
503
|
-
errors.push(new _TransactionError.TransactionError(
|
|
503
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.EXCEED_MAX_NOMINATIONS, maxValidatorErrorMessage));
|
|
504
504
|
}
|
|
505
505
|
return errors;
|
|
506
506
|
}
|
|
@@ -586,7 +586,7 @@ class RelayNativeStakingPoolHandler extends _base.default {
|
|
|
586
586
|
if (bondTx && nominateTx) {
|
|
587
587
|
return compoundTransactions(bondTx, nominateTx);
|
|
588
588
|
} else {
|
|
589
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
589
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR));
|
|
590
590
|
}
|
|
591
591
|
}
|
|
592
592
|
|
|
@@ -599,24 +599,24 @@ class RelayNativeStakingPoolHandler extends _base.default {
|
|
|
599
599
|
const poolInfo = await this.getPoolInfo();
|
|
600
600
|
const poolPosition = await this.getPoolPosition(address);
|
|
601
601
|
if (!poolInfo || !poolInfo.statistic || !poolPosition || fastLeave) {
|
|
602
|
-
return [new _TransactionError.TransactionError(
|
|
602
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)];
|
|
603
603
|
}
|
|
604
604
|
if (fastLeave) {
|
|
605
|
-
return [new _TransactionError.TransactionError(
|
|
605
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS)];
|
|
606
606
|
}
|
|
607
607
|
const bnAmount = new _util.BN(amount);
|
|
608
608
|
if (bnAmount.lte(_util.BN_ZERO)) {
|
|
609
|
-
errors.push(new _TransactionError.TransactionError(
|
|
609
|
+
errors.push(new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS, (0, _i18next.t)('Amount must be greater than 0')));
|
|
610
610
|
}
|
|
611
611
|
const bnActiveStake = new _util.BN(poolPosition.activeStake);
|
|
612
612
|
const bnRemainingStake = bnActiveStake.sub(new _util.BN(amount));
|
|
613
613
|
const minStake = new _util.BN(poolInfo.statistic.earningThreshold.join || '0');
|
|
614
614
|
const maxUnstake = poolInfo.statistic.maxWithdrawalRequestPerFarmer;
|
|
615
615
|
if (!(bnRemainingStake.isZero() || bnRemainingStake.gte(minStake))) {
|
|
616
|
-
errors.push(new _TransactionError.TransactionError(
|
|
616
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.INVALID_ACTIVE_STAKE));
|
|
617
617
|
}
|
|
618
618
|
if (poolPosition.unstakings.length > maxUnstake) {
|
|
619
|
-
errors.push(new _TransactionError.TransactionError(
|
|
619
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.EXCEED_MAX_UNSTAKING, (0, _i18next.t)('You cannot unstake more than {{number}} times', {
|
|
620
620
|
replace: {
|
|
621
621
|
number: maxUnstake
|
|
622
622
|
}
|
|
@@ -628,7 +628,7 @@ class RelayNativeStakingPoolHandler extends _base.default {
|
|
|
628
628
|
const chainApi = await this.substrateApi.isReady;
|
|
629
629
|
const poolPosition = await this.getPoolPosition(address);
|
|
630
630
|
if (!poolPosition) {
|
|
631
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
631
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR));
|
|
632
632
|
}
|
|
633
633
|
let extrinsic;
|
|
634
634
|
const binaryAmount = new _util.BN(amount);
|
|
@@ -381,7 +381,7 @@ class NominationPoolHandler extends _base.default {
|
|
|
381
381
|
targets
|
|
382
382
|
} = params;
|
|
383
383
|
if (!targets || !targets.length) {
|
|
384
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
384
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS));
|
|
385
385
|
}
|
|
386
386
|
const data = {
|
|
387
387
|
amount,
|
|
@@ -409,10 +409,10 @@ class NominationPoolHandler extends _base.default {
|
|
|
409
409
|
const _poolInfo = await this.getPoolInfo();
|
|
410
410
|
const bnAmount = new _util.BN(amount);
|
|
411
411
|
if (bnAmount.lte(_util.BN_ZERO)) {
|
|
412
|
-
return [new _TransactionError.TransactionError(
|
|
412
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS, 'Amount must be greater than 0')];
|
|
413
413
|
}
|
|
414
414
|
if (!_poolInfo || !_poolInfo.statistic) {
|
|
415
|
-
return Promise.resolve([new _TransactionError.TransactionError(
|
|
415
|
+
return Promise.resolve([new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)]);
|
|
416
416
|
}
|
|
417
417
|
const poolInfo = _poolInfo;
|
|
418
418
|
const chainInfo = this.chainInfo;
|
|
@@ -426,17 +426,17 @@ class NominationPoolHandler extends _base.default {
|
|
|
426
426
|
const minStakeErrorMessage = (0, _utils.getMinStakeErrorMessage)(chainInfo, bnMinStake);
|
|
427
427
|
const existUnstakeErrorMessage = (0, _utils.getExistUnstakeErrorMessage)(chainInfo.slug, _KoniTypes.StakingType.POOLED, true);
|
|
428
428
|
if (selectedPool.state !== 'Open') {
|
|
429
|
-
errors.push(new _TransactionError.TransactionError(
|
|
429
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.INACTIVE_NOMINATION_POOL));
|
|
430
430
|
}
|
|
431
431
|
if (positionInfo) {
|
|
432
432
|
const bnCurrentActiveStake = new _util.BN(positionInfo.activeStake);
|
|
433
433
|
bnTotalStake = bnTotalStake.add(bnCurrentActiveStake);
|
|
434
434
|
if (positionInfo.unstakings.length > 0 && bnCurrentActiveStake.isZero()) {
|
|
435
|
-
errors.push(new _TransactionError.TransactionError(
|
|
435
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.EXIST_UNSTAKING_REQUEST, existUnstakeErrorMessage));
|
|
436
436
|
}
|
|
437
437
|
}
|
|
438
438
|
if (!bnTotalStake.gte(bnMinStake)) {
|
|
439
|
-
errors.push(new _TransactionError.TransactionError(
|
|
439
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
|
|
440
440
|
}
|
|
441
441
|
return errors;
|
|
442
442
|
}
|
|
@@ -510,24 +510,24 @@ class NominationPoolHandler extends _base.default {
|
|
|
510
510
|
const poolInfo = await this.getPoolInfo();
|
|
511
511
|
const poolPosition = await this.getPoolPosition(address);
|
|
512
512
|
if (!poolInfo || !poolPosition || fastLeave || !poolInfo.statistic) {
|
|
513
|
-
return [new _TransactionError.TransactionError(
|
|
513
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)];
|
|
514
514
|
}
|
|
515
515
|
if (fastLeave) {
|
|
516
|
-
return [new _TransactionError.TransactionError(
|
|
516
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS)];
|
|
517
517
|
}
|
|
518
518
|
const bnAmount = new _util.BN(amount);
|
|
519
519
|
if (bnAmount.lte(_util.BN_ZERO)) {
|
|
520
|
-
errors.push(new _TransactionError.TransactionError(
|
|
520
|
+
errors.push(new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS, (0, _i18next.t)('Amount must be greater than 0')));
|
|
521
521
|
}
|
|
522
522
|
const bnActiveStake = new _util.BN(poolPosition.activeStake);
|
|
523
523
|
const bnRemainingStake = bnActiveStake.sub(new _util.BN(amount));
|
|
524
524
|
const minStake = new _util.BN(poolInfo.statistic.earningThreshold.join || '0');
|
|
525
525
|
const maxUnstake = poolInfo.statistic.maxWithdrawalRequestPerFarmer;
|
|
526
526
|
if (!(bnRemainingStake.isZero() || bnRemainingStake.gte(minStake))) {
|
|
527
|
-
errors.push(new _TransactionError.TransactionError(
|
|
527
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.INVALID_ACTIVE_STAKE));
|
|
528
528
|
}
|
|
529
529
|
if (poolPosition.unstakings.length > maxUnstake) {
|
|
530
|
-
errors.push(new _TransactionError.TransactionError(
|
|
530
|
+
errors.push(new _TransactionError.TransactionError(_types.StakingTxErrorType.EXCEED_MAX_UNSTAKING, (0, _i18next.t)('You cannot unstake more than {{number}} times', {
|
|
531
531
|
replace: {
|
|
532
532
|
number: maxUnstake
|
|
533
533
|
}
|
|
@@ -536,13 +536,13 @@ class NominationPoolHandler extends _base.default {
|
|
|
536
536
|
return Promise.resolve(errors);
|
|
537
537
|
}
|
|
538
538
|
async handleYieldRedeem(amount, address, selectedTarget) {
|
|
539
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
539
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
540
540
|
}
|
|
541
541
|
async handleYieldUnstake(amount, address, selectedTarget) {
|
|
542
542
|
const chainApi = await this.substrateApi.isReady;
|
|
543
543
|
const poolPosition = await this.getPoolPosition(address);
|
|
544
544
|
if (!poolPosition) {
|
|
545
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
545
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR));
|
|
546
546
|
}
|
|
547
547
|
const extrinsic = chainApi.api.tx.nominationPools.unbond({
|
|
548
548
|
Id: poolPosition.address
|
|
@@ -555,7 +555,7 @@ class NominationPoolHandler extends _base.default {
|
|
|
555
555
|
/* Other action */
|
|
556
556
|
|
|
557
557
|
handleYieldCancelUnstake(params) {
|
|
558
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
558
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
559
559
|
}
|
|
560
560
|
async handleYieldClaimReward(address, bondReward) {
|
|
561
561
|
const chainApi = await this.substrateApi.isReady;
|
|
@@ -268,7 +268,7 @@ class BaseSpecialStakingPoolHandler extends _base.default {
|
|
|
268
268
|
/* Validate join action */
|
|
269
269
|
|
|
270
270
|
async validateTokenApproveStep(params, path) {
|
|
271
|
-
return Promise.resolve([new _TransactionError.TransactionError(
|
|
271
|
+
return Promise.resolve([new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED)]);
|
|
272
272
|
}
|
|
273
273
|
async validateXcmStep(params, path, bnInputTokenBalance) {
|
|
274
274
|
const processValidation = {
|
|
@@ -315,11 +315,11 @@ class BaseSpecialStakingPoolHandler extends _base.default {
|
|
|
315
315
|
async validateJoinStep(id, params, path, bnInputTokenBalance, isXcmOk) {
|
|
316
316
|
const _poolInfo = await this.getPoolInfo();
|
|
317
317
|
if (!_poolInfo) {
|
|
318
|
-
return [new _TransactionError.TransactionError(
|
|
318
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)];
|
|
319
319
|
}
|
|
320
320
|
const poolInfo = _poolInfo;
|
|
321
321
|
if (!poolInfo.statistic) {
|
|
322
|
-
return [new _TransactionError.TransactionError(
|
|
322
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)];
|
|
323
323
|
}
|
|
324
324
|
const processValidation = {
|
|
325
325
|
ok: true,
|
|
@@ -375,7 +375,7 @@ class BaseSpecialStakingPoolHandler extends _base.default {
|
|
|
375
375
|
const bnInputTokenBalance = new _util.BN(inputTokenBalance.value || '0');
|
|
376
376
|
const bnAmount = new _util.BN(params.amount);
|
|
377
377
|
if (bnAmount.lte(_util.BN_ZERO)) {
|
|
378
|
-
return [new _TransactionError.TransactionError(
|
|
378
|
+
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INVALID_PARAMS, 'Amount must be greater than 0')];
|
|
379
379
|
}
|
|
380
380
|
let isXcmOk = false;
|
|
381
381
|
for (const step of path.steps) {
|
|
@@ -406,7 +406,7 @@ class BaseSpecialStakingPoolHandler extends _base.default {
|
|
|
406
406
|
/* Submit join action */
|
|
407
407
|
|
|
408
408
|
async handleTokenApproveStep(data, path) {
|
|
409
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
409
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
410
410
|
}
|
|
411
411
|
async handleXcmStep(data, path, xcmFee) {
|
|
412
412
|
const {
|
|
@@ -456,7 +456,7 @@ class BaseSpecialStakingPoolHandler extends _base.default {
|
|
|
456
456
|
const type = path.steps[currentStep].type;
|
|
457
457
|
switch (type) {
|
|
458
458
|
case _types.YieldStepType.DEFAULT:
|
|
459
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
459
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
460
460
|
case _types.YieldStepType.TOKEN_APPROVAL:
|
|
461
461
|
return this.handleTokenApproveStep(data, path);
|
|
462
462
|
case _types.YieldStepType.XCM:
|
|
@@ -476,7 +476,7 @@ class BaseSpecialStakingPoolHandler extends _base.default {
|
|
|
476
476
|
/* Leave pool action */
|
|
477
477
|
|
|
478
478
|
handleYieldUnstake(amount, address, selectedTarget) {
|
|
479
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
479
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
480
480
|
}
|
|
481
481
|
|
|
482
482
|
/* Leave pool action */
|
|
@@ -484,13 +484,13 @@ class BaseSpecialStakingPoolHandler extends _base.default {
|
|
|
484
484
|
/* Other action */
|
|
485
485
|
|
|
486
486
|
handleYieldCancelUnstake() {
|
|
487
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
487
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
488
488
|
}
|
|
489
489
|
handleYieldClaimReward(address, bondReward) {
|
|
490
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
490
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
491
491
|
}
|
|
492
492
|
handleYieldWithdraw(address, unstakingInfo) {
|
|
493
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
493
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
494
494
|
}
|
|
495
495
|
|
|
496
496
|
/* Other actions */
|
|
@@ -260,7 +260,7 @@ class EarningService {
|
|
|
260
260
|
if (handler) {
|
|
261
261
|
return handler.isPoolSupportAlternativeFee;
|
|
262
262
|
} else {
|
|
263
|
-
throw new _TransactionError.TransactionError(
|
|
263
|
+
throw new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR);
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
subscribeMinAmountPercent() {
|
|
@@ -380,7 +380,10 @@ class EarningService {
|
|
|
380
380
|
async subscribePoolPositions(addresses, callback) {
|
|
381
381
|
let cancel = false;
|
|
382
382
|
await this.eventService.waitChainReady;
|
|
383
|
-
const
|
|
383
|
+
const {
|
|
384
|
+
evm: evmAddresses,
|
|
385
|
+
substrate: substrateAddresses
|
|
386
|
+
} = (0, _utils2.categoryAddresses)(addresses);
|
|
384
387
|
const activeChains = this.state.activeChainSlugs;
|
|
385
388
|
const unsubList = [];
|
|
386
389
|
for (const handler of Object.values(this.handlers)) {
|
|
@@ -430,7 +433,7 @@ class EarningService {
|
|
|
430
433
|
async getYieldPositionFromDB() {
|
|
431
434
|
await this.eventService.waitChainReady;
|
|
432
435
|
await this.eventService.waitKeyringReady;
|
|
433
|
-
const addresses = this.state.getDecodedAddresses();
|
|
436
|
+
const addresses = this.state.keyringService.context.getDecodedAddresses();
|
|
434
437
|
const existedYieldPosition = await this.dbService.getYieldNominationPoolPosition(addresses, this.state.activeChainSlugs);
|
|
435
438
|
const yieldPositionInfo = this.yieldPositionSubject.getValue();
|
|
436
439
|
existedYieldPosition.forEach(item => {
|
|
@@ -486,7 +489,7 @@ class EarningService {
|
|
|
486
489
|
async runSubscribePoolsPosition() {
|
|
487
490
|
await this.eventService.waitKeyringReady;
|
|
488
491
|
this.runUnsubscribePoolsPosition();
|
|
489
|
-
const addresses = this.state.getDecodedAddresses();
|
|
492
|
+
const addresses = this.state.keyringService.context.getDecodedAddresses();
|
|
490
493
|
this.subscribePoolPositions(addresses, data => {
|
|
491
494
|
this.updateYieldPosition(data);
|
|
492
495
|
}).then(rs => {
|
|
@@ -525,7 +528,10 @@ class EarningService {
|
|
|
525
528
|
async getPoolReward(addresses, callback) {
|
|
526
529
|
let cancel = false;
|
|
527
530
|
await this.eventService.waitChainReady;
|
|
528
|
-
const
|
|
531
|
+
const {
|
|
532
|
+
evm: evmAddresses,
|
|
533
|
+
substrate: substrateAddresses
|
|
534
|
+
} = (0, _utils2.categoryAddresses)(addresses);
|
|
529
535
|
const activeChains = this.state.activeChainSlugs;
|
|
530
536
|
const unsubList = [];
|
|
531
537
|
for (const handler of Object.values(this.handlers)) {
|
|
@@ -555,7 +561,7 @@ class EarningService {
|
|
|
555
561
|
return this.earningRewardSubject.getValue();
|
|
556
562
|
}
|
|
557
563
|
runSubscribeStakingRewardInterval() {
|
|
558
|
-
const addresses = this.state.getDecodedAddresses();
|
|
564
|
+
const addresses = this.state.keyringService.context.getDecodedAddresses();
|
|
559
565
|
if (!addresses.length) {
|
|
560
566
|
return;
|
|
561
567
|
}
|
|
@@ -576,7 +582,10 @@ class EarningService {
|
|
|
576
582
|
async fetchPoolRewardHistory(addresses, callback) {
|
|
577
583
|
let cancel = false;
|
|
578
584
|
await this.eventService.waitChainReady;
|
|
579
|
-
const
|
|
585
|
+
const {
|
|
586
|
+
evm: evmAddresses,
|
|
587
|
+
substrate: substrateAddresses
|
|
588
|
+
} = (0, _utils2.categoryAddresses)(addresses);
|
|
580
589
|
const activeChains = this.state.activeChainSlugs;
|
|
581
590
|
const unsubList = [];
|
|
582
591
|
for (const handler of Object.values(this.handlers)) {
|
|
@@ -620,7 +629,7 @@ class EarningService {
|
|
|
620
629
|
}
|
|
621
630
|
runSubscribeEarningRewardHistoryInterval() {
|
|
622
631
|
this.runUnsubscribeEarningRewardHistoryInterval();
|
|
623
|
-
const addresses = this.state.getDecodedAddresses();
|
|
632
|
+
const addresses = this.state.keyringService.context.getDecodedAddresses();
|
|
624
633
|
if (!addresses.length) {
|
|
625
634
|
return;
|
|
626
635
|
}
|
|
@@ -677,7 +686,7 @@ class EarningService {
|
|
|
677
686
|
if (handler) {
|
|
678
687
|
return handler.earlyValidate(request);
|
|
679
688
|
} else {
|
|
680
|
-
throw new _TransactionError.TransactionError(
|
|
689
|
+
throw new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR);
|
|
681
690
|
}
|
|
682
691
|
}
|
|
683
692
|
async generateOptimalSteps(params) {
|
|
@@ -689,7 +698,7 @@ class EarningService {
|
|
|
689
698
|
if (handler) {
|
|
690
699
|
return handler.generateOptimalPath(params);
|
|
691
700
|
} else {
|
|
692
|
-
throw new _TransactionError.TransactionError(
|
|
701
|
+
throw new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR);
|
|
693
702
|
}
|
|
694
703
|
}
|
|
695
704
|
async validateYieldJoin(params) {
|
|
@@ -701,7 +710,7 @@ class EarningService {
|
|
|
701
710
|
if (handler) {
|
|
702
711
|
return handler.validateYieldJoin(params.data, params.path);
|
|
703
712
|
} else {
|
|
704
|
-
return [new _TransactionError.TransactionError(
|
|
713
|
+
return [new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR)];
|
|
705
714
|
}
|
|
706
715
|
}
|
|
707
716
|
async handleYieldJoin(params) {
|
|
@@ -713,7 +722,7 @@ class EarningService {
|
|
|
713
722
|
if (handler) {
|
|
714
723
|
return handler.handleYieldJoin(params.data, params.path, params.currentStep);
|
|
715
724
|
} else {
|
|
716
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
725
|
+
return Promise.reject(new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR));
|
|
717
726
|
}
|
|
718
727
|
}
|
|
719
728
|
|
|
@@ -730,7 +739,7 @@ class EarningService {
|
|
|
730
739
|
if (handler) {
|
|
731
740
|
return handler.validateYieldLeave(params.amount, params.address, params.fastLeave, params.selectedTarget);
|
|
732
741
|
} else {
|
|
733
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
742
|
+
return Promise.reject(new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR));
|
|
734
743
|
}
|
|
735
744
|
}
|
|
736
745
|
async handleYieldLeave(params) {
|
|
@@ -742,7 +751,7 @@ class EarningService {
|
|
|
742
751
|
if (handler) {
|
|
743
752
|
return handler.handleYieldLeave(params.fastLeave, params.amount, params.address, params.selectedTarget);
|
|
744
753
|
} else {
|
|
745
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
754
|
+
return Promise.reject(new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR));
|
|
746
755
|
}
|
|
747
756
|
}
|
|
748
757
|
|
|
@@ -759,7 +768,7 @@ class EarningService {
|
|
|
759
768
|
if (handler) {
|
|
760
769
|
return handler.handleYieldWithdraw(params.address, params.unstakingInfo);
|
|
761
770
|
} else {
|
|
762
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
771
|
+
return Promise.reject(new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR));
|
|
763
772
|
}
|
|
764
773
|
}
|
|
765
774
|
async handleYieldCancelUnstake(params) {
|
|
@@ -771,7 +780,7 @@ class EarningService {
|
|
|
771
780
|
if (handler) {
|
|
772
781
|
return handler.handleYieldCancelUnstake(params);
|
|
773
782
|
} else {
|
|
774
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
783
|
+
return Promise.reject(new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR));
|
|
775
784
|
}
|
|
776
785
|
}
|
|
777
786
|
async handleYieldClaimReward(params) {
|
|
@@ -783,7 +792,7 @@ class EarningService {
|
|
|
783
792
|
if (handler) {
|
|
784
793
|
return handler.handleYieldClaimReward(params.address, params.bondReward);
|
|
785
794
|
} else {
|
|
786
|
-
return Promise.reject(new _TransactionError.TransactionError(
|
|
795
|
+
return Promise.reject(new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR));
|
|
787
796
|
}
|
|
788
797
|
}
|
|
789
798
|
|
|
@@ -33,7 +33,7 @@ function balanceTransferParserFunction(item) {
|
|
|
33
33
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
34
34
|
const toPublicKey = p.value.id || p.value.Id;
|
|
35
35
|
if (toPublicKey) {
|
|
36
|
-
item.to = (0, _utilCrypto.encodeAddress)(autoAddPublicKeyPrefix(toPublicKey),
|
|
36
|
+
item.to = (0, _utilCrypto.encodeAddress)(autoAddPublicKeyPrefix(toPublicKey), item === null || item === void 0 ? void 0 : item.addressPrefix);
|
|
37
37
|
}
|
|
38
38
|
} else if (p.name === 'value') {
|
|
39
39
|
if (item.amount) {
|
|
@@ -7,19 +7,20 @@ exports.HistoryService = void 0;
|
|
|
7
7
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
8
8
|
var _constants = require("@subwallet/extension-base/constants");
|
|
9
9
|
var _types = require("@subwallet/extension-base/services/base/types");
|
|
10
|
+
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
10
11
|
var _recoverHistoryStatus = require("@subwallet/extension-base/services/history-service/helpers/recoverHistoryStatus");
|
|
11
12
|
var _subscanExtrinsicParserHelper = require("@subwallet/extension-base/services/history-service/helpers/subscan-extrinsic-parser-helper");
|
|
12
13
|
var _subscanHistory = require("@subwallet/extension-base/services/history-service/subscan-history");
|
|
13
|
-
var
|
|
14
|
+
var _utils2 = require("@subwallet/extension-base/utils");
|
|
14
15
|
var _promise = require("@subwallet/extension-base/utils/promise");
|
|
15
16
|
var _uiKeyring = require("@subwallet/ui-keyring");
|
|
16
17
|
var _rxjs = require("rxjs");
|
|
17
18
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
18
19
|
// SPDX-License-Identifier: Apache-2.0
|
|
19
20
|
|
|
20
|
-
function filterHistoryItemByAddressAndChain(chain,
|
|
21
|
+
function filterHistoryItemByAddressAndChain(chain, addresses) {
|
|
21
22
|
return item => {
|
|
22
|
-
return item.chain === chain && item.address
|
|
23
|
+
return item.chain === chain && addresses.includes(item.address);
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
class HistoryService {
|
|
@@ -47,7 +48,7 @@ class HistoryService {
|
|
|
47
48
|
const historyRecords = [];
|
|
48
49
|
|
|
49
50
|
// Fill additional info
|
|
50
|
-
const accountMap = Object.entries(this.keyringService.
|
|
51
|
+
const accountMap = Object.entries(this.keyringService.context.pairs).reduce((map, _ref) => {
|
|
51
52
|
let [address, account] = _ref;
|
|
52
53
|
map[address.toLowerCase()] = account.json.meta.name || address;
|
|
53
54
|
return map;
|
|
@@ -75,11 +76,17 @@ class HistoryService {
|
|
|
75
76
|
await this.getHistories();
|
|
76
77
|
return this.historySubject;
|
|
77
78
|
}
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* @todo: Must improve performance of this function
|
|
82
|
+
* */
|
|
83
|
+
fetchSubscanTransactionHistory(chain, addresses) {
|
|
84
|
+
if (!this.subscanService.checkSupportedSubscanChain(chain) || !addresses.length) {
|
|
80
85
|
return;
|
|
81
86
|
}
|
|
82
87
|
const chainInfo = this.chainService.getChainInfoByKey(chain);
|
|
88
|
+
// For now, we only use the first address
|
|
89
|
+
const address = addresses[0];
|
|
83
90
|
const excludeExtrinsicParserKeys = ['balances.transfer_all'];
|
|
84
91
|
|
|
85
92
|
// Note: fetchAllPossibleExtrinsicItems and fetchAllPossibleTransferItems-receive can run parallelly
|
|
@@ -142,15 +149,26 @@ class HistoryService {
|
|
|
142
149
|
console.log('fetchAllPossibleTransferItems-receive error', e);
|
|
143
150
|
});
|
|
144
151
|
}
|
|
145
|
-
subscribeHistories(chain,
|
|
146
|
-
const
|
|
152
|
+
subscribeHistories(chain, proxyId, cb) {
|
|
153
|
+
const addresses = this.keyringService.context.getDecodedAddresses(proxyId, false);
|
|
154
|
+
const {
|
|
155
|
+
evm,
|
|
156
|
+
substrate
|
|
157
|
+
} = (0, _utils2.categoryAddresses)(addresses);
|
|
147
158
|
const subscription = this.historySubject.subscribe(items => {
|
|
148
|
-
cb(items.filter(filterHistoryItemByAddressAndChain(chain,
|
|
159
|
+
cb(items.filter(filterHistoryItemByAddressAndChain(chain, addresses)));
|
|
149
160
|
});
|
|
150
|
-
this.
|
|
161
|
+
const chainInfo = this.chainService.getChainInfoByKey(chain);
|
|
162
|
+
if ((0, _utils._isChainSubstrateCompatible)(chainInfo)) {
|
|
163
|
+
if ((0, _utils._isChainEvmCompatible)(chainInfo)) {
|
|
164
|
+
this.fetchSubscanTransactionHistory(chain, evm);
|
|
165
|
+
} else {
|
|
166
|
+
this.fetchSubscanTransactionHistory(chain, substrate);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
151
169
|
return {
|
|
152
170
|
unsubscribe: subscription.unsubscribe,
|
|
153
|
-
value: this.historySubject.getValue().filter(filterHistoryItemByAddressAndChain(chain,
|
|
171
|
+
value: this.historySubject.getValue().filter(filterHistoryItemByAddressAndChain(chain, addresses))
|
|
154
172
|
};
|
|
155
173
|
}
|
|
156
174
|
async updateHistories(chain, extrinsicHash, updateData) {
|